行業(yè)動態(tài)

ATT&CK 在大數(shù)據(jù)安全分析中的應用思考

來源:聚銘網(wǎng)絡    發(fā)布時間:2019-11-18    瀏覽次數(shù):
 

信息來源:安全牛

前言

若將今年網(wǎng)絡安全圈內(nèi)的熱詞進行盤點排榜, “ATT&CK” 一定榜上有名。從 2019RSA 大會上分析師分享會的重點關注,到今年 Gartner SIEM 魔力象限考核中將其列為重要參考指標,ATT&CK 無疑迎來了全新的發(fā)展機遇。ATT&CK 框架內(nèi)構建的知識庫為安全行業(yè)提供了一個標準,對已知的戰(zhàn)技術進行收集,促進安全產(chǎn)品的優(yōu)化改進。本文將從 TTPs 的作用、分析溯源等方面提出關于 ATT&CK 框架在 SIEM 產(chǎn)品中應用的理解和思考,歡迎大家探討。

一、ATT&CK框架的了解

“ATT&CK” 的全稱為 “Adversary Tactics and Techniques & Common Knowledge”,它設計初衷是構建一個攻擊者戰(zhàn)術和技術的共享知識庫。記得在 2017 年首次關注 ATT&CK 矩陣,那時只有近百個技術,沒人會想到今天 ATT&CK 會成為大部分安全從業(yè)者都在關注的一個詞。MITRE 成功了,ATT&CK 也成功了,現(xiàn)在它逐漸成為一個業(yè)界公認的紅藍知識庫,越來越多的從業(yè)者和廠商向框架內(nèi)貢獻技術點,使得這個框架的發(fā)展與應用更加快速。

提到 ATT&CK 框架就不得不提 TTPs (Tactics,Techniques,Procedures),這是一個軍事術語,現(xiàn)在被引用到網(wǎng)絡安全領域。

(1)戰(zhàn)術 (Tactics):發(fā)起一個攻擊的意圖

(2)技術 (Techniques):實施一個攻擊的技術

(3)過程 (Procedures):實施一個技術的流程

那么 ATT&CK 究竟能給安全行業(yè)帶來什么?

1.ATT&CK 框架可以成為業(yè)界的標準(能力可度量)

目前 ATT&CK 框架主要包含終端相關安全知識,可以根據(jù)檢測能力的矩陣覆蓋率來評估部分安全產(chǎn)品的能力,例如:沙箱、EDR、SIEM 等。

如果順利發(fā)展的話后期也可能加入Web安全相關安全知識,那時 WAF、RASP、代碼審計等 Web 相關安全產(chǎn)品也可以憑借框架進行評估。

終端在檢測漏洞利用方面的能力較弱,若等漏洞利用子技術豐富后,流量設備是否可以借此來評估檢測能力?雖然現(xiàn)在有一個現(xiàn)成的 CVE 庫,但和知識庫還有一些距離。當然這些只是個人的猜測,畢竟漏洞有點多,這是一個浩大的工程。

能力的度量需要客觀、統(tǒng)一的標準,而不是自說自話。當然這里的覆蓋率只是指標之一,覆蓋規(guī)則的質量也是非常重要的,但其實往往質量比數(shù)量更難評估。

2.ATT&CK框架可以成為業(yè)界的通用語言(威脅數(shù)據(jù)標簽化)

經(jīng)過多年的安全分析工作,每天被不同廠家的不同版本的不同設備所折磨。今天這個設備的告警叫 “smb漏洞利用”,明天相同的告警叫 “MS17-010”,這只是一個簡單的例子,就仿佛分析師必須會兩種語言甚至更多才能勝任其工作。語言多樣性同時造成語言障礙,影響協(xié)作能力。都說攻防不對稱,但當面對強大的對手,防守方可能從未站在同一陣線 。如果不管是 “smb漏洞利用” 還是 “MS17-010”,以后大家都稱其為 T1210-Exploitation of Remote Services,SubTxxxx-MS17010,每個人的一小步,卻是行業(yè)的一大步。

ATT&CK 模型是在洛克希德-馬丁殺傷鏈的基礎上,構建了一套更細化、更貼合實戰(zhàn)的知識模型和框架,它主要分為 3 個矩陣:

(1) PRE-ATT&CK:攻擊前的準備,例如戰(zhàn)略計劃制定、武器化、信息收集、脆弱點發(fā)現(xiàn)等;

(2) Enterprise:攻擊時的部分已知技術手段,例如初始權限獲取、執(zhí)行、防御逃避、橫向移動等;

(3) Mobile:移動端的部分已知技術手段,移動框架和 Enterprise 類似,只是適用的平臺不同;

目前 SIEM 并沒有涉及到太多的移動端安全問題,所以移動端就不放在本次的討論范圍之內(nèi)。

PRE-ATT&CK 目前對于防御者來說可見性比較低,目前大多數(shù)采用預防性防御方法,比如進行安全意識培訓抵御社會工程學攻擊,定期漏洞掃描來規(guī)避易被發(fā)現(xiàn)的脆弱點,定期的監(jiān)控開源代碼倉庫有無泄露項目源代碼、VPN 賬號、員工郵箱、敏感密碼等。

Enterprise 既是當用戶已經(jīng)在內(nèi)部有了駐足點后的行為矩陣,在這個矩陣中,企業(yè)數(shù)據(jù)探針較完善的情況下可見度是比較高的,可以更好的利用此矩陣內(nèi)的數(shù)據(jù)源進行威脅的捕獲與分析,因此Enterprise也是目前備受關注的矩陣,也是我們本篇重點討論的矩陣。

 

二、SIEM產(chǎn)品與ATT&CK框架的結合應用

TTP 的標簽

1. 數(shù)據(jù)源的選擇

在利用 ATT&CK 的 TTPs 來描述在環(huán)境中發(fā)現(xiàn)的威脅之前,需要接入相關數(shù)據(jù)作為底層的支持。在這次 ATT&CKcon 會議上看到的一張數(shù)據(jù)源排行榜,可見進程創(chuàng)建、進程命令、文件監(jiān)控占了很大的比重。sysmon 的數(shù)據(jù)目前可以基本滿足需求。

 

2. 數(shù)據(jù)標簽化

由于 SIEM 平臺本身接入的數(shù)據(jù)量太大并且有很多沒有分析價值的數(shù)據(jù),平臺需要抽象出一層關注的安全事件,這些事件不一定是惡意攻擊,比如 Powershell、CMD 這些運維管理員也會使用的程序,抽象出的事件需要一個標簽來描述事件的含義,這時 TTPs 的 ID 就成了最好的標簽。TTPs 的背后是完善的知識庫,每個技術都可以追溯其利用原理、戰(zhàn)術意圖。

通常使用規(guī)則將數(shù)據(jù)打上標簽,所以需要先梳理技術對應的數(shù)據(jù)源,以下表為例:

SIEM 做的是數(shù)據(jù)分析,ATT&CK 可以將數(shù)據(jù)添加一層標簽,標簽的生成來自與規(guī)則,標簽化的流程與利用,如下圖:

ATT&CK 的規(guī)則是 ATT&CK 框架應用的基礎,也是難點。初步可以根據(jù) github 上一些開源的項目進行實施和優(yōu)化,例如:sentinel-attack、sysmon-config、sigma 等。與其他產(chǎn)品類似,主要的問題在兩個方面:

(1)規(guī)則的質量

規(guī)則的質量一直是廠商頭疼的問題,更是困擾安全分析師和運維人員的難題。當?shù)讓訑?shù)據(jù)不可信時,分析的都是錯數(shù)據(jù),分析的結果又怎么能對呢?在開源規(guī)則的基礎上我們可以在各種環(huán)境下測試規(guī)則的誤報并進行調試,針對特定規(guī)則可能需要手動復現(xiàn)提取更加準確的特征。

(2)規(guī)則的覆蓋率

雖然 ATT&CK 框架號稱是原子級技術分解,其實還尚未達到這個程度,例如 T1055 – 進程注入,雖然在它的知識庫里也列出了幾種注入的方法,但是真正的注入方法就不止 10 種。那么若一個產(chǎn)品覆蓋了 T1055 – 進程注入,但覆蓋了其中一種技術還是十種技術對應的能力顯然是不同的。為此 MITRE 也及時做出了調整推出 Sub-Techniques 的概念,這是真正意義上的原子級技術點。相對于現(xiàn)在的 Techniques,Sub-Techniques 才能客觀的標識一個產(chǎn)品的檢測能力覆蓋面,讓我們拭目以待。

 

