一篇讀懂 ATT & CK 和 CALDERA
概 述
在網(wǎng)絡(luò)安全領(lǐng)域,攻擊者可以相對自由和相對無限的運用資源對組織機構(gòu)隨意發(fā)起攻擊;而防守方則處于被動挨打的地位,用有限的資源去對抗無限的安全威脅?;谶@種攻防不對稱的情況,防守方始終會被以下問題所困擾:①防御方案是否有效;②能否檢測到APT攻擊;③新的安全產(chǎn)品、安全策略能否有效;④安全工具覆蓋范圍是否有重疊;⑤如何確定安全防御優(yōu)先級。
一直以來,沒有人能夠很好地回上述的問題,直到MITRE ATT&CK的出現(xiàn)。ATT&CK提供了一種許多組織機構(gòu)迫切需要的關(guān)鍵功能——用一種標(biāo)準(zhǔn)化的方法來開發(fā)、組織和使用威脅情報防御策略,實現(xiàn)企業(yè)合作伙伴、行業(yè)人員、安全廠商以相同的語言進行溝通和交流。
之后,MITRE公司在ATT&CK框架的基礎(chǔ)上開發(fā)了開源工具CALDERA。CALDERA是一個網(wǎng)絡(luò)安全平臺,旨在輕松實現(xiàn)對手仿真自動化、協(xié)助手動紅隊以及事件響應(yīng)自動化[1]。
因此,本文將對ATT&CK和CALDERA進行一個簡介,并對CLADERA的一些基本功能做一個演示。
ATT&CK
ATT&CK概述
ATT&CK(Adversarial Tactics, Technologys, and Common Knowledge),是由MITRE公司2013年提出的“對抗戰(zhàn)術(shù)、技術(shù)和常識”知識庫框架。它基于真實世界的攻防數(shù)據(jù)來描述和分類對抗行為。這個知識庫是由社區(qū)驅(qū)動的,并且是公開免費、全球可訪問的知識庫[2]。
該知識庫建立的目的是為紅隊、藍隊、廠商、企業(yè)等不同組織構(gòu)建一套通用語言,提供更細粒度、更易共享的戰(zhàn)術(shù)、技術(shù)、流程、文檔等資源。
對于攻方,ATT&CK能起到對抗模擬、紅隊滲透測試作用,使紅隊更好實施作戰(zhàn)計劃;對于守方則能進行防御差距評估、行為分析研究、威脅情報分析、SOC成熟度評估等行為,更好展開威脅分析和安全防御;研發(fā)人員也能借此設(shè)計開發(fā)出更實戰(zhàn)有效的安全產(chǎn)品,領(lǐng)導(dǎo)更全局掌控攻防態(tài)勢。
該框架包含三個技術(shù)域[3],即①企業(yè)級的Enterprise ATT&CK,包含PRE、Windows、macOS、Linux、云、網(wǎng)絡(luò)、容器等平臺;②移動端的Mobile ATT&CK,包括安卓和iOS等平臺;③工控系統(tǒng)的ICS ATT&CK。具體信息如表1所示。
表1. ATT&CK技術(shù)域
ATT&CK矩陣
對于每一個技術(shù)域,ATT&CK有對應(yīng)不同的矩陣。矩陣包括戰(zhàn)術(shù)、技術(shù)、程序,通過ATT&CK Matrix矩陣展示。橫軸代表戰(zhàn)術(shù),核心研究攻擊者的技術(shù)目標(biāo),提供一個大的行動綱領(lǐng);縱軸代表技術(shù),指具體的戰(zhàn)術(shù)執(zhí)行(How、What),中間包括程序。戰(zhàn)術(shù)、技術(shù)、子技術(shù)的具體含義如下:
- 戰(zhàn)術(shù)(Tactics):表示攻擊過程中的短期戰(zhàn)術(shù)目標(biāo);
- 技術(shù)(Techniques):描述對手實現(xiàn)戰(zhàn)術(shù)目標(biāo)的手段;
- 子技巧(Sub-Techniques):描述對手在比技術(shù)更低的級別上實現(xiàn)戰(zhàn)術(shù)目標(biāo)的技術(shù)手段。
以Enterprise ATT&CK為例,ATT&CK矩陣如圖1所示。
ATT&CK戰(zhàn)術(shù)及緩解措施
ATT&CK戰(zhàn)術(shù)共14個,包括偵察、資源開發(fā)、初始訪問、執(zhí)行、持久化、權(quán)限提升、防御繞過、憑證獲取、發(fā)現(xiàn)橫向移動、搜集、命令控制、數(shù)據(jù)滲出、影響[4]。戰(zhàn)術(shù)僅為作戰(zhàn)行動提供目標(biāo)綱領(lǐng),具體行動由戰(zhàn)術(shù)中的技術(shù)與子技術(shù)實現(xiàn)。
圖1. ATT&CK矩陣
ATT&CK當(dāng)前緩解措施共42項,包括防病毒、審計、代碼簽名、漏洞掃描、應(yīng)用程序隔離和沙箱、漏洞利用防護、網(wǎng)絡(luò)入侵防護、威脅情報計劃、軟件更新、OS配置、加密敏感信息、多因素認證等[5]。
每一項技術(shù)和子技術(shù)都會有相對應(yīng)的緩解措施,幫助防御者提高安全防護能力。
圖2. 戰(zhàn)術(shù)、技術(shù)、緩解措施示意圖
攻擊組織使用某些技術(shù)和軟件完成某(幾)種戰(zhàn)術(shù),緩解措施則用于抵御技術(shù)攻擊。
如圖2所示,紅隊從矩陣中選取部分戰(zhàn)術(shù)并使用相關(guān)技術(shù)和程序進行對抗模擬和滲透測試。藍隊利用矩陣中的技戰(zhàn)術(shù)進行行為分析;評估防御差距;利用提供的緩解措施抵御紅隊攻擊。
CALDERA
CALDERA概述
CALDERA的全稱是:Cyber Adversary Language and Decision Engine for Red Team Automation,即“用于紅隊自動化的網(wǎng)絡(luò)對手語言和決策引擎”。它基于MITRE ATT&CK建立,是一種能夠輕松運行自主的違規(guī)和模擬練習(xí)的網(wǎng)絡(luò)安全框架。功能包括自動化紅隊行動、手工紅隊行動、自動化應(yīng)急響應(yīng)等。
該框架包含兩個組件,如圖3所示:
- 核心系統(tǒng):這是框架代碼,由該存儲庫中可用的內(nèi)容組成。其中包括帶有REST API和Web界面的異步命令和控制(C2)服務(wù)器。
- 插件:這些是獨立于核心框架的存儲庫,提供了其他功能。示例包括代理,GUI界面,TTP集合等。
圖3. CALDERA整體架構(gòu)
此外,還有幾個名詞需要明確:①Ability:一段具體的功能程序(TTPs);②Adversary(Profile):一系列Ability的結(jié)合;③Operation:針對特定組(group)特定Adversary的實現(xiàn);④Agent:代理。具體關(guān)系如圖4所示。
圖4. Ability、adversary、operation、agent的關(guān)系
CALDERA服務(wù)器上包含Ability、adversary、operation和各種有用的插件,而通過將代理(Agent)部署到不同平臺的機器上,可以對目標(biāo)機器完成攻擊模擬的實現(xiàn)和緩解措施的測試。
CALDERA Server部署
CALDERA Server開源于GitHub,可使用git clone直接部署于任何Linux發(fā)行版或者macOS系統(tǒng)上。除此之外,要求雙核及以上CPU和大于8GB內(nèi)存,并安裝Python3.7+、pip3和Golang1.17+。
環(huán)境準(zhǔn)備完成后終端輸入如下命令即可啟動CALDERA Server:
- git clone https://github.com/mitre/caldera.git --recursive
- cd caldera
- pip3 install -r requirements.txt
- python3 server.py –insecure
打開瀏覽器輸入http://$(ServerIP): 8888即可訪問CALDERA Server。$(ServerIP)替換為安裝CALDERA Server機器的IP。紅隊藍隊賬戶名分別為red、blue,密碼均為admin
CALDERA代理部署
CALDERA代理部署,共有sandcat、ragdoll、Manx三種代理可選。本文以sandcat為例,其余兩種參考sandcat執(zhí)行。
1.Linux和macOS
Linux各發(fā)行版和macOS操作步驟基本一致,以Ubuntu系統(tǒng)為例。首先需要在OS上安裝curl:
sudo apt install curl
此后登錄caldera server,選擇側(cè)邊欄的Agent,選擇代理和平臺類型。將app.contact.http改為server IP,復(fù)制下端代碼至目標(biāo)機器終端執(zhí)行,即可在目標(biāo)機器建立代理。如圖5所示。
2.Windows
關(guān)閉Windows Defender實時防護,其他參考Linux agent部署。
若Win11的Windows Defender無法打開,PowerShell管理員運行如下命令:
圖5. 代理部署
CALDERA Operations
Operations選項能自定義攻擊劇本并對劇本進行執(zhí)行。操作步驟見圖6如下:① 選擇operation標(biāo)簽;② 點擊“Create Operation”創(chuàng)建operation;③ 選擇相關(guān)選項,開始o(jì)peration。
圖6. Operations操作步驟
CALDERA插件
CLADERA的插件為CALDERA提供了豐富的功能。本文以兩個常用插件Access和Compass為例。
1.Access
Access提供了CALDERA的Ability中所有功能的單項實現(xiàn)。通過使用Access可以從數(shù)據(jù)庫中為任何具有任意Ability的代理分配任務(wù)。這對于執(zhí)行初始訪問攻擊特別有用。要做到這一點,需要在目標(biāo)機器部署一個代理,并使用pre-ATT&CK或初始化Access策略來分配任務(wù),指向任何目標(biāo)。用戶還可以遠程部署代理并將其用作代理來執(zhí)行初始Access攻擊。具體操作見圖7所示。
圖7. Access使用步驟
2.Compass
Compass是一個基于網(wǎng)絡(luò)的工具,用于注釋和探索ATT&CK矩陣。它可以用于可視化防守覆蓋范圍、紅/藍團隊規(guī)劃、檢測技術(shù)的頻率等。它可以為任何Adversary生成一個layer文件,用戶可以將其覆蓋在Compass提供的矩陣上,或在矩陣中創(chuàng)建一個Adversary,然后上載layer文件以生成用于操作的Adversary。具體界面如圖8所示。
圖8. Compass操作界面
結(jié) 語
ATT&CK通過用一種標(biāo)準(zhǔn)化的方法來開發(fā)、組織和使用威脅情報防御策略,實現(xiàn)了企業(yè)合作伙伴、行業(yè)人員、安全廠商以相同的語言進行溝通和交流,提供了更細粒度、更易共享的戰(zhàn)術(shù)、技術(shù)、流程、文檔等資源。而開源軟件CLADERA基于MITRE ATT&CK的資源,建立了一個對紅藍雙方都簡單易用的攻防模擬平臺,能夠輕松運行自主的違規(guī)和模擬練習(xí)。
本文對于ATT&CK和CLADERA的基本功能和架構(gòu)進行了一些簡單介紹,并演示了如何使用CALDERA的一些功能。但是受限于文章篇幅和學(xué)識有限,只能對二者進行簡單介紹,更多深入的功能和認知還需要再實踐中探索學(xué)習(xí)。也歡迎各位讀者共同探討交流。
參考文獻
1.CALDERA. GitHub - mitre/caldera: Automated Adversary Emulation Platform
2.MITRE ATT&CK. https://attack.mitre.org/
3.ATT&CK MATRICES. Matrix - Enterprise | MITRE ATT&CK?
4.ATT&CK TACTICS. Tactics - Enterprise | MITRE ATT&CK?
5.ATT&CK MITIGATIONS. Mitigations - Enterprise | MITRE ATT&CK?