写点什么

低代码开发会带来安全问题和数据泄露隐患吗?

  • 2021-11-24
  • 本文字数:2122 字

    阅读完需:约 7 分钟

低代码开发会带来安全问题和数据泄露隐患吗?

低代码开发的缺陷在于缺乏经验的开发者并不掌握安全性的相关知识。要重视软件安全性问题,不要等它变成灾难后再亡羊补牢。


低代码开发方法有可能比传统开发方法更快、更便宜地创建软件。但很少人会提到,用低代码方法开发出来的软件所包含的安全风险是和传统上基于代码开发的软件一样多的。


安全性被构建进了低代码开发工具中,但这种安全性必须由开发人员理解和配置才能发挥作用。非专业开发人员可能很难意识到安全隐患的存在,或者不具备配置软件安全性的经验。


能击倒你的往往是你看不到的风险。非专业开发人员的注意力都集中在了软件创建上,并不会小心谨慎地应用那些最佳安全实践。


如果低代码开发流程没有同 IT 部门紧密结合,没有充分应用最佳实践,那么前者的开发指引就不会是由经验丰富的开发人员来定义。这就会引入安全漏洞和数据泄露的风险。


这不是非专业开发人员独有的问题,而是普遍存在的开发问题。区别在于有经验的开发人员(并非总是)会检查安全性是否到位,而没有经验的初级/非专业开发人员甚至不会意识到安全性是他们的责任和应该做的事情。

微软 Power App Portal 暴露了 3800 万条记录

微软的低代码开发工具 Power Apps 之前登上了头条新闻,因为一款配置错误的 Power App 将 3800 万条记录暴露在了互联网上。


重点摘要:


“包括微软在内的 47 家政府实体和隐私公司错误配置了微软的 Power Apps,将 3800 万条敏感数据记录暴露在了互联网上。Power Apps 是一种低代码服务,承诺以一种简单的方式构建专业应用程序。”

是什么导致了这个问题?

UpGuard 公司的一名分析师发现 Power Apps portal 的 OData API 可以允许匿名访问数据库记录。


Power Apps portal 是面向互联网的门户。该门户由微软托管,并与微软 Dataverse 集成。


简单来说,通过某种特定配置,面向互联网的 Power Apps Portal 可以允许存储在多个数据源(SharePoint、Microsoft 365、Dynamics 365、SQLServer 等)中的数据通过匿名(也就是非用户)的 OData 查询来访问。


如果你不希望数据可见,你需要检查一个布尔字段——启用表权限(Enable Table Permissions)布尔值为真才行。


对于这种烦人的配置值,大多数人都会采用默认值,也就是与世界分享数据。


分析师看到许多公司都在使用 Power Apps portal,但许多公司没有设置过这一字段。结果是,他们可能会在面向公共/互联网的门户上提供大量个人和其他数据,任由别人查询。


真是糟糕啊。

设计如此

这不是什么错误或安全漏洞,而是一项按设计意图运作的配置。


UpGuard 的报告清楚地表明了这一点——设计理念:微软Power Apps的默认权限如何暴露数百万人的数据。


如果你想知道如何解决这个问题(我敢肯定有很多开发人员和非专业开发人员都会冒冷汗),请阅读这一说明:提示#1407:如何保护Power Apps portal

低代码警告

低代码开发方法允许非专业开发人员或任何开发人员使用一系列组件来创建软件,并使用更容易理解的查询对软件进行配置。


像微软的 Power Platform 这样的低代码开发工具,其重点都放在了应用程序创建上——但开发人员所要做的工作并不只有创建软件而已。


低代码开发人员(非专业开发人员)同样是开发人员,他们也需要完成开发流程中的其他一些任务。


  • 收集需求(提炼、理解)

  • 维护软件

  • 为软件编写文档

  • 部署

  • 安全性(数据安全、个人数据、安全角色等)

  • 数据源(数据库、文件、保留、备份等)

  • 与其他系统集成

  • 更广泛的环境和其他软件


营销活动不仅仅是发送电子邮件,开发工作也不仅仅是创建代码或构建应用程序。


非专业开发人员和开发人员并非安全专家,所以 IT 部门需要参与进来,并对软件运行渗透测试。IT 部门需要确保开发人员应用了最佳实践,并找出软件中存在的设计缺陷或软件错误来保证安全性。


非专业开发人员欠缺很多专业知识,这就是为什么他们应该在专业人员指导下创建应用程序并将其部署到生产环境中。


如果公司组建自己的低代码开发团队时没有让经验丰富的开发人员或 IT 部门参与,由后者来创建相关标准和最佳实践,就会出现问题。


传统开发方法同样会出现很多安全性缺陷,但它着重强调了安全性这个领域,而非专业开发人员需要学习很多知识才能理解其中的要害。低代码开发工具也都很复杂,所以人们只能精通一两种低代码工具。