3. 標簽的權重

分析標簽時和分析數(shù)據(jù)一般無二,有的數(shù)據(jù)只是用參考的,有的數(shù)據(jù)卻標注著企業(yè)內(nèi)部可能正在發(fā)生攻擊行為。目前,筆者根據(jù)規(guī)則的置信度、檢測粒度將標簽粗略分為:失陷告警、參考告警、審計信息三大類。

失陷告警:極低誤報率、確切高危行為的告警

參考告警:存在誤報情況的高危行為告警、較低誤報率的中危告警

審計信息:可能被攻擊者利用也可能是用戶自己操作的行為

舉例:

Powershell目前被攻擊者頻繁利用,也是終端必須審計的數(shù)據(jù)源之一。

若規(guī)則為定義如下,那么這只能算是一個審計信息。

Image contains ‘powershell.exe’

若規(guī)則有了更細致的特征,那么可以定級為一個參考告警甚至失陷告警。

Image contains ‘powershell.exe’ and CommandLine contains (‘-w hidden’ or ‘–Exec Bypass’ or ‘-c’ or ‘-Enc’ or ‘–Nop’ or ‘DownloadFile’)

有了詳細的特征為什么還需要使用寬泛的審計規(guī)則:世上沒有完美的規(guī)則,規(guī)則總可能被繞過,這時還有審計信息給予我們溯源的可能。

審計規(guī)則可以記錄所有動作為什么還要顆粒度更高的規(guī)則:權重!讓機器幫你做初步的篩選,直接關注存在的高風險問題,權重不同的告警在場景化過程中對結果的判斷也會有影響。

分析溯源

無論是 APT 還是常規(guī)的滲透攻擊,可能會用一些目前未知的技術手段或者 0DAY,但也必然會用到其他已知的攻擊手段,這時我們的標簽化的數(shù)據(jù)就起到了分析的價值,可以根據(jù)標簽進行行為分析、異常分析等。

1. 進程樹的分析

當我們觸發(fā)告警時,可以溯源該告警進程的進程樹。此時可將進程樹的上所有進程附著的 TTP 標簽作為數(shù)據(jù),分析該進程樹是否為一條失陷的攻擊鏈,在進程樹生成后也會發(fā)現(xiàn)許多沒有標簽的進程,這些可能就是規(guī)則遺漏的檢測點。

舉個簡單一點的判斷邏輯:

a. 是否樹上可以有多個權重較高的標記

b. 是否樹上有超過${Num}個不同的標記

當然實際應用中可能需要其他更完善的算法。假想能否將一臺主機上的所有進程導入圖數(shù)據(jù)庫,這樣就可以獲得單臺機器某個時間段下全局進程圖的視角,這比分析某個進程樹呈現(xiàn)的更加直觀和全面。

2. 標簽分布分析

我們可以為每臺主機維護一個矩陣圖,把主機上的 TTP 標簽作為數(shù)據(jù),分析這個主機是否為一個失陷主機。

舉個簡單一點的判斷邏輯:

a. 是否主機上可以有多個權重較高的標記

b. 是否主機上有超過${Num}個不同的標記

c. 是否主機上有超過${Num}個不同的戰(zhàn)術意圖

當然光靠閾值可能依然存在一些誤報情況,我們可以引入機器學習算法輔助確認主機是否失陷。在內(nèi)網(wǎng)的運維過程中,我們收集以單臺主機上的 TTPs 標簽分布為樣本數(shù)據(jù),對主機進行分析后,若手動判定為失陷則加入黑樣本,其他認為是白樣本。利用樣本集訓練模型作為一種輔助判斷的手法,來提高風險主機的處理優(yōu)先級。在客戶運維的過程中,還可以利用主動學習算法不斷的優(yōu)化輔助模型。

3. 內(nèi)網(wǎng)的溯源

