亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于系統(tǒng)溯源圖的威脅發(fā)現(xiàn)與取證分析綜述

        2022-08-04 03:38:18冷濤蔡利君于愛民朱子元馬建剛李超飛牛瑞丞孟丹
        通信學報 2022年7期
        關鍵詞:日志威脅語義

        冷濤,蔡利君,于愛民,2,朱子元,2,馬建剛,李超飛,2,牛瑞丞,2,孟丹,2

        (1.中國科學院信息工程研究所,北京 100093;2.中國科學院大學網絡空間安全學院,北京 100049;3.四川警察學院智能警務四川省重點實驗室,四川 瀘州 646000)

        0 引言

        當前,政府和企業(yè)面臨著高級持續(xù)性威脅(APT,advanced persistent threat)[1]。震網攻擊、極光漏洞先后發(fā)生,世界各國開始重視APT 攻擊。傳統(tǒng)的APT 攻擊檢測方法主要聚焦單步攻擊檢測,無法捕獲系統(tǒng)長期運行行為,而APT 攻擊大量應用零日漏洞,導致威脅檢測困難。2015 年,美國國防部高級研究計劃局提出4 年透明計算計劃[2],希望找到一種高保真和可視化的方法來抽象出系統(tǒng)中的攻擊活動。研究人員發(fā)現(xiàn)依靠系統(tǒng)監(jiān)控日志數據構造具有較強抽象表達能力的溯源圖進行因果關系分析,能有效表達威脅事件的起因、攻擊路徑和攻擊影響,為威脅發(fā)現(xiàn)和取證分析提供較高的檢測效率和穩(wěn)健性[3]。Han 等[3]介紹了基于溯源圖的入侵檢測的機遇和挑戰(zhàn)。Zafar 等[4]描述了安全溯源的生命周期,提出了現(xiàn)有安全溯源方案的分類方法,并指出了它們的優(yōu)缺點。Tan 等[5]討論了網絡攻擊溯源中數據源優(yōu)化和數據關系分析兩類文獻,并圍繞安全性、有效性(效能)、效率進行對比分析。Li 等[6]側重討論利用系統(tǒng)級溯源圖構建攻擊模型,進行威脅檢測和調查。潘亞峰等[7]重點綜述了APT 攻擊場景重構方法。本文重點綜述了基于溯源圖的數據采集、數據管理(圖構建、圖縮減、圖存儲和圖查詢)、數據分析(威脅檢測、威脅狩獵、取證分析)等工作。

        本文貢獻可概括為:1) 提出了基于溯源圖的威脅發(fā)現(xiàn)和取證分析框架;2) 總結了多種場景下日志采集、數據縮減和存儲方案;3) 分類總結了威脅檢測、威脅狩獵、取證分析的研究方法和模型;4) 展望了下一步研究方向。

        1 背景知識

        1.1 溯源圖

        管理員通過系統(tǒng)審計或配置服務器可以獲得多個層級的日志事件,如應用程序級、網絡級、指令級和系統(tǒng)級[8]。應用程序級日志是應用程序產生的日志,如網站服務器等應用程序產生的日志。網絡級日志可通過監(jiān)控系統(tǒng)的網絡訪問獲得,如Zeek捕獲網絡流量日志。指令級日志是指機器指令產生的日志,可提供完整信息,但很難理解。系統(tǒng)級日志是一串按時間順序排列的事件元組,表示不同時間某進程(或線程)訪問某個文件或網絡連接的方式。Auditd、ETW 等內核級框架審計工具可獲取系統(tǒng)調用事件日志。研究者將系統(tǒng)級日志事件抽象為溯源圖表示[8]。

        定義1溯源圖。設定溯源圖G=,其中,S表示主體(進程或線程)的集合,主體屬性包括進程id、pid、命令行、所有者、代碼和數據的標簽等;O表示客體(如文件、管道、網絡連接等)集合,客體屬性包括名字、類型、所有者和標簽;E表示系統(tǒng)調用事件方式集合,如read、write、fork、open、create 等,指實體(主體和客體)間的信息流;T表示時間戳,指主客體的訪問時間。在溯源圖中,主體和客體用頂點表示,事件類型用邊表示,在不同的時間,2 個頂點之間可以有多條邊。這種表示實體(主體和客體)間關系方向的圖被稱為溯源圖。由于溯源圖表達了系統(tǒng)日志的起源,有些文獻也將溯源圖翻譯為起源圖或依賴圖,本文統(tǒng)一稱為溯源圖。事件日志與溯源圖如圖1 所示,其中,A、B、E 進程表示存活狀態(tài),F(xiàn) 進程狀態(tài)表示死亡狀態(tài)。

        圖1 事件日志與溯源圖

        圖1(a)表示事件日志,圖1(b)表示通過事件日志形成的溯源圖。頂點代表系統(tǒng)中的實體,連接2 個頂點的邊代表時間類型,箭頭代表2 個實體之間的數據內容或控制信息的流動,邊上的數字代表操作發(fā)生的時間(數字越小,事件發(fā)生越早)。

        1.2 威脅檢測

        威脅檢測用于分析整個安全生態(tài)系統(tǒng),識別可能危及網絡的任何惡意活動。威脅檢測方法主要包括基于誤用的檢測和基于異常的檢測[9]?;谡`用的檢測通過構建惡意樣本特征進行檢測,只能檢測已知攻擊;基于異常的檢測通過構建合理行為的邊界設置異常閾值,超過閾值則判斷為異常。雖然基于異常的檢測可判斷未知攻擊,但也導致了較高的誤報率。APT 攻擊是一種復雜攻擊,跨度時間長,一般潛伏期可達半年,具有多步、隱蔽性等特點,單步檢測效果不佳,研究者探索基于系統(tǒng)日志構造溯源圖,利用規(guī)則、異常和學習等方法實現(xiàn)APT攻擊威脅檢測。

        1.3 威脅狩獵

        徐嘉涔等[10]將威脅狩獵定義為主動持續(xù)地在網絡中搜索可以繞開安全檢測或產生危害的威脅的過程。Valentina[11]將威脅狩獵定義為人為活動,通過反復搜索組織環(huán)境(網絡、端點和應用程序)的妥協(xié)指標(IoC,indicator of compromise),以縮短停留時間并最大限度地減少入侵對組織的影響。常見的妥協(xié)指標包括惡意文件/進程名、病毒特征、僵尸網絡的IP 地址和域名等。停留時間是指攻擊侵入系統(tǒng)到被檢測發(fā)現(xiàn)的時間。威脅狩獵的方法包括數據驅動、情報驅動、實體驅動、戰(zhàn)略?技術?過程(TTP,tactic technique procedure)驅動、混合驅動5 種類型[12]。數據驅動是指查看已有數據來尋找內容,如利用代理日志查看不常見用戶代理發(fā)現(xiàn)異常。情報驅動是指分析師利用威脅情報數據集,通過搜索和匹配威脅指標。實體驅動是指搜索關鍵知識產權和網絡資源等高風險、高價值實體。TTP 驅動是指通過了解攻擊者使用的戰(zhàn)略、技術和過程,搜索已知的TTP,實現(xiàn)威脅狩獵?;旌向寗邮巧鲜龇椒ǖ娜诤稀D2 展示了威脅狩獵的過程[13],其目的是縮短攻擊停留的時間。

        圖2 威脅狩獵的過程

        1.4 取證分析

        取證分析概念包含的內涵較廣,本文所述取證分析是指用戶在發(fā)現(xiàn)其遭受網絡攻擊后,調查人員根據告警或攻擊特征進行攻擊溯源和攻擊場景重建分析等。基于溯源圖的取證分析的一般過程是在溯源圖上找到攻擊特征節(jié)點并執(zhí)行后向查詢,從而找到攻擊入口點,然后根據攻擊入口點執(zhí)行前向查詢,關聯(lián)出攻擊事件路徑。此外,取證分析還考慮攻擊場景重構,即從大量的日志數據中,根據特定的攻擊行為模式和語義知識,通過分析數據之間的的關聯(lián)關系,還原包含數據層攻擊行為的語義信息和攻擊戰(zhàn)略戰(zhàn)術、過程語義知識的完整攻擊行為視圖的過程[7]。

        定義2后向查詢。邊e的后向查詢是溯源圖G的子圖,表示從溯源圖G 中某頂點執(zhí)行逆向查詢,可到達的目的頂點的邊的集合。以圖1 為例,假設進程E 被標記為可疑的,需要找到進程E的流入邊,可以通過后向查詢得到集合 {EBE?6,EDB?5,EDB?4,ECB?3,ECB?2,EAC?1},找到入口點A。注意邊EAD?7不在E頂點的后向溯源邊中,因為其發(fā)生時間晚于調查點E的時間。

        定義3前向查詢。邊e的前向查詢是溯源圖G的子圖,表示從溯源圖G 中某頂點作為源頂點,執(zhí)行正向查詢可到達邊的集合。以圖1 為例,在找到攻擊入口點A 后,如果要找到EAC?1的影響,執(zhí)行前向查詢,得到邊集合為 {EAC?1,ECB?2,ECB?3,EBE?6,ECF?8,EFH?10}。

        BackTracker[8]第一次引入溯源圖用于入侵檢測,開辟了終端主機攻擊溯源的工作,通過定義終端主機進程之間、進程與文件之間以及進程與文件名之間的依賴關系來構造溯源圖。攻擊入口點是通過給定告警事件后向查詢分析確定的,當系統(tǒng)中的一個實體被標記為可疑時,需要在溯源圖中反復搜索其他實體對目標可疑實體的歷史作用,直到該實體沒有流入的邊,從而確定攻擊入口點。

        2 研究框架

        基于系統(tǒng)溯源圖的威脅發(fā)現(xiàn)與取證分析包括數據采集、數據管理、數據分析3 個模塊。數據采集模塊包含不同場景下的數據采集;數據管理模塊包括數據預處理、溯源圖的存儲和查詢可視化;數據分析模塊包括威脅檢測、威脅狩獵和取證分析。威脅檢測可應用于威脅狩獵的不同框架中,取證分析基于已發(fā)現(xiàn)的威脅開展取證調查和重建分析,整體研究框架如圖3 所示。下面,詳細介紹各模塊的內容和方法。

        圖3 整體研究框架

        3 數據采集

        3.1 數據采集方式

        日志采集主要包括終端側系統(tǒng)級日志、應用程序日志和網絡側日志等。

        3.1.1 基于終端側系統(tǒng)級日志采集

        常見的終端側系統(tǒng)內核級日志采集工具如Auditd、ETW、Dtrace 等。Lineage[14]是系統(tǒng)級溯源的首次嘗試,該系統(tǒng)通過修改linux 內核調用,使用戶進程從printk 緩沖區(qū)中讀取捕獲的內容并存儲到SQL 數據庫中。PASS[15]在虛擬文件系統(tǒng)層捕獲溯源數據,PASSV1[15]提供了進程I/O 交互的函數,PASSV2[16]提供了一個跨語義層溯源集成的應用程序接口,但是系統(tǒng)版本的升級加大了這些方案的擴展難度。SPADE[17]是一個分布式系統(tǒng)日志審計工具,可支持跨平臺應用。Hi-Fi[18]是第一個完整的全系統(tǒng)溯源,可收集完整溯源記錄,除了內核和應用程序行為,還包括網絡連接等;Hi-Fi 采用LSM HOOK 實現(xiàn)數據監(jiān)控,不支持安全模式堆棧,因此容易受到攻擊。Linux 溯源模塊[19]創(chuàng)建了一個可信賴的溯源感知執(zhí)行環(huán)境,解決了溯源數據可靠性限制,可收集整個系統(tǒng)的溯源數據。Bates 等[20]提出了DAP 捕獲Web 服務組件的詳細數據源,它是Linux溯源模塊[19]的附加服務。CamFlow[21]是一個嚴格意義上的獨立框架,實現(xiàn)了系統(tǒng)級日志的采集,它使用標準的內核功能,并且容易擴展。

        3.1.2 基于終端側系統(tǒng)級日志+應用程序日志采集

        雖然系統(tǒng)級日志展現(xiàn)了進程、文件、網絡連接之間的依賴關系,但與應用程序日志相比,系統(tǒng)級日志從系統(tǒng)層面挖掘系統(tǒng)行為的因果依賴關系沒有考慮應用層語義,存在語義鴻溝問題;對于攻擊取證分析,應用程序日志能提供大量的攻擊相關信息,如OmegaLog[22]和ALchemist[23]嘗試融合系統(tǒng)級日志記錄和應用程序日志記錄,實現(xiàn)語義還原。

        3.1.3 基于終端側系統(tǒng)級日志+網絡側日志采集

        由于APT 攻擊通??缭蕉鄠€主機,基于終端側系統(tǒng)級日志和應用程序日志不能完全捕獲數據,因此研究者探索將系統(tǒng)監(jiān)控審計數據與網絡側數據相結合[24-27]。雖然PASS[15]可以支持使用網絡文件系統(tǒng)來收集溯源日志,但不支持收集訪問本地機器的套接字信息。例如PASS 不能記錄通過遠程攻擊破壞或竊取本地IP 地址和端口號的行為。PDMS[24]對PASS 進行了擴展,通過監(jiān)控和記錄每一個網絡會話,捕獲連接到本地主機的每一個網絡套接字,并將網絡套接字視為文件對象,收集文件、管道、進程和網絡套接字之間的依賴關系,準確地跟蹤系統(tǒng)的數據流入和流出。Haas 等[25]提出了開源平臺Zeek-Osquery,將操作系統(tǒng)級日志與網絡側日志實時關聯(lián),實現(xiàn)實時入侵檢測,然而這種級別的跨主機攻擊溯源依然會因為套接字的不確定性而存在大量的錯誤關聯(lián)。Ji 等[26]綜合了多種技術,提出了一種有效的跨主機追蹤溯源方法RTAG,可以在一定程度上解決當前網絡側與終端側數據無法關聯(lián)溯源的問題。

        3.2 數據采集粒度

        根據系統(tǒng)級日志采集數據粒度不同,數據采集分為粗粒度和細粒度[5]采集。粗粒度采集是指僅追蹤系統(tǒng)級對象(進程、文件),是一種進程級調用監(jiān)控或對內核模塊安裝鉤子進行數據攔截的方法。系統(tǒng)級溯源可通過系統(tǒng)內置審計組件監(jiān)控獲得。細粒度采集的目標是實現(xiàn)精確依賴關系,比系統(tǒng)進程級追蹤粒度更細,常采用進程執(zhí)行單元分區(qū)[28]、污點分析追蹤變量變化等。一個進程可以被“分割”成多個單元,每個單元分區(qū)是一個進程的執(zhí)行段,處理一個特定的對象,例如瀏覽器進程可根據打開的網頁窗口進行劃分。Lee 等[28]首先提出基于進程執(zhí)行單元分區(qū)的方法,由于追蹤變量的污點分析粒度太細,不適合構造因果溯源圖,因此提出在進程級粗粒度和變量級細粒度之間的“單元”概念。ProTracer[29]利用基于單元的執(zhí)行分區(qū)來提高壓縮率,將程序劃分為多個單元,以實現(xiàn)細粒度的污點跟蹤,其中一個單元對應一個循環(huán)模式。MP[30]要求軟件開發(fā)者對應用程序中的重要數據結構進行注釋,通過注釋實現(xiàn)單元劃分。這些技術都依賴于源代碼或二進制工具[31]。LogGC[32]引入程序工具,輸出細粒度的依賴信息,不僅可以將一個進程分成多個可執(zhí)行單元,還可以把一個數據文件分成多個邏輯數據單元,但其對每個應用程序的定制成本太高。UIScope[33]也借鑒單元分區(qū)的方法實現(xiàn)了了細粒度采集日志。

        3.3 數據集

        3.3.1 開源數據集

        研究APT 攻擊檢測和取證分析的常用開源數據集有StreamSpot[34]、CERT[35]、LANL[36]、DARPA TC 系列[37-38]、OpTC[39]等。Manzoor 等[34]開源了StreamSpot 數據集,該數據集包含一個攻擊和5 個普通應用場景,數據集較小,常用于對比實驗[40]。CERT[35]數據集是內部威脅檢測數據集,該數據集模擬惡意內部人員實施系統(tǒng)破壞、信息竊取、內部欺詐等攻擊行為數據。LANL[36]數據集描述了一個攻擊團隊所進行的惡意活動,該數據集在威脅檢測場景中主要用于模擬APT 攻擊檢測[40-43]。OpTC 數據集是DARPA TC 數據集的最新迭代,SK-Tree[44]使用該數據集進行測試。DARPA 透明計算系列提供對APT的實時檢測和取證分析[23,44-53]。目前開源了DARPA TC3和DAPRPA TC5 這2 個數據集。Berrada 等[51]從DARPA TC2和DARPA TC3 中選擇部分數據構造了adaptdata 數據集。Benabderrahmane等[52]基于此數據集提出基于規(guī)則的高級威脅檢測方法。DAPT 2020[54]提供了APT 攻擊的詳細階段,并對攻擊樣本打了標簽,但檢測模型的準確率很低,需要研究新的檢測模型。

        3.3.2 復現(xiàn)實驗捕獲數據集

        由于APT 攻擊復雜,有關APT 檢測的開源數據集較少。以往的研究除了在開源數據集上檢測模型,還通過自主設計實驗或利用安全企業(yè)采集的數據進行分析,自主實驗一般復現(xiàn)APT 攻擊報告,自主采集日志生成數據集。常見的復現(xiàn)實驗有數據竊取、釣魚郵件[23,53,55]、破殼漏洞[56]、后門[29]、文件傳送[57]、哈希傳遞攻擊[53]和錯誤配置[29]等。

        4 溯源圖數據管理

        APT 攻擊潛伏期較長,企業(yè)需要保留半年以上的日志數據。據統(tǒng)計,每天每臺電腦監(jiān)測產生的日志超過1 GB[58],存儲負擔重,不利于后續(xù)查詢和分析工作,因此需要對數據進行預處理,減少數據存儲,同時也考慮保證攻擊語義的完整性。

        4.1 溯源圖縮減與壓縮

        溯源圖縮減主要圍繞邊縮減、頂點縮減、圖縮減、圖形壓縮和語義保留等進行研究,溯源圖縮減方法如表1 所示。

        表1 溯源圖縮減方法

        4.1.1 邊縮減

        Xu 等[57]根據系統(tǒng)事件之間因果關系的等同性來減少日志條目的數量,提出了因果關系保全縮減(CPR,causality preserved reduction)、以進程為中心的因果關系逼近縮減(PCAR,process-centric causality approximation reduction)和基于領域知識縮減(DOM)的方法。CPR 聚合依賴性相同的事件,雖然能保留圖的網絡拓撲結構,但會丟失統(tǒng)計信息,如訪問頻率等。某些系統(tǒng)行為會導致對象和其相關鄰居形成密集連接的依賴圖,因此該研究提出一種保留因果關系的單跳圖縮減技術PCAR,這種方法會刪除與目標文件無關的重復讀/寫操作?;陬I域知識的縮減主要是刪除臨時文件等。臨時文件是指在其生命周期中只與一個進程有信息交換,在攻擊取證中也不引入任何明確的信息流,因此可以從數據中刪除所有臨時文件的事件。CPR 保留了語義信息,但縮減效率有限,為進一步壓縮,Hossain 等[49]提出了完全依賴保留縮減(FDPR,full dependence preserving reduction)和源依賴保留縮減(SDPR,source dependence preserving reduction)。FDPR 在縮減數據的同時保留完全依賴性,而SDPR 在FDPR基礎上只考慮保留前向依賴關系,進一步提高縮減效率。但FDPR和SDPR 均放寬了因果關聯(lián)的條件,使更多的重復事件可以被修剪,同樣當查詢有時間限制時,也可能引入假陰性。

        4.1.2 頂點縮減

        LogGC[32]關注對象的生命周期,引入垃圾收集理念。由于許多應用程序在執(zhí)行期間會產生臨時文件,這些文件在應用程序終止后會被銷毀,而系統(tǒng)不會受到這些文件的影響,因此可將這些文件當作垃圾進行收集以節(jié)省空間。但如果刪除的臨時文件與網絡套接字有關,攻擊者所做的滲透攻擊竊取數據文件可能會被遺漏。NodeMerge[59]提出了在線數據縮減方法,通過自動學習固定的庫和運行程序的只讀資源集作為模板,并進一步使用這些模板來縮減系統(tǒng)事件數據。NodeMerge 在大數據分析處理等只讀事件多的縮減任務很有效,但是對于那些沒有加載很多文件或在初始階段有文件訪問模式的應用程序,其縮減效果不明顯。

        4.1.3 圖縮減

        PrioTracker[55]優(yōu)先考慮異常依賴關系的邊,NoDoze[53]將該方法推廣到異常路徑而不是單條邊,可將原始圖的大小減小2 個數量級,加快了調查速度,不會丟失攻擊的重要信息。然而,基于異常的方法需要有代表性的訓練數據,訓練數據的問題可能導致假陽性、假陰性。Rapsheet[60]提供2 條圖縮減規(guī)則,為保證完成警報規(guī)則匹配,時間間隔必須足夠長。該研究提出了可以獲得更好壓縮效果的一般方法,但該壓縮方法需要將整個依賴圖作為輸入,不能處理實時流數據。

        4.1.4 圖形壓縮

        LogGC[32]、FD-SD[49]、CPR[57]和NodeMerge[59]等方法都是采用匹配預定義的模式去掉日志,實現(xiàn)有損壓縮,雖然實驗表明其因果關聯(lián)具備有效性,但不能保證所有任務都能得到正確結果。無損壓縮可以保存所有信息并支持因果關系分析。SEAL[61]通過系統(tǒng)日志生成依賴圖,并對圖的結構(如頂點和邊)進行無損壓縮,然后對邊的屬性(如時間戳)進行無損壓縮,確保每次查詢都能得到正確的回答,同時保證查詢效率。

        4.1.5 語義保留壓縮

        Zhu 等[62]提出基于通用、高效、實時的數據壓縮方案,包含維護全局語義(GS,global semantics)和可疑語義(SS,suspicious semantics)2 種壓縮策略。維護全局語義的數據壓縮策略是確定并刪除不影響全局依賴的冗余事件。GS 策略的思想是假設在源頂點的語義沒有改變的情況下,信息流對同一目標的影響是等價的,等價的事件可以作為冗余被刪除,只需保留對目標頂點有影響的第一個事件。在溯源圖中,一個頂點沒有傳入邊時,可以認為該頂點的語義沒有發(fā)生變化,其傳出邊的語義也沒有發(fā)生變化?;诳梢烧Z義的數據壓縮策略是根據取證分析的目的恢復攻擊鏈。SS 策略的思想是通過使用實體上下文,自動判斷該事件是否與攻擊有關,與攻擊無關的事件可以被刪除。SS 策略默認維護2 個表,一個是高價值文件目錄表,另一個是敏感進程命令行表,并定義一套可擴展的可疑語義轉移規(guī)則。Michael等[58]首次提出了取證有效性度量,形式化定義了無損取證、因果保全取證、攻擊保全取證3 個衡量標準,并提出了針對攻擊的優(yōu)化近似方法LogApprox。

        4.2 數據存儲模型

        常見的圖存儲方法主要有圖數據庫、內存數據庫、鍵值數據庫和關系型數據庫等。

        4.2.1 圖數據庫

        圖數據庫是一種非關系型數據庫,常用來存儲和表示圖的數據結構、快速執(zhí)行圖的相關算法等。Setayeshfar 等[47]和Gao 等[63]使用圖數據庫進行存儲;Gao 等[63]將系統(tǒng)進程、文件、網絡連接存儲為頂點,事件存儲為邊,并根據關鍵屬性建立索引,提高查詢速度。一般在圖數據庫存儲之前需進行數據縮減,但政府和企業(yè)往往擁有成千上萬臺計算機,其原始數據量很容易達到PB 級別[62],即使經過預處理,溯源圖仍然較大,每次使用時都需要將保存在圖數據庫中的溯源圖加載入內存,這會造成巨大的開銷和內存負載,而且圖數據庫支持的算法有限。

        4.2.2 內存數據庫

        SLEUTH[45]、HOLMES[48]、FD-SD[49]和POIROT[64]利用內存數據庫將整個因果關系數據存儲在主內存中進行取證分析。SLEUTH[45]采用數據壓縮和編碼技術,使用可變長度編碼事件特征,但增加了復雜性,降低了運行效能。HOLMES[48]利用高度緊湊的溯源圖表示方法,審計日志中的每個事件平均只需要5 byte 即可表示。FD-SD[49]依靠版本圖和優(yōu)化算法實現(xiàn)緊湊性,在執(zhí)行圖構建任務時,執(zhí)行速度比SLEUTH[45]快3倍。SWIFT[65]采用分層存儲系統(tǒng),設計了一個異步緩存驅逐策略,計算出因果關系圖中最可疑的部分,并只將該部分緩存在主內存中,而將其余部分存儲在磁盤上。KCAL[66]采用了一種內核級緩存,以消除冗余的因果事件,并減少日志從內核到用戶空間的傳輸開銷。GrAALF[47]使用內存存儲作為事件的緩沖區(qū),然后送入關系數據庫或圖數據庫存儲,并在內存存儲之前提供了不壓縮、無損壓縮、保持取證的準確性、有損壓縮4 種處理模式。

        4.2.3 鍵值數據庫

        PIDAS[67]使用BerkeleyDB 數據庫來存儲縮減后的溯源圖,pnode 號碼唯一標識每個對象,IdentityDB 存儲每個對象的身份信息(例如文件節(jié)點號和進程ID),ParentDB和ChildDB 分別存儲一個對象與其父節(jié)點和子節(jié)點之間的依賴關系,NameDB 存儲一個對象的名稱和它的pnode 編號之間的映射關系,RuleDB 存儲發(fā)生的事件。PDMS[24]采用同樣的存儲方法。Pagoda[68]使用Redis 鍵值數據庫存儲。

        4.2.4 關系型數據庫

        PostgreSQL 是開源關系型數據庫,同時支持JSON 等非關系型數據類型。Setayeshfar 等[47]、Gao等[63,69]使用PostgreSQL 進行后端存儲,其中,文獻[63]將從日志提取出的系統(tǒng)實體和系統(tǒng)事件存儲在不同的表中,文獻[69]還支持Greenplum 開源數據庫。

        4.3 數據查詢與可視化

        溯源圖的構建、存儲為查詢系統(tǒng)的開發(fā)奠定基礎,研究者先后開發(fā)了基于溯源圖的查詢系統(tǒng)(如CamQuery[70]、AIQL[71]、SAQL[72]、ThreaRaptor[73]),可視化應用(如ThreatRaptor WebUI[63]、AIQL UI[69]、SAQL UI[74]、GrAALF[47])。CamQuery[70]提供了一個可編程的圖形處理框架,實現(xiàn)以頂點為中心的查詢API。AIQL、SAQL 都是特定領域的查詢語言,AIQL 建立在現(xiàn)有的監(jiān)測工具和數據庫之上,實現(xiàn)持久性存儲,可以支持即時的攻擊調查;SAQL 是基于流的查詢系統(tǒng),將企業(yè)中多個主機的實時事件反饋作為輸入,并提供異常查詢引擎,可實時檢測基于指定異常模型的異常行為,還可以查詢實時攻擊足跡。ThreaRaptor[73]利用開源威脅情報自動構建威脅行為圖,實現(xiàn)威脅狩獵窮舉搜索和可視化。GrAALF[47]實現(xiàn)了圖形化的取證分析系統(tǒng),可有效加載、存儲、處理、查詢和顯示從系統(tǒng)事件中提取的因果關系,以支撐取證分析,與類似系統(tǒng)相比,GrAALF[47]提供了關系數據庫、圖數據庫和內存存儲3 種后端存儲方式,實現(xiàn)存儲、直觀查詢和實時跟蹤更長事件序列的能力。

        經過采集系統(tǒng)審計日志,構造系統(tǒng)溯源圖,利用各種算法實現(xiàn)對溯源圖的縮減,并設計數據存儲模型完成溯源圖的高效存儲和查詢,下一步將介紹利用系統(tǒng)溯源圖數據進行數據分析,主要包括威脅發(fā)現(xiàn)和取證分析兩大模塊。

        5 基于系統(tǒng)溯源圖的威脅發(fā)現(xiàn)

        基于溯源圖的威脅發(fā)現(xiàn)主要包括威脅檢測和威脅狩獵。威脅檢測覆蓋整個攻擊階段,是被動的檢測;而威脅狩獵假設攻擊者已經進入系統(tǒng)還沒有被發(fā)現(xiàn),利用威脅情報驅動等方法主動發(fā)現(xiàn)威脅。

        5.1 威脅檢測

        威脅檢測的主要任務是檢測給定網絡場景的威脅,觸發(fā)網絡告警。MITRE ATT &CK 框架提出14 個階段的APT 知識庫來描述APT 攻擊戰(zhàn)略。HOLMES[48]根據APT 攻擊殺傷鏈7 個階段設計了檢測指標。Li 等[40]和Xiong 等[75]提出相似的三階段劃分:1) 滲透和惡意代碼執(zhí)行;2) 內部偵察和橫向移動;3) C&C(Command and control)通信和數據滲出。APT 攻擊威脅檢測研究較多,如魚叉式釣魚郵件檢測[76]、橫向移動檢測[42-43]、利用域名系統(tǒng)(DNS,domain name system)檢測妥協(xié)主機[40]等。Log2vec[42]和MLTracer[43]通過構建異構圖,分別利用圖嵌入和圖神經網絡進行異常檢測。近年來基于系統(tǒng)溯源圖檢測APT 攻擊成為研究熱點,如表2 所示。

        表2 威脅檢測研究熱點

        5.1.1 基于規(guī)則的檢測

        基于規(guī)則的檢測是指根據已知攻擊制定規(guī)則策略。SLEUTH[45]結合攻擊者的動機和手段,定義了5 條觸發(fā)警告的規(guī)則,使用基于標簽的方法,如果一段數據或代碼有未知標簽,就是不受信任的源。Morse[46]將本地檢測結果存儲在標簽中,并通過標簽在溯源圖中的傳播對攻擊鏈進行關聯(lián),并定義了二進制代碼內存執(zhí)行、惡意文件執(zhí)行、進程注入、修改文件權限、文件崩潰、提權、可信數據泄露7 條規(guī)則來實現(xiàn)攻擊檢測,但是如果對標簽沒有控制,標簽會過度傳播并導致依賴性爆炸問題。HOLMES[48]通過安全專家構建的威脅子圖作為知識圖,采用層次化的策略模板,將底層實體行為映射為ATT&CK 矩陣中的TTP,并定義了APT 攻擊的7 個階段和16 條TTP 規(guī)則,然后利用圖匹配算法計算與系統(tǒng)溯源圖中相匹配的攻擊,實現(xiàn)語義威脅檢測,并區(qū)分攻擊所處的階段。POIROT[64]利用APT 攻擊報告手動構建威脅查詢圖,基于圖對齊匹配溯源圖檢測威脅。SAQL[72]提供了基于規(guī)則的查詢和利用特定領域語言查詢威脅2 種方式。Patrol[77]通過捕獲操作系統(tǒng)對象之間的依賴關系,通過入侵特征執(zhí)行向前搜索和向后搜索,構建零日攻擊路徑規(guī)則,識別出可疑的候選入侵傳播路徑,然后進一步識別路徑中未知漏洞利用的指標(如一些內核函數),從而識別出這些路徑中高度可疑的候選者。對于APT 攻擊,該方法可以捕獲不同時間跨度的入侵傳播路徑,但無法將他們關聯(lián)起來。

        5.1.2 基于異常的檢測

        異常行為檢測方法首先通過建立正?;顒拥妮喞缓髮⑦`反正?;顒拥男袨榕卸楫惓!teamSpot[34]建模主機級APT 檢測問題為在流異構圖中基于聚類的異常檢測任務,考慮了圖中不同子結構出現(xiàn)的頻率,提出了一種基于shingling的帶時間戳類型圖的相似函數來表示異構有序圖,并設計streamhash 維護這些摘要,采用基于質心的在線聚類和異常檢測方案。Pagoda[68]不僅分析單一路徑的異常程度,還分析整個溯源圖的異常程度。它首先尋找可能導致入侵的入侵路徑,如果找到就不用遍歷整個溯源圖,否則,將計算出每條路徑的異常度,再乘以路徑長度,得到每條路徑的權重值,最后將這些權重值的總和除以所有路徑的長度之和。這種方法可以快速識別出入侵過程中只對系統(tǒng)中的一個敏感文件或一個小的文件子集造成損害。Gao 等[72]設計了一種特定領域的查詢語言SAQL 分析大規(guī)模的溯源數據,但需要專家領域知識來確定與查詢相匹配的元素/模式。FRAPpuccino[78]分析了系統(tǒng)級溯源圖,為平臺即服務的應用行為建模,它使用動態(tài)滑動窗口算法來持續(xù)監(jiān)測和檢查應用實例是否符合所學模型。PIDAS[67]是一個基于溯源路徑的入侵檢測和分析系統(tǒng),它使用溯源圖信息作為在線入侵檢測的數據源,由于溯源圖代表一個對象的歷史,記錄了入侵發(fā)生時被感染的文件、進程和網絡連接的依賴關系。通過計算由一系列依賴關系組成的一定長度路徑的異常程度,并與預定的閾值相比較,可以實時判斷入侵是否已經發(fā)生,但這種方法的缺點在于只使用一條路徑來檢測入侵,不能反映整個溯源圖的行為。P-Gaussian[79]檢測入侵行為及其打包加密的變體,將入侵行為變體的檢測抽象為比較序列順序或不同序列之間長度的變化。Han 等[80]設計了一個實時的異常檢測系統(tǒng)UnicorN 來分析從流式溯源圖,該檢測系統(tǒng)隨著主機系統(tǒng)的發(fā)展學習動態(tài)執(zhí)行模型,從而捕捉模型中的行為變化,這種學習方法使其適用于檢測長期運行的持久性威脅。UNICORN 使用graph sketching 技術,可以在長時間運行的系統(tǒng)中分析包含豐富上下文和歷史信息的溯源圖,從而識別未知、慢速攻擊。ZePro[81]采用一種概率方法來識別零日攻擊路徑,通過構建一個基于實例圖的貝葉斯網絡,利用入侵起源,貝葉斯網絡可以定量計算對象實例被感染的概率,具有高感染概率的對象實例暴露自己并形成零日攻擊路徑。

        5.1.3 基于學習的檢測

        Li 等[40]提出了基于深度自編碼檢測系統(tǒng)異常,在LANL 數據集上驗證了APT 攻擊檢測的有效性。SIGL[82]是第一個基于溯源圖的異常軟件安裝檢測系統(tǒng),可以在沒有事先攻擊知識的情況下保證軟件安裝的安全;SIGL 通過對圖中的異常進程節(jié)點進行分流,減輕負擔。Ayoade 等[83]提出在線度量學習解決零日APT 攻擊檢測問題,首先模擬APT 攻擊,利用CamFlow 記錄日志數據,然后利用CamQuery將記錄的日志轉換為溯源圖,溯源圖過濾后生成只包含系統(tǒng)命令執(zhí)行的子圖,最后構造在線度量學習分類器檢測區(qū)分新型的APT 攻擊、已存在的APT攻擊和良性事件,在特征提取上,利用圖嵌入方法(node2vec)將圖轉化為向量。ProvDetector[84]利用圖嵌入方法,基于概率密度的局部離群因子來檢測隱蔽惡意軟件,使用一種基于稀有度的路徑選擇算法來識別溯源圖中表示進程潛在惡意行為的因果路徑,然后使用doc2vec 嵌入模型和離群檢測模型確定這些路徑是否為惡意的,實現(xiàn)隱藏的惡意進程檢測。

        5.2 威脅狩獵

        已有基于溯源圖的威脅狩獵主要利用基于威脅情報驅動和基于TTP 驅動的方法。

        5.2.1 基于威脅情報驅動

        開源網絡威脅情報(OSCTI,open-source cyber threat intelligence)是一種基于證據的知識形式,主要關注IoC。常見的威脅情報有結構化的情報(如STIX 情報)、半結構化的情報(如MISP和OpenIoC)和非結構化的情報(如安全博客和APT 報告)。

        1) 威脅情報提取

        POIROT[64]手動提取威脅情報,構造威脅行為查詢圖,查詢圖的頂點表示進程、文件、套接字等,邊表示系統(tǒng)調用關系,然后利用圖對齊算法匹配基于審計日志構造的溯源圖,實現(xiàn)威脅狩獵。該實驗數據集主要來源于STIX、MISP 等結構化或半結構化情報。非結構化的OSCTI 不僅包含IoC,還描述了它們之間的關系,如進程和文件之間的讀取關系,這種威脅行為可以與攻擊步驟聯(lián)系起來,因此,ThreatRapter[73]基于OSCTI 提出了無監(jiān)督自然語言處理管道提取結構化威脅行為圖,圖的頂點表示IoC,邊表示IoC 之間的關系,實現(xiàn)了初始特征和關系的自動提取,其實體提取的精確率為96%,召回率為97.3%,F(xiàn)1 值為96.64%;關系提取的精確率為96%,召回率為89%,F(xiàn)1 值為92%。EXTRACTOR[85]是一種新的文本總結方法,通過區(qū)分攻擊行為與其他文本,使用語義角色標記方法提取攻擊行為和句子的主體、客體和行動,并以圖的形式呈現(xiàn)攻擊步驟和相關實體之間的因果信息流,通過從非結構化APT報告、公開數據集DARPA TC3 以及微軟等公司的CTI 報告中提取攻擊行為圖,并與報告的真實活動(威脅行為圖中的邊)進行對比,評價精確率、召回率和F1 值,然后采用POIROT 系統(tǒng)驗證自動生成的攻擊行為圖,結果證明自動生成的攻擊圖可用于威脅狩獵。以上3 種方法提取威脅圖都是為了匹配系統(tǒng)溯源圖或查詢系統(tǒng)日志,實現(xiàn)威脅狩獵。HINTI[86]框架首次基于多粒度注意的IoC 識別方法,其IoC 包括攻擊者、漏洞、設備、平臺、惡意文件和攻擊類型6 種類型,并從開源網絡威脅情報中提取描述IoC的關系,構造異質信息網絡(HIN,heterogeneous information network),提出一個基于圖卷積網絡的威脅情報計算框架進行知識識別。HINTI的威脅情報來源于安全博客、黑客論壇等社交網絡,只對實體提取情況進行評估,其準確率為98.59%,精確率為98.72%,微觀F1 值為98.69%。SecurityKG[87]是一個自動收集和管理OSCTI的系統(tǒng),通過從各種來源收集OSCTI,使用人工智能和自然語言處理技術來提取威脅行為,并構建一個安全知識圖,但沒有對提取的準確率進行評價,HINTI和SecurityKG 表示了較為豐富的威脅知識,但沒有表示系統(tǒng)底層日志行為,不能直接和系統(tǒng)溯源圖進行匹配檢測。

        表3 威脅情報提取模型

        2) 基于威脅情報的圖匹配

        POIROT[64]將威脅狩獵建模為一個不精確的圖模式匹配問題,將STIX、MISP 等格式的威脅情報轉化為攻擊行為查詢子圖,進而主要解決威脅情報子圖與系統(tǒng)級溯源圖的節(jié)點概念對齊及匹配問題,其對齊算法包含節(jié)點對齊和圖對齊,通過計算查詢圖和溯源圖之間的圖形對齊分數,能在包含數百萬節(jié)點的圖內進行搜索并根據查詢圖中的信息流搜索出溯源圖中的對齊節(jié)點,可在幾分鐘內準確定位攻擊。DeepHunter[88]也基于威脅情報驅動手動提取開源報告中的IoC 關系,然后基于圖神經網絡將溯源圖數據與已知攻擊查詢圖匹配,其網絡架構包括屬性網絡和圖神經網絡,屬性嵌入網絡考慮了IoC信息,圖嵌入網絡捕獲了IoC 之間的關系。5 個真實和合成的APT 攻擊場景測試表明,DeepHunter[88]可以檢測所有的攻擊行為,而且其準確性和穩(wěn)健性超過了POIROT。這2 種方法的局限在于威脅子圖的構建需要依賴專家知識,而且對未知威脅無能為力。

        3) 基于威脅情報的特定領域語言查詢

        特定領域語言是一種非過程化語言,研究者先后提出了CyQL[89]、τ-calculus[90]和TBQL(threat behavior query language)[73]等。CyQL 是基于MITRE CyGraph 多源異構圖架構,τ-calculus 是基于IBM威脅情報計算時序圖分析引擎的靜態(tài)圖查詢;Shu等[90]提出威脅情報計算的方法,將威脅發(fā)現(xiàn)作為一個圖計算問題。ThreatRaptor[73]通過自動解析開源威脅情報提取IoC 實體和關系,構建威脅行為圖,提出了基于TBQL 對系統(tǒng)審計日志進行威脅查詢,發(fā)現(xiàn)惡意的系統(tǒng)活動。該系統(tǒng)首次通過查詢合成機制,自動合成一個TBQL 查詢威脅行為,也支持安全分析人員對威脅查詢行為進行修改,攻擊案例評估結果證明了其在實際威脅狩獵中的準確性(精確率為100%,召回率為96.74%),但該系統(tǒng)不能狩獵針對Windows 注冊表項的攻擊;另外,如果自動提取的OSCTI 文本不可用或幾乎不包含有用的IoC 信息,將限制其應用。WILLE[91]系統(tǒng)利用自然語言處理技術來自動提取和翻譯已知的威脅描述,采用自動生成特定領域語言(DSL,domain specific language)進行威脅狩獵,并使用基于進化論的遺傳編程方法增加IoC的遺傳擾動,提高IoC的抗干擾能力,以擴大識別威脅的變體家族。

        5.2.2 基于TTP 驅動

        HOLMES[48]和RapSheet[60]都采用基于TTP驅動的模式,HOLMES 基于攻擊鏈構建高級溯源圖,彌合低級系統(tǒng)調用視角和高級攻擊鏈視角之間的語義差距,構建了一個高級別場景圖(HSG,high-level scenario graph)作為中間層。HSG 節(jié)點表示TTP 實體,邊表示TTP 之間的信息流。HOLMES[48]通過專家實現(xiàn)了由底層日志數據到TTP的映射,但是該方法完全依賴于專家領域知識。Rapsheet[60]從戰(zhàn)術語義角度實現(xiàn)構建攻擊溯源,通過構建攻擊行為到ATT&CK的戰(zhàn)術映射,實現(xiàn)攻擊行為戰(zhàn)術溯源,大大減少溯源圖規(guī)模,基于戰(zhàn)術容易獲取攻擊意圖。

        6 基于系統(tǒng)溯源圖的取證分析

        基于系統(tǒng)溯源圖的取證分析主要方法包括基于因果關系[92-98]、基于序列學習[99-102]、基于特定領域語言查詢[47,56,70-71]和基于語義重建[103-105]的取證分析等。表4 對比分析了近年基于溯源圖的取證分析相關研究。其中,ATLAS[102]以節(jié)點和邊為評價指標,評價粒度效細,其他文獻以圖為評價指標,評價粒度較粗。

        表4 取證分析相關研究

        6.1 基于因果關系的取證分析

        BackTracker[8]首次使用溯源圖分析入侵,以確定入侵的入口點,為加速調查取證分析,提高準確率和性能,以往研究主要基于2 種思路,一種是通過圖形壓縮和數據縮減減少分析日志,4.1 節(jié)已做了詳細介紹;另一種是解決依賴爆炸和高存儲負載[50],依賴爆炸問題是由于在因果關系分析中,當一個長期運行的進程與許多輸入和輸出對象相互作用時,每個輸出對象都被認為是對所有前面的輸入對象存在因果依賴。針對依賴爆炸問題,研究者提出了執(zhí)行單元分區(qū)、污點分析、記錄和重放,模型推斷等多種方法。

        6.1.1 執(zhí)行單元分區(qū)

        Ma 等[31]基于Windows 事件跟蹤(ETW,event tracing for Windows)審計日志,并對ETW 進行擴展,記錄重要的非系統(tǒng)事件,然后將日志分析和二進制程序分析結合起來,推導出可以用來解析日志到單元的模型。通過單元分區(qū)精確識別事件之間的因果關系。ProPatrol[92]系統(tǒng)利用企業(yè)應用程序如瀏覽器和郵件開放式分區(qū)設計,該方法不需要利用源二進制工具,而是利用面向互聯(lián)網的應用程序設計中固有的執(zhí)行分區(qū)來減輕依賴爆炸程度,確定真正的依賴關系。Mnemosyne[93]基于瀏覽器層級劃分單元分區(qū)來調查水坑攻擊。

        6.1.2 污點分析

        污點分析可以精確追蹤進程內的信息流,有效防御信息泄露和零日攻擊。Newsome 等[94]提出了自動檢測和分析覆蓋攻擊的動態(tài)污點分析方法。Yin等[95]提出了全系統(tǒng)細粒度污點分析,以辨別未知代碼的細粒度信息訪問和處理行為,然而污點分析也帶來了負載。Morse[46]針對依賴爆炸,提出了標簽衰減和標簽衰變,設計構建了一個緊湊的場景圖,可以捕捉絕大多數攻擊,同時排除良性背景活動,使虛警率降低一個數量級以上。

        6.1.3 記錄和重放

        Rain[96]使用記錄重放技術實現(xiàn)按需細粒度信息流跟蹤,通過合并進程內溯源分析和進程間的分析可以精確追蹤信息流,幫助重建低級別的攻擊步驟。使用粗粒度采集日志數據的方法(如系統(tǒng)調用)開銷低、準確度低,而使用細粒度(如指令執(zhí)行)準確度高,但開銷大。RTAG[26]綜合二者優(yōu)勢,在記錄程序運行時,執(zhí)行高級別的日志記錄和分析;在重放程序運行時,執(zhí)行低級別的日志記錄和分析,實現(xiàn)了一種有效的數據流標記和追蹤機制,可用于跨主機環(huán)境下的攻擊調查。

        6.1.4 模型推斷

        LDX[97]是一個雙向執(zhí)行因果推斷模型,通過改變系統(tǒng)調用的輸入,觀察輸出的狀態(tài)變化來推斷系統(tǒng)調用的關系。MCI[98]將可執(zhí)行文件輸入因果推理模型LDX,獲得程序的因果模型,根據解析后的系統(tǒng)日志和相應的模型,得出事件之間的細粒度依賴關系,但該方法的壓縮效果取決于大量的軟件模型,而實際情況下,系統(tǒng)會運行許多未知軟件,使該方法的覆蓋率難以保證,而且軟件更新也可能導致原始模型失效。

        6.1.5 通用溯源

        PrioTracker[55]和NoDoze[53]是基于統(tǒng)計特征的攻擊調查方法,通過對異常事件和因果依賴進行優(yōu)先級排序,排序度量指標包括頻率和拓撲特性。PrioTracker 通過優(yōu)先探索涉及罕見或可疑事件的路徑,加快前向和后向分析,但PrioTracker 僅僅考慮了單個事件的異常,優(yōu)先考慮表示異常依賴關系的邊;NoDoze[53]考慮了整個事件鏈條的異常,提出識別目標異常路徑的方法,使用統(tǒng)計低頻路徑挖掘的方法解決依賴爆炸問題,從而更準確地還原告警產生對應的溯源數據子圖,但不能精確定位異常傳輸的IP 地址,這種基于統(tǒng)計的方法可能導致不穩(wěn)定的結果。UIScope[33]利用低層系統(tǒng)事件和UI 事件相關聯(lián),將系統(tǒng)事件歸結為單個UI 元素以避免依賴爆炸。

        6.2 基于序列學習的取證分析

        HERCULE[99]、Tiresias[100]、ATTACK2VEC[101]、ATLAS[102]都使用了機器學習技術來建模攻擊事件,其中,HERCULE 使用社區(qū)檢測算法來對攻擊事件進行關聯(lián),通過將多源日志融合,以自動化的方式完成異常行為社區(qū)發(fā)現(xiàn),歸并其對應的攻擊步驟;TIRESIAS、ATTACK2VEC、ATLAS 均采用了詞嵌入將文本信息(序列)轉換為向量,Tiresias和ATTACK2VEC 僅限于識別和報告日志中的單個日志中的攻擊事件,ATLAS的目標是發(fā)現(xiàn)攻擊路徑,基于序列學習,在已知攻擊癥狀的情況下,通過鄰居圖構造序列,經過序列學習獲得攻擊和非攻擊序列,確定所有的攻擊實體,重構攻擊路徑,但只支持Windows 平臺,而且無法檢測使用類似正常事件序列的隱藏攻擊行為,比如模擬攻擊。

        6.3 基于特定領域語言查詢的取證分析

        傳統(tǒng)的基于關系型數據庫和圖數據庫的查詢系統(tǒng)缺乏語言結構來表達主要攻擊行為的關鍵屬性,而且由于語義無關的設計無法利用系統(tǒng)監(jiān)測數據的屬性來加速查詢的執(zhí)行,所以往往執(zhí)行查詢的效率很低。CamQuery[70]提供了一個可編程的圖形處理框架,實現(xiàn)以頂點為中心的查詢應用程序接口;AIQL[71]通過持久性存儲實現(xiàn)取證查詢,提出了一個建立在現(xiàn)有監(jiān)測工具和數據庫之上的新型查詢系統(tǒng),使攻擊調查查詢語言(AIQL)支持即時的攻擊調查。APTrace[56]利用BDL(backtracking descriptive language)語言,實現(xiàn)企業(yè)級因果分析查詢;通過給定安全異常警告,利用BDL 執(zhí)行向后查詢,基于執(zhí)行窗口分區(qū)算法解決依賴爆炸問題,輸出溯源子圖。但基于執(zhí)行窗口分區(qū)的時間選擇是一個難點,時間的選擇將影響依賴圖的大小和后續(xù)的分析。GrAALF[47]提供圖形化查詢系統(tǒng),可有效地加載、存儲、處理、查詢和顯示計算機取證的系統(tǒng)事件,實時追蹤較長事件序列,幫助識別攻擊。

        6.4 基于語義重建的取證分析

        基于特定領域語言的查詢取證分析可以呈現(xiàn)系統(tǒng)級的因果關系,不能完全恢復從用戶的角度發(fā)生的事情。基于語義還原的取證分析包括常規(guī)語義還原,實現(xiàn)程序行為動作還原,如將審計日志與應用日志相結合,解決語義鴻溝;在攻擊場景下,識別告警日志數據中的攻擊行為,還原TTP 語義。TGMiner[103]以感興趣的行為中挖掘出辨別性的圖形模式,并將其作為模板來識別類似行為。HOLMES[48]和RapSheet[60]將多階段攻擊視為符合TTP 規(guī)格的因果事件鏈。WATSON[50]利用基于系統(tǒng)審計日志知識圖的上下文信息來實現(xiàn)語義推斷,通過向量表示不同的行為語義,并利用語義相似行為進行聚類,可以準確抽象出良性和惡意的行為。OmegaLog[22]通過識別和模擬應用層的日志行為,使應用事件與系統(tǒng)層訪問準確協(xié)調,通過攔截應用程序的運行時日志活動,并將這些事件移植到系統(tǒng)層溯源圖上,使調查人員能夠更精確地推斷攻擊的性質。ALchemist[23]將應用程序日志和審計日志結合起來,基于關系推理引擎DataLog 推理關鍵攻擊信息,實驗證明其性能優(yōu)于NoDoze和OmegaLog。UIScope[33]采集用戶界面元素和事件收集器以及系統(tǒng)事件收集器,將低層次的因果關系分析與高層次的用戶界面元素和事件分析相結合,以獲得兩者的優(yōu)勢。潘亞峰等[104]提出基于ATT&CK 構建APT 攻擊語義規(guī)則,通過將攻擊語義文本中的語義知識抽象為針對溯源圖的檢測規(guī)則,實現(xiàn)底層審計日志數據到上層TTP 語義知識的映射,在語義規(guī)則匹配過程中設置了最小路徑長度和最大路徑長度,但該方法只能檢測出APT 攻擊生命周期中的局部行為。RATScope[105]開發(fā)了一個遠程訪問木馬取證分析系統(tǒng),由于ETW 不提供任何底層數據的輸入參數,導致2 個不同的程序調用觸發(fā)相同的底層系統(tǒng)調用行為,為解決這個語義沖突問題,提出了聚合API樹記錄圖,利用低級別的系統(tǒng)調用和高級別的應用程序調用棧相結合來建立細粒度的程序行為,因為2 個不同的應用程序在應用程序調用棧是明顯不同的,從而可以區(qū)分RAT的潛在惡意功能。

        7 結束語

        隨著網絡攻擊的日益復雜,無文件攻擊等新型攻擊手法越來越隱蔽,從大規(guī)模、多源異構日志數據中有效識別復雜攻擊及其意圖,仍然面臨許多挑戰(zhàn)。

        1) 隱蔽性威脅檢測。由于APT 攻擊復雜多變,開源數據集很難獲得,目前常用的是DARPA TC 系列,但文檔并不完善,因此研究具有多種新的APT攻擊、完善文檔的開源數據集具有實際意義。無文件攻擊手法多樣,探索無文件攻擊機理和實時未知威脅檢測方法成為研究熱點。另外,通過多源多模態(tài)事件圖譜構建,實現(xiàn)可解釋的異常檢測與威脅定位也是未來研究的一個方向。

        2) 自動化威脅狩獵。威脅情報提取主要面向結構化和非結構化威脅情報進行提取,已有研究證明了自動提取威脅情報的準確性和用于威脅狩獵的可行性,但應用開源威脅情報報告中自動提取IoC 及其關系進行威脅狩獵仍然面臨一些問題,如報告中記錄的結構形式不統(tǒng)一、記錄錯誤、省略攻擊詳細步驟等。面對由非規(guī)范化格式導致威脅情報行為提取準確性低等問題,需要進一步研究自然語言處理+語義輔助威脅行為圖的高精度提取,探索基于學習的方法識別一些特定名詞等,進一步拓展IoC 實體提取方法,構建更加豐富的威脅行為圖。此外,基于TTP 行為圖的構建,生成進化的IoC也是可以探索的研究熱點。自動化威脅狩獵方法研究中,考慮基于自動生成的威脅查詢圖與自動生成的系統(tǒng)日志溯源圖的圖節(jié)點對齊、子圖匹配等新算法的準確度和效率,以及針對這些技術的評估也是重點。

        3) 基于攻擊語義的取證分析。目前,基于系統(tǒng)溯源圖的取證分析主要從縮減日志和減少依賴爆炸2 種思路來開展,已有的基于序列學習的取證分析方案需要學習大量已知的攻擊序列。針對底層日志與上層之間的語義鴻溝問題,現(xiàn)有研究探索了系統(tǒng)日志與應用日志、UI 日志相結合;針對攻擊語義問題,現(xiàn)有研究主要利用TTP 關聯(lián)系統(tǒng)審計日志;針對取證分析結果的評價,現(xiàn)有研究大多從告警點出發(fā),基于溯源圖來執(zhí)行后向和前向查詢,評價粒度比較粗糙,僅有ATLAS[102]、WATSON[50]和ALchemist[23]的評價粒度較細。由于關聯(lián)缺失,跨網絡與終端數據難以有效同步日志觸發(fā)條件,導致多源日志之間很難有效關聯(lián);另外,由于語義缺失,統(tǒng)計規(guī)律很難反映攻擊者底層的攻擊意圖和戰(zhàn)術方法。因此,探索知識圖譜解決語義鴻溝問題,通過知識圖譜挖掘事件元信息及上下文,進而進行關系推理,實現(xiàn)攻擊路徑溯源與取證,是將來的可探索的方向。此外,取證分析的有效性度量也是一個重要的考量因素。

        猜你喜歡
        日志威脅語義
        一名老黨員的工作日志
        華人時刊(2021年13期)2021-11-27 09:19:02
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        人類的威脅
        語言與語義
        受到威脅的生命
        面對孩子的“威脅”,我們要會說“不”
        家教世界(2017年11期)2018-01-03 01:28:49
        游學日志
        “上”與“下”語義的不對稱性及其認知闡釋
        Why Does Sleeping in Just Make Us More Tired?
        英語學習(2015年2期)2016-01-30 00:23:16
        認知范疇模糊與語義模糊
        青青草极品视频在线播放| 在线视频观看免费视频18| 97午夜理论片在线影院| 伊人婷婷色香五月综合缴激情| 全程国语对白资源在线观看| 婷婷亚洲岛国热超碰中文字幕| 国产成人精品123区免费视频| 精品五月天| 在线看片免费人成视久网不卡| 一区二区视频在线观看地址| 影音先锋女人aa鲁色资源| 午夜婷婷国产麻豆精品| 国产在线拍91揄自揄视精品91| 国产在线观看自拍av| 久激情内射婷内射蜜桃| 日本污视频| 亚洲精品一区二区三区日韩| 久久久久人妻精品一区二区三区| 国产精品无码av一区二区三区| 亚洲色大成人一区二区| 在线观看视频亚洲一区二区三区| 色88久久久久高潮综合影院| 久久久精品2019免费观看| 成年视频网站在线观看777| 国产黄色一区二区在线看| 国产啪亚洲国产精品无码| 亚洲成人电影在线观看精品国产| 久久久亚洲精品蜜臀av| 亚洲夫妻性生活免费视频| 97夜夜澡人人爽人人喊中国片| 国产精品98视频全部国产| 日韩美女av一区二区三区四区| 国产精品一卡二卡三卡| 国产福利免费看| 琪琪av一区二区三区| 手机在线看片| 日产无人区一线二线三线新版| 国产高清黄色在线观看91| 9久久婷婷国产综合精品性色| 无码乱人伦一区二区亚洲一| 91情侣视频|