警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

Azure Kubernetes又被盗了!

6月10日,微软Azure安全中心(ASC)正式发出警告,黑客正在对Kubernetes集群中的机器学习工具包Kubeflow安装加密货币旷工,试图利用CPU资源挖掘Monero虚拟货币XMRIG。这项恶意“开采”行动于4月份开始,已对数十个Kubernetes集群造成污染。ASC调查发现,黑客攻击Kubeflow是因为用户更改了默认设置。

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

瞄准机器学习框架Kubeflow

4月初,ASK在监视和防御AKS上运行的数千个Kubernete集群时,发现许多不同集群在公共资源库中部署了可疑映像。经监测分析发现,这些可疑映像正在运行着XMRIG采矿机。

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

从映像所运行的各个集群来看,它们中的大多数都运行着Kubeflow。这一事实表明,此次恶意攻击的访问媒介正是机器学习框架Kubeflow。

Kubernetes是一款开源的容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现和访问。Kubeflow就是其中一个用于机器学习任务的运行实例。

随着Kubernetes功能越来越强大,其攻击案例也日渐增多。不过针对Kubeflow的攻击却是第一次。ASC安全研究软件工程师Yossi Weizman补充说:“由于用于ML任务的节点往往相对强大,有时甚至包括GPU,因此对于加密矿工来说,它们是有吸引力的目标”。

另外,Kubeflow是一个容器化服务,各种任务作为容器运行在集群中。 因此,如果攻击者以某种方式可以访问Kubeflow,则他们可以通过多种方式在集群中运行其恶意映像。不过在默认配置下,外部对Kubeflow攻击很难成功。

攻击默认设置漏洞

Kubeflow功能可通过连接到仪表板的API服务器使用,用户可利用该仪表板来管理其任务。 而仪表板只能通过位于群集边缘的Istio入口网关使用。 这对于Kubeflow来说是一个非常安全的防护墙。

但是,部分用户为了便于访问会更改这项默认设置,将Istio服务修改为Load-Balancer。这样可以免于通过网关而直接访问仪表板,但也相当于将仪表板直接暴露到了互联网上,任何人都可以直接访问,并对Kubeflow功能进行更改。

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置Kubeflow功能面板

另外,如果攻击者可以访问仪表板,那么他们也可以通过多种方法在集群中部署新容器。以下是两种常见的方式:

访问Kubeflow的用户可以创建Jupyter笔记本服务器,同时为笔记本服务器选择映像,包括自定义的映像。该映像并不要求一定是合法的,因此攻击者可以使用此功能运行自己的映像。

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

从Jupyter笔记本中部署恶意容器:攻击者可以使用新的或现有的笔记本来运行其Python代码。该代码从笔记本服务器运行,笔记本服务器本身就是一个带有已安装服务帐户的容器。该服务帐户(默认配置)具有在其名称空间中部署容器的权限。因此,攻击者可以使用它在群集中部署新容器。

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

ASC研究员Yossi Weizman表示:本次事件中,黑客使用暴露的Kubeflow仪表获得了对Kubernetes集群的初始访问权限。集群中的执行和持久性由集群中部署的容器执行。 攻击者设法使用已安装的服务帐户横向移动并部署了容器。 最后,攻击者通过运行加密货币矿工对集群产生了影响。

如果用户想要调查他们的集群找那个是否有被攻击的Kubeflow实例,Weizman提供了以下步骤:

确认恶意容器未部署在群集中,可按以下命令可以检查:

kubectl get pods –all-namespaces -o jsonpath=”{.items[*].spec.containers[*].image}”  | grep -i ddsfdfsaadfs 

如果将Kubeflow部署在群集中,需要确保其仪表板未暴露于Internet:通过以下命令检查Istio入口服务的类型,可以确保它不是具有公共IP的负载平衡器:

kubectl get service istio-ingressgateway -n istio-system

容器化技术一直惨遭攻击

对于此次因更改默认配置引来的黑客攻击,有用户吐槽说,“云服务器的安全性需要专业人员的定期维护和管理,所以我不会在自己的工作中使用云服务器”。

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

其实,对于云服务器的安全性问题一直备受争议。除了Kubernetes外,Docker应用容器引擎也经常成为黑客攻击的目标。去年10月,大约有2000多台不安全的Docker引擎主机被一个名为Graboid的蠕虫挖矿劫持。除此之外,使用Kinsing恶意软件开采比特币的行动也正在迅速传播。

本次挖矿事件虽然只是感染了数十个集群,但是也引起了用户的广泛关注。对于容器化技术频繁遭到加密劫持的事件,有用户批评说,“比特币本应该改变或至少重新定义传统的数字货币流程,但最终变成了某种盗贼的行会票据,真是浪费!

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置同时,有网友乐观的表示,挖矿劫持的犯罪行为终会消失。

那么,对于功能强大与安全隐患并存的云计算服务平台,你还会使用吗?

雷锋网(公众号:雷锋网)雷锋网雷锋网

引用来源:

https://arstechnica.com/information-technology/2020/06/machine-learning-clusters-in-azure-hijacked-to-mine-cryptocurrency/?comments=1

https://www.microsoft.com/security/blog/2020/06/10/misconfigured-kubeflow-workloads-are-a-security-risk/

 https://www.infosecurity-magazine.com/news/kubernetes-hit-kubeflow/ 

雷锋网原创文章,未经授权禁止转载。详情见转载须知

警告!Kubernetes集群正在遭挖矿劫持,这一次目标是Kubeflow,微软ASC呼吁:不要随意更改默认设置

(完)