close

該系列文章將系統整理和深入學習系統安全、逆向分析和惡意代碼檢測,文章會更加聚焦,更加系統,更加深入,也是作者的慢慢成長史。漫漫長征路,偏向虎山行。享受過程,一起加油~

前文帶大家學習了軟件Procmon。這篇文章將從學術角度去普及和總結一個新的概念——溯源圖,文章將詳細介紹和總結基於溯源圖的攻擊檢測安全頂會內容,花了作者一個多月時間。希望這篇文章對您有所幫助,這些大佬是真的值得我們去學習,獻上小弟的膝蓋~fighting!

本次分享主要是作者對APT攻擊部分頂會論文閱讀的階段性總結,將從以下四個方面開展,包括APT攻擊背景知識、APT攻擊檢測研究、基於溯源圖的APT攻擊檢測方法對比、下一步工作及討論。其重點是對基於溯源圖的APT攻擊檢測進行總結。同時,由於作者科研能力和英文還較弱,寫得不好或理解不到位的地方,還請各位老師和博友指正和批評,謝謝!

作者作為網絡安全的小白,分享一些自學基礎教程給大家,主要是關於安全工具和實踐操作的在線筆記,希望您們喜歡。同時,更希望您能與我一起操作和進步,後續將深入學習網絡安全和系統安全知識並分享相關實驗。總之,希望該系列文章對博友有所幫助,寫文不易,大神們不喜勿噴,謝謝!如果文章對您有幫助,將是我創作的最大動力,點讚、評論、私聊均可,一起加油喔!

文章目錄:

一.背景知識

二.APT攻擊檢測研究

1.APT攻擊檢測相關研究

2.基於異常檢測的方法

3.基於溯源圖的方法

SLEUTH [USENIX』17]

Poirot [CCS』19]

HOLMES [S&P』19]

Extrator [EurS&P』21]

HINTI [RAID』20]

UNICORN [NDSS』20]

ProvDetector NDSS』20

RapSheet [S&P』20]

ATLAS [USENIX』21]

三.方法對比

1.基於溯源圖的方法研究趨勢分析

2.方法優缺點對比

3.數據集對比

四.總結

作者的github資源:

逆向分析:

https://github.com/eastmountyxz/

SystemSecurity-ReverseAnalysis

網絡安全:

https://github.com/eastmountyxz/

NetworkSecuritySelf-study

聲明:本人堅決反對利用教學方法進行犯罪的行為,一切犯罪行為必將受到嚴懲,綠色網絡需要我們共同維護,更推薦大家了解它們背後的原理,更好地進行防護。該樣本不會分享給大家,分析工具會分享。(參考文獻見後)

一.背景知識

1.什麼是APT攻擊?APT攻擊(Advanced Persistent Threat,高級持續性威脅)是利用先進的攻擊手段對特定目標進行長期持續性網絡攻擊的攻擊形式。APT攻擊也稱為定向威脅攻擊,指某組織對特定對象展開的持續有效的攻擊活動。這種攻擊活動具有極強的隱蔽性和針對性,通常會運用受感染的各種介質、供應鏈和社會工程學等多種手段實施先進的、持久的且有效的威脅和攻擊。

2.APT攻擊的特點上圖的表格展示了APT攻擊和普通攻擊的區別。可以簡單地將APT攻擊特點總結為:

隱蔽性0-day漏洞、needle in a haystack(通常不到0.01%)、無文件攻擊、加密流量

持續性low-and-slow(潛伏時間長)、攻擊時間跨度大

針對性Stuxnet、SolarWinds

模塊化(自適應)Stuxnet、WannaCry

3.APT攻擊檢測存在的困難下圖展示了2016到2020年,亞太地區AP攻擊事件的停留時間,可以看到其潛伏期很長,想要發現一起APT攻擊極為困難。同時,傳統APT攻擊檢測存在一定的缺陷,包括:

無法捕獲長期運行的系統行為

0-day漏洞導致攻擊艱難檢測

實時攻擊檢測、真實場景檢測效果不佳

容易遭受投毒攻擊注意,這裡的投毒攻擊是指因APT攻擊持續時間長,導致ML模型學習攻擊特徵時,會將惡意行為逐漸訓練學習為正常行為

接着補充下兩個輔助APT攻擊的經典知識框架,它們分別是kill-chain Model和ATT&CK Model。它們既能幫助我們理解、檢測和溯源APT攻擊流程,又在論文中作了相應的貢獻,現已被廣泛用於APT攻擊檢測領域研究,後面會詳細介紹。

kill-chain Model

洛克希德·馬丁公司開發的「網絡殺傷鏈」模型描述了網絡攻擊的各階段流程,具體包括七個階段,即目標偵查、武器構建、載荷投遞、漏洞利用、安裝植入、命令與控制、任務執行。

ATT&CK Model

ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一個攻擊行為知識庫和模型,主要應用於評估攻防能力覆蓋、APT情報分析、威脅狩獵及攻擊模擬等領域。網址:https://attack.mitre.org/

最後展示了常見APT組織。

二.APT攻擊檢測研究

該部分從APT攻擊檢測相關研究、基於異常檢測的方法和基於溯源圖的方法三個方面介紹,重點以基於溯源圖的方法為主。

