RSA 2019觀察 :威脅建模模型ATT&CK

綠盟科技發表於2019-03-08

1. 前言

本屆RSA中AI/ML是一個熱點,當前的人工智慧其實可以簡單劃分為感知智慧(主要集中在對於圖片、影片以及語音的能力的探究)和認知智慧(涉及知識推理、因果分析等),當前演算法絕大部分是感知演算法,如何教會AI系統進行認知智慧是一個難題,需要建立一個知識庫,比如在做APT追蹤就希望透過認知智慧推理其意圖,自動化跟蹤樣本變種等,比較有效的方法是採用威脅建模知識庫方式,其中MITRE是一個很典型的公司,最早其主要做國防部的威脅建模,主要是情報分析,從事反恐情報的領域(起源是911後美國情報提升法案),後續延申到網路空間安全領域,其最大的特色就是分類建模,STIX情報架構就是MITRE構建,SITX1.0版本又很濃的反恐情報分析影子。到了STIX2.0階段,其發現僅僅用TTP很難描述網路空間網路攻擊和惡意程式碼,因此,在STIX2.0中,引入攻擊和惡意程式碼2個相對獨立的表述,攻擊採用capec,惡意程式碼採用meac,但是capec和meac過於晦澀,其又在2015年釋出了ATT&CK模型及建模字典,用來改進攻擊描述。新模型更明確,更易於表達,合併了capec和meac,便於表達和分享,便於安全自動化,而且便於引入知識圖譜等新的AI技術。在其官網上就描述了79個APT攻擊組織(188個別名)的相關TTP例子。綠盟科技也展開類似的研究,構建了更大的知識圖譜,用以進行APT組織的自動化追蹤。

在2019年的RSA大會上,來自Freddy Dezeure公司的CEO Freddy Dezeure和MITRE組織的網路威脅情報首席戰略官Rich Struse在《ATT&CK in Practice A Primer to Improve Your Cyber Defense》中介紹瞭如何利用ATT&CK模型開始建立和提升自己的防禦體系;來自Carbon Black公司的高階威脅研究員Jared Myers在《How to Evolve Threat Hunting by Using the MITRE ATT&CK Framework》中介紹瞭如何用ATT&CK模型進行威脅捕獲。

2. 越來越技術能力強大和敏捷的對手

Freddy以造成巨大影響的勒索軟體Petya作為引子開始介紹。Petya是一款威力不亞於“WannaCry”的勒索軟體,從6月份開始爆發,多個國家受此影響。作為一款勒索軟體,它具備很明顯的破壞意圖,然而它最開始只是透過某個記賬軟體進行影響和傳播,後來利用了洩露的NSA武器庫(永恆之藍漏洞)來進行蠕蟲傳播。Freddy根據這種情況進行推論,未來的攻擊者將會更加靈活和更具變化性:

  • 攻擊者的基礎設施會更具適應能力,能夠針對更多不同的目標環境
  • 攻擊者入侵後會混雜於合法的使用者行為中,比如使用合法的基礎設施元件、濫用合法使用者憑證或者重複執行合法使用者行為
  • 攻擊者也會快速提升自己的能力,利用新漏洞和新洩露的工具

為了應對這種情況,Freddy認為可以建立威脅模型來對問題進行分析。從基於風險的模型開始著手,威脅會利用漏洞進行入侵,入侵後會造成勒索、資料竊取等不良影響。把研究問題的層次進一步提升,模型的威脅上升到其執行主體--攻擊者,攻擊者會利用漏洞執行一些操作對系統進行入侵,入侵之後的關鍵的目標在於對有價值的資產進行惡意操作。

RSA 2019觀察 :威脅建模模型ATT&CK

根據這個威脅模型,需要從三個步驟開展防禦:

1 明確自己的關鍵資產,會有哪些攻擊者以及為什麼對這些資產感興趣

2 利用威脅情報最大限度地對攻擊者的基礎設施進行觀察,比如IOC(Indicators of Compromise)、COA(Course Of Action)

3 觀察攻擊者的TTP(技術、戰術和過程),並將其應用於檢測、防禦和響應過程

Freddy對其中第三個步驟進行重點強調,因為這個是整個實踐中最關鍵的步驟,需要引入Mitre ATT&CK模型來對攻擊者的TTP進行檢測、防禦和響應。

3. ATT&CK模型

