当前位置: 首页 > 科技观察

12不良无服务器技术的风险

时间:2023-03-11 22:09:09 科技观察

无服务器计算近年来取得了显着增长,伴随着新解决方案的繁荣生态系统。这些新解决方案提供可观察性、实时跟踪、部署框架和应用程序安全性。随着无服务器的安全风险凸显,所谓的“FUD”——恐惧、不确定、怀疑——的习惯再次被嘲笑者和愤世嫉俗者激起,他们指出,虽然无服务器技术正在快速部署软件,但它具有巨大的价值在降低TCO和大幅降低TCO方面,也带来了新的安全挑战。不断发展的无服务器生态系统成熟技术的关键指标之一是其生态系统。拥有繁荣的社区、广泛的文档、实践指南和工具决定了组织是否会信任并采用新技术。最近,云安全联盟(CSA)与PureSec合作编写了一份无服务器安全指南,该指南很大程度上借鉴了去年的版本,同时增加了两个重要的风险级别。该指南名为《无服务器应用12个最严重的风险》,是为处理无服务器应用程序的安全和开发人员编写的,但不仅指出了这些风险,还提供了适用于所有主要平台的实践实践。我们定义风险类别如下:风险一:函数式事件-数据注入Serverless技术可以从不同的事件源获取数据输入,每个事件源都有自己独特的消息格式和编码机制。这些事件消息可能包含黑客控制或不受信任的数据输入,需要对其进行严格审查。风险二:认证失败随着Serverless改进了面向微服务的系统设计,应用程序可能包含几十个甚至上百个功能。如果不小心,身份验证过程很容易出错。风险3:不安全的无服务器部署配置云提供商提供了许多设置选项来根据特定需求调整服务。开箱即用的设置不一定是最安全的选择。随着越来越多的组织迁移到云,云配置中的漏洞变得越来越普遍。风险4:过多的权限功能权限和角色管理功能权限和角色是组织在将应用程序部署到云时面临的最严峻的安全挑战之一。有时开发人员想偷工减料,采用“通吃”的权限模型,这种情况很常见。风险五:功能监控记录功能不足虽然大部分云厂商都提供了非常强大的日志记录功能,但这些日志并不一定适合在应用层提供完整的安全事件审计追踪功能。风险六:依赖不安全的第三方虽然第三方库的不安全并不是Serverless技术独有的短板,但由于缺乏应用网络和行为安全控制能力,Serverless环境中检测到的恶意软件包要复杂一些。风险7:不安全的应用程序秘密存储应用程序秘密存储最常见的问题之一是简单地将这些秘密保存为软件项目中的纯文本文件,或者将这些秘密保存为环境变量的纯文本文件。风险8:拒绝服务和财务资源耗尽Serverless架构具有自动可扩展性和高可用性等特性,但与任何其他类型的应用程序一样,Serverless的良好设计以避免瓶颈至关重要。风险九:Serverless业务逻辑运维业务逻辑运维是很多软件的通病。然而,无服务器应用程序有些特殊,因为它们通常遵循微服务设计,其中各种功能链接在一起形成一个逻辑整体。如果实施不当,攻击者可能会篡改预期逻辑。风险10:异常处理不当和错误消息冗长无服务器应用程序的逐行调试是有限的,并且比标准应用程序调试更复杂。结果,经常出现非常冗长的错误消息,这可能导致敏感数据的泄露。风险11:遗留/未使用的功能和云资源随着时间的推移,无服务器功能和相关的云资源可能会过时,应该被淘汰。处理过时的组件是为了减少不必要的成本并消除可避免的攻击面。过时的无服务器应用程序组件,可能是无服务器功能的错误版本、未使用的云资源、不必要的事件源、未使用的角色或身份、未使用的依赖项。风险12:跨执行数据持久化Serverless平台为应用程序开发人员提供本地磁盘存储、环境变量和用于执行任务的内存。为了使无服务器平台能够有效地处理新的调用,云提供商可能会为后续调用重用此执行环境。如果Serverless执行环境被复用于后续调用,属于不同用户或不同会话,则存在敏感数据遗留和敏感数据泄露的风险。本指南的目的是提高认识并帮助组织安全地使用无服务器进行创新,而不是散布恐慌。任何平台都存在安全风险,Serverless也不例外。CSA提出这些问题的目的是鼓励组织采用新技术,同时避免风险和常见错误。