1.APT攻擊檢測相關研究

APT攻擊檢測研究方法的分類很多,作者這裡僅將其分成了兩大塊(不一定合適),主要和作者閱讀的論文相關,也歡迎大家交流分類方法。即:

(1) Anomaly-based detectors for APTs

– 主機日誌(審計日誌)– 系統調用– 網絡流量 | 警報信息– 惡意行為

(2) Provenance graph-based detectors for APTs

– 溯源圖– +引入外部知識– +融合ATT&CK框架– 因果關係圖+NLP

我們先看看圖中下半部分基於溯源圖(Provenance Graph)的APT檢測方法。主要包括:

伊利諾伊大學芝加哥分校團隊首先,USENIX』17提出的SLEUTH,將溯源圖應用於APT攻擊檢測領域。然後,該團隊緊接着在2019年CCS會議上提出Poirot,在S&P』19上提出Holmes,該方法融合了Kill Chain和ATT&CK框架。此外,在2021年EurS&P提出Extrator,並引入外部知識。

伊利諾伊大學香檳分校團隊另一個研究溯源圖的團隊來自伊利諾伊大學香檳分校,他們分別在NDSS』20提出了UNICORN和ProvDetector,同時在2020年的S&P上提出RapSheet,它融合了ATT&CK框架。

普渡大學團隊第三個團隊是來自普渡大學,當然各團隊之間有很多合作團隊。他們的核心成果包括NDSS』13提出的BEEP,NDSS』16提出的ProTracer和USENIX』21提出的ATLAS。

整個基於溯源圖的APT檢測方法是在Baseline的基礎上不斷優化,包括溯源圖+引入外部知識、溯源圖+融合ATT&CK框架、因果關係圖+NLP等。後面的論文和框架圖作者會更詳細的介紹,從而梳理出溯源圖方法的研究路線。另外,基於異常檢測的方法圖中也列舉了部分方法。

2.基於異常檢測的方法

基於異常檢測的方法這裡簡單例舉了利用C&C域名、數學模型、惡意流量和惡意行為實現APT攻擊檢測的框架圖,如下圖所示。

上述傳統APT攻擊檢測方法主要存在的缺陷包括:

APT攻擊時間跨度長,缺乏方法或工具有效將信息進行關聯,還原攻擊鏈

實時檢測困難,較難高效地從百萬條日誌中篩選數據,並檢測出最可能的攻擊行為

較難讓分析人員通過數據有效地進行推理,從而檢測未知攻擊

缺乏對真實場景的APT攻擊進行檢測,並且IDS和SIEM會產生大量的信息,傳統方法識別真實的攻擊更加困難

無法有效解決投毒攻擊,即由於APT攻擊時間跨度較長,深度學習會將惡意特徵訓練為正常特徵

結合上述原因,產生了改進方法,即:

基於溯源圖的APT攻擊檢測(Provenance graph-based detector for APTs)

接下來開始詳細介紹基於溯源圖的APT攻擊檢測方法。

3.基於溯源圖的方法SLEUTH [USENIX』17]

第一篇論文是USENIX』17的SLEUTH。

Md Nahid Hossain, et al.SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data. USENIX』17

https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-hossain.pdf

石溪大學、伊利諾伊大學芝加哥分校

這篇文章的主要貢獻如下:

首次利用溯源圖重構APT攻擊,即利用因果關係跟蹤和溯源圖構造模型

提出一種可以在企業主機上實時重構攻擊場景的方法和系統

開發一種平台無關、基於主存的審計日誌數據依賴圖抽象

整個SLEUTH的框架圖如下圖所示,核心內容如下:

(1) 輸入的是Linux、Windows和FreeBSD平台的審計日誌信息

(2) 構建並標記依賴關係圖,標籤將提供重要的上下文信息,對應論文中良性可信、良性和未知三種類型

(3) 實現基於標籤和策略的攻擊檢測,並定製的策略,根據審計日誌的秘密性分為公開、隱私、敏感和秘密,通過引入標籤和策略實現對依賴關係圖賦予不同的權重

(4) 經過依賴圖反覆構建後,會到達警報計算階段,通過定義規則來匹配更高的威脅攻擊,生成對應的分數,基於標籤的分析後會生成並還原場景圖(Scenario Graph)

同時,依賴關係圖中的節點和關係表示如下:

節點:表示subjects(進程)和objects(文件、sockets)

關係:表示審計事件(讀、寫、執行、連接等操作)

接着介紹它的警報(Alarms)計算策略,以下四個會引發警報,包括:

不受信任的代碼執行:高等級標籤去執行低等級時觸發

被低等級標籤修改:修改文件權限時產生

秘密文件泄露:不可信對象執行寫的操作

執行不可信的數據:比如執行command等指令操作

下圖是攻擊場景的重構,它是對FireFox瀏覽器漏洞的場景還原。

審計數據還原fireFox後門攻擊場景

– Backdoor insertion– Clean-up

整個場景還原如下:它的入口點是在firefox.exe位置,首先它會去接收IP地址,然後fork下載器(dropper),接着它會發送請求到443端口;接下來會多次調用cmd執行命令,如whoami、netstat、hostname等,並將數據寫入到指定路徑的thumbs.db文件中;然後執行git.exe實現數據過濾操作;最後執行burnout.bat批處理文件清除場景的痕跡。

