行業(yè)動(dòng)態(tài)

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

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

信息來源:安全牛

前言

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

一、ATT&CK框架的了解

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

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

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

(2)技術(shù) (Techniques):實(shí)施一個(gè)攻擊的技術(shù)

(3)過程 (Procedures):實(shí)施一個(gè)技術(shù)的流程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

TTP 的標(biāo)簽

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

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

 

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

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

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

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

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

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

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

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

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

 

3. 標(biāo)簽的權(quán)重

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

失陷告警:極低誤報(bào)率、確切高危行為的告警

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

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

舉例:

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

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

Image contains ‘powershell.exe’

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

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

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

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

分析溯源

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

1. 進(jìn)程樹的分析

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

舉個(gè)簡單一點(diǎn)的判斷邏輯:

a. 是否樹上可以有多個(gè)權(quán)重較高的標(biāo)記

b. 是否樹上有超過${Num}個(gè)不同的標(biāo)記

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

2. 標(biāo)簽分布分析

我們可以為每臺(tái)主機(jī)維護(hù)一個(gè)矩陣圖,把主機(jī)上的 TTP 標(biāo)簽作為數(shù)據(jù),分析這個(gè)主機(jī)是否為一個(gè)失陷主機(jī)。

舉個(gè)簡單一點(diǎn)的判斷邏輯:

a. 是否主機(jī)上可以有多個(gè)權(quán)重較高的標(biāo)記

b. 是否主機(jī)上有超過${Num}個(gè)不同的標(biāo)記

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

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

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

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

4. 上下文描述

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

2019/11/07 16:31:05 進(jìn)程IJIurngei.exe通過漏洞CVE-2018-8120提升權(quán)限運(yùn)行uziYaoqomsfT.exe,進(jìn)進(jìn)程用戶由User提升到System,達(dá)到權(quán)限提升目的;

2019/11/07 16:31:07 進(jìn)程uziYaoqomsfT.exe連接遠(yuǎn)程域名download.microUpdate.com,疑似達(dá)到遠(yuǎn)控目的;

2019/11/07 16:31:15 進(jìn)程uziYaoqomsfT.exe釋放文件svchost.exe,達(dá)到偽裝目的;

2019/11/07 16:31:18 進(jìn)程svchost.exe連接遠(yuǎn)程域名ginni.go0gle.com,疑似達(dá)到遠(yuǎn)控目的;

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

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

2019/11/07 16:31:32 進(jìn)程cmd.exe運(yùn)行程序mimi.exe訪問lsass.exe進(jìn)程,達(dá)到憑證獲取目的;

2019/11/07 16:32:03 進(jìn)程cmd.exe運(yùn)行程序winrs.exe連接遠(yuǎn)程主機(jī)10.50.10.105,目標(biāo)機(jī)器上存在3個(gè)較高權(quán)重的標(biāo)簽T1060-Registry Run Keys / Startup Folder、T1003-Credential Dumping、T1191-CMSTP,疑似達(dá)到橫向移動(dòng)目的;

紅藍(lán)知識(shí)庫

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

1. 威脅檢測

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

2. 用戶賦能

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

小結(jié)

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


 
 

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

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