写点什么

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

  • 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:003
用户头像
刘燕 InfoQ记者

发布了 721 篇内容, 共 232.9 次阅读, 收获喜欢 1374 次。

关注

评论

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

仓储控制系统(WCS)软件可靠性设计

阿喜伯

仓储控制系统 WCS 可靠性设计 容错性 易恢复性

ARTS Week4

丽子

【在云端 001】欢迎来到云原生

Bora.Don

云计算 云原生

硬核!30 张图解 HTTP 常见面试题

小林coding

https 计算机网络 计算机基础 HTTP

软件设计原则作业

qihuajun

程序员陪娃系列——叛逆小娃回归

孙苏勇

程序员 陪伴

利用工作日志提高效率

Janenesome

思考 工作方式

推荐几款有意思的小众 App(06.13)

静陌

产品 App

架构师训练营第一讲-学习总结

索隆

愚蠢写作术(4):怎么让写作从开始到放弃

史方远

读书笔记 个人成长 写作 随笔杂谈

ARTS Week 3

时之虫

ARTS 打卡计划

架构师训练营总结-20200614

caibird1984

ARTS第三周6.8-6.14

我笔盒呢

国内首个区块链电子档案平台上线

Geek_987812

区块链技术 防伪 溯源 电子档案

ARTS打卡-03

Geek_yansheng25

编程基础

南山

你了解 SpringBoot java -jar 的启动原理吗?

猴哥一一 cium

面试 Spring Boot Fat-JAR JAR URL Java 25 周年

ARTS|Week 3 本周的主题可能是乱

Puran

ARTS 打卡计划

思维模型 - 单一要素最大化

石云升

思维模型 第一曲线 单一要素

架构师训练营第二章作业

饶军

1. 版本管理工具及 Ruby 工具链环境

Edmond

rubygems CocoaPods VersionControl PackageManager Git Submodule

架构训练营作业-20200614

caibird1984

面向对象编程的设计原则

满山李子

Libra教程之:Transaction的生命周期

程序那些事

区块链 libra blockchain transaction

ARTS打卡计划_第二周

叫不醒装睡的人

ARTS 打卡计划

GoF 23种设计模式

无心水

设计模式 GoF 23种设计模式

小师妹学JavaIO之:用Selector来发好人卡

程序那些事

io nio 「Java 25周年」 小师妹 selector

软件设计原则学习总结

qihuajun

架构师课程第二周作业

杉松壁

呢喃/ NN 4044

ZoomQuiet大妈

大妈 是也乎 IMHO 呢喃 今日

架构师训练营--第二周作业

花花大脸猫

极客大学架构师训练营

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

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