整個實驗採用DARPA TC數據集實驗,它有8個攻擊場景重構及攻擊階段映射,該論文對每個場景進行了圖還原,涉及階段如下圖所示:

實驗統計了APT攻擊場景每個階段的實體數量:關鍵文件、網絡連接、執行程序等,如下圖所示。

其他實驗效果如下,建議讀者閱讀原文。

最後,簡單總結SLEUTH與傳統方法的區別:

Sleuth方法–Sleuth實時檢測、運行效率更高

–Sleuth基於標籤的檢測方法更精確(規則+策略+警報)

傳統方法,如Bactracker [SOSP』03]– 無法實時且效率低– Bactracker依賴外部工具生成警報,無法剪枝和溯源

補充:DARPA TC是經典的APT攻擊檢測數據集美國國防高級研究計劃局(Defense Advanced Research Projects Agency, DARPA)運營了多個重量級的網絡空間安全研究項目,召集了諸多美國頂級研究機構參與,可謂是集中力量辦大事。其中,透明計算(Transparent Computing, TC)項目正是期望通過基於終端數據的採集與分析增強終端上系統細粒度行為的可視能力,以實現企業級網絡空間APT檢測、取證等關鍵任務。現代操作系統的功能邏輯越來越複雜,計算系統的低透明度成為精細化記錄、分析、預測系統級別行為的重要限制,而封閉的系統黑盒為具有高隱蔽性、高對抗性的APT攻擊者提供了絕佳的潛伏場所。為了打開系統行為黑盒,實現在較低開銷下提供系統各層級軟件模塊行為可見性,DAPRA組織了Transparent Computing項目。該項目的目標技術及系統需實現:

採集、保存系統組件(輸入、軟件模塊、進程等)的溯源數據;

動態追蹤網路系統組件的交互與因果依賴關係;

整合數據依賴,測繪端到端的系統行為;

從取證和實時檢測的角度,實現對系統行為的推理。

基於以上能力的實現,TC項目旨在完成細粒度系統級行為的關聯,實現在大規模行為中識別異常與惡意意圖,發現潛在的APT或其他高級威脅,並提供完整的溯源分析與相關損失評估。同時,TC項目能夠實現網絡推理能力與企業規模網絡監控和管控系統的整合,以增強關鍵節點的安全策略有效性。從2016年10月到2019年5月,DARPA TC項目共組織了5次較大規模的紅藍對抗交戰演習(Engagement)。在每次對抗中,TC總共劃分為5個技術域(Technical Areas, TAs),其時間跨度超過20天。TA5.1實現了包括Carbanak、Uroburos、DustySky、OceanLotus、njRAT、HawkEye、DeputyDog等多種惡意軟件在攻防平台中的投放。DARPA TC的攻擊模擬展現了參與團隊在APT技戰術的深厚積累。

參考綠盟的文章並強烈推薦

https://www.nsfocus.com.cn/html/2020/21_0824/605.html

Poirot [CCS』19]

第二篇論文是來自CCS』19的Poirot。

Sadegh M, et al.Poirot: Aligning Attack Behavior with Kernel Audit Records for Cyber Threat Hunting. CCS』19

https://dl.acm.org/doi/pdf/10.1145/3319535.3363217

伊利諾伊大學芝加哥分校、密歇根大學迪爾伯恩分校

這篇文章的主要貢獻如下:

利用網絡威脅情報(CTI)關聯性檢測APT攻擊使用審計日誌,將威脅檢測建模為一個非精確的圖模式匹配(Graph Pattern Matching, GPM)問題

– 在大圖中搜索與某個特定圖相匹配的子圖

相似性度量,攻擊行為與內核審計日誌對齊

– 內核審計日誌構建溯源圖(provenance graph)– CTI關聯構建查詢圖(query graph)

整個Poirot的框架圖如下圖所示,核心內容如下:

(1) 該圖右邊部分是上篇論文的基本流程,即從三個操作系統(BSD、Linux、Windows)審計日誌信息中構建溯源圖(Provenance Graph),然後還原攻擊場景

(2) 左邊引入了外部IOC關係信息,提取並構建攻擊行為的查詢圖(Query Graph),這裡引入了圖對齊或圖匹配

(3) 最後通過對齊和閾值計算算法生成對應的分數,實現最終的分析取證並生成警報– 圖中頂點表示實體,邊表示信息流和因果關係

接下來補充查詢圖(Query Graph)構建的過程。相當於給你一篇APT分析報告,它會自動生成對應的查詢圖,如下圖所示,A執行B的exe程序,並寫入C,然後寫入D註冊表,再想E發送請求。

橢圓-進程

菱形-套接字

矩形-文件

五邊形-註冊表

對應的匹配過程如下圖所示,Gq表示查詢圖,Gp表示溯源圖。個人理解,DARPA TC數據會生成溯源圖,然後和查詢圖匹配出來兩個對應的結果子圖,如最右邊所示。從而更好地發現那部分子圖是在實施APT攻擊。

該方法還包括兩種類型的對齊:node alignment和graph alignment。

