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功能進行更改。
另外,如果攻擊者可以訪問儀表板,那麼他們也可以通過多種方法在集羣中部署新容器。以下是兩種常見的方式:
ASC研究員Yossi Weizman表示:本次事件中,黑客使用暴露的Kubeflow儀表獲得了對Kubernetes集羣的初始訪問權限。集羣中的執行和持久性由集羣中部署的容器執行。 攻擊者設法使用已安裝的服務帳户橫向移動並部署了容器。 最後,攻擊者通過運行加密貨幣礦工對集羣產生了影響。
如果用户想要調查他們的集羣找那個是否有被攻擊的Kubeflow實例,Weizman提供了以下步驟:
確認惡意容器未部署在羣集中,可按以下命令可以檢查:
如果將Kubeflow部署在羣集中,需要確保其儀表板未暴露於Internet:通過以下命令檢查Istio入口服務的類型,可以確保它不是具有公共IP的負載平衡器:
對於此次因更改默認配置引來的黑客攻擊,有用户吐槽説,“雲服務器的安全性需要專業人員的定期維護和管理,所以我不會在自己的工作中使用雲服務器”。
其實,對於雲服務器的安全性問題一直備受爭議。除了Kubernetes外,Docker應用容器引擎也經常成為黑客攻擊的目標。去年10月,大約有2000多台不安全的Docker引擎主機被一個名為Graboid的蠕蟲挖礦劫持。除此之外,使用Kinsing惡意軟件開採比特幣的行動也正在迅速傳播。
本次挖礦事件雖然只是感染了數十個集羣,但是也引起了用户的廣泛關注。對於容器化技術頻繁遭到加密劫持的事件,有用户批評説,“比特幣本應該改變或至少重新定義傳統的數字貨幣流程,但最終變成了某種盜賊的行會票據,真是浪費!
那麼,對於功能強大與安全隱患並存的雲計算服務平台,你還會使用嗎?
雷鋒網雷鋒網雷鋒網