密码劫持者劫持了微软Azure中强大的机器学习集群

2020-06-12 06:28:42

微软周三表示,攻击者最近劫持了微软Azure云计算服务内强大的机器学习集群,以便他们可以以牺牲租用这些集群的客户为代价挖掘加密货币。

这些节点被客户错误配置,成为所谓密码劫持方案的完美目标。机器学习任务通常需要大量的计算资源。通过将它们重新定向到执行挖掘数字硬币所需的计算密集型工作负载,攻击者找到了一种以很少的成本或免费生成大量货币的方法。

受感染的集群正在运行Kubeflow,Kubeflow是Kubernetes中机器学习应用程序的开源框架,它本身就是一个用于在大量计算机上部署可伸缩应用程序的开源平台。微软表示,它发现的受损集群数量达到了“数十个”。他们中的许多人运行着一个可以从公共存储库获得的映像,表面上是为了省去用户自己创建一个映像的麻烦。经过进一步检查,微软调查人员发现它包含秘密挖掘Monero加密货币的代码。

在发现受感染的群集后,调查人员将注意力转向机器是如何受到危害的。出于安全考虑,默认情况下,允许管理员控制Kubeflow的仪表板只能通过istio inress访问,istio inress是一个通常位于群集网络边缘的网关。默认设置阻止Internet上的普通用户访问仪表板和对群集进行未经授权的更改。

Azure安全中心的安全研究软件工程师约西·魏茨曼(Yossi Weizman)在周三发布的一篇帖子中说,一些用户改变了设置。

魏茨曼写道:“我们相信,一些用户选择这样做是为了方便。”“如果没有此操作,访问仪表板需要通过Kubernetes API服务器进行隧道传输,而不是直接访问。通过将服务公开给Internet,用户可以直接访问仪表板。但是,此操作启用了对Kubeflow仪表板的不安全访问,这使得任何人都可以在Kubeflow中执行操作,包括在集群中部署新容器。“。

一旦攻击者有权访问仪表板,他们就有了在集群中部署后端容器的多种选择。例如,攻击者可以创建在集群上运行的名为Jupyter Notebook的服务器。然后他们可以在Jupyter笔记本中放置恶意图像。如果已经安装了Jupyter笔记本,则可能会对其进行恶意修改。

周三的帖子提供了几种方法,让用户可以检查他们的集群是否已经被攻破。

魏茨曼写道:“Azure安全中心在过去检测到了多个针对Kubernetes集群的攻击活动,这些活动都有类似的访问载体:向互联网公开的服务。”但是,这是我们首次发现专门针对Kubeflow环境的攻击。