由於作者能力有限且理解不夠,一些細節未能很好地表達,還請見諒。建議大家去閱讀原文,這些公式及算法非常重要,當然我也會繼續努力提升自己的閱讀能力,多向這些大佬學習併力爭撰寫好的論文,共勉。

實驗結果如下圖所示,比如不同惡意軟件(如海蓮花OcenLotus)對應的查詢圖以及對其過程。

其他的實驗結果如下,比如選擇閾值的對比結果,這也將決定對齊算法的分數。

實驗結果表明:

CTI相關性可用於威脅獵殺,並且具有較好的魯棒性和可靠性Poirot方法能有效從溯源圖中實現APT組織查詢圖(攻擊鏈)匹配及對齊

本文方法與傳統方法對比如下:

不同於基於符號執行的方法,Poirot不依賴於符號表達式,而是尋找系統的相關性和信息流傳統方法的網絡威脅情報相關性被完全忽視,未被用於威脅檢測本文方法引入圖匹配算法,這與之前的方法不同HOLMES [S&P』19]

第三篇論文是S&P』19經典的HOLMES。

Sadegh M. Milajerdi, et al.HOLMES: Real-time APT Detection through Correlation of Suspicious Information Flows. S&P』19

https://arxiv.org/pdf/1810.01594.pdf

伊利諾伊大學芝加哥分校、密歇根大學迪爾伯恩分校、石溪大學

這篇文章的主要貢獻如下:

構建一種可以實時檢測APT攻擊的系統,有效利用攻擊活動可疑信息流的相關性

將APT活動信息映射到殺傷鏈,設計高級場景圖(high-level scenario graph,HSG)實現低層次(日誌、警報)信息到高層次的映射(語義鴻溝),從而使得HOLMES能有檢測良性或攻擊場景

系統和實驗完整性:虛假依賴關係剪枝、降噪處理(緊密性)、HSG排序

其框架圖如下所示,前面基本類似,但右端增加了一個高級場景圖(high-level scenario graph,HSG),從而實現低層次(日誌、警報)信息到高層次的映射,解決論文中提到的語義鴻溝。該方法能夠實時檢測系統,產生APT報警;並能實時產生高級別的攻擊圖來描述攻擊者的行為,協助防禦者進行實時地安全響應。

HSG對應如下圖所示,傳統比如是審計日誌信息,直接到上層的APT攻擊階段(殺傷鏈)會存在語義損失,即:低級別審計數據與攻擊目標意圖與高級殺傷鏈(kill-chain)視角之間存在巨大的語義差距。因此引入TTPs和HSG,通過ATT&CK框架映射的中間層來提升實驗效果。

APT攻擊檢測存在的難點可以概括如下三點,該方法能有效解決這些困難。

攻擊隱蔽(Stealthy Attacks)

大海撈針(Needle in a haystack)

實時檢測(Real-time detection)

下面簡單介紹一個運行時APT攻擊溯源圖(Provenance Graph)示例。如下圖所示,可以看到攻擊行為是從初始入侵到C&C通信,再到內部偵查、數據讀取、權限提升,以及內部偵查、清除痕跡、竊取信息等。這其實就是一個溯源圖,通過數據之間的因果關係生成這樣的圖,比如C&C通訊、提權、文件操作等進行關聯。而上面是正常操作行為。

橢圓、菱形、 矩形、五邊形、七邊形、圓柱

實驗結果表明,HOLMES能有效區分良性場景和攻擊場景。下圖是攻擊場景所涉及流程(七維對應殺傷鏈)及閾值分數,能有效識別APT攻擊。

下圖展示了APT攻擊和良性事件的有效區分。

傳統方法存在的缺點如下:

基於統計特徵的方法對時間跨度長、執行緩慢攻擊的檢測不佳基於系統調用日誌的方法對實時攻擊檢測效果不佳

對比方法:ProTracer[NDSS』16]、MPI[USENIX』17]、SLEUTH [USENIX』17]、PrioTracker[NDSS』18]

本文HOLMES的優點如下:

攻擊粒度更細從溯源圖到攻擊鏈的映射引入了HSG解決語義鴻溝問題能有效檢測長期潛伏實時的APT攻擊通過引入降噪算法解決HSG緊密性問題

正是綜合各種優點,論文的故事敘述非常棒,並結合之前的成果,所以他們能發到S&P,非常值得我學習。

Extrator [EurS&P』21]

第四篇論文是EurS&P』21的Extrator。

Kiavash Satvat, et al.EXTRACTOR: Extracting Attack Behavior from Threat Reports. EurS&P』21

https://arxiv.org/pdf/2104.08618.pdf

伊利諾伊大學芝加哥分校

由於CTI報告海量且非結構化,安全人員很難從文本中提取出真正有效的信息,本文提出了融合自然語言處理的Extrator方法。其主要貢獻如下:

提出一個自動化工具Extrator,用於自動從網絡威脅情報(CTI)報告中提取出攻擊行為信息利用自然語言處理(NLP)從CTI報告中精確地提取攻擊行為使用語義角色標註(SRL)進行語義分析,理解攻擊行為關係,並將非結構化文本轉化為溯源圖