當檢測到失陷主機有進程訪問內(nèi)網(wǎng)其他機器時,展示該機器上檢測到的 TTPs 信息及摘要。可以根據(jù)此信息來判斷是否為橫向移動攻擊,例如winrs是一種橫向移動手段,發(fā)現(xiàn)主機10.50.10.100通過winrs連接到內(nèi)網(wǎng)機器10.50.10.105,又發(fā)現(xiàn)主機10.50.10.105上有權重較高的標簽T1060-Registry Run Keys / Startup Folder、T1003-Credential Dumping、T1191-CMSTP,那可能大概率橫向移動的結果是成功的。

4. 上下文描述

可為每個標簽添加更細節(jié)和通俗的描述作為場景化描述的基礎語句,再將其組合起來成為完整的描述一個場景。以進程樹為例,對每一層樹中的操作進行戰(zhàn)術分類后以時間軸的形式進行描述。

2019/11/07 16:31:05 進程IJIurngei.exe通過漏洞CVE-2018-8120提升權限運行uziYaoqomsfT.exe,進進程用戶由User提升到System,達到權限提升目的;

2019/11/07 16:31:07 進程uziYaoqomsfT.exe連接遠程域名download.microUpdate.com,疑似達到遠控目的;

2019/11/07 16:31:15 進程uziYaoqomsfT.exe釋放文件svchost.exe,達到偽裝目的;

2019/11/07 16:31:18 進程svchost.exe連接遠程域名ginni.go0gle.com,疑似達到遠控目的;

2019/11/07 16:31:23 進程uziYaoqomsfT.exe運行程序cmd.exe,達到執(zhí)行目的;

2019/11/07 16:31:24 進程cmd.exe運行程序tasklist.exe、systeminfo.exe、net.exe、net1.exe、whoami.exe,達到發(fā)現(xiàn)目的;

2019/11/07 16:31:32 進程cmd.exe運行程序mimi.exe訪問lsass.exe進程,達到憑證獲取目的;

2019/11/07 16:32:03 進程cmd.exe運行程序winrs.exe連接遠程主機10.50.10.105,目標機器上存在3個較高權重的標簽T1060-Registry Run Keys / Startup Folder、T1003-Credential Dumping、T1191-CMSTP,疑似達到橫向移動目的;

紅藍知識庫

雖然 ATT&CK 框架期望實現(xiàn)建立一個大而全的威脅知識庫,但目前的階段還尚處于初步了解框架概念。MITRE 致力于建立一個 Cyber Analytics Repository,但由于內(nèi)容太少而不足以提供豐富的檢測能力。不過也有很多迫不及待的人已經(jīng)提前動起了手,例如 Red Teaming Experiments、atomic-red-team,但他們更注重的是 Red Team 攻擊過程的復現(xiàn),我們期望的是 Red Team 代碼級復現(xiàn) +Blue Team 威脅特征提取。

1. 威脅檢測

比起說紅藍知識庫可以幫助威脅檢測,倒不如說為了更好的檢測才有了紅藍知識庫。為了有更精確的告警采取復現(xiàn)攻擊技術,紅藍知識庫只是衍生總結出的產(chǎn)物。

2. 用戶賦能

既然有了知識庫自然要利用起來,SIEM 是一個需要安全知識才能使用起來的安全產(chǎn)品,對于分析師的能力有要求,目前紅藍知識庫可以提供給分析人員更多更詳細的學習指導。

小結

隨著 ATT&CK 框架的認知度越來越高,其完善發(fā)展的速度一定會更快,應用的方向也會更廣。就目前階段,我們認為 ATT&CK 最大作用是幫助惡意行為的檢測和分析。合抱之木始于毫末,萬丈高樓起于壘土。我們將踏實致力于實戰(zhàn),不斷完善知識庫,通過統(tǒng)一標準的建立,打造高效便捷的交流話語,健全行業(yè)生態(tài)體系。若文中有描述不足的地方歡迎交流,開放才能更快的進步,共勉。


 
 

上一篇:企業(yè)端安全如何防護?面對Coinbase交易所被攻破,值得所有安全廠商沉思

下一篇:Canonical 為 Ubuntu 發(fā)布 Linux 內(nèi)核安全更新,緩解一系列 CPU 漏洞