Argo面向Web的仪表板的错误配置权限允许未经身份验证的攻击者在Kubernetes目标上运行代码,包括加密采矿容器。
安全研究人员警告说,Kubernetes 集群正受到配置错误的Argo Workflows实例的攻击。
Argo Workflows是一个开源的容器原生工作流引擎,用于在Kubernetes上协作并行任务,以加快机器学习和大数据处理等计算密集型任务的处理时间。它通常还用于简化容器部署。与此同时,Kubernetes是一种流行的容器编排引擎,用于管理云部署。
根据Intezer的一项分析,恶意软件运营商正在通过Argo将加密矿工放入云端,这是因为一些实例可以通过仪表盘公开,不需要外部用户进行认证。因此,这些错误配置的权限可能允许网络犯罪分子在受害者的环境中运行未经授权的代码。
根据周二发布的分析,“大多数情况下,权限配置允许任何访问用户部署工作流。” “在权限配置错误的情况下,攻击者有可能访问开放的Argo仪表板,并提交他们自己的工作流程。”
研究人员表示,错误配置还可能暴露敏感信息,例如代码、凭据和私有容器映像名称(可用于协助其他类型的攻击)。
通过对网络的扫描发现大量不受保护的实例,这些实例公司涵盖多个行业,包括技术、金融和物流。网络安全公司表示:目前已经确定了受感染的节点,并且由于数百个错误配置的部署,有可能发生更大规模的攻击。
在一个案例中,错误代码在Docker Hub中一个暴露的集群上运行了九个月,然后才被发现和删除。
攻击并不难实施
研究人员观察到不同流行的monero挖矿恶意软件被放置在位于Docker Hub等存储库(包括 Kannix和XMRig)的容器中。
网络犯罪分子只需通过Argo或其他途径将其中一个容器拉入Kubernetes。例如,微软最近标记了一波矿工通过Kubeflow框架感染Kubernetes,以运行机器学习工作流。
研究人员表示:在Docker Hub中,攻击者仍然可以使用许多monero挖矿选项。 通过简单的搜索,就能发现至少有45个其他容器,并且下载量达数百万次。
如何检查Argo配置错误
研究人员指出,查看权限是否配置正确的最快方法是尝试从公司环境之外的未经认证的匿名浏览器访问Argo工作流仪表板。
研究人员补充说,从技术手段上来说,可以查询实例的API并检查状态代码。
根据分析,向 [your.instance:port]/api/v1/info 发出HTTP GET 请求。作为未经身份验证的用户,返回的HTTP状态代码 '401 Unauthorized' 将指示正确配置的实例,而成功的状态代码 '200 Success' 可能表明未经授权的用户能够访问该实例。
管理员还可以检查日志和工作流时间线中的任何可疑活动。网络安全公司指出,任何运行时间过长的工作流都可能表明存在加密挖矿活动。
即使集群部署在Amazon Web Service (AWS)、EKS 或Azure Kubernetes Service (AKS) 等托管云Kubernetes服务上,共享责任模型仍然表明,云客户,而不是云提供商,有必要负责对他们部署的应用程序进行必要的安全配置。
云错误配置提供网络攻击媒介
错误配置继续困扰着各种规模的云计算部门和企业。去年秋天的一项分析发现,6%的谷歌云存储桶配置错误,对公共互联网开放,任何人都可以访问它们的内容。
有时,这些问题将会造成严重的网络安全事故。3月份有消息称,Hobby Lobby 将138GB的敏感信息存放在一个向公众互联网开放的云容器中。这些信息包括客户姓名、部分支付卡信息、电话号码、物理地址和电子邮件地址。
根据云原生计算基金会(CNCF) 2020年的一项调查,91%的受访者正在使用Kubernetes,受访者表示使用和部署容器的最大挑战是复杂性、安全性和缺乏相关培训。
网络安全人员称,Kubernetes是GitHub上最受欢迎的存储库之一,拥有超过100,000次提交和超过3,000名贡献者。每年使用Kubernetes的企业及其部署的集群数量都在稳步增长。由于企业在使用容器和Kubernetes 集群时面临这些挑战,攻击者利用安全漏洞的机会相应增大,尤其错误配置或利用的可能性仍然存在。
安全漏洞为网络犯罪分子提供了大量机会,数据显示,90%以上的网络安全问题是由软件自身的安全漏洞被利用导致!因此软件产品在开发过程中建议将安全前置,通过在开发周期过程中加强 软件安全测试,来减少系统安全漏洞,降低被网络犯罪分子攻击的几率。