其框架圖如下圖所示,包括:

標準化拆分、同義詞、主動語態

消歧主語省略句消除或補齊、帶刺消除、同義詞消除

文本歸納去除語句冗餘、去掉單詞冗餘

溯源圖構建語義角色標註、溯源圖構建

實體識別和實體消歧示例如下圖所示:

實驗表明Extrator可以有效提取CTI報告的攻擊信息,並以溯源圖形式展現。同時,生成的溯源圖與人工生成的溯源圖能夠進行匹配,驗證了方法的有效性,並且溯源圖可以進一步作為威脅情報檢測系統的輸入。下圖展示了不同攻擊場景的精確率、召回率和F1值。

方法對比:

與iACE等方法不同,本文專注於提取攻擊行為,並以溯源圖的形式捕獲系統級因果關係

本文仍然存在一些缺陷。

由於NLP複雜性,提取精度會損失,某些未知實體無法有效識別

受到CTI報告作者的風格影響,需要專家協作

審計日誌提取的信息限制了細粒度攻擊建模

簡單總結寫到這裡,作者簡單總結下伊利諾伊大學芝加哥分校的五個工作,可以很好地看到他們逐年的優化和改進。分別對應:SLEUTH[USENIX』17]、NODOZE[NDSS』19]、Poirot[CCS』19]、HOLMES[S&P』19]、Extrator[EurS&P』21]。

SLEUTH[USENIX』17]

引入溯源圖檢測APT攻擊

NODOZE[NDSS』19]

增加了威脅檢測和異構圖構建

Poirot[CCS』19]

融合IOC信息,增加了查詢圖和溯源圖的對齊算法

HOLMES[S&P』19]

融合HSG和ATT&CK框架解決語義損失問題,增加去噪剪枝等操作

Extrator[EurS&P』21]

結合NLP方法(消歧)和外部APT分析報告抽取知識,並構建溯源圖

歡迎大家繼續補充作者寫得的不足,因為閱讀有限,也可能漏掉一些重要論文和方法。這裡簡單補充幾個作者分享不足之處和疑惑。

問題1:實驗怎麼評價它的精確率、召回率和F1值呢?是算APT攻擊正確識別數量,還是實體識別數量,還是溯源圖中子圖匹配數量呢?

問題2:如何去鑑別一個APT攻擊,這點也非常重要。是將進程、文件、通信等不同對象標註成不同類別,構建相互之間的關聯呢?

問題3:如何生成溯源圖,並且代碼細節如何實現呢?

問題4:論文中算法核心實現過程需要秀璋進一步精讀和理解,有機會復現文中的論文。

問題5:DARPA TC數據集是否開源,我們能否繼續優化方法。

PS:下面的論文由於閱讀還存在一些疑惑,作者就進行簡單介紹,還請讀者見諒。

HINTI [RAID』20]

第五篇論文是RAID』20的HINTI。

Jun Zhao, et al.Cyber Threat Intelligence Modeling Based on Heterogeneous Graph Convolutional Network. RAID』20

https://www.usenix.org/system/files/raid20-zhao.pdf

北京航天航空大學、密西根州立大學

這篇文章的主要貢獻如下:

提出一種基於異構圖卷積網絡的威脅情報模型,建模IOC之間的依賴關係從非結構化威脅描述中自動提取網絡威脅對象,多粒度注意力機制學習特徵的重要性攻擊偏好建模:將具有相同偏好的攻擊聚集(DBSCAN算法)

與現有的CTI框架不同,HINTI旨在實現一個CTI計算框架,它不僅可以有效提取IOC,而且還可以建模和量化它們之間的關係。下表展示了17種元路徑關係。

HINTI能有效挖掘隱藏在IOCs之間相互依賴關係和安全知識,並應用於威脅模型,其核心四個步驟如下。

(1) 首先,通過B-I-O序列標註方法對安全相關帖子進行標註,用於構建IOC提取模型。

(2) 然後將標記的訓練樣本輸入我們提出的神經網絡,以訓練提出的IOC提取模型。

(3) HINTI利用句法依賴性解析器(e.g.,主-謂-賓,定語從句等)提取IOC之間的關聯關係,每個關係都表示為三元組。

(4) 最後,HINTI集成了基於異構圖卷積網絡的CTI計算框架,以有效量化IOC之間的關係並進行知識發現。

本文提取的13種主要的IOC性能如表3所示。總的來說,我們的IOC提取方法在精確率、召回率、平均F1值都表現出了優異的性能。然而,我們觀察到在識別軟件和惡意軟件時的性能下降,這是因為大多數軟件和惡意軟件是由隨機字符串命名,如md5。

圖8顯示了不同類型元路徑下的前3個聚類結果,其中元路徑 AVDPDTVTAT(P17) 在緊湊和分離良好的集群中性能最好,這表明它比其他元路徑在描述攻擊偏好方面具有更豐富的語義關係。

與之前的方法對比,本文也存在一些缺陷:

未在真實攻擊場景實現

未實現對未知攻擊的預測(知識推理)

未實現運行時檢測及長期潛伏的APT攻擊檢測

沒有和主流的知識框架融合

UNICORN [NDSS』20]

第六篇論文是NDSS』20的UNICORN。

