1、低代码十大安全风险低代码/无代码开发平台提供了一个通过图形用户界面创建应用软件,而不是传统的手工编码计算机程序的开发环境。这种平台减少了传统手工编码的规模,从而加快了商业应用程序的交付。随着低代码/无代码开发平台激增以及被组织广泛使用,产业界提出了一个明确而紧迫的需求,即建立依赖此类平台开发的应用程序相关的安全和隐私风险意识。“OWASP Top 10 Low-Code/No-Code Security Risks”(简称OWASP 低代码十大安全风险)项目的主要目标是为希望采用和开发低代码(可视化少量代码开发)、无代码(可视化无需编程开发)应用程序的组织提供帮助和指导。该指南提供了关于此类应
2、用最突出的十类安全风险、所涉及的挑战以及如何克服这些风险与挑战的信息。“OWASP 低代码十大安全风险”项目由Zenity提供支持。该项目中文版由OWASP中国社区翻译发布。欢迎您参与项目开发和推广!您可以通过Issues OWASP/www-project-top-10-low-code-no-code-security-risks GitHub或邮件Michael Bargury至michaelbzenity.io 提供以下内容,帮助优化完善项目:提供脆弱性流行趋势数据;提出改进建议。有关中文版的意见或建议,可发送邮件至。前言LCNC-SEC-01:身份冒充LCNC-SEC-02:授权滥用
3、LCNC-SEC-03:数据泄漏和意外后果LCNC-SEC-04:身份验证和安全通信失效LCNC-SEC-05:安全配置错误LCNC-SEC-06:注入处理失效LCNC-SEC-07:脆弱和不可信的组件LCNC-SEC-08:数据和密钥处理失效LCNC-SEC-09:资产管理失效LCNC-SEC-10:安全日志记录和监控失效组长:肖文棣副组长:张剑钟翻译:郭振新、呼和、黄圣超、刘国强、马伟、任博伦、王厚奎、王强、吴楠、张坤审核:王颉、杨文元项目概述风险清单意见意见建议中文项目团队风险评级风险要点预防措施风险描述攻击场景示例普遍性可检测性可利用性技术影响3233无代码/低代码开发的应用程序可能内
4、嵌任何应用程序用户隐式冒充的用户身份。这为权限提升创建了一条攻击路径,允许攻击者隐藏在另一个用户的身份背后来绕过传统的安全控制。无代码/低代码开发的应用程序可以冒充现有的用户身份,而不是使用自己的应用程序身份。嵌入式身份的权限可以属于应用程序创建者,也可以作为公共身份而被团队共享,例如数据库凭据。应用程序身份的缺失会导致敏感数据暴露在无代码/低代码开发平台之外的监控系统。作为外部查看者,任何使用应用程序的用户都可以冒充应用程序的创建者,并且现有方法无法区分应用程序及其创建者。当应用程序使用不同的身份在不同的平台上运行时,这个问题变得更加严重。在这种情况下,一个用户可用于将文件存储在共享 Saa
5、S上,而另一个用户可用于检索本地数据。此外,身份嵌入在应用程序中,多个用户可以使用该应用程序。这为权限提升创建了一条直接的攻击路径,应用程序用户可以在其中获得正常情况下不应拥有的访问权限。1创客创建一个简单的应用程序来查看数据库中的记录。创客使用自己的身份登录数据库,创建嵌入在应用程序中的连接。用户在应用程序中执行的每个操作最终都会使用创客的身份查询数据库。恶意用户利用这一特性并使用该应用程序查看、修改或删除他们不具有访问权限的记录。数据库日志表明所有查询都是由单个用户(应用程序创客)进行的。2创客创建一个业务应用程序,允许公司员工根据他们的信息填写表格。为了存储表单响应,创客使用自己的个人电
6、子邮件账户。用户无法知道该应用程序将他们的数据存储在创客的个人账户中。3创客创建业务应用程序并与管理员共享。创客将应用程序配置为使用其用户的身份。除了已知目的,该应用程序还使用其用户的身份来提升创客的权限。一旦管理员使用该应用程序,就会无意中提升了创客的权限。提供与外部服务的连接时,请遵守最低权限原则。确保应用程序使用专用服务帐户而不是用户帐户。确保应用程序在其所有连接中使用单一一致的身份,而不是为每个连接使用不同的身份。确保维护适当的审计跟踪,以识别通过共享连接执行的操作背后的参与者。LCNC-SEC-01身份冒充风险评级风险要点预防措施风险描述攻击场景示例普遍性可检测性可利用性技术影响33