ATT&CK( Adversarial Tactics, Techniques, and Common Knowledge)是一個反映各個攻擊生命週期的攻擊行為的模型和知識庫。起源於一個專案,用於列舉和分類針對Microsoft Windows™系統的攻陷後的戰術,技術和過程(TTP),以改進對惡意活動的檢測。目前ATT&CK模型分為三部分,分別是PRE-ATT&CK,ATT&CK for Enterprise和ATT&CK for Mobile,其中PRE-ATT&CK覆蓋攻擊鏈模型的前兩個階段,ATT&CK for Enterprise覆蓋攻擊鏈的後五個階段。

RSA 2019觀察 :威脅建模模型ATT&CK

RSA 2019觀察 :威脅建模模型ATT&CK

PRE-ATT&CK包括的戰術有優先順序定義、選擇目標、資訊收集、發現脆弱點、攻擊性利用開發平臺、建立和維護基礎設施、人員的開發、建立能力、測試能力、分段能力。

ATT&CK for Enterprise包括的戰術有訪問初始化、執行、常駐、提權、防禦規避、訪問憑證、發現、橫向移動、收集、資料獲取、命令和控制。

RSA 2019觀察 :威脅建模模型ATT&CK

其中一個技術會被用於實現多個戰術,過程則是該技術在實際攻擊中的具體實現。比如“計劃任務”(T1053)這個技術會被用於執行、常駐和提權這三個戰術中。過程則以APT組織的歷史攻擊行為作為例子,比如APT3 使用schtasks /create /tn "mysc" /tr C:\Users\Public\test.exe /sc ONLOGON /ru "System" 命令來建立計劃任務。一個具體的技術還會包含其它資訊,比如針對的平臺(Windows、Linux、Mac OS)、執行所需許可權、檢測手段和緩解手段等資訊。

RSA 2019觀察 :威脅建模模型ATT&CK

MITRE ATT&CK對這些技術進行列舉和分類之後,能夠用於後續對攻擊者行為的“理解”,比如對攻擊者所關注的關鍵資產進行標識,對攻擊者會使用的技術進行追蹤和利用威脅情報對攻擊者進行持續觀察。MITRE ATT&CK也對APT組織進行了整理,對他們使用的TTP(技術、戰術和過程)進行描述。

RSA 2019觀察 :威脅建模模型ATT&CK

Freddy認為與其它模型相比,ATT&CK的關鍵價值在於其提供了一個通用的分類、可以根據需求對特定技術進行實現和覆蓋,不需要實現模型所列舉的整個技術矩陣,優先關注實際的預防、檢測和響應。除此之外,ATT&CK使用通用語言對TTP進行描述,也提供基礎的知識能夠用於對TTP的觀測,並且會持續對模型進行更新,不依賴於某個廠商,被廣泛開源社群採用。

4 實踐

4.1 提升防禦能力

如何將ATT&CK應用於實際的防禦體系中,Freddy認為首先需要理解作為防守方的可控部分。攻擊者一般會利用漏洞對系統進行入侵,如果對關鍵資產進行操作,那會有部分動作涉及關鍵控制。那麼對關鍵控制的行為進行調整和驗證,就能夠對攻擊者的惡意行為進行捕獲。

RSA 2019觀察 :威脅建模模型ATT&CK

想要對關鍵控制的行為進行驗證,需要先對自己的檢測能力進行檢查:

  • 從收集的日誌中識別攻擊行為
  • 設計分析體系,從攻擊者的相關知識開始分析、或參考開源社群
  • 部署分析程式,用於檢測、捕獲和能力改善

接著從已知的攻擊組織所覆蓋技術上分析,研究哪些技術會對關鍵資產造成嚴重影響。

RSA 2019觀察 :威脅建模模型ATT&CK

再檢查自身的檢測能力能否對關鍵技術進行覆蓋,比如使用代理、終端防毒軟體、系統監視器的日誌所能覆蓋的技術範圍是否滿足自己的需求。

RSA 2019觀察 :威脅建模模型ATT&CK

最終建立針對自身所需的分析程式:

1. 對自己關注的“技術”進行研究,閱讀相關文件。參考現有的分析或者是開源社群的原始碼,將可能合法的行為與惡意行為進行區分。

2. 使用關注的技術進行模擬攻擊演練,檢查對應日誌的記錄情況