Xueyuan Han, et al.Unicorn: Runtime Provenance-Based Detector for Advanced Persistent Threats. NDSS』20

https://arxiv.org/pdf/2001.01525.pdf

哈佛大學、布里斯托大學、伊利諾伊大學香檳分校、不列顛哥倫比亞大學

這篇文章的主要貢獻如下:

針對APT特性設計一種基於溯源圖(Provenance Graph)的運行時APT檢測方法(直方圖和概要圖)

UNICORN能在沒有先驗攻擊知識的前提下實現APT攻擊檢測,且準確率高和誤報率低

第一個對本地完整系統進行運行分析的APT入侵檢測系統,概要圖能對抗長時間潛伏的投毒攻擊

其框架如下圖所示,包括四個核心步驟:

①構建溯源圖

②建立運行時直方圖

③計算概要圖

④聚類

直方圖生成算法如下,建議讀者精讀原文。

實驗結果如下圖所示:

同時包括一些詳細的性能對比。

UNICORN與之前的方法對比結果如下:

Holmes[S&P』19]和Poirot[CCS』19]:需要先驗專家知識(先決條件-結果模式)

基於系統調用和日誌事件的檢測方法:由於數據過於密集,難以對長時間的攻擊行為進行建模

由於APT潛伏時間長且持久化,攻擊行為會緩慢改變傳統模型以逃避檢測系統(投毒攻擊)

UNICORN的局限性和改進如下:

需要定期重新訓練

正常行為改變可能會產生誤報

未考慮異質性行為

更大的實驗評估(IDS數據集)

ProvDetector NDSS』20

第七篇論文是NDSS』20的ProvDetector。

Qi Wang, et al.You Are What You Do: Hunting Stealthy Malware via Data Provenance Analysis. NDSS』20

https://www.ndss-symposium.org/wp-content/uploads/2020/02/24167-paper.pdf

伊利諾伊大學香檳分校、NEC實驗室、德克薩斯州大學達拉斯分校

首先,我們先介紹下離地攻擊。

只使用預安裝的軟件並且攻擊者沒有在系統上安裝額外的二進制可執行文件。帶有宏、VB腳本、Powershell腳本或者使用系統命令(如netsh命令)的文檔屬於離地攻擊的範圍。

由於現有反病毒軟件和方法很難檢測到該類攻擊,本文提出一種ProvDetector方法,它需要依賴內核級的溯源監控來捕獲目標程序的動態行為。

這篇文章的主要貢獻如下:

提出一種基於溯源圖的系統,用於檢測偽裝技術的隱蔽惡意軟件(離地攻擊 | 無文件攻擊)提出一種新的路徑選擇算法來識別溯源圖中潛在的惡意部分(惡意行為與底層操作系統交互)設計一個新的神經嵌入和機器學習管道,自動為每個程序建立一個輪廓並識別異常進程

ProvDetector的核心ProvDetector分為四部分:圖構建、特徵提取、嵌入和異常檢測。部署監控代理,按照定義收集系統數據放入數據庫。定期掃描數據庫檢查是否有新添加的進程被劫持。對於每個進程,先構建起起源圖(圖構建)。然後從源點圖中選擇路徑子集(特徵提取)並將路徑轉換為數值向量(嵌入)使用一個新穎的檢測器來獲得嵌入向量的預測並報告最終決定(異常檢測)。

實驗結果如下圖所示:

你可能會疑惑為什麼分享這篇文章呢?

一方面由於它也用到了溯源圖概念,另一方面同樣來自於伊利諾伊大學香檳分校團隊(同UNICORN),並且將溯源圖應用於其他領域,即檢測偽裝技術的隱蔽惡意軟件。這也是我們探索論文idea的一個思路,可能其他領域或方法也會給我們帶來靈感喔。當然,目前作者科研能力太弱,需要不斷提升,學習嘛,一輩子的事情。加油!

RapSheet [S&P』20]

第八篇論文是S&P』20的RapSheet。

Wajih Ul Hassan, et al.Tactical Provenance Analysis for Endpoint Detection and Response Systems. S&P』20

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9152771

伊利諾伊大學香檳分校、NortonLifeLock

本文首先指出已有的EDR(端點檢測和響應)工具存在的三個主要弊端:

(1) EDR工具會產生大量的虛假警報,從而為分析人員積壓了調查任務;

(2) 確定這些威脅警報的準確性需要大量的低級系統日誌,人工任務繁瑣;

(3) 由於日誌占用巨大資源,系統日誌通常在進行調查之前就被刪除。

因此,本文提出了戰術源圖(Tactical Provenance Graphs, TPGs)的概念,個人感覺TTPs+溯源圖,並研發了RapSheet系統,直接推理EDR系統生成的威脅警報之間因果關係。其主要貢獻如下:

首次將溯源圖引入商業EDR(Endpoint Detection and Response)提出戰術溯源圖(Tactical Provenance Graphs, TPGs)表示EDR生成威脅警報間的因果依賴關係引入一種威脅評分方法:根據TPGs中存在的單個威脅警報之間的時間順序來評估風險

本文是用商業賽門鐵克EDR軟件進行真實檢測和實驗。其實驗結果表明:

