如今,公民开发人员的积极性越来越高,而企业则希望应用程序由非开发人员开发和创建。这通常可以使用低代码或无代码框架来促进。这些框架和工具允许非开发人员使用GUI来获取和移动组件以创建业务逻辑友好的应用程序。授权更广泛的IT和业务社区创建可推动业务价值的应用程序具有明显的吸引力。也就是说,使用低代码和无代码平台并非没有安全问题。就像任何其他软件产品一样,开发平台及其相关代码的严谨性是一个不容忽视的问题。什么是低代码/无代码开发?无代码工具和平台使用拖放界面,允许业务分析师等非程序员创建或修改应用程序。在某些情况下,可能需要编码(低代码)才能与其他应用程序集成、生成报告或修改用户界面。这通常使用SQL或Python等高级编程语言来完成。低代码/无代码平台的示例包括SalesforceLightning、FileMaker、MicrosoftPowerApps和GoogleAppMaker。以下是使用此类平台时应注意的四个最重要的安全问题。(1)低代码/无代码应用程序的可见性低使用外部开发的平台总是会产生可见性问题。许多人在不了解源代码、相关漏洞或平台经过的底层测试和严谨性的情况下使用该软件。这可以通过利用诸如向供应商索取软件物料清单(SBOM)等做法来缓解。这将提供对其包含的软件组件及其相关漏洞的洞察。根据最新的LinuxFoundation研究,78%的企业计划到2022年使用软件物料清单(SBOM)。不过,软件物料清单(SBOM)的使用仍在不断发展,行业还有很大的标准化空间实践、流程和工具。(2)不安全代码与可见性问题相吻合的是不安全代码的可能性。低代码和无代码平台仍然有代码。他们只是抽象出编码并允许最终用户使用预先提供的代码功能。这很棒,因为它使非开发人员无需自己编写代码。当使用的代码不安全并通过低代码和无代码平台在企业和应用程序之间进行推断时,就会出现问题。解决此问题的一种方法是与平台供应商合作,要求对平台内使用的代码提供安全扫描结果。静态和动态应用程序安全测试(SAST/DAST)等扫描结果可以为消费者提供一定程度的保证,确保他们不会简单地复制不安全的代码。在公司控制之外创建代码的想法并不是一个新概念,在开源软件的使用中很普遍,超过98%的企业都在使用,与其他存储库相关的软件供应链威胁也很常见,例如基础架构即代码(IaC)模板。另一个需要考虑的方面是,许多低代码和无代码平台都是作为SaaS交付的。这允许企业向供应商申请行业认证,例如ISO、SOC2、FedRAMP等。这为企业的运营和适用于SaaS应用程序/平台本身的安全控制提供了进一步的保证。SaaS应用程序固有地存在许多安全风险,需要适当的治理和严格的安全性。未能对您使用的SaaS应用程序和平台进行适当的审查可能会使您的业务面临不必要的风险。(3)影子IT失控由于低代码和无代码平台允许快速创建应用程序,即使那些没有开发背景的人也可能导致影子IT的扩散。当业务部门和员工创建应用程序并在企业内部或外部使用它们时,就会出现影子IT。这些应用程序可能包含公司和客户的敏感或受监管数据,如果这些应用程序因数据泄露而受到损害,可能会对业务产生一系列影响。(4)业务中断从业务连续性的角度来看,作为服务交付的低代码和无代码平台如果平台出现中断,可能会中断业务。企业为关键业务应用程序(包括低代码和无代码平台)建立服务级别协议(SLA)非常重要。降低低代码/无代码开发风险的技巧无论涉及何种技术,常见的安全最佳实践都可以降低开发风险,包括:从具有良好行业声誉的可信赖供应商处购买软件和平台。确保这些供应商拥有代表其内部安全实践和流程的第三方认证。在您的应用程序和软件清单中考虑低代码和无代码平台,以及使用它们创建的应用程序。保持良好的访问控制;知道谁在访问平台以及允许他们执行哪些活动。实施安全数据实践,以了解关键数据所在的位置,以及使用低代码和无代码平台创建的应用程序是否包含敏感数据。了解在何处托管低代码/无代码平台。这些平台是否托管在AWS、谷歌或MicrosoftAzure等超大规模全球云服务提供商的云中?或者它们是否托管在没有物理和逻辑访问控制的本地数据中心?还要考虑企业的安全文化。很重要。虽然平台用户可能不是业内开发人员或安全专家,但他们应该了解他们正在使用和创建的低代码和无代码平台和应用程序的安全影响。正如他们所说,能力越大,责任越大,这适用于低代码和无代码平台。
