首页>数码 >内容

错误配置K8s机器学习框架Kubeflow易招来挖矿攻击

数码2021-02-12 22:01:36
最佳答案

微软的Azure资讯安全中心侦测到新一波Kubernetes丛集挖矿攻击,目标锁定Kubernetes机器学习工具包Kubeflow,微软发现已经有数十个Kubernetes丛集受到挖矿攻击影响。

Kubeflow是一个开源专案,起初只是要让TensorFlow工作负载,能够在Kubernetes上运作的专案,但随着专案发展,Kubeflow已经发展成为Kubernetes机器学习的热门框架,微软提到,由于用于机器学习工作节点的运算能力,通常比起其他用途节点相对强大,并且在部分情况还会附加GPU,因此是採矿攻击的绝佳目标。

微软在4月时观察到,不同丛集都从一个公开储存库部署了可疑的映像档,深入分析该映像档,发现其内含XMRIG挖矿程式,微软还在公开储存库中,发现了其他拥有不同挖矿配置的映像档。部署这些恶意映像档的丛集,几乎都在执行Kubeflow,因此微软表示,这代表攻击者把机器学习框架当作攻击的进入点。

Kubeflow框架包含了各种服务,像是训练模型的框架、Katib以及Jupyter Notebook伺服器等,而Kubeflow是一个容器化服务,各种任务在丛集中都会以容器的形式执行,因此当攻击者能够以特定方式存取Kubeflow,便能以多种方式在丛集中执行恶意档案。

Kubeflow框架中还区分不同的命名空间,以表示Kubeflow服务集合,而这些命名空间会被翻译为Kubernetes命名空间,用来部署资源。预设情况下,仪表板只能透过Istio的Ingress闸道供内部存取,用户需要利用通讯埠转发(Port Forwarding)服务来存取仪表板,但在部分情况下,当用户将Istio服务配置修改为Load-Balancer,而这会使服务直接暴露在网际网路中。

微软提到,用户这么做通常是因为方便操作,否则存取仪表板还需要通过Kubernetes API伺服器建立通道,但只要把服务公开在网际网路中,用户就可以直接存取仪表板,不过这样的操作并不安全,因为这让任何人都可以在Kubeflow中执行操作,包括在丛集中部署新容器,只要攻击者有权限存取仪表板,就有多种方法在丛集中部署后门容器。

微软过去侦测到多个针对Kubernetes丛集的攻击行动,皆使用类似的存取向量,也就是入侵公开在网际网路上的服务,而这次则是微软首次侦测到针对Kubeflow框架的攻击行动。

微软提醒丛集管理者,在部署Kubeflow这类服务的时候,除了要对应用程式使用身份验证和存取控制之外,也不要将连接埠直接暴露在网际网路上,并且还要监控执行环境,包括监控正在执行的容器和程序,而且应该限制丛集只能部署受信任的映像档。

免责声明:本文由用户上传,如有侵权请联系删除!