3. 自己寫查詢語句對日誌進行事件搜尋,不斷進行測試和迭代,使用相關技術發起多種模擬攻擊,減少誤報

RSA 2019觀察 :威脅建模模型ATT&CK

在日誌事件搜尋方面,Freddy對開源專案SIGMA進行介紹。目前,IOC和YARA規則在檢測惡意網路連線和惡意檔案起到重要作用,然而缺乏一種通用的能夠從日誌事件中描述特定事件的檢測方法。人們收集日誌資料進行分析都需要先從閱讀大量的資料開始,之後再構建自己對日誌資料的搜尋方法和規則。由於沒有一個標準化格式,因此人們也無法與他人分享自己的工作。

Sigma是一種通用開放的簽名格式,允許以直接的方式描述相關的日誌事件。其規則格式靈活,易於編寫並適用於任何型別的日誌檔案。 該專案的主要目的是提供一種結構化的形式,研究人員或分析人員可以在其中描述他們曾經開發的檢測方法,並使其與他人共享。使用sigma來進行規則編寫和搜尋,也能夠避免過度依賴於特定廠商。目前在Sigma的專案中已經提供了針對APT、應用、Linux、Windows、網路、代理、Web等相關方面的日誌規則。

在模擬攻擊演練方面,Freddy介紹了四款基於ATT&CK模型的攻擊測試工具:

  • MITRE Caldera:一個自動攻擊模擬系統,能夠在Windows企業網路中執行攻陷後的惡意行為。
  • Endgame RTA:一個針對Windows的Python指令碼框架,用於藍隊測試他們對基於ATT&CK模型的惡意技術的檢測能力。Endgame RTA可生成超過50種不同的ATT&CK 戰術,包括一個二進位制應用程式,可執行所需的活動。
  • Red Canary Atomic Red Team:一個開源的小型,高度可移植的測試集合,對映到MITRE ATT和CK框架中的相應技術。 這些測試可用於驗證檢測和響應技術和過程。
  • Uber Metta: 一個用於基礎對抗模擬的工具,將多步的攻擊者行為解析為yaml檔案,並使用Celery將操作進行排隊,自動化執行。

其中MITRE Caldera執行的動作由計劃系統結合預配置的ATT&CK模型生成。這樣的好處在於能夠更好更靈活地對攻擊者的操作進行模擬,而不是遵循規定的工作序列。自動模擬攻擊者進行攻擊演練,安全地重現發生過的攻擊行為,不會對資產造成損害,並且能夠重複執行以對防禦能力和檢測能力進行測試和驗證。

RSA 2019觀察 :威脅建模模型ATT&CK

透過不斷地攻擊演練測試,就能提升分析程式的檢測能力,不斷擴大技術覆蓋範圍,不斷縮小與攻擊者的差距。

RSA 2019觀察 :威脅建模模型ATT&CK 

4.2 威脅捕獲

ATT&CK模型還能夠應用用於威脅捕獲。來自Carbon Black公司的高階威脅研究員Jared Myers在《How to Evolve Threat Hunting by Using the MITRE ATT&CK Framework》中介紹瞭如何運用ATT&CK模型進行威脅捕獲。

Jared介紹說很多企業意識到,自己的資產是否會被攻破已經不再是一個問題了,更多需要關注的是什麼時候被攻破。因此,許多企業需要的工具不僅能夠檢測和響應威脅,還能夠對威脅進行搜尋和捕獲,以快速識別內部的潛在危害。

在防禦的基礎之上,威脅捕獲對整套分析體系提出了更高的要求:

  • 能夠利用工具對之前覆蓋的技術檢測出高質量的告警
  • 分析思路集中於不容易檢測到的地方
  • 對分析的範圍進行擴寬,比如通樣的方法可能會用於不同的目的,又或者會採用其它的戰術或技術來完成特定目的

在威脅捕獲的實際實踐中,同樣需要不斷測試和迭代來提升對未知威脅的檢測能力

RSA 2019觀察 :威脅建模模型ATT&CK

Jared以T1191 CMSTP作為例子進行展開,在開始研究之前可以先從MITRE WIKI 獲取CMSTP的技術詳情。

RSA 2019觀察 :威脅建模模型ATT&CK

