随着云计算服务大量使用,网络攻击面的不断扩大,那些过去为传统数据中心而设计的安全工具和运营流程将很难应对云端的安全威胁。相比过去,安全团队现在面临超过10到100倍的容器化保护需求,大量的动态云资产需要追踪,同时还需要应对混乱不堪的身份和访问权限管理。此外,攻击者越来越多地使用自动化工具,如最近的SCARLETEEL攻击,攻击者就是利用Kubernetes集群上已知漏洞进行侦察,并横向进入一个过度授权访问的Amazon Web Services(AWS)帐户。
大量的云漏洞、配置错误等风险层出不穷,安全团队正在被各种告警淹没,无法确定当前最重要的风险。此外,越来越多的组织开始采用CI/CD,授权开发人员可以配置基础架构并通过部署容器化的应用程序实现快速更新上线。但是安全产品,却很少集成在开发环境中。本文基于云原生应用保护平台(CNAPP)能力要求,从云工作负载、云安全态势管理、云检测和响应、用户体验等几个不同方面,提供了80+Checklist,帮助用户更好进行选型(如已对CNAPP较为熟悉可直接跳至本文最后的附录,查看Checklist)。
传统安全工具不足
正如图1所示,云基础设施缺乏可视性、安全工具难以被集成、不断扩大的风险暴露面、告警太多等因素推动了云安全运营团队迫切希望更新当前技术方案。
图1 当前云安全方案面临窘境
一些组织甚至没有意识到需要基于云基础设施特性,重新评估他们的安全控制措施。下面几个原因解释了为什么许多传统安全技术并不适合云环境:
第一是可见性。对云服务、身份、工作负载和编排服务(如Kubernetes)拥有可见性才能帮助安全团队检测高级威胁。部分攻击者甚至已开始针对软件供应链和第三方应用程序(如Okta、Github等)以获取进入云环境的初始入口。如果,在整个云生态系统中没有端到端的可见性,那么安全工具就形同虚设。安全可见性包括以下几个方面:
-
网络可见性:随着软件化的网络配置与工作负载相结合,类似防火墙、IPS这样工具可能无法满足集成要求。例如面对Kubernetes的网络配置,运行在IaaS和PaaS环境中的容器生成情况等,传统安全工具几乎处于失效状态。
-
应用程序可见性:真正的应用程序可见性需要与云工作负载和编排服务深度集成,并具有强大的告警功能。
-
工作负载可见性:深度工作负载可见性需要具备各种工作负载类型的配置评估能力,以及对容器镜像配置和运行时事件监视的可见性。
-
IaC可见性:在大多数成熟的组织中,这种可见性需要集成到DevOps流水线中,能够快速分析IaC模板和文件。
第二个是检测能力。从某种程度说,传统攻击方式也可能会发生在云中,但是攻击的方式以及如何检测它们将需要转变。例如,攻击者可能通过AWS CLI执行恶意命令,修改云存储节点,如S3存储桶,或与云原生Kubernetes服务进行交互。传统EDR或本地监控解决方案无法做到实时检测并对此发出告警或者完成阻断。这种滞后的检测和响应,会给攻击者充分时间完成攻击和撤退。
最终,单点产品很难发挥较强效果。无论采用何种方法,这些单点工具之间没有沟通或共享上下文,这就要求安全团队手动“拼接”事件,并确定它们是否相关,这对于安全团队而言几乎是一个不可能完成的任务。会让安全团队陷入无休止忙乱之中,迫使他们一次又一次地处理问题,而不是根据风险和影响基于优先级排名列表来处理。在没有适当的可见性和运行时上下文的情况下,这些传统解决方案将使组织陷入时间浪费和延迟的无尽循环中。
先进云安全方案CNAPP
为了应对云安全的挑战,有效的解决方案必须平衡安全性和速度。本文附录提供了一份CNAPP解决方案中应该包含功能checklist。在本章节先着重深入研究其中一些重点功能。
云原生安全工具需要足够智能,可以将实时检测能力和运行时上下文层叠在一起,以分析展示整个云基础架构中最重要的风险,还需要能够支持跨多个云平台,为企业在复杂的多云环境中提供了必要的灵活性和控制能力。
云工作负载保护
云安全解决方案最重要的一块内容是工作负载保护,先进的云安全解决方案CNAPP应包括以下功能:
-
统一资产清单,包括Kubernetes和云资源
-
运行时对所有容器镜像、镜像仓库、容器主机和虚拟机实例进行漏洞扫描
-
灵活的安全报告输出
-
易于集成到CI/CD中,以帮助自动化漏洞扫描和报告
-
整合外部漏洞信息源,具有统一的漏洞清单,包含漏洞优先级
-
可在策略中执行镜像配置规则和简单实施基础镜像补救措施
-
为所有资源创建简单灵活的策略设置和漏洞修复,具备运行时修复和IaC修复能力
-
对工作负载上的恶意活动进行实时检测,具有持续更新的规则和集成威胁信息源能力
-
强大的调查和取证能力,如证据获取、自动化调查/取证
-
基于AI增强和提升检测能力
云安全态势管理
许多重大安全事件发生是由于云工作负载和服务配置管理不当导致的。因此一个CNAPP方案应该包括以下功能:
-
支持策略即代码的自定义策略(最好支持Open Policy Agent [OPA]等标准),以及与行业框架和合规监管要求一致的现成策略库,以检测和配置任何云中的设置。
-
能够实时检测跨云的工作负载和编排服务中出现的配置漂移。
-
身份和访问管理分析能力,能够评估权限使用情况,并能够按照最严格的身份和访问策略落地执行。
-
通过将运行时上下文与静态检查(配置错误、已知漏洞)相结合,对安全风险进行排序。
-
识别和分析风险配置的用户属性和设置,比如缺乏多因素认证 (MFA)、公开或过度宽松的云访问密钥、缺乏访问密钥轮换等情况。
-
在云环境中对所有策略和配置状态进行详细和灵活的报告,最好具备行业框架、合规报告以及自定义选项。
-
攻击路径分析,能支持在多个事件之间进行相关性分析(例如,横向移动)。
云检测与响应
除了工作负载保护和态势评估之外,云检测与响应也是需要重点关注的一个方面。正如前面提到的,传统将本地安全工具和工作流程调整以适应云原生场景的做法很难真正解决云自身的安全问题。CNAPP平台应支持以下功能:
-
实时检测恶意活动和行为,不断更新规则并集成威胁源
-
灵活的规则语言用于自定义规则
-
AI增强检测能力
-
支持跨越云、容器和Kubernetes多个不同平台
-
强大的调查和取证能力,如证据捕获、自动化调查/取证操作
-
事件丰富化和转发,能够与第三方安全工具和平台对接(如SIEM)
-
检测和分析Kubernetes网络事件
-
具备主机、托管容器服务工作负载的检测和响应能力
用户体验
对安全团队来说,增加运营负担或笨拙的界面是很难接受的。成熟的解决方案在用户体验领域应该提供以下内容:
-
同时涵盖云工作负载和Kubernetes编排的服务和工作负载,提供统一的安全和风险看板,包括威胁检测、漏洞管理和安全姿势管理,涵盖工作负载基础设施的所有方面。
-
部署简单性。完整的CNAPP将结合Agent和Agentless以创建统一解决方案。
-
随着ChatGPT等生成式AI工具的兴起,许多安全解决方案开始利用这项技术来帮助用户。例如允许用户使用自然语言提示来获取丰富上下文相关告警。
附录-CNAPP能力成熟度评估
云工作负载保护
云原生应用程序保护平台应具备以下能力,以保护整个生命周期中的云工作负载:
风险管理 | 基础版 | 升级版 |
运行时容器镜像漏洞扫描 | ✓ | |
主机漏洞扫描(虚拟机) | ✓ | |
镜像仓库漏洞扫描 | ✓ | |
支持CI/CD集成、Git集成 | ✓ | |
漏洞优先级排序 | ✓ | |
丰富的漏洞上下文(可利用性、修复日期、软件包修复版本) | ✓ | |
可操作的补救措施(更新软件包、更新镜像) | ✓ | |
跨云和Kubernetes的漏洞定义和策略验证 | ✓ | |
通过准入控制器执行策略 | ✓ | |
统一漏洞清单 | ✓ | |
集成外部漏洞源 | ✓ | |
支持策略中的镜像配置规则 | ✓ | |
容器/K8S态势管理 | 基础版 | 升级版 |
跨Kubernetes、容器和主机的错误配置检测 | ✓ | |
CIS基准(Kubernetes、Docker、Linux)要求 | ✓ | |
可定制的策略/控件 | ✓ | |
整个云环境统一可搜索的资产清单 | ✓ | |
针对Kubernetes的IaC安全(扫描IaC清单中的配置错误) | ✓ | |
在源头(IaC)或运行时环境中对违规策略进行补救 | ✓ | |
运行时安全与事件响应 | 基础版 | 升级版 |
恶意行为实时检测 | ✓ | |
持续更新的开箱即用规则覆盖 | ✓ | |
集成威胁信息源 | ✓ | |
灵活的规则语言以支持自定义检测 | ✓ | |
具备机器学习能力的多层保护,作为基于规则的检测的补充 | ✓ | |
容器漂移检测和防护 | ✓ | |
深入了解安全事件并进行取证 | ✓ | |
详细且可操作的取证数据捕获 | ✓ | |
支持Linux主机 | ✓ | |
具有自动化操作的运行时策略(终止、停止、暂停容器) | ✓ | |
与SIEM集成 | ✓ | |
与事件响应系统集成(例如PagerDuty) | ✓ | |
实时文件完整性监控 | ✓ | |
K8S网络安全分析 | ✓ | |
支持serverless | ✓ |
云安全态势管理
持续监控、检测和纠正云安全错误配置,是任何成熟的云工作负载和云原生应用程序保护平台重要的一组功能,需要包含以下功能:
态势管理(云/IaaS) | 基础版 | 升级版 |
跨多个云提供商的错误配置检测 | ✓ | |
对IaC清单进行错误配置扫描(IaC安全) | ✓ | |
检测配置漂移(从IaC到运行资源) | ✓ | |
在源头进行补救(通过自动拉取请求) | ✓ | |
支持自定义策略 | ✓ | |
在源头(IaC)或运行环境中对策略违规进行纠正 | ✓ | |
行业基准和法规合规框架的开箱即用策略 | ✓ | |
整个云环境统一可搜索的资产清单 | ✓ | |
利用生成式人工智能在云库存资产上进行自然语言搜索和查询 | ✓ | |
合规报告 | ✓ | |
具有运行时上下文的攻击路径分析 | ✓ | |
组合风险检测(即有害组合) | ✓ | |
MITRE风险映射 | ✓ | |
基于运行时上下文和静态检查的风险优先级排序 | ✓ | |
云漏洞管理 | 基础版 | 升级版 |
基于agent或agentless扫描云主机 | ✓ | |
基于运行时上下文的漏洞优先级排序 | ✓ | |
Jira/工单集成 | ✓ | |
权限/授权管理 | 基础版 | 升级版 |
识别风险用户属性,如未开启多因素认证,访问密钥未轮换等 | ✓ | |
权限使用评估 | ✓ | |
基于运行时访问模式的最小特权访问策略(CIEM) | ✓ | |
针对过度权限提供引导性补救措施,并推荐最低特权IAM策略 | ✓ |
云检测和响应
基础版 | 升级版 | |
实时检测恶意活动 | ✓ | |
持续更新的管理策略 | ✓ | |
针对安全和合规框架(如MITRE、PCI等)的开箱即用策略 | ✓ | |
集成威胁情报源(例如恶意IP) | ✓ | |
灵活的规则语言以支持自定义检测 | ✓ | |
具备机器学习能力的多层保护,作为基于规则检测的补充 | ✓ | |
跨工作负载、身份、云服务和软件供应链的端到端检测 | ✓ | |
SaaS应用程序检测 | ✓ | |
实时检测异常的云活动 | ✓ | |
深入了解安全事件并进行取证 | ✓ | |
详细且可操作的取证数据捕获 | ✓ | |
自动调整策略和规则以最小化误报 | ✓ | |
将安全事件转发至第三方安全和运维工具 | ✓ | |
从云和其他环境上下文中丰富事件信息 | ✓ | |
实时检测横向移动 | ✓ | |
具有相关上下文的攻击过程 | ✓ | |
基础设施和工作负载的实时映射 | ✓ | |
威胁映射至MITRE ATT&CK框架 | ✓ | |
在多个事件/来源之间进行跨领域数据关联 | ✓ | |
支持Linux主机 | ✓ | |
无服务器支持 | ✓ | |
支持所有主要云、Linux和Kubernetes供应商 | ✓ |
用户体验
对于安全运营团队而言,强大而成熟的用户体验至关重要。云原生应用保护平台应提供如下能力:
基础版 | 升级版 | |
跨云、容器和Kubernetes统一的安全风险看板 | ✓ | |
支持Agent和Agentless | ✓ | |
通过评估发现上下文和潜在攻击路径的组合生成等方法聚合生成风险等级 | ✓ | |
拥有修复指南和方法 | ✓ | |
完全可配置的规则和策略引擎 | ✓ | |
公开APIs | ✓ | |
生成式人工智能增强功能 | ✓ |