NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

发布了 1112 篇内容, 共 493.9 次阅读, 收获喜欢 1967 次。

关注

评论

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

【愚公系列】2022年10月 Go教学课程 021-Go容器之切片操作

愚公搬代码

10月月更

Python应用之验证码验证

智趣匠

验证码 10月月更 Python应用

架构师的十八般武艺:可延展性

agnostic

可延展性

Zepoch节点开放申请,Web3流支付巨头Zebec利好不断

股市老人

从0开始,让你的Spring Boot项目跑在Linux服务器

海风极客

10月月更

跟着卷卷龙一起学Camera--PDAF 04

卷卷龙

ISP camera 10月月更

数据仓库的下一阶段该是什么?

雨果

数据仓库

Python应用之哥德巴赫猜想——偶数

智趣匠

10月月更 哥德巴赫猜想 Python应用

深入浅出MatrixOne Parser

MatrixOrigin

矩阵起源 MatirxOrigin MatirxOne

Vue3入门指北(十一)watch 和 watchEffect

Augus

Vue3 10月月更

当UI走查说页面色值错误时,先别急着检查代码

茶无味的一天

前端 浏览器 UI 色差 取色

【结构体内功修炼】枚举和联合的奥秘(三)

Albert Edison

C语言 枚举 结构体 10月月更 联合

实时数仓、数据中台、大数据平台、湖仓一体各有什么区别?

雨果

数据中台

MFC|MediaPlayer基本功能使用

中国好公民st

c++ qt 10月月更

图像渲染

掘金安东尼

算法 10月月更

跟着卷卷龙一起学Camera--CMS

卷卷龙

ISP camera 10月月更

代码开发篇之设计模式

邱学喆

设计模式

Python应用之激活码生成器

智趣匠

Python语法 10月月更 激活码生成器

开发者有话说|如何成为优秀的前端技术经理

No Silver Bullet

个人成长 技术经理

十一假期,分享几个好玩儿的GitHub项目

海风极客

10月月更

跟着卷卷龙一起学Camera--PDAF 03

卷卷龙

ISP camera 10月月更

SQL高效查询建议

雨果

sql

想学Go Web?先来看看如何搭建一个beego项目吧

Regan Yue

Go Go web Beego 10月月更

2022-10-07:给定员工的 schedule 列表,表示每个员工的工作时间。 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序。 返回表示 所有 员工的 共同,正

福大大架构师每日一题

算法 rust 福大大

spring入门介绍

楠羽

笔记 spring 5 10月月更

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

EOSdreamer111

干货分享 | MatrixOne系统架构

MatrixOrigin

MatrixOrigin MatrixOne 金海

实时数仓、湖仓一体、流批一体有什么区别

雨果

实时数仓

开发者有话说 | 求知若饥,虚心若愚

Samson

程序员 个人成长 10月月更 成长感悟

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

BlockChain先知

Spring循环依赖原理和Bean创建过程

海风极客

10月月更

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