Jared分享了對CMSTP技術進行威脅捕獲的研究思路,提示攻擊者可能會採用少為人知的技術來進行資訊傳輸,因此可以先檢查是否存在關鍵的惡意行為指標,比如

  • 是否建立網路連線
  • 是否在臨時目錄建立子程式,進行命令互動等
  • 是否從dllhost cmstp COM物件中建立的子程式

再從“是什麼”和“怎麼做”的思路來進行研究,比如:

1. 二進位制是否簽名

2. 該二進位制是否適用於所有版本的windows系統

3. 該二進位制檔案能否執行遠端命令

4. 該二進位制在程式執行時是否會自動提權

也可以從該二進位制的執行頻率進行分析

RSA 2019觀察 :威脅建模模型ATT&CK

還可以從父程式呼叫CMSTP的頻率進行分析

RSA 2019觀察 :威脅建模模型ATT&CK

同樣也可以使用atomic red team攻擊演練工具進行在內部進行單元測試

RSA 2019觀察 :威脅建模模型ATT&CK

6. 綠盟科技建模研究實踐

從建模的層次來看,ATT&CK模型的建模主要集中於行為層面,而傳統防護裝置的告警則屬於指示器層。指示器層能夠檢測已知的惡意資料,由人為特徵進行驅動,誤報少,粒度小所以對應告警數量龐大。行為層的分析針對可疑的事件進行檢測,由行為進行驅動,誤報相對較多,粒度大所以事件數量少,生命週期更長。ATT&CK在行為層進行建模,一方面能夠充分利用威脅情報的TTP進行知識共享,另一方面能夠在更宏觀的程度對攻擊者進行畫像,能夠從具體的技術手段和指示器規則中解脫出來。

RSA 2019觀察 :威脅建模模型ATT&CK RSA 2019觀察 :威脅建模模型ATT&CK

綠盟科技在威脅建模方面也是集中於行為層的抽象建模。針對防護裝置產生的大量告警,綠盟科技使用理解引擎將海量告警理解為相應的攻擊行為,對應為風險模型的威脅主體利用目標漏洞進行攻擊。使用推理引擎推理攻擊造成的危害,對應為風險模型的漏洞造成影響,並結合攻擊鏈模型進行攻陷研判。

RSA 2019觀察 :威脅建模模型ATT&CK

RSA 2019觀察 :威脅建模模型ATT&CK

鑑於實際網路環境的複雜性,只對攻擊行為進行建模來分析問題是遠遠不夠的。因此綠盟科技結合知識圖譜,設計了多個本體對整個網路威脅進行建模分析,併相容MITRE組織的CAPEC、MAEC和ATT&CK等模型的接入和使用,能夠從多方威脅情報中提取關鍵資訊並作為知識對知識圖譜進行擴充套件。

在能力提升方面,綠盟科技也使用還原真實攻擊場景和模擬實際攻防演練的方式進行產品的測試,同時組織多次內部紅藍對抗對自身防禦能力進行檢驗。

7. 小結

Freddy和Rich在《ATT&CK in Practice A Primer to Improve Your Cyber Defense》的分享側重於對ATT&CK模型的實際應用落地,從威脅建模開始分析問題,先明確要抵禦的攻擊者和需要保護的關鍵資產,再介紹利用ATT&CK模型建立自己的分析防禦體系的具體步驟,以及後續對自身的防禦能力進行提升的方法,也介紹了不少有用的工具和資源。Jared在《How to Evolve Threat Hunting by Using the MITRE ATT&CK Framework》的分享則側重於利用ATT&CK模型進行威脅捕獲,介紹如何在建立防禦體系之後對未知威脅進行挖掘,也分享了不少具體的研究思路。經過研究和比較,綠盟科技在建模思路上與ATT&CK模型基本處於同一層面,能力提升的思路也是一致,由於支撐業務的不同導致實現的功能有所區別,但其研究思路上還是具有很高的參考價值。

8. 相關資料

ATT&CK:https://attack.mitre.org/

SIGMA:https://github.com/Neo23x0/sigma

Mitre Caldera:https://github.com/mitre/caldera

Endgame Red Team Automation:https://github.com/endgameinc/RTA

Redcanary Atomic Red Team:https://www.redcanary.com/atomic-red-team/

Uber Metta:https://github.com/uber-common/metta

Advanced-Threat-Hunting-with-Carbon-Black:http://the.report/assets/Advanced-Threat-Hunting-with-Carbon-Black.pdf

相關文章