提升商業EDR效果,檢測未知攻擊行為

減少系統日誌降低系統存儲開銷

提高賽門鐵克EDR的威脅檢測精確度

保留警報之間的因果關聯性

RapSheet與傳統方法對比:

Holmes商業EDR部署複雜(保留100%日誌)

holmes16條TTP匹配規則 vs RapSheet增加至67條

實踐中EDR工具會限制日誌緩衝區

NoDoze防止投毒攻擊假設(正常行為數據庫)

未跟蹤ALPC消息(Windows),會斷開溯源圖

利用DTaP高效分布式存儲提高查詢響應時間

ATLAS [USENIX』21]

最後一篇是2021年USENIX的論文,作者僅作了簡單的閱讀。即ATLAS。該文章來自普度大學團隊,針對APT研究成果還包括NDSS』13的BEEP、NDSS』16的ProTracer等。此外,CCS21也發現了新的溯源圖研究成果,說明基於溯源圖的研究仍然是一個值得探索的方向。

Abdulellah Alsaheel, et al.ATLAS: A Sequence-based Learning Approach for Attack Investigation. USENIX』21

https://www.usenix.org/system/files/sec21-alsaheel.pdf

普度大學

本文提出一種基於序列的攻擊調查學習方法ATLAS。其主要觀察結果是:無論所利用的漏洞和執行的有效載荷如何,不同的攻擊可能共享相似的抽象攻擊策略。ATLAS是利用因果關係分析、自然語言處理和機器學習技術的新穎組合來構建基於序列的模型,該模型從因果圖建立攻擊和非攻擊行為的關鍵模式。在推斷時間,給定威脅警報事件,確定因果圖中的攻擊症狀節點。然後,ATLAS構造一組與攻擊症狀節點關聯的候選序列,使用基於序列的模型來識別順序中有助於攻擊的節點,並將識別出的攻擊節點統一起來構建攻擊記錄。

參考Serendipity老師的文章:https://zhuanlan.zhihu.com/p/393375355

本文的主要貢獻如下:

利用審計日誌生成端到端攻擊故事(end-to-end attack story)的框架構建一個基於序列的模型:因果關係圖(causal graph)+自然語言處理+深度學習真實APT攻擊事件(10個)進行實驗,並能恢復攻擊關鍵步驟及還原攻擊故事研究發現不同的攻擊可能共享相似的抽象攻擊策略

個人感覺生成Attack Story還原攻擊故事是本文的一大亮點。

實驗結果如下圖所示,建議閱讀原文。

ATLAS 主要涉及支持審計日誌溯源追蹤的三個子主題,包括:溯源圖的因果關係分析、基於異常的分析以及 ML 技術在攻擊調查中的應用。當然也存在一定的缺陷,即:

當前工作僅限制於Windows平台

無法檢測到使用類似正常事件序列的隱藏攻擊行為,比如模擬攻擊

模型性能很大程度上取決於所收集的訓練日誌條目的質量

三.方法對比

寫到這裡,上述方法已經介紹完畢,接下來我們對所有文章進行簡單的研究趨勢梳理和方法對比研究。

1.基於溯源圖的方法研究趨勢分析

研究趨勢如下,還原各位老師和讀者指正及補充。

2.方法優缺點對比

