不安全的Docker守護程序中攻擊者的策略與技術
在2019年9月至2019年12月之間,Palo Alto Networks (派拓網絡)威脅情報團隊Unit 42的研究人員定期掃描并收集了暴露于互聯(lián)網的Docker主機元數(shù)據(jù)(很大程度上是由于用戶無意造成的),這項研究揭示了攻擊者在受感染的Docker引擎中使用的一些策略與技術。在我們的研究中,總共發(fā)現(xiàn)了1,400個不安全的Docker主機、8,673個活躍容器、17,927個Docker鏡像和15,229個卷。下圖1顯示了Docker守護進程的位置分布,圖2則為使用的Docker版本和操作系統(tǒng)類型。我們的團隊通知Docker團隊該情況后,Docker團隊立即與Unit 42一起快速合作以刪除惡意鏡像。
圖1:暴露的不安全Docker主機位置
圖2.不安全的Docker主機版本(左)和操作系統(tǒng)(右)
在過去幾年中,容器技術獲得了極大的普及,并且正在成為包裝、交付和部署新型應用的主流方法。盡管該技術正在迅速發(fā)展并被采用,但與此同時也成為攻擊者的重要目標。
盡管大多數(shù)惡意活動都涉及挖礦劫持(大多數(shù)情況下是針對門羅幣的挖掘),但一些受感染的Docker引擎卻被用來發(fā)起其他攻擊或在主機上安裝黑客程序。還可以從公開的日志中找到敏感信息,例如應用憑證和基礎設施配置。我們經??吹降囊环N有趣的策略是,攻擊者將整個主機文件系統(tǒng)安裝到一個容器上,并從該容器訪問主機操作系統(tǒng)(OS)以對其進行讀取/寫入。
我們將觀察到的惡意活動劃分為以下四個類別:
使用惡意代碼部署容器鏡像。
惡意鏡像首先被推送到公共注冊表。然后拉取鏡像并部署在不安全的Docker主機上。
部署良性容器鏡像并在運行時下載惡意有效負載。
良性鏡像已部署在Docker主機上。然后在良性容器內下載并執(zhí)行惡意的有效負載。
在主機上部署惡意負載。
攻擊者會將整個主機文件系統(tǒng)安裝到一個容器上,然后從該容器訪問主機文件系統(tǒng)。
從Docker日志中獲取敏感信息。
攻擊者會抓取Docker日志以查找敏感信息,例如憑證和配置信息。
圖3 觀察到的四種惡意活動
結論
本研究針對攻擊者在破壞容器平臺時使用的策略和技術提供了第一手的一般性觀點。我們不僅研究了容器平臺中的惡意活動,還研究了檢測和阻止這些活動所需的對策。由于大多數(shù)漏洞是由不安全的Docker守護進程意外暴露于互聯(lián)網引起的,因此,一些有效緩解這些漏洞的防御策略包括:
· 在Docker守護進程socket上配置TLS時,始終強制進行雙向身份驗證
· 使用Unix socket在本地與Docker守護進程通信,或使用SSH連接到遠程Docker守護進程
· 僅允許白名單里的客戶端IP訪問Docker服務器
· 在Docker中啟用內容信任,以便僅拉取經過簽名和驗證的鏡像
· 掃描每個容器鏡像中的漏洞和惡意代碼。
· 部署運行時間保護工具以監(jiān)測正在運行的容器。
如果您是Palo Alto Networks(派拓網絡)客戶,將得到以下保護:
Prisma Cloud漏洞掃描程序可以檢測易受攻擊的或惡意的代碼,并在構建時將其阻止。
Prisma Cloud Compute在運行時間持續(xù)監(jiān)測容器和主機。
有關本次研究的細節(jié),敬請查看英文原版內容:https://unit42.paloaltonetworks.com/attackers-tactics-and-techniques-in-unsecured-docker-daemons-revealed/