低代码和无代码平台带来的挑战介绍及如何避免挑战的方法介绍

348 阅读8分钟

低代码和无代码。安全的挑战

选择不当的低代码和无代码平台会带来一系列的安全漏洞。让我们来看看一些关键的挑战以及如何避免这些挑战。

许多公司正在寻求低代码和无代码平台,在可视化环境中构建应用程序。它们为更快的应用开发提供了机会,并减少了对高技能开发人员的依赖。公司可能会雇用经验不足或只受过最低限度培训的员工(我称他们为公民开发者),以满足服务差距和应对技能短缺,确保他们较大的开发团队可以专注于更先进的项目。

选择不当的低代码和无代码平台以及管理不善的项目和团队会带来一些安全漏洞,如果不加以解决,会让公司(以及可能是他们的客户)陷入痛苦的境地。让我们来看看一些关键的挑战和风险以及如何避免它们。

常见的低代码和无代码安全挑战

影子它

低代码和无代码任务扩大了开发人员的队伍。这可能会使团队领导很难跟踪正在构建的内容和使用的资源。没有经验的或公民的开发人员可能会在安全或IT团队不知情的情况下使用不安全的软件或做法。例如,缺乏认证知识可能导致使用HTTP而不是HTTPs。风险还包括不安全地存储数据,如在个人设备上而不是在公司审核的云内。

业务连续性、复原力和所有权的失败

低代码和无代码的应用程序可能没有得到很好的跟踪、更新,甚至在业务连续性计划等工作中被忽略。他们可能被认为是低优先级的,如果工作人员离开或公民开发者回到他们原来的任务,他们就没有所有权。由于缺乏跨平台的标准,可能更难替换具有特定知识的开发者。更加混乱的公司可能甚至不知道有多少这样的应用程序是活的,更不用说持续监控它们的安全漏洞了。

虽然开发者和开发者营销媒体可能认为低代码和无代码供应商是下一个大事件,但企业主和决策者可能不熟悉他们,或者认为这种服务不适合 "真实世界 "的应用。

缺少透明度

低代码应用程序可能是由使用专有语言、框架和库的专有软件制成。这可能使人们更难看到引擎盖下的东西。对于平台背后是什么软件,它运行的是什么版本,以及它们可能给你的应用程序带来的潜在漏洞,人们缺乏了解。这种缺乏透明度的情况会使你很难在不同的平台和供应商之间移动,使公司被锁定在一个特定的供应商,没有简单的方法来迁移。

第三方漏洞

不足为奇的是,低代码和无代码应用程序将他们的注意力限制在自己的产品上,因此,他们的安全参数集中在自己的产品上。如果开发者试图在其原生的低代码平台之外定制应用程序--通过将其与云服务、其他应用程序或外部数据库集成,可能会导致安全挑战。例如,公民开发者可能会在不知情的情况下连接到一个密切复制真实版本的假应用程序,可能会导致依赖性注入或数据被盗。

特权升级

在低代码应用程序中制作的应用程序可能具有原始开发人员编写的默认个人用户凭证。这意味着,应用程序的访问可能包括对基础凭证的访问,从而访问未经授权的资源或提升自己的权限的能力。

缺少对供应商的审计

如果公民开发者不知道如何筛选第三方供应商的安全风险,那么安全风险就会升级--尤其是即使是最受尊敬的供应商也可能带有安全漏洞。例如,在2021年,UpGuard安全研究人员发现微软的PowerApps门户网站的默认设置被配置为 "暴露记录以供显示"--除非被第三方用户故意修改。(这是在附带的文件中规定的,这表明你应该总是阅读文件!)。

结果,3800万条在线记录被曝光--其中许多是个人身份信息(PII),如社会安全号码。值得称赞的是,微软发布了一个软件修复。如果这样的事件发生在一个更不起眼的软件公司,它可能不会被发现,甚至不会被解决。供应商的选择很重要。

糟糕的用户账户权限

团队越大,就越有可能跳过入职时的良好做法。据AutoRABIT的首席执行官Meredith Bell说,克隆Salesforce的权限会导致一个安全漏洞的世界。

她指出,大型企业在创建新的Salesforce用户账户时,经常克隆活跃用户的权限。"这意味着单个用户的权限的一个小变化可能无意中扩散到整个组织,使未经授权的用户能够暴露数据(有意或无意)。"

如何应对低代码和无代码的安全挑战

幸运的是,有很多方法可以保证低代码和无代码应用程序的安全。让我们来看看几个想法。

对所有团队成员进行安全最佳实践的培训

如果你雇佣了公民开发者,确保他们接受持续的安全培训,以便在低代码或无代码项目上工作。

监控用户权限

在分配用户能力时,尽可能使用安全默认设置,并允许基于角色的访问控制(只授予需要的人访问权)。拥护零信任的安全模式,即在最小权限的基础上授予访问权。

保持你的应用程序和软件的库存

确保你跟踪你的团队对低代码和无代码平台的使用,以及他们创建的应用程序。你应该知道所有的敏感数据在哪里,特别是如果它是使用低代码和无代码平台创建的。

保持合规性和治理

所有的代码都应该遵守相同的协议,使用通用的做法,如内置权限和既定的保障措施,如代码审查和维护。协议应始终遵守行业标准和法规,如HIPAA、ISO和GDPR。

验证供应商、他们的应用程序和工具

在选择低代码和无代码平台时,有一些关键问题需要考虑:

  • 供应商能否提供软件材料清单
  • 该公司持有什么数据管理政策?
  • 他们的安全政策是否保护对基础数据服务的直接访问?
  • 该平台是否有一个强大的用户界面,以允许对库和API进行测试?
  • 他们的平台是在哪里托管的?
  • 该软件是否有内置的安全合规性检查,如PCI(用于支付)、HIPAA(医疗)和FedRAMP(政府),或遵守与你的部门相关的行业标准或ISO?

第三方安全审计

有许多自动测试工具可以发现开发和测试中的漏洞。这些工具包括:

  • 源代码安全分析器。国家标准与技术研究所(NIST)有一个方便的工具清单
  • SonarQube这样的静态分析工具使开发人员能够及早发现安全问题,通常是在他们编写代码时实时发现。这些工具在开发人员编写时进行扫描,然后在工程师的集成开发环境(IDE)或编辑器中标记任何安全问题。
  • 运行时环境测试可以揭示安全控制方面的数据差异,以避免将敏感数据发布到公共位置等情况。
  • W3af和开放网络应用安全项目(OWASP)的Zed攻击代理也很有帮助,可以找到网络应用的漏洞。
  • 一般来说,通过建立安全的做法,如密匙、数字签名或OAuth,确保API层的安全始终是很重要的。可以使用API扫描器来测试API的漏洞或错误。OWASP有一个很好的API安全工具的列表。

总结

作为提高生产力和加速创新的一种方式,低代码和无代码的开发者工具正在不断地普及。但是,为了使它们达到预期的目的,必须在整个开发过程和所使用的工具中嵌入良好的安全实践。否则,效率就会被一大堆安全问题所取代。