【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

  • 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:001636
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论

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

福建省福州市网络安全等级测评机构名单目录看这里!

行云管家

等保 等级保护 等保测评

凡泰极客成为W3C成员并加入MiniApps工作组,将积极参与小程序快应用技术标准化进程

FinClip

小程序

学生管理系统架构设计文档

阿卷

架构实战营

张海宁:首个 CNCF 中国开源项目 Harbor 的修炼之道

腾源会

开源 腾源会

阳振坤:从电动汽车看分布式数据库的发展和崛起

OceanBase 数据库

数据库 OceanBase 开源 OceanBase 社区版 HTAP

易观分析获评2021年度北京市专精特新“小巨人”企业

易观分析

易观新闻 “小巨人”企业

2022年2月国产数据库排行榜:冠军宝座面临挑战,OceanBase 重返 TOP3

墨天轮

数据库 tdengine TiDB 国产数据库

开源| 直播推拉流2.0升级了什么

anyRTC开发者

开源 音视频 屏幕共享 视频直播 美颜滤镜

大数据培训:Flink CDC 高频面试题

@零度

大数据 flink

前端培训:Vue3计算属性比普通函数好的原因

@零度

Vue 前端开发

Kotlin语法手册(四)

寻找生命中的美好

android kotlin 安卓

ModStart:拥抱新技术,率先支持 Laravel 9.0

ModStart开源

OpenHarmony移植案例与原理:如何适配服务启动引导部件bootstrap_lite

华为云开发者联盟

OpenHarmony 移植 bootstrap_lite startup 系统服务

《数字经济全景白皮书》数字人民币篇 重磅发布

易观分析

数字经济 数字人民币

MatrixOne 0.2.0 发布!最快的SQL计算引擎来了!

MatrixOrigin

开源 MatrixOrigin MatrixOne 超融合异构云原生数据库 矩阵起源

上海市宝山区委书记陈杰一行参访旺链科技

旺链科技

区块链 产业区块链 Vone新闻

Netty如何高效接收网络数据?一文聊透ByteBuffer动态自适应扩缩容机制

bin的技术小屋

网络编程 Netty nio 中间件 Java【

C++异常处理机制

正向成长

c++ 异常处理

ko在数栈中的应用

袋鼠云数栈

java培训:JVM垃圾回收

@零度

JVM JAVA开发

Nebula Graph 源码解读系列|客户端的通信秘密——fbthrift

NebulaGraph

数据库 图数据库

高可用之SkybilityHA简单介绍-行云管家

行云管家

高可用 ha

[Python]第一章(建议收藏)

謓泽

Python 2月月更

VIPKID基于Karmada的容器PaaS平台落地实践

华为云原生团队

开源 Kubernetes k8s多集群管理 混合云 分布式云

本着什么原则,才能写出优秀的代码?

AlwaysBeta

程序员 设计模式 代码规范

直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践

JackJiang

网络编程 即时通讯 IM 直播技术 音视频技术

80%的软件环境管理问题,根因都在这里 | 研发效能提升36计

阿里云云效

阿里云 DevOps 云原生 持续交付 部署

OBCE 认证第一人莅临直播间|助你快速拿下 OBCA & OBCP 证书

OceanBase 数据库

直播 OceanBase 社区版 OBCE

一文了解如何源码编译Rainbond基础组件

北京好雨科技有限公司

Kubernetes PaaS rainbond

netty系列之:EventLoop,EventLoopGroup和netty的默认实现

程序那些事

Java Netty nio 程序那些事 2月月更

腾讯云联合信通院发布《超低延时直播白皮书》,推动直播延时降低90%以上

科技热闻

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