微軟的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這類服務的時候,除了要對應用程式使用身份驗證和存取控制之外,也不要將連接埠直接暴露在網際網路上,並且還要監控執行環境,包括監控正在執行的容器和程序,而且應該限制叢集只能部署受信任的映像檔。


Advertisement

更多 iThome相關內容