面对应用程序开发成本的压力,众多组织正在积极寻求解决方案。其中,低代码和无代码的开发方式因其简化和自动化的特性,正逐渐赢得众多组织的青睐。这些平台无疑为原型设计和开发带来了比以往更快的速度,但同时也可能伴随着潜在的攻击和其他威胁。
01
什么是低代码、无代码?
低代码和无代码开发模型为快速应用程序开发提供了一种便捷的方式,用户可以利用这些模型的可视化方法如拖放和交互式菜单来自动编写代码。在低代码模型中,用户不仅可以依赖平台生成的代码,还可以根据需求添加自定义代码。而在无代码模型中,用户完全依赖平台自动生成的代码来构建应用程序。
无代码通常保留用于简单的 UI、仪表板以及基本的 Web 和移动应用程序等。
低代码由于可定制,因此可以用于更广泛的应用场景。
在无代码中,所有代码都是通过拖放和菜单生成的。低代码通常提供 API 和集成开发环境(IDE) 支持、代码模板以及可与其他工具和服务一起使用的各种插件。
02
低代码、无代码会面临哪些安全风险?
无论采用哪种方法,都可能会出现一些安全风险以及潜在的漏洞。主要问题包括以下几个方面:
代码质量
低代码/无代码开发模型的最主要安全风险源于代码质量。这两种模型都会涉及到在第三方平台上生成的代码片段,而这些代码片段的质量可能大相径庭,这会取决于用户使用的具体工具和服务。此外,对于这些代码是否遵循已知的安全最佳实践,可能缺乏足够的监督或审查机制。
监控
低代码开发模式通常依赖于开发团队使用的工具,这些工具至少可以被安全团队进行监控,例如集成开发环境(IDE)。但对于平台自动生成的代码,进行全面的静态分析或动态测试可能是难以实现的。
另一方面,无代码开发的情况就更为复杂。在这种模式下,对代码的开发和部署的监控可能非常少,甚至完全没有。这可能引发一种新型的难以检测的影子 IT 现象,从而使安全团队在整体上缺乏对应用程序的可见性。
第三方安全
关于第三方安全问题,当组织选择在第三方环境中构建和托管应用程序代码时,就自然地引入了安全共享责任模型。如果供应商的安全控制措施不够强大或者不具备保护所开发应用程序的能力,那么组织的网络可能就会变得易于遭受攻击。
传统应用
许多传统的测试工具和方法,如静态和动态分析,可能难以与低代码和无代码开发模式进行集成。此外,由于低代码和无代码开发模式让那些没有或仅有少量编程背景的人也能轻易创建代码,因此可能会显著增加引入错误和安全问题的风险。
总的来说,当一家公司在缺乏足够的监控和测试能力的情况下,向没有编程知识或开发经验的用户提供创建应用程序的权限,这些安全风险就会进一步被放大。
03
如何缓解低代码/无代码安全挑战
选择合适的供应商
首先,选择合适的服务提供商至关重要。关键在于关注开发环境以及可能运行应用程序的操作环境的安全性。组织应选择能够在其环境中提供安全控制和保证的无代码和低代码服务提供商。一些提供商提供了客户可以利用的控制措施,如数据加密、身份联合和日志记录,而有些提供商则提供的安全措施很少,甚至没有。
限制和保护凭证
凭证的限制和保护也非常重要。低代码/无代码开发方法可能会导致凭证滥用和特权滥用问题,尤其是当代码与具有广泛权限的开发人员账户或与数据库及其它组件的连接有关联时。
降低这些风险的一个方法是确保安全和身份团队尽可能参与应用程序的设计过程。对低代码/无代码平台以及任何连接进行监控,看是否存在过度或非法的权限使用。在很多情况下,连接到其他系统和数据库的日志可以帮助识别这些问题。如果条件允许,应尽量实施使用权限更低的账户和连接。
防止数据泄露
低代码/无代码应用程序面临的另一个问题是不恰当的数据处理方式以及与数据存储交互的不良应用逻辑,这可能导致数据暴露和泄露。
由于大部分数据提供商并未为客户提供明确的安全控制,如加密或数据屏蔽,因此,我们需要尽可能限制低代码/无代码应用程序的公开暴露。可以考虑将应用程序置于安全的代理系统(例如内容交付网络(CDN)或云访问安全代理)之后,并提供在传输过程中的数据监控和保护控制。
如果低代码/无代码平台支持监控,安全和运营团队应确保能够监控到可能的数据流和连接。
执行应用程序安全测试并获取 SBOM
执行应用程序安全测试并获取软件构建清单(SBOM)是另一个重要的步骤。低代码/无代码应用程序和开发环境的主要风险之一在于代码本身,以及在开发中使用的组件、后端包和函数。
在传统的开发环境中,注重安全的组织会分别使用静态应用程序安全测试(SAST)和动态应用程序安全测试(DAST)工具对编码和打包的应用程序进行安全测试。
然而,这些工具并不总是适用于低代码/无代码的开发和部署。因此,组织可以做的最好的办法就是请求提供其后端组件和正在部署的代码的SAST和DAST结果,尽管这可能并不总是能够成功。
另一个日益流行的策略是要求,甚至强制要求提供软件构建清单(SBOM),该清单列出了在提供商环境中使用的所有代码和软件包,以及持续威胁监控和漏洞管理的一些证据。然而,就像SAST和DAST结果一样,这可能并不总是能够成功。
提高可见性
重视员工教育
– END –
报告下载
大佬观点