如何使用Falco检测漏洞CVE-2020-8554
番茄系统家园 · 2022-05-18 00:27:25
漏洞概述
攻击者如果能够创建一个ClusterIP服务并设置.spec.externalIPs字段的话,他们就能够拦截全部到该IP的流量。除此之外,攻击者还可以修复LoadBalancer服务的状态,并通过设置status.loadBalancer.ingress.ip来实现类似的效果。通常来说,这种都属于特权操作,一般不会授予普通用户去进行操作访问。
这个漏洞属于Kubernetes设计缺陷,如果不对用户层面的运行机制进行修改的话,该漏洞将很难被修复或缓解。

安全按等级
中危
漏洞分析
Kubernetes(简称K8s)是是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署、规划、更新、维护的一种机制。K8s最早是由谷歌开发的,目前由CloudNative Computing Foundation 基金会维护。
由于External IP (外部IP)服务并没有广泛应用于多租户集群中,而且授予租户LoadBalancerIP的补丁服务/状态权限并不推荐,因此该漏洞只影响少量的Kubernetes 部署。
使用Falco检测CVE-2020-8554
检测针对该漏洞的漏洞利用尝试或攻击活动是防范此类网络攻击的关键,我们现在可以使用Falco来在主机和容器层面检测针对该漏洞的而已活动。Falco是CNCF的开源项目,可以用于容器和Kubernetes的运行时威胁检测。
Falco的好处之一是其功能强大而灵活的规则语言,当Falco发现由一组可定制的规则定义的异常行为时,它将为我们生成并报告安全事件。与此同时,Falco还提供了一些现成的检测规则可供我们使用。
接下来,我们一起看一看如何使用Falco来检测何时有人试图使用外部IP创建集群类型的服务事件。
如前文所述,漏洞CVE-2020-8554是由Kubernetes设计缺陷造成的。它允许具有创建/修复服务权限的用户将网络流量重定向到外部IP地址。大多数情况下,当一个只用于内部通信的服务被创建时,一个私有IP地址被分配给这个服务。
由于这是一个私有IP地址,那么Kubernetes集群中就没有人可以访问这种服务了。不过,用户还可以给这个服务配置并绑定一个外部IP地址。
实际上,这种操作行为是符合规范的。但是,恶意攻击者也可以利用该功能来执行中间人(MitM)攻击。
Falco规则:检测绑定外部IP地址的Kubernetes服务
如果你认为自己受到了漏洞CVE-2020-8554的影响,可以使用下列Falco规则来进行漏洞检测:
当有人使用外部IP地址创建或修改一个服务的话,Falco将会输出下列安全事件:
总结
请记住,漏洞CVE-2020-8554是一个由于设计缺陷而无法修复的漏洞,因此我们建议广大用户应该使用适当的安全工具来对Kubernetes集群进行安全监控。
鸿蒙官方战略合作共建——HarmonyOS技术社区
免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/dngz/331281bAXUq3.html。
