本文转自雷锋网,如需转载请至雷锋网官网申请授权。
Azure Kubernetes又被盗了!
6月10日,微软Azure安全中心(ASC)正式发出警告,黑客正在对Kubernetes集群中的机器学习工具包Kubeflow安装加密货币旷工,试图利用CPU资源挖掘Monero虚拟货币XMRIG。这项恶意“开采”行动于4月份开始,已对数十个Kubernetes集群造成污染。ASC调查发现,黑客攻击Kubeflow是因为用户更改了默认设置。
瞄准机器学习框架Kubeflow
4月初,ASK在监视和防御AKS上运行的数千个Kubernete集群时,发现许多不同集群在公共资源库中部署了可疑映像。经监测分析发现,这些可疑映像正在运行着XMRIG采矿机。
从映像所运行的各个集群来看,它们中的大多数都运行着Kubeflow。这一事实表明,此次恶意攻击的访问媒介正是机器学习框架Kubeflow。
Kubernetes是一款开源的容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。在Kubernetes中可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现和访问。Kubeflow就是其中一个用于机器学习任务的运行实例。
随着Kubernetes功能越来越强大,其攻击案例也日渐增多。不过针对Kubeflow的攻击却是第一次。ASC安全研究软件工程师Yossi Weizman补充说:“由于用于ML任务的节点往往相对强大,有时甚至包括GPU,因此对于加密矿工来说,它们是有吸引力的目标”。
另外,Kubeflow是一个容器化服务,各种任务作为容器运行在集群中。 因此,如果攻击者以某种方式可以访问Kubeflow,则他们可以通过多种方式在集群中运行其恶意映像。不过在默认配置下,外部对Kubeflow攻击很难成功。
攻击默认设置漏洞
Kubeflow功能可通过连接到仪表板的API服务器使用,用户可利用该仪表板来管理其任务。 而仪表板只能通过位于群集边缘的Istio入口网关使用。 这对于Kubeflow来说是一个非常安全的防护墙。
但是,部分用户为了便于访问会更改这项默认设置,将Istio服务修改为Load-Balancer。这样可以免于通过网关而直接访问仪表板,但也相当于将仪表板直接暴露到了互联网上,任何人都可以直接访问,并对Kubeflow功能进行更改。
Kubeflow功能面板
另外,如果攻击者可以访问仪表板,那么他们也可以通过多种方法在集群中部署新容器。以下是两种常见的方式:
访问Kubeflow的用户可以创建Jupyter笔记本服务器,同时为笔记本服务器选择映像,包括自定义的映像。该映像并不要求一定是合法的,因此攻击者可以使用此功能运行自己的映像。
从Jupyter笔记本中部署恶意容器:攻击者可以使用新的或现有的笔记本来运行其Python代码。该代码从笔记本服务器运行,笔记本服务器本身就是一个带有已安装服务帐户的容器。该服务帐户(默认配置)具有在其名称空间中部署容器的权限。因此,攻击者可以使用它在群集中部署新容器。
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外,Docker应用容器引擎也经常成为黑客攻击的目标。去年10月,大约有2000多台不安全的Docker引擎主机被一个名为Graboid的蠕虫挖矿劫持。除此之外,使用Kinsing恶意软件开采比特币的行动也正在迅速传播。
本次挖矿事件虽然只是感染了数十个集群,但是也引起了用户的广泛关注。对于容器化技术频繁遭到加密劫持的事件,有用户批评说,“比特币本应该改变或至少重新定义传统的数字货币流程,但最终变成了某种盗贼的行会票据,真是浪费!
同时,有网友乐观的表示,挖矿劫持的犯罪行为终会消失。
那么,对于功能强大与安全隐患并存的云计算服务平台,你还会使用吗?