有权访问Kubernetes集群的攻击者可以串联Google Kubernetes Engine(GKE)中的两个漏洞来提升权限并接管集群。Google于2023年12月14日通过GCP-2023-047解决了该问题;但是,我们敦促客户确保他们已安装该补丁。


Palo Alto Networks的Unit 42研究人员在Google Kubernetes Engine(GKE)中发现了一个漏洞链,该漏洞链可能允许攻击者提升权限并获得对整个集群的未经授权的访问。


Unite 42报告强调了两个关键 GKE 组件中潜在的安全漏洞:FluentBit(收集/转发容器日志的GKE默认日志记录代理)和Anthos Service Mesh(ASM)(GKE内用于服务间通信的可选插件)集群。


Unit 42研究人员首先将FluentBit漏洞与ASM的CNI DaemonSet权限结合起来,导致攻击链升级到集群管理员权限。


供您参考,FluenBit是一种轻量级日志处理器和转发器,自2023年3月以来一直是GKE中的默认日志记录代理,部署为DaemonSet(控制器),而ASM是Google的Istio Service Mesh开源项目实现。


Kubernetes是一种广泛使用的用于应用程序部署和管理的开源容器平台,但由于错误配置和过多的特权,它很容易在客户不知情的情况下出现安全漏洞。


正如技术博客文章中所述,研究人员发现,有权访问Google Kubernetes Engine(GKE)的攻击者可以串联两个漏洞来提升权限并接管Kubernetes集群。这可以帮助攻击者获得潜在的第二阶段攻击路径,前提是他们已经在FluentBit容器中实现了远程代码执行或者可以突破另一个容器。


第二阶段的云攻击涉及攻击者(已经对Kubernetes集群具有一定级别的访问权限)通过利用错误配置或漏洞来管理传播/升级权限。


攻击者可以通过受损的容器或漏洞访问GKE集群,利用FluentBit的默认配置来获得升级的权限。如果启用了ASM,攻击者可以利用其默认的服务网格权限来访问Kubernetes API服务器,从而授予他们对集群的完全控制权。


FluentBit容器可被利用,通过错误配置来获得对Kubernetes集群的未经授权的访问。容器挂载/var/lib/kubelet/pods卷,其中包含节点上运行的每个pod的预计服务帐户令牌。这使得攻击者可以冒充具有Kubernetes API服务器特权访问权限的Pod并映射整个集群。攻击者还可以更新与CRAC绑定的集群角色以拥有所有权限。


ASM的容器网络接口(CNI)DaemonSet安装后的过多权限也可能被利用,从而允许攻击者使用这些权限创建新的pod。这使得攻击者可以通过将权限升级到集群管理员来获得对Kubernetes集群的完全控制。


Google于2023年12月14日通过GCP-2023-047解决了这两个配置问题。Google安全团队通过将卷安装配置减少到仅必要的配置,修复了FluentBit对日志的访问。Google了解Anthos Service Mesh中的高权限,并修复/减少了权限来解决该问题。


为了保持受到保护,您必须立即更新FluentBit、检查ASM权限、最小化GKE集群组件的权限,并持续监控GKE环境中的可疑活动以解决已识别的漏洞。


Tigera是一家总部位于旧金山的网络安全公司,专门为容器和Kubernetes提供保护服务,其安全工程经理Anthony Tam警告说,Kubernetes中网络可见性不足可能会导致配置错误,暴露可能导致勒索软件、数据泄露、 DoS攻击的漏洞攻击和未经授权的横向移动,强调需要工作负载级别的可见性才能有效解决这些威胁。


“Kubernetes集群和工作负载中缺乏网络可见性可能会导致配置错误,从而导致灾难性后果,例如勒索软件攻击、敏感数据暴露、拒绝服务(DoS)攻击和未经授权的横向移动。拥有工作负载级别的可见性对于识别和减轻传统的基于边界的安全解决方案无法识别的错误配置和威胁至关重要。”