Docker Hub上鏡像發現挖礦蠕蟲病毒,已導致2000臺主機感染

安全公司Palo Alto Networks威脅情報小組Unit 42發現一種新型的Graboid挖礦綁架病毒,目前已知這個蠕蟲已經感染了超過2,000臺不安全的Docker主機,用於挖掘Monero加密貨幣,研究人員提醒,雖然這個挖礦蠕蟲沒有複雜程序技術,但是由於他有能力從C2(Command and Control)服務器下載新腳本,因此可以簡單地轉換成勒索軟件或是任何惡意軟件,企業應提高保護自身Docker主機的能力。

過去也有以蠕蟲病毒的形式,來散佈挖礦綁架惡意軟件的案例,但是這是第一次挖礦綁架蠕蟲被發現存在Docker社區版本中,使用容器進行傳播。研究人員表示,由於大多數傳統端點保護軟件,都不會檢查容器中的資源以及動作,因此這種惡意動作難以被發現。

整個攻擊鏈從攻擊者在公共網絡中選定一個不安全的Docker守護行程(Daemon)開始,在上面執行從Docker Hub拉取的惡意鏡像容器,並且從C2服務器下載一些腳本以及容易受攻擊的主機列表,接著挑選下一個攻擊目標以傳播蠕蟲。Graboid會在容器中進行挖礦以及散佈蠕蟲,每次迭代Graboid隨機挑選三個目標,在第一個目標安裝蠕蟲,停止第二個目標的礦工行動,並在第三個目標上啟動礦工,而這樣的機制讓採礦行為變得非常隨機。


Docker Hub上鏡像發現挖礦蠕蟲病毒,已導致2000臺主機感染

也就是說,當被害者主機被感染時,惡意容器並不會立刻啟動,必須要等待另外一個受感染主機的信號挖礦程序才會被啟動,而正在挖礦的主機也會隨機接收到其他受感染的主機停止挖礦的信號。每臺受感染主機的礦工都由其他受感染的主機隨機控制,研究人員表示,他們不清楚這種隨機控制的設計動機,因為以規避偵測的角度來看,這樣的機制效果不佳,比較可能是設計不良或是有其他的目的。

Unit 42進行了模擬,來了解蠕蟲整體採礦的能力,包括蠕蟲散佈的速度,以及每個礦工在受感染的主機上平均活動時間,研究人員提到,以2,000臺主機規模進行的實驗,蠕蟲病毒要花費大概60分鐘,才能感染其中1,400臺易受感染的主機,由於受感染主機上礦工隨機啟動和停止的挖礦行為,每個礦工約只有65%的時間處於活動狀態,每個礦工採礦週期平均僅持續250秒。

研究團隊分析了蠕蟲使用的主機列表,其中包含2,034臺易受攻擊的主機,57.4%的IP來自中國,而13%位於美國,在Graboid使用的15臺C2服務器中,主機列表中列了其中的14臺,這表示攻擊者會控制易受感染主機的Docker守護行程,在上面安裝網頁服務器容器,並將惡意載體放在上面。

Graboid攻擊會使用到的Docker鏡像pocosow/centos已經被下載超過一萬次,而gakeaws/nginx也已經被下載6,500次,Unit 42發現gakeaws還發布了另一個挖礦綁架鏡像gakeaws/mysql,其內容與gakeaws/nginx相同。不過這些有害鏡像,都在研究人員與Docker團隊聯絡後,全部被移除。

研究人員警告,當沒有適當的身份驗證機制,企業不應該把Docker守護行程暴露在公共網絡上,而且其實在預設情況下,Docker社區版是不會暴露Docker守護行程的。企業應該使用Unix Socket來跟本地Docker守護行程溝通,或是使用SSH連接遠端Docker守護行程。

企業需注意在防火牆規則中加入白名單,限定流入流量的來源,並且不可從未知的註冊表或是未知使用空間拉取Docker鏡像,平時也該定期檢查系統是否存在未知的容器或是鏡像,也可以使用雲端安全解決方案,辨識惡意容器。

往期精彩




分享到:


相關文章: