云计算网络攻击并不像人们想像的那样惊心动魄,现实生活中的剧本更加平淡无奇。网络攻击者部署自动化技术来扫描互联网以寻找可利用的漏洞。他们得到的是一个可供选择的目标虚拟“购物清单”,一旦进入云计算环境,他们就会利用其架构上的弱点来查找敏感数据,例如个人身份信息(PII)可以在几分钟内提取出来,通常是从对象存储服务或数据库快照。
安全防御听起来容易,但Verizon公司日前发布的2022年度数据泄露调查报告(DBIR)指出,错误配置的兴起始于2018年,主要是由云计算数据存储实施驱动的在没有适当的访问控制的情况下……尽管主要云提供商努力使默认配置更安全,但这些错误仍然存??在。
网络攻击者不会遍历安全团队使用传统入侵检测和预防解决方案和流程监控的传统网络。企业正试图用以往的数据中心安全技术挫败当今的云计算攻击者,并且对云计算威胁形势没有完全了解。
通常情况下,重点是识别网络攻击者可以利用以进入云计算环境的资源错误配置,并分析日志事件以识别可疑活动的妥协指标(IOC)。这些可能是身份和访问管理(IAM)配置的更改以提升权限、关闭加密以访问数据或记录以掩盖踪迹。对于任何云安全工作来说,这些都是必要的活动,但最终它们还不足以保证云计算数据的安全。错误配置只是黑客进入云环境并破坏API控制平台的途径之一,这种情况几乎在每一次重大的云漏洞中都会发生。
花费大量时间和精力来查找和消除单一资源的错误配置并不能回答这个问题:当他们侵入并访问控制平台时会发生什么?因为网络攻击者迟早会侵入。
在通常情况下,任何企业云计算环境中都会有一些配置错误,云安全团队通常每天都会发现并修复数十个或数百个漏洞。只专注于识别妥协指标(IOC)以阻止正在进行的网络攻击甚至风险更大;在团队有机会做出响应之前的几分钟内,云计算漏洞就有可能发生。即使使用最好的监控、分析和警报工具,也只能希望快速发现被黑客入侵。
新的威胁格局
开发人员和工程师越来越多地使用基础设施即代码(IaC),它针对云计算提供商的应用程序编程接口(API)运行,以在其工作时实时构建和修改他们的云计算基础设施,包括安全关键配置。云中的变化是一个常数,每次变化都会带来错误配置漏洞的风险,网络攻击者可以使用自动检测快速利用这些漏洞。
控制平面是配置和操作云的API表面。例如,企业可以使用控制平台来构建容器、修改网络路由以及访问数据库中的数据或数据库的快照(这对于黑客来说是比侵入实时生产数据库更受欢迎的目标)。换句话说,API控制平台是用于配置和操作云计算服务的API的集合。
最小化任何成功的云计算攻击事件的潜在攻击半径意味着在环境的架构设计中防止控制平台受损。
安全云架构的一些步骤
任何企业都可以采取五个步骤来设计其云计算环境,使其在本质上能够抵御云控制平台入侵攻击:
最小化控制云平台风险。现在是时候将对“云错误配置”的定义从单一资源错误配置扩大到包括架构错误配置,那些涉及多个资源以及它们如何相互关联的错误配置。
对于现有的云计算环境,通过分析资源访问策略和IAM配置来评估任何潜在渗透事件的攻击半径,以识别网络攻击者可用于发现、移动和数据提取的过于宽松的设置。当企业的开发人员和DevOps团队合作,在不破坏应用程序的情况下消除这些架构的错误配置。这可能需要一些返工来解决现有环境中的这些漏洞,因此最好在设计和开发阶段解决架构安全问题。
采用策略作为云基础设施的代码。策略即代码(PaC)是一种以机器可以理解的语言表达策略的方法,例如Open Policy Agent、开源标准和云原生计算基金会项目。
在软件定义的世界中,安全的角色是领域专家,他将知识传授给构建东西的开发人员,以确保他们在安全的环境中工作。不是规则手册或清单,而是代码。需要记住的是,在云中构建应用程序和应用程序基础设施的是开发人员。这一切都是用代码完成的,所以开发人员而不是安全团队拥有这个过程。策略即代码(PaC)使开发团队能够以编程语言表达安全性和合规性规则,应用程序可以使用这些语言来检查配置的正确性,并识别不需要的条件或不应该出现的事情。
使所有云计算利益相关者能够安全地运行,而不会对规则是什么以及应如何应用规则产生任何歧义或分歧,这有助于使所有团队在政策的单一真实来源下保持一致,消除解释和应用政策时的人为错误,并推动安全自动化(评估和执行等)在软件开发生命周期(SDLC)的每个阶段。
使开发人员能够构建安全的云环境。IT团队配置物理基础设施并将其提供给开发人员的日子已经一去不复返了。如今,开发人员和DevOps工程师使用基础设施即代码(IaC)来表达他们想要的基础设施并自动提供它。
虽然这对于高效的云诈运营非常有用,但它增加了大规模传播漏洞的风险。但是,采用基础设施即代码(IaC)为企业提供了一个前所未有的机会:能够在部署前检查基础设施安全性。借助策略即代码(PaC),可以为开发人员提供工具以在开发时检查安全性,并指导他们设计内在安全的环境,以最大限度地减少控制平台危害威胁。每个人都可以更快、更安全地移动。
使用安全护栏来防止配置错误。无论企业在通过基础设施即代码(IaC)检查和更安全的设计“扩展”云安全方面取得多么成功,错误配置仍然可能会漏掉,并且云计算资源的部署后突变是一个持续存在的风险。
企业应该在持续集成(CI)/持续交付(CD)管道中构建自动安全检查,以在部署过程中自动捕获错误配置,并在安全检查失败时自动使构建失败。对于不太敏感的部署,提醒团队注意违规行为,以便他们可以在必要时进行调查和补救。由于云计算资源的部署后更改无处不在,因此保持持续的运行时监控以检测漂移至关重要。确保正在运行的内容反映了创建它的基础设施即代码(IaC)模板,并检查危险的错误配置事件和可能包含漏洞的孤立资源。在所有这些用例中,企业对策略即代码(PaC)的采用将继续带来好处。
构建云安全架构专业知识。企业云采用率的提高要求安全专业人员将注意力从威胁检测和监控网络流量等传统安全方法,转移到了解控制平台破坏网络攻击的工作原理,以及如何有效地使用安全架构设计来防止它们。
为了做到这一点,企业需要能够与开发人员和DevOps团队密切合作的云计算安全工程师和架构师,以了解云计算用例并帮助在开发过程中建立安全设计原则。
保护云计算环境的最终目标是在任何成功的初始攻击渗透事件发生之前使其毫无意义。毕竟,如果网络攻击者无法从中获得任何收益,那么谁会在意网络攻击者是否可以访问企业云环境中的资源呢?
让企业的安全团队了解云计算应用程序的工作原理,以帮助确保云计算基础设施支持应用程序而不会引入不必要的风险。他们还需要知道如何利用策略即代码(PaC)检查环境中是否存在更深层次的多资源漏洞,并帮助指导开发人员设计和构建本质上安全的环境。