Docker Hub存儲庫隱藏了1650多個惡意容器
超過1600個公開可用的Docker Hub鏡像隱藏著諸多惡意行為,包括加密貨幣挖礦軟件、可以用作后門的嵌入式秘密信息(secret)、DNS劫持軟件以及網站重定向工具。
Docker Hub是一個基于云的容器庫,允許人們隨意搜索和下載Docker鏡像,或將他們創建的鏡像上傳到這個公共庫或私人存儲庫。
Docker鏡像是一種模板,便于用戶快速輕松地創建含有隨時可用的代碼和應用程序的容器。因此,那些希望創建新實例的人常常求助于Docker Hub,以便迅速找到一個易于部署的應用程序。
不幸的是,由于威脅分子濫用這項服務,上傳的1000多個惡意鏡像給毫無戒備之心的用戶帶來了嚴重的風險,他們在本地托管或基于云的容器上部署其實充斥著惡意軟件的鏡像。
許多惡意鏡像所使用的名字偽裝成大受歡迎、值得信賴的項目,因此威脅分子上傳它們顯然是為了誘騙用戶下載它們。
Sysdig公司的研究人員深入研究了這個問題,試圖評估這個問題的嚴重性,報告發現的鏡像使用了某種惡意代碼或機制。
Docker Hub陷阱
除了由Docker Library項目組審核、證明可信賴的鏡像外,Docker Hub服務上還有成千上萬個狀態未知的鏡像。
Sysdig使用其自動掃描工具仔細檢查了250000個未經驗證的Linux鏡像,識別出其中1652個是惡意鏡像。

圖1. Docker Hub上惡意鏡像的類型(來源:Sysdig)
最常見的一類是加密貨幣挖礦軟件,存在于608個容器鏡像中,針對服務器資源,為威脅分子挖掘加密貨幣。
第二常見的一類是隱藏嵌入式秘密信息的鏡像,共有281例。嵌入在這些鏡像中的秘密信息有SSH密鑰、AWS憑據、GitHub令牌、NPM令牌及其他信息。

圖2. Docker鏡像中遺留的秘密信息類型(來源:Sysdig)
Sysdig聲稱,這些秘密信息可能被誤留在公共鏡像上,或者被創建和上傳這些秘密信息的威脅分子故意注入。
Sysdig在報告中警告,通過在容器中嵌入SSH密鑰或API密鑰,攻擊者就可以在容器部署后獲得訪問權限。
比如說,將公鑰上傳到遠程服務器就可以讓相應私鑰的所有者通過SSH打開shell并運行命令,其效果與植入后門相似。
Sysdig發現的許多惡意鏡像使用蓄意錯誤拼寫手法來冒充合法可信的鏡像,結果用加密貨幣挖礦軟件感染用戶。
這個策略為一些非常成功的攻擊(比如下面兩個例子)奠定了基礎,它們已被下載了近17000次。

圖3. 含有加密貨幣挖礦軟件的Docker鏡像(來源:Sysdig)
蓄意錯誤拼寫還確保輸錯了熱門項目名稱的用戶會下載惡意鏡像,因此雖然這并不帶來龐大的受害者數量,但仍確保了新的用戶不斷被感染。

圖4. 蓄意錯誤拼寫的鏡像捕獲隨機性的誤拼(來源:Sysdig)
日益嚴峻的問題
Sysdig表示,在2022年,從Docker Hub提取的所有鏡像中61%來自公共存儲庫,比2021年的數據增加了15%,因此用戶面臨的風險在上升。
遺憾的是,Docker Hub公共庫的規模不允許其操作人員每天仔細檢查所有上傳的內容,因此許多惡意鏡像并沒有被報告。
Sysdig還注意到,大多數威脅分子只上傳幾個惡意鏡像,所以即使刪除了有風險的鏡像、封殺了上傳者,也不會對這個平臺的整體威脅狀況有顯著影響。