云原生开发模式为网络安全倡导者十多年来一直倡导的应用程序安全实现收益提供了机会,但向云原生安全的过渡需要新的工具和应用程序以及不同的安全运营心态,这将使许多网络安全专业人士走出他们的舒适区。
以下是开发者、应用程序安全专家和云原生技术专家对云原生网络安全与传统方法的不同之处的一些见解。
以色列云原生安全提供商Wiz公司的首席安全研究员Scott Piper表示,在云原生架构中,微服务和API主导的交互不仅存在于应用程序组件之间,还存在于底层基础设施之间,这意味着一切都变成了应用程序安全问题。
他说,“在传统上,网络安全在一定程度上涉及到知道网络线路连接在哪里。人们知道与公共互联网的连接点在哪里,因为可以亲眼看到。在云中,配置的单个更改可能导致某些内容公开暴露在互联网上,不需要在某处连接网络线路。”
GuidePoint Security公司的应用安全工程总监Kristen Bell表示,云原生应用程序、基础设施和数据流增加了企业的复杂性,从而引入了更多攻击面。
Bell说,“随着微服务和API的增加,数据流变得更加复杂。应用程序和系统之间有更多的集成,所有这些都导致了更大的网络攻击面,从安全角度来看,需要考虑更多的复杂性。与这些变化相结合,我们看到越来越多的新隐私法要求数据的地理位置。”
Avalara公司的首席应用安全工程师Rebecca Deck表示,虽然有传统的应用程序安全扫描工具,例如静态应用安全测试、动态应用安全测试和软件组合分析仍然适用于云原生环境,但开发人员和网络安全团队现在需要大量的新功能和利基安全产品。
她说,“除了采用传统工具之外,我们还必须添加云合规工具、漂移控制工具、可以监控云工作负载的入侵检测和协调,以将其整合在一起。”她解释说,为了跟上变化的速度,她的团队的工作方式是使这些安全功能尽可能透明。她说,“安全工具应该是透明的,只有在发现安全漏洞时才会显示出来。”
Deck还警告说,尽管传统工具仍然可以在云原生安全中发挥重要的作用,但开发和安全团队必须了解它们的架构方式以及运行它们需要什么条件。如果它们不是为云优先的容器化模型设计的内部部署工具,那么在这些环境中运行可能会花费很多成本。
Deck说:“在云中运行不是专门为云计算设计的工具可能会在计算、存储和网络流量方面产生巨大成本。许多供应商要求在内部部署成本相对较低的情况下运行成本非常高昂的系统。由于系统延迟要求,通过阻塞点路由网络流量通常是不可行的,这需要与可能在云计算方面没有丰富经验的安全团队有截然不同的想法。”
云原生基础设施和开发模式的动态性和短暂性意味着变化是唯一不变的。
Wiz公司的Piper说:“云平台在一分钟之内可能有10台服务器运行,在一小时之内有1万台服务器运行,再过一小时,可以就只剩1台服务器运行。”Piper解释说,开发人员有权随时做出这些改变,以适应创新的业务要求。他说,“开发人员也可以灵活地自行开发这些服务,并尝试新的服务和功能。AWS公司目前拥有200多项服务,他们只是为数不多的云计算提供商之一。”
Insight Enterprises公司北美地区的首席技术官Juan Orlandini表示,环境中的这种不断变化的状态给安全专业人员带来了巨大的挑战,他们的任务是保持一致的安全态势。
他说:“因为云原生环境是动态编排的,所以会有不断的变化,包括扩大和缩小规模和升级软件。”
Insight Enterprises公司的Orlandini说,考虑到不断扩大的网络攻击面和云原生环境的动态条件,威胁建模成为管理软件风险的一个越来越重要的部分。
他解释说:“工具需要发展,以支持威胁建模作为云原生安全的核心组件。这意味着提供工具来识别潜在的漏洞和攻击面,并自动评估以识别错误配置和其他问题。”
Liberty Mutual公司的软件交付主管Jeff Talon说,跟上开发工作流的速度和灵活性意味着人工审查和移交不再那么有效。他表示,安全工作需要在开发工作流程中被简化,安全团队必须找到一种方法来创建以开发人员为中心的工具和流程,以审查代码和维护安全状态。
Talon说,“工具必须无缝集成到核心开发工具IDE、GIT、CI/CD管道中,避免人工切换或场景切换。合规性和安全策略评估需要在整个开发过程和云平台运行时保持一致。”
云原生环境的新兴状态孕育了一种“狂野西部”的氛围,可能对以规则为导向的安全人员构成严重挑战。安全团队可以通过提出标准和以安全为重点的指导方针来帮助开发人员实现云计算的现代化。
GuidePoint公司的Bell说,“重要的是,随着这一过程的开始形成,应用程序和云安全概念要经过深思熟虑,记录在案,然后用于创建标准化,其示例可能包括基线容器映像、遗留应用程序被云原生应用程序取代时的退役标准、构建和实施指南以及管道配置的基线标准等。”
如果与安全即代码的另一个关键概念相结合,这些标准的提出可以为可持续的云原生安全提供基础。Talon表示,在以开发人员为中心的工具中,通过策略即代码自动满足需求是云原生安全的最终目标。
他说:“安全需求通过在持续集成/持续部署管道和云计算运行时中使用策略即代码实现自动化,提供一致的开发体验,确保在整个开发过程中符合安全性和合规性要求。有了这一点,开发人员可以在更早的过程中获得安全反馈,并在一个能够使他们自我纠正并继续前进的环境中获得反馈。”
Orlandini表示,最好的云原生安全方法将包含持续监控,这可能与传统的应用程序安全方法不同,后者更注重定期扫描而不是实时监控。
好消息是,云原生基础设施的“一切即代码”方法使得在以前不可能的地方设置遥测变得更加容易,只要安全专家能够适应原有的网络监控机制可能不再适用于他们的事实。
Piper说:“对于网络安全人员来说,云中的一些事情变得更加困难,而另一些事情变得更容易,需要利用这些因素。在云中,不能像在物理服务器中那样轻松地依赖网络数据包监控,所以必须依赖其他概念,例如身份。在云端,一次性扫描服务器硬盘快照等事情变得容易得多。”