公司将需要单独的团队来监督和维护低代码工具,因为没有人能一接触到它们就理解其中的细节。


这不是低代码问题,而是开发问题。低代码开发工具不会取代开发人员,它们会创造新的开发人员群体,催生一支创建和维护生产级应用程序的缺乏经验的开发团队。

低代码革命需要资深开发人员领导


由缺乏经验的开发人员创建大量应用程序有可能导致很多安全漏洞,这就是为什么不可逆转的低代码革命必须由经验丰富的开发人员和 IT 部门全力领导。


低代码开发是一种强大的工具。与其他工具一样,它们需要被当作长期战略的一部分,人们还要为软件创建后发生的各种事情制定计划。


低代码开发不会取代开发人员,它会造就更多缺乏经验的开发人员。非专业开发人员需要高级开发人员的指导和领导,因为与所有初级开发人员一样,他们也会犯错误。


软件是如何创建的并不重要;重要的是它需要安全、维护和支持。低代码软件需要的是与传统软件相同的清单、团队和流程。


原文链接:


https://thehosk.medium.com/will-low-code-development-lead-to-security-problems-and-data-breaches-83a9375d4087

2021-11-24 10:002534
用户头像
刘燕 InfoQ高级技术编辑

发布了 1123 篇内容, 共 608.8 次阅读, 收获喜欢 1982 次。

关注

评论

发布
暂无评论
发现更多内容

Android全面解析之Handler机制:常见问题汇总,kotlin静态类

android 程序员 移动开发

Android关于Canvas你所知道的和不知道的一切,银行软件开发面试题

android 程序员 移动开发

Android原生系统真的那么好用吗?安卓原生系统吊打其他系统,因为有Google-Play

android 程序员 移动开发

Android启动优化、布局优化必经之路—如何精准获取页面绘制时间

android 程序员 移动开发

Android四大组件之一(broadcast receiver)(1),kotlin版权

android 程序员 移动开发

模块二作业

Geek_1d37ea

架构实战营

Android应用保活实践,字节跳动Android研发岗这些知识点内部泄露出来了

android 程序员 移动开发

Android企业级实战-界面篇-3,oppo android面试

android 程序员 移动开发

Android刘海屏、水滴屏全面屏适配详解,996页阿里Android面试真题解析火爆全网

android 程序员 移动开发

Android动画之属性动画,移动智能终端开发技术题库

android 程序员 移动开发

Android基础系列(3)编译时注解处理器APT,android订餐系统源码

android 程序员 移动开发

Android大牛近期大厂面试详解(附解答),hashmap底层原理

android 程序员 移动开发

Android岗常见40道面试题,面试前必须了解的知识点!,android开发工程师企业所在区域

android 程序员 移动开发

Android入门项目(八)Android流式筛选弹框,android应用程序开发的流程

android 程序员 移动开发

学习总结(第二周)

Geek_1d37ea

架构实战营

Android妹子深夜和我视频,哭的像个泪人,我该怎么安慰

android 程序员 移动开发

Android在开发初期之后应该何如学习?怎样才算精通?方向在哪儿

android 程序员 移动开发

Android基础之Binder分析,flutter环境变量配置

android 程序员 移动开发

Android大牛是如何炼成的:郭霖的成长之路专访,flutter游戏引擎

android 程序员 移动开发

Android学习别“走弯路”,django实战项目源码

android 程序员 移动开发

Android学习趋势:讲一下音视频热点知识,移动设备开发图书

android 程序员 移动开发

Android应用Context详解及源码解析,Android大厂技术面试题汇总

android 程序员 移动开发

Android四大组件之一(broadcast receiver),全网首发

android 程序员 移动开发

Android布局优化技巧大盘点,最新BAT大厂面试者整理的Android面试题目

android 程序员 移动开发

Android布局优化:include-、merge,android开发入门与实战作者

android 程序员 移动开发

Android干货---丢掉你老旧的参数传递方式,投入Bracer的怀抱吧。

android 程序员 移动开发

Android屏幕适配前先了解这些,在阿里工作5年了

android 程序员 移动开发

Android基础进阶 - 消息机制 之Native层分析,统统给你解决

android 程序员 移动开发

Android复习资料——常见面试算法题汇总,2021年最新Android大厂面试笔试题分享

android 程序员 移动开发

Android小白在两年时间成为一个大牛,我究竟做了什么?

android 程序员 移动开发

Android刘海屏、水滴屏全面屏适配方案,80后程序员感慨中年危机

android 程序员 移动开发

低代码开发会带来安全问题和数据泄露隐患吗?_AI&大模型_The Hosk_InfoQ精选文章