方法對比主要從溯源圖、知識框架、先驗知識和優缺點進行比較,得出如下表所示結果。個人感覺,溯源圖、是否引入知識框架(ATT&CK)、是否有先驗知識、是否融入NLP(消歧 | 對齊 | 去噪合真實場景應用是該方向研究的重要進步補充。

3.數據集對比

數據集的對比如下圖所示,主要以DARPA TC、公開威脅情報文本和真實場景攻擊數據為主。

四.總結

最後做一個簡單總結,寫得不足之處還請批評和指正。寫這篇文章只希望幫助更多的APT攻擊研究者和初學者,同時也是對自己階段知識的總結,雖然很少有人分享類似正在研究或未發表的總結,但還是想先分享出來,與大家一起探討和進步,真誠地希望對您有幫助吧!感恩遇見,不負青春,讀博路上相互鼓勵着前行。

基於溯源圖的APT攻擊檢測是APT檢測領域中一個非常重要的分支,由於APT攻擊的隱蔽性、威脅性、實時性、針對性,傳統的方法艱難檢測,因此提出了溯源圖的方法。當前的研究趨勢主要表現在:

基於溯源圖和知識圖譜的APT攻擊檢測結合APT攻擊階段特點,融合ATT&CK知識框架進行中間層特徵表示,解決語義損失全系統真實場景的細粒度APT攻擊檢測引入外部威脅情報知識(NLP消歧對齊)來輔助APT檢測無先驗專家知識對未知APT攻擊實現預測

未來的研究趨勢,個人感覺如下,不喜勿噴,哈哈!

基於圖神經網絡的APT攻擊檢測,圖可能更好地表達攻擊之間的關係從NLP角度分析APT攻擊以揭示其特性(融合惡意代碼分析)檢測並定位APT攻擊樣本中0-day漏洞是否存在及位置,感覺很難場景遷移:EDR、無文件攻擊、在線場景、真實場景加密、混淆、對抗樣本、無文件

學安全一年,認識了很多安全大佬和朋友,希望大家一起進步。這篇文章中如果存在一些不足,還請海涵。作者作為網絡安全初學者的慢慢成長路吧!希望未來能更透徹撰寫相關文章。同時非常感謝參考文獻中的安全大佬們的文章分享,深知自己很菜,得努力前行。

最後感謝CSDN和讀者們十年的陪伴,不論外面如何評價CSDN,這裡始終是我的家,在這裡寫文章很溫馨,也認識了很多大佬和朋友。此外,個人感覺今年是我近十年文章質量最高的一年,每一篇都寫得很用心,都是我的血肉,很多都要自己從零去學習再分享,也希望幫助更多初學者。總之,希望自己還能寫二十年,五十年,一輩子。

《珈國情》明月千里兩相思,清風縷縷寄離愁。燕歸珞珈花已謝,情滿景逸映深秋。

最感恩的永遠是家人的支持,知道為啥而來,知道要做啥,知道努力才能回去。夜已深,雖然笨,但還得奮鬥。

歡迎大家討論,是否覺得這系列文章幫助到您!任何建議都可以評論告知讀者,共勉。


(By:Eastmount 2022-06-09夜於月球)

前文回顧(下面的超鏈接可以點擊喔):

[系統安全] 一.什麼是逆向分析、逆向分析應用及經典掃雷遊戲逆向

[系統安全] 二.如何學好逆向分析及呂布傳遊戲逆向案例

[系統安全] 三.IDA Pro反匯編工具初識及逆向工程解密實戰

[系統安全] 四.OllyDbg動態分析工具基礎用法及Crakeme逆向破解

[系統安全] 五.OllyDbg和Cheat Engine工具逆向分析植物大戰殭屍遊戲

[系統安全] 六.逆向分析之條件語句和循環語句源碼還原及流程控制

[系統安全] 七.逆向分析之PE病毒原理、C++實現文件加解密及OllyDbg逆向

[系統安全] 八.Windows漏洞利用之CVE-2019-0708復現及藍屏攻擊

[系統安全] 九.Windows漏洞利用之MS08-067遠程代碼執行漏洞復現及深度提權

[系統安全] 十.Windows漏洞利用之SMBv3服務遠程代碼執行漏洞(CVE-2020-0796)復現

[系統安全] 十一.那些年的熊貓燒香及PE病毒行為機理分析

[系統安全] 十二.熊貓燒香病毒IDA和OD逆向分析(上)病毒初始化

[系統安全] 十三.熊貓燒香病毒IDA和OD逆向分析(中)病毒釋放機理

[系統安全] 十四.熊貓燒香病毒IDA和OD逆向分析(下)病毒感染配置

[系統安全] 十五.Chrome密碼保存功能滲透解析、Chrome藍屏漏洞及音樂軟件漏洞復現

[系統安全] 十六.PE文件逆向基礎知識(PE解析、PE編輯工具和PE修改)

[系統安全] 十七.Windows PE病毒概念、分類及感染方式詳解

[系統安全] 十八.病毒攻防機理及WinRAR惡意劫持漏洞(bat病毒、自啟動、藍屏攻擊)

[系統安全] 十九.宏病毒之入門基礎、防禦措施、自發郵件及APT28宏樣本分析

[系統安全] 二十.PE數字簽名之(上)什麼是數字簽名及Signtool簽名工具詳解

[系統安全] 二十一.PE數字簽名之(中)Signcode、PEView、010Editor、Asn1View工具用法

[系統安全] 二十二.PE數字簽名之(下)微軟證書漏洞CVE-2020-0601復現及Windows驗證機制分析

[系統安全] 二十三.逆向分析之OllyDbg動態調試複習及TraceMe案例分析

[系統安全] 二十四.逆向分析之OllyDbg調試INT3斷點、反調試、硬件斷點與內存斷點

[系統安全] 二十五.WannaCry勒索病毒分析 (1)Python復現永恆之藍漏洞實現勒索加密

[系統安全] 二十六.WannaCry勒索病毒分析 (2)MS17-010漏洞利用及解析

[系統安全] 二十七.WannaCry勒索病毒分析 (3)蠕蟲傳播機制分析及IDA和OD逆向

[系統安全] 二十八.CS逆向分析 (1)你的遊戲子彈用完了嗎?Cheat Engine工具入門

[系統安全] 二十九.外部威脅防護和勒索病毒對抗(深信服視頻學習)

[系統安全] 三十.WannaCry勒索病毒分析 (4)全網「最「詳細的蠕蟲傳播機制解讀

[系統安全] 三十一.惡意代碼檢測(1)惡意代碼攻擊溯源及惡意樣本分析

[系統安全] 三十二.惡意代碼檢測(2)常用技術萬字詳解及總結

[系統安全] 三十三.惡意代碼檢測(3)基於機器學習的惡意代碼檢測技術

[系統安全] 三十四.惡意代碼檢測(4)編寫代碼自動提取IAT表、字符串及時間戳

[系統安全] 三十五.Procmon工具基本用法及文件進程、註冊表查看

[系統安全] 三十六.學術分享之基於溯源圖的APT攻擊檢測安全頂會論文總結

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()