安全研究人员警告说,大量的Kubernetes集群正由于错误配置Argo Workflows实例从而导致很容易受到攻击。
Argo Workflows是一个开源的容器原生工作流引擎,主要用于协调Kubernetes上的并行工作,加快机器学习和大数据处理等计算密集型工作的处理速度,同时它也被用来简化一般的容器部署。同时,Kubernetes也是一个流行的容器编排引擎,可以用于管理云部署。
根据Intezer的分析,由于一些实例可以让用户通过仪表盘访问,不需要对外部用户进行身份验证,恶意软件运营商可以通过Argo将加密软件投放到云容器中。因此,这些配置错误的权限可以让攻击者在受害者的环境中运行具有攻击性的代码。
根据Intezer在周二发表的分析报告中称,在许多情况下,默认配置的权限使得任何用户都可以部署工作流程。在权限配置错误的情况下,攻击者有可能会访问一个开放的Argo仪表板,并进行他们的网络攻击。
研究人员说,错误的配置还可能会暴露敏感信息,如代码、凭证和私人容器镜像的名称(可用于协助其他类型的攻击)。
Intezer通过对网络扫描,发现了大量的未受保护的实例,它们由包括技术、金融和物流行业在内的几个公司运营。
Intezer称:”我们目前已经确定了受感染的节点,由于涉及到数百个错误部署的容器,以后有可能会发生更大规模的攻击。在其中一个案例中,恶意代码在Docker Hub的一个暴露的集群上运行了九个月之后才被发现。”
实施攻击并不难。研究人员观察到包括Kannix和XMRig在内的很多流行的恶意软件被投放在Docker Hub等存储库的容器中,网络犯罪分子只需要通过Argo或其他途径将这些容器中的一个拉入Kubernetes就能完成攻击。例如,微软最近就调查了很多矿工通过运行机器学习工作流程的Kubeflow框架攻击Kubernetes的案例。
研究人员说:"在Docker Hub中,发现仍然有许多攻击者可以使用的Monero选项。我们通过简单的搜索,发现至少有45个容器有数百万的下载量"。
如何检查Argo的错误配置
研究人员指出,查看权限是否配置正确的最简便的方法是尝试从企业环境外部使用未经认证的隐身浏览器来访问Argo工作流仪表板。
研究人员补充说,一个更有技术含量的检查方法是访问一个实例的API并检查状态代码。
根据分析,作为一个未认证的用户,向[your.instance:port]/api/v1/info发出一个HTTP GET请求,返回的HTTP状态代码为'401未授权',表明这个实例配置正确,而如果返回一个成功的状态代码为'200成功',则表明一个未经授权的用户能够访问该实例。
Intezer指出,管理员还可以在日志和工作流时间线中检查任何可疑的活动,任何运行时间过长的工作流程都可能表明有攻击活动。
研究人员指出:"即使你的集群部署在云Kubernetes服务上,如亚马逊网络服务(AWS)、EKS或Azure Kubernetes服务(AKS),但是共同责任模式规定,应该由云客户来负责他们部署的应用程序的所有必要的安全配置"。
错误的云端配置为网络攻击提供了媒介
错误的配置现在仍然困扰着云计算领域和各种组织。去年秋天的一项分析发现,6%的谷歌云镜像配置错误,并且向公共互联网开放,任何人都可以访问其中的内容。
有时这些失误会成为头条新闻。今年3月,Hobby Lobby公司被揭露将138GB的敏感信息放在一个向公众开放的cloud bucket中。这些信息包括客户姓名、部分支付卡细节、电话号码、物理和电子邮件地址。
根据云原生计算基金会(CNCF)2020年的一项调查,有91%的受访者正在使用Kubernetes,受访者表示,使用和部署容器的最大的困难是部署的复杂性和安全性。
Intezer研究人员指出:"Kubernetes......是GitHub上最受欢迎的存储库之一,有超过10万个提交和超过3000个贡献者,每年使用Kubernetes的企业和他们部署的集群数量都在稳步增长。由于企业在使用容器和Kubernetes集群面临的这些安全性的挑战,攻击者很有可能会利用容器安全方面的漏洞,进行大范围的攻击"。(文章来源:嘶吼专业版)