圖1:暴露的不安全Docker主機(jī)位置
圖2.不安全的Docker主機(jī)版本(左)和操作系統(tǒng)(右)
在過(guò)去幾年中,容器技術(shù)獲得了極大的普及,并且正在成為包裝、交付和部署新型應(yīng)用的主流方法。盡管該技術(shù)正在迅速發(fā)展并被采用,但與此同時(shí)也成為攻擊者的重要目標(biāo)。
盡管大多數(shù)惡意活動(dòng)都涉及挖礦劫持(大多數(shù)情況下是針對(duì)門(mén)羅幣的挖掘),但一些受感染的Docker引擎卻被用來(lái)發(fā)起其他攻擊或在主機(jī)上安裝黑客程序。還可以從公開(kāi)的日志中找到敏感信息,例如應(yīng)用憑證和基礎(chǔ)設(shè)施配置。我們經(jīng)??吹降囊环N有趣的策略是,攻擊者將整個(gè)主機(jī)文件系統(tǒng)安裝到一個(gè)容器上,并從該容器訪(fǎng)問(wèn)主機(jī)操作系統(tǒng)(OS)以對(duì)其進(jìn)行讀取/寫(xiě)入。
我們將觀(guān)察到的惡意活動(dòng)劃分為以下四個(gè)類(lèi)別:
1. 使用惡意代碼部署容器鏡像。
惡意鏡像首先被推送到公共注冊(cè)表。然后拉取鏡像并部署在不安全的Docker主機(jī)上。
2. 部署良性容器鏡像并在運(yùn)行時(shí)下載惡意有效負(fù)載。
良性鏡像已部署在Docker主機(jī)上。然后在良性容器內(nèi)下載并執(zhí)行惡意的有效負(fù)載。
3. 在主機(jī)上部署惡意負(fù)載。
攻擊者會(huì)將整個(gè)主機(jī)文件系統(tǒng)安裝到一個(gè)容器上,然后從該容器訪(fǎng)問(wèn)主機(jī)文件系統(tǒng)。
4. 從Docker日志中獲取敏感信息。
攻擊者會(huì)抓取Docker日志以查找敏感信息,例如憑證和配置信息。
圖3 觀(guān)察到的四種惡意活動(dòng)
結(jié)論
本研究針對(duì)攻擊者在破壞容器平臺(tái)時(shí)使用的策略和技術(shù)提供了第一手的一般性觀(guān)點(diǎn)。我們不僅研究了容器平臺(tái)中的惡意活動(dòng),還研究了檢測(cè)和阻止這些活動(dòng)所需的對(duì)策。由于大多數(shù)漏洞是由不安全的Docker守護(hù)進(jìn)程意外暴露于互聯(lián)網(wǎng)引起的,因此,一些有效緩解這些漏洞的防御策略包括:
· 在Docker守護(hù)進(jìn)程socket上配置TLS時(shí),始終強(qiáng)制進(jìn)行雙向身份驗(yàn)證
·?使用Unix socket在本地與Docker守護(hù)進(jìn)程通信,或使用SSH連接到遠(yuǎn)程Docker守護(hù)進(jìn)程
· 僅允許白名單里的客戶(hù)端IP訪(fǎng)問(wèn)Docker服務(wù)器
·?在Docker中啟用內(nèi)容信任,以便僅拉取經(jīng)過(guò)簽名和驗(yàn)證的鏡像
· 掃描每個(gè)容器鏡像中的漏洞和惡意代碼。
· 部署運(yùn)行時(shí)間保護(hù)工具以監(jiān)測(cè)正在運(yùn)行的容器。
如果您是Palo Alto Networks(派拓網(wǎng)絡(luò))客戶(hù),將得到以下保護(hù):
· Prisma Cloud漏洞掃描程序可以檢測(cè)易受攻擊的或惡意的代碼,并在構(gòu)建時(shí)將其阻止。
·?Prisma Cloud Compute在運(yùn)行時(shí)間持續(xù)監(jiān)測(cè)容器和主機(jī)。
本文作者:Palo Alto Networks(派拓網(wǎng)絡(luò))威脅情報(bào)團(tuán)隊(duì)Unit 42