趨勢科技最近發現有設定不當導致API端口暴露的Docker遭到惡意利用的案例。有惡意活動會掃描開放端口2375/TCP和2376/TCP,這些是Docker引擎服務(dockerd)所使用的端口。攻擊者接著將虛擬貨幣挖礦病毒(趨勢科技偵測為Coinminer.SH.MALXMR.ATNE)散布到這些設定不當的系統。
Docker會在作業系統層級實現虛擬化 – 也稱為容器化(containerization)。Docker API能夠讓遠端使用者像本地端用戶那樣地控制Docker映像。建議不要開放能夠讓外部存取的API端口,因為這會讓駭客有機會利用此不當設定進行惡意活動。
Docker引擎本身並沒有遭到攻擊,Docker企業版本也沒有受到影響。我們是在Docker社群版本看到這些少見的惡意行為。事實上,Docker技術提供讓使用者可以啟用及設定的安全功能來保護容器和工作負載。Docker也提供了防護Docker社群和企業版本的工具、文件和指南。當然,兩者的安全最佳實作都會要求不要開放這些端口。比方說建議運行商業應用程式的企業使用商業用的Docker企業版,能夠提供精確、基於角色的存取控制設定,必須經過身份認證才能使用API。
在我們的研究中,Docker API端口暴露是使用者設定不當的結果,因為我們發現這不當設定是在管理員層級手動設定的。實際上,因為設定不當而讓自身暴露於威脅中並非新鮮事,而這對企業來說也可能是得長期面對的挑戰。事實上,我們透過Shodan搜尋發現有許多人的Docker主機設定不當,特別是在中國。而同時還有美國、法國、德國、新加坡、荷蘭、英國、日本、印度和愛爾蘭也出現設定不當的Docker主機。大多數暴露的系統都是運行Linux作業系統。有意思的是Linux上的服務需要手動設定,而在Windows上直到17.0.5-win8都不是如此,出於安全理由而禁止服務暴露。雖然不當設定廣泛地在各版本都有發生,但根據Shodan的搜尋結果顯示超過一半有此問題的主機運行的是18.06.1-ce版本,這是相對較新的Docker版本。
圖1:在端口2375和2376觀察到的惡意活動或因不當設定遭濫用的時間軸(上)和國家/地區分佈(下)
圖2:攻擊不當設定Docker引擎的感染鏈









