当前位置: 首页 > 科技观察

如何使用Falco检测漏洞CVE-2020-8554

时间:2023-03-17 19:16:52 科技观察

漏洞概述漏洞CVE-2020-8554是一个可以影响多用户Kubernetes集群的漏洞,如果潜在的攻击者可以创建或编辑服务和pod,那么他们就可以拦截来自集群中其他pod或节点的流量。如果攻击者可以创建ClusterIP服务并设置.spec.externalIPs字段,他们就可以拦截到该IP的所有流量。除此之外,攻击者还可以修复LoadBalancer服务的状态,通过设置status.loadBalancer.ingress.ip达到类似的效果。一般来说,这种操作属于特权操作,普通用户一般无权限操作。该漏洞属于Kubernetes设计缺陷,不修改用户级运行机制将难以修复或缓解。安全漏洞分级分析Kubernetes(简称K8s)是一个开源软件,用于管理云平台中多台主机上的容器化应用。Kubernetes的目标是使容器化应用程序的部署变得简单高效。Kubernetes提供了应用程序部署、规划、更新和维护的机制。K8s最早由Google开发,目前由CloudNativeComputingFoundation维护。研究人员在K8s中发现了一个影响所有K8s版本的设计漏洞,使得允许租户创建和更新服务的多租户集群成为最易受攻击的目标。如果攻击者可以创建或编辑服务或pod,则有可能拦截来自集群中其他pod的流量。如果使用任何外部IP创建服务,则集群中到该IP的流量将被路由到该服务,这样有权使用外部IP创建服务的攻击者就可以拦截到任何目标IP的流量。CVE-2020-8554漏洞是一个中等严重程度的漏洞,攻击者可以在没有任何用户交互的情况下,通过创建和编辑服务和pod等基本租户权限远程利用该漏洞。由于ExternalIP(外部IP)服务在多租户集群中的应用并不广泛,不建议为租户LoadBalancerIPs授予patchservice/state权限,因此该漏洞仅影响少量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规则进行漏洞检测:-macro:service_with_external_IPcondition:(jevt.value[/requestObject/spec/externalIPs]existsandjevt.value[/requestObject/spec/externalIPs]!="")-rule:Create/UpdateClusterIPServicewithExternalIPdesc:DetectanattempttomodifyaClusterIPtypeservicewithexternalIPassigned(CVE-2020-8554)"条件:kevtandserviceandkmodify/response.value/Object/Object/value[type]=ClusterIPandservice_with_external_IPoutput:ClusterIPtypeservicecreated/updatedwithexternalIPassigned(user=%ka.user.nameservice=%ka.target.namens=%ka.target.namespaceoperation=%ka.verbports=%ka.req.service.portsexternalIP=%jevt.value[/requestObject/spec/externalIPs])priority:WARNINGsource:k8s_audit当有人使用外部IP地址创建或修改服务时,Falco将输出以下安全事件:SummaryRemembert由于漏洞CVE-2020-8554是设计使然,因此我们建议用户应使用适当的安全工具来监控Kubernetes集群的安全性。