安全圈 | 专注于最新网络信息安全讯息新闻

首页

att&ck在大資料安全分析中的應用思考

作者 trentadue 时间 2020-02-29
all

前言

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

一、ATT&CK框架的瞭解

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

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

•戰術(Tactics):發起一個攻擊的意圖

•科技(Techniques):實施一個攻擊的科技

•過程(Procedures):實施一個科技的流程

那麼ATT&CK究竟能給安全行業帶來什麼?

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

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

如果順利發展的話後期也可能加入Web安全相關安全知識,那時WAF、RASP、程式碼稽核等Web相關安全產品也可以憑藉框架進行評估。

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

能力的度量需要客觀、統一的標準,而不是自說自話。當然這裡的覆蓋率只是名額之一,覆蓋規則的質量也是非常重要的,但其實往往質量比數量更難評估。

•ATT&CK框架可以成為業界的通用語言(威脅數據標籤化)

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

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

(1)PRE-ATT&CK:攻擊前的準備,例如戰畧計畫製定、武器化、資訊收集、脆弱點發現等;

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

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

現時SIEM並沒有涉及到太多的移動端安全問題,所以移動端就不放在本次的討論範圍之內。

PRE-ATT&CK現時對於防禦者來說可見性比較低,現時大多數採用預防性防禦方法,比如進行安全意識培訓抵禦社會工程學攻擊,定期漏洞掃描來規避易被發現的脆弱點,定期的監控開源程式碼倉庫有無洩露項目原始程式碼、VPN帳號、員工郵箱、敏感密碼等。

Enterprise既是當用戶已經在內部有了駐足點後的行為矩陣,在這個矩陣中,企業數據探針較完善的情况下可見度是比較高的,可以更好的利用此矩陣內的資料來源進行威脅的捕獲與分析,囙此Enterprise也是現時備受關注的矩陣,也是我們本篇重點討論的矩陣。

(圖片來源於:網絡)

二、SIEM產品與ATT&CK框架的結合應用

TTP的標籤

1.資料來源的選擇

在利用ATT&CK的TTPs來描述在環境中發現的威脅之前,需要接入相關資料作為底層的支持。在這次ATT&CKcon會議上看到的一張資料來源排行榜,可見行程創建、行程命令、檔案監控占了很大的比重。sysmon的數據現時可以基本滿足需求。

(圖片來源於:hxxps://pbs.twimg.com/media/EICsnZ_XYAAyyxd?format=jpg&name=medium)

2.數據標籤化

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

通常使用規則將數據打上標籤,所以需要先梳理科技對應的資料來源,以下錶為例:

SIEM做的是資料分析,ATT&CK可以將數據添加一層標籤,標籤的生成來自與規則,標籤化的流程與利用,如下圖:

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

規則的質量

規則的質量一直是廠商頭疼的問題,更是困擾安全分析師和運維人員的難題。當底層數據不可信時,分析的都是錯數據,分析的結果又怎麼能對呢?在開源規則的基礎上我們可以在各種環境下測試規則的誤報並進行調試,針對特定規則可能需要手動複現選取更加準確的特徵。

規則的覆蓋率

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

(圖片來源:hxxps://pbs.twimg.com/media/ECl3z_FXsAE892F?format=jpg&name=900x900)

3.標籤的權重

分析標籤時和分析數據一般無二,有的數據只是用參攷的,有的數據卻標注著企業內部可能正在發生攻擊行為。現時,筆者根據規則的置信度、檢測細微性將標籤粗略分為:失陷告警、參攷告警、稽核資訊三大類。

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

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

稽核資訊:可能被攻擊者利用也可能是用戶自己操作的行為

舉例:

Powershell現時被攻擊者頻繁利用,也是終端必須稽核的資料來源之一。

若規則為定義如下,那麼這只能算是一個稽核資訊。

Image contains 'powershell.exe'

若規則有了更細緻的特徵,那麼可以定級為一個參攷告警甚至失陷告警。

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

有了詳細的特徵為什麼還需要使用寬泛的稽核規則:世上沒有完美的規則,規則總可能被繞過,這時還有稽核資訊給予我們溯源的可能。

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

分析溯源

無論是APT還是常規的滲透攻擊,可能會用一些現時未知的科技手段或者0DAY,但也必然會用到其他已知的攻擊手段,這時我們的標籤化的數據就起到了分析的價值,可以根據標籤進行行為分析、异常分析等。

1.行程樹的分析

當我們觸發告警時,可以溯源該告警行程的行程樹。此時可將行程樹的上所有行程附著的TTP標籤作為數據,分析該行程樹是否為一條失陷的攻擊鏈,在行程樹生成後也會發現許多沒有標籤的行程,這些可能就是規則遺漏的檢測點。

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

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

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

當然實際應用中可能需要其他更完善的算灋。假想能否將一臺主機上的所有行程導入圖資料庫,這樣就可以獲得單臺機器某個時間段下全域行程圖的視角,這比分析某個行程樹呈現的更加直觀和全面。

2.標籤分佈分析

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

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

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

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

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

當然光靠閾值可能依然存在一些誤報情况,我們可以引入機器學習算灋輔助確認主機是否失陷。在內網的運維過程中,我們收集以單臺主機上的TTPs標籤分佈為樣本數據,對主機進行分析後,若手動判定為失陷則加入黑樣本,其他認為是白樣本。利用樣本集訓練模型作為一種輔助判斷的手法,來提高風險主機的處理優先順序。在客戶運維的過程中,還可以利用主動學習算灋不斷的優化輔助模型。

3.內網的溯源

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

4.上下文描述

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

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,達到執行目的;

2019/11/07 16:31:24行程cmd.exe運行程式tasklist.exe、systeminfo.exe、net.exe、net1.exe、whoami.exe,達到發現目的;

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框架期望實現建立一個大而全的威脅知識庫,但現時的階段還尚處於初步瞭解框架概念。MITRE致力於建立一個Cyber Analytics Repository,但由於內容太少而不足以提供豐富的檢測能力。不過也有很多迫不及待的人已經提前動起了手,例如Red Teaming Experiments、atomic-red-team,但他們更注重的是Red Team攻擊過程的複現,我們期望的是Red Team程式碼級複現+Blue Team威脅特徵選取。

1.威脅檢測

比起說紅藍知識庫可以幫助威脅檢測,倒不如說為了更好的檢測才有了紅藍知識庫。為了有更精確的告警採取複現攻擊科技,紅藍知識庫只是衍生總結出的產物。

2.用戶賦能

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

小結

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

相關閱讀

ATT&CK隨筆系列之一:右腦知攻、左腦知防

加速檢測與響應的最新工具:MITRE ATT&CK框架