帶你讀AI論文丨RAID2020 Cyber Threat Intelligence Modeling GCN

語言: CN / TW / HK
摘要:本文提出了基於異構資訊網路(HIN, Heterogeneous Information Network)的網路威脅情報框架——HINTI,旨在建模異構IOCs之間的相互依賴關係,以量化其相關性,對CTI進行建模和分析。

本文分享自華為雲社群《[論文閱讀] (07) RAID2020 Cyber Threat Intelligence Modeling GCN》,作者:eastmount。

原文作者:Jun Zhao, Qiben Yan, Xudong Liu, Bo Li, Guangsheng Zuo
原文標題:Cyber Threat Intelligence Modeling Based on Heterogeneous Graph Convolutional Network
原文連結:https://www.usenix.org/system/files/raid20-zhao.pdf
發表會議:RAID 2020 / CCF B

注意,本文程式碼採用GPU+Pycharm實現,如果你的電腦是CPU實現,將相關GPU操作註釋即可。這裡僅做簡單的對比實驗,不進行引數優化、實驗原因分析及詳細的效果提升,後面文章會介紹優化、引數選擇、實驗評估等。

1、摘要

網路威脅情報(CTI,Cyber Threat Intelligence)已在業界被廣泛用於抵禦流行的網路攻擊,CTI通常被看作將威脅參與者形式化的妥協指標(IOC)。然而當前的網路威脅情報(CTI)存在三個主要侷限性:

  • IOC提取的準確性低
  • 孤立的IOC幾乎無法描述威脅事件的全面情況
  • 異構IOC之間的相互依存關係尚未得到開發,無法利用它們來挖掘深層次安全知識

本文提出了基於異構資訊網路(HIN, Heterogeneous Information Network)的網路威脅情報框架——HINTI,旨在建模異構IOCs之間的相互依賴關係,以量化其相關性,對CTI進行建模和分析。

本文的主要貢獻如下:

  • 提出了基於多粒度注意力機制( multi-granular attention)的IOC識別方法,可以從非結構化威脅描述中自動提取網路威脅物件,並提高準確性
  • 構建一個異構資訊網路(HIN)來建模IOCs之間的依賴關係
  • 提出一個基於圖卷積網路(Graph Convolutional Networks)的威脅情報計算框架來發現知識
  • 實現了網路威脅情報(CTI)原型系統

實驗結果表明,本文提出的IOC提取方法優於現有方法,HINTI可以建模和量化異構IOCs之間的潛在關係,為不斷變化的威脅環境提供了新的線索。

IOC(Indicator of Compromise)是MANDIANT在長期的數字取證實踐中定義的可以反映主機或網路行為的技術指示器。

2、前言

Introduction是論文的開頭,是極為重要的部分,介紹了為什麼要做這份工作,建議大家仔細閱讀,尤其是寫英文論文的讀者。因此,作者將該部分進行了詳細總結。

當今社會,我們正在目睹複雜的網路威脅攻擊(如0-day攻擊、高階持續威脅攻擊 APT)的快速增長。這些攻擊可以輕易繞過傳統防禦,如防火牆和入侵檢測系統(IDS),破壞關鍵基礎設施,並造成災難。為了應對這些新出現的威脅,安全專家提出了 網路威脅情報(CTI),幷包含 IOCs指標

與著名的安全資料庫(如CVEExploitDB)不同,當系統遇到可疑威脅時,CTI可以幫助組織主動釋出更全面和更有價值的威脅警告(例如,惡意IP、惡意DNS、惡意軟體和攻擊模式等)。

  • http://cve.mitre.org/
  • https://www.exploit-db.com/

近年來,CTI越來越多地被安全人員和行業用來分析威脅環境。原始的CTI提取和分析需要對攻擊事件描述進行大量的手動檢查,耗時耗力。最近提出了從非結構化安全文字中提取CTI的自動化方法,如 CleanMXPhishTankIOC Finder  Gartner peer insight ,並且都遵循OpenIOC標準,並利用正則表示式提取特定型別的IOC(如惡意IP、惡意軟體、檔案雜湊等)。

然而,這種提取方法面臨著三個主要的限制。

  • 首先,IOC提取的精度低,不可避免地導致關鍵威脅物件遺漏。
  • 其次,孤立的IOC沒有全面描述威脅事件的概況,這使得CTI使用者無法對即將到來的威脅獲得完整的瞭解。
  • 最後,缺乏一個有效的計算框架來有效地衡量異構IOCs之間的互動關係。

為了應對這些限制(To combat these limitations):
本文提出了一種基於異構資訊網路的威脅情報框架HINTI,來對CTI進行建模和分析。值得注意的是,HINTI提出了一種基於多粒度注意力機制的IOC識別方法,以提高IOC提取的準確性。

然後,HINTI利用HIN來建模異構IOC之間的依賴關係,這可以描述一個更全面的威脅事件。此外,本文提出了一個新的CTI計算框架來量化IOC之間相互依賴的關係,這有助於發現新的安全資訊(security insights)。

綜上,本文的主要貢獻總結如下:

  • 基於多粒度注意力機制的IOC識別(Multi-granular Attention based IOC Recognition)
    可以從多源威脅文字中自動提取網路威脅物件,學習不同尺度的特徵,提高準確率和召回率,共從非結構化的威脅描述中提取397730個IOCs。
  • 異構威脅智慧建模(Heterogeneous Threat Intelligence Modeling)
    使用異構資訊網路來建模不同型別的IOC,引入各種元路徑捕獲異構IOC之間的相互依賴關係,描述更全面的網路威脅事件概況。
  • 威脅智慧計算框架(Threat Intelligence Computing Framework)
    提出網路威脅智慧計算的概念,設計一個通用的計算框架。該框架利用基於權重學習的節點相似度來量化異構IOCs之間的依賴關係,然後利用基於注意力機制的異構圖卷積網路來嵌入IOCs及互動關係。
  • 威脅情報原型系統(Threat Intelligence Prototype System)
    實現了一個CTI原型系統,確定6類攻擊物件之間的1262258種關係,包括攻擊者、漏洞、惡意檔案、攻擊型別、裝置和平臺。

3、背景

3.1動機

本研究的主要目標是通過建模異構IOCs之間的依賴關係來解決現有CTI分析框架的侷限性。舉一個有趣的安全示例:

Last week, Lotus exploited CVE-2017-0143 vulnerability to affect a larger number of Vista SP2 and Win7 SP devices in Iran. CVE-2017-0143 is a remote code execution vulnerability including a malicious file SMB.bat.

大多數現有的CTI框架可以提取特定的IOC,但卻忽略了它們之間的關係,如圖1所示。很明顯,這些IOC無法全面瞭解威脅形勢,更不用說量化它們的互動關係以進行深入的安全調查。

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

在這裡,我們使用該示例來說明HINTI是如何一步一步工作(四個步驟)。

  • (i) 首先,通過B-I-O序列標註方法對安全相關帖子進行標註,用於構建IOC提取模型。
    其中,B-X表示X型別的元素位於片段的開頭,I-X表示X型別的元素位於中間片段,O表示其他型別的非基本元素。在研究中,我們從5000個威脅描述文字中標註了3萬個這樣的訓練樣本,這些文字是用來構建我們IOC提取模型的原始材料。

  • (ii) 然後將標記的訓練樣本輸入我們提出的神經網路,如圖6所示,以訓練提出的IOC提取模型。
  • (iii) HINTI利用句法依賴性解析器(e.g.,主-謂-賓,定語從句等)提取IOC之間的關聯關係,每個關係都表示為三元組(IOC_iIOCi​、關係、IOC_jIOCj​)。在此例項中,HINTI提取三元組關係如下:
    – (Lotus, exploit, CVE-2017-0143)
    – (CVE-2017-0143, affect, VistaSP2)

注意,提取的關係三元組可以增量地合併到一個HIN中,以模擬IOCs之間的互動作用,從而描述一個更全面的威脅環境。圖3以圖形表示顯示了從示例中提取IOC描述之間的互動關係,g該圖表示攻擊者利用CVE-2017-0143漏洞入侵VistaSP2和Win7SP1裝置。CVE-2017-0143是一個涉及惡意檔案“SMB.bat”的遠端程式碼執行漏洞。與圖1相比,很明顯,HINTI可以描繪一個比以往方法更直觀、更全面的威脅環境。在本文中,我們主要考慮6種不同型別的IOC之間的9個關係(R1∼R9)(詳見第4.2節)。

  • (iv) 最後,HINTI集成了基於異構圖卷積網路的CTI計算框架(見第4.3節),以有效量化IOC之間的關係並進行知識發現。
    特別是,本文提出的CTI計算框架描述了IOC及其在低維嵌入空間(low-dimensional embedding space)中的關係,在此基礎上,CTI使用者可以使用任何分類(如SVM、樸素貝葉斯)或聚類演算法(K-Means、DBSCAN)來獲得新的威脅見解,例如預測哪些攻擊者可能入侵其系統,以及在沒有專家知識的情況下識別哪些漏洞屬於同一類別。

3.2前期工作

  • Definition 1 Heterogeneous Information Network of Threat Intelligence (HINTI)
  • Definition 2 Network Schema
  • Definition 3 Meta-path

威脅智慧的異構資訊網路(HINTI)被定義為有向圖 G=(V, E, T),其中v表示物件,e表示連結,r表示關係型別。具有物件型別對映函式ϕ:V→M和鏈路型別對映函式Ψ:E→R。本文重點研究了6種常見型別,連線不同物件的連結代表了不同的語義關係。

  • attacker (A)
  • vulnerability (V)
  • device (D)
  • platform (P)
  • malicious file (F)
  • attack type (T)

接著採用模式描述元關係的網路架構,圖4展示了網路模式(知識圖譜中本體概念)和一個網路例項。比如“軟體裝置屬於系統平臺”為模式圖,“Office2012屬於Windows系統軟體”為例項。

最後定義元路徑,指網路模式S=(N, R)的路徑序列,其定義了符合關係。表1顯示了HINTI中所考慮的元路徑。例如,“攻擊者(A)利用相同的漏洞(V)”的關係可以通過長度為2的元路徑表示:

稱為 AVA^T(P_4)AVAT(P4​) 來描述,這意味著兩個攻擊者利用相同的漏洞。同樣, AVDPD^TV^TA^T(P_{17})AVDPDTVTAT(P17​) 描繪了IOC之間的密切關係,即“兩個利用同一漏洞的攻擊者入侵同一型別的裝置,並最終摧毀同一型別的平臺”。

4、HINTI總體架構

HINTI作為一個網路威脅智慧提取和計算框架,能夠有效地從威脅描述中提取IOC,並描述異構IOC之間的關係,以揭開新的威脅見解。如圖5所示,HINTI由四個主要部件組成,包括:

  • 收集與安全相關的資料並提取即IOC
    使用Xpath提取安全資料(部落格、安全論壇、新聞、公告),利用基於多粒度注意力機制的IOC識別方法收集資訊。
  • 將IOC之間的相互依存關係建模為異構資訊網路
    該網路可以自然地描述異構IOC之間的相互依賴關係。比如圖4顯示的模型,它可以捕獲攻擊者、漏洞、惡意檔案、攻擊型別、平臺和裝置之間的互動式關係。
  • 使用基於權重學習的相似性度量將節點嵌入到低維向量空間中
    元對映是構造HIN中IOC語義關係的有效工具。本文設計了17種元路徑(見表1)來描述IOC之間的相互依賴關係,利用這些元路徑,提出了一種基於權重學習的相似計算方法來將節點嵌入到這些關係,作為威脅智慧計算的前提。
  • 基於圖卷積網路和知識挖掘來計算威脅情報
    通過圖卷積網路(GCN)來量化和測量IOC之間的相關性,本文提出的威脅情報計算框架可以在更全面的威脅環境中揭示更豐富的安全知識。

5、方法論

5.1基於多粒度注意力的IOC提取

近年來,BiLSTM+CRF在命名實體識別領域取得良好的效能,但不能直接應用於IOC提取,因為威脅文字通常包含大量不同尺寸和規則結構的物件。因此,本文提出一種基於多粒度注意機制的IOC提取方法,它可以提取具有不同粒度的威脅物件。

此外,它引入了具有不同粒度的新詞嵌入功能,以捕獲具有不同大小的IOC的特徵,其模型如圖6所示,利用自注意力機制來學習功能的重要性,以提高IOC提取的準確性。

由圖可知,它將句子分割成了char(字元級)、1-gram、2-gram、3-gram,從而從多粒度注意力機制訓練資料。LSTM計算公式如下:

接下來是多粒度注意力機制及LSTM+CRF的計算過程。同時,本文設計了一個客觀的目標函式來最大化概率p(Y|X),以實現針對不同IOC的最高標籤得分。通過求解目標函式,我們為n-gram分量分配正確的標籤,根據這些標籤,我們可以識別不同長度的IOC。我們基於多粒度注意力機制的IOC提取方法能夠識別不同型別的IOC,其評估方法在第5部分提出。

5.2網路威脅情報建模

CTI建模是探索異構IOC之間複雜關係的一個重要步驟。本文通過引入HIN,以探索不同型別的IOC之間的互動關係。為了模擬IOCs之間複雜的依賴關係,我們在6種類型的IOC之間定義了以下9種關係:

  • R1:attacker-exploit-vulnerability
    攻擊者利用漏洞
  • R2:attacker-invade-device
    攻擊者入侵裝置
  • R3:attacker-cooperate-attacker
    攻擊者之間合作
  • R4:vulnerability-affect-device
    漏洞影響裝置
  • R5:vulnerability-belong-attack type
    脆弱性屬於攻擊型別
  • R6:vulnerability-include-file
    漏洞包括惡意檔案
  • R7:file-target-device
    惡意檔案針對裝置
  • R8:vulnerability-evolve-vulnerability
    脆弱性演化脆弱性
  • R9:device-belong-platform
    裝置屬於平臺

基於上述9種關係,HINTI利用句法依賴解析器(the syntactic dependency parser)從威脅描述中自動提取IOC之間的9種關係,每種關係用三元組(IOCi,relation,IOCj)表示。同時進一步定義表1所示的17種元路徑,以調查攻擊者、漏洞、惡意檔案、攻擊型別、裝置、平臺之間的相互依賴關係。通過檢查17種類型的元路徑,HINTI能夠傳達更豐富的事件上下文,並揭示異構IOC的深層資訊。

5.3威脅情報計算

本節說明了威脅智慧計算的概念並設計了一個基於異構圖卷積網路的一般威脅智慧計算框架,它通過分析基於元路徑的語義相似性來量化和衡量IOCs之間的相關性。在此,我們首先提供了一個基於異構圖卷積網路的威脅智慧計算的正式定義:

  • 給定威脅情報圖G =(V,E)和元路徑集M = {P1,P2,…,Pi}
  • i)基於元路徑Pi計算IOC之間的相似度,以生成相應的鄰接矩陣Ai
  • ii)通過將IOC的屬性資訊嵌入到向量空間中,構造節點Xi的特徵矩陣
  • iii)進行圖卷積GCN(Ai,Xi),通過遵循元路徑Pi量化IOC之間的相互依賴關係,將其嵌入到低維空間中

威脅智慧計算的目的是對IOC之間的語義關係進行建模,並基於元路徑度量其相似度,可用於高階安全知識發現,如威脅物件分類、威脅型別匹配、威脅進化分析等。直觀地說,由最重要的元路徑連線的物件往往具有更相似的。

在本文中,我們提出了一種基於權重學習的威脅智慧相似度測量方法,它利用自注意力機制來提高任意兩個IOC之間的相似度測量方法的效能。此方法的形式化定義如下,定一組對稱元路徑集合 P=[P_m]_{m=1}^{M'}P=[Pm​]m=1M′​ ,任意兩個IOC(hi和hj)之間的相似度S(hi,hj)定義為:

利用交叉熵損失來優化提出的威脅情報框架的效能:

使用這個框架,安全組織能夠挖掘隱藏在iOC之間相互依賴的關係中的更豐富的安全知識。

6、資料集及實驗結果

本文開發了威脅資料收集器,自動收集網路威脅資料,包括73個國際安全部落格(例如,fireeye,cloudflare),黑客論壇帖子(例如,Blackhat,Hack5),安全公告(例如,Microsoft,Cisco),CVE詳細說明和ExploitDB。已經收集了超過245,786個描述威脅事件的與安全相關的資料。為了訓練和評估我們提出的IOC提取方法,利用B-I-O序列標記方法對5,000個文字中的30,000個樣本進行了標註(60%訓練集,20%驗證集,20%測試集)。

最終模型最佳執行的超引數如表2所示,學習率對比了0.001,0.005,0.01,0.05,0.1,0.5。

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

為了驗證多粒度嵌入特徵的有效性,我們評估了具有不同粒度(字元級、1-gram、2-gram、3-gram和多粒度特徵)的提取效能。實驗結果如圖7所示,從圖中可以觀察到提出的多粒度嵌入特徵優於其他特徵,因為它利用注意機制同時學習多粒度的IOC特徵的不同模式。

表4是本文方法與其他命名實體識別方法的效能對比,本文方法的效果更好。

  • (1) 與Standford NER和NLTK NER方法相比,它們一般使用新聞語料庫訓練,本文使用自定義收集的安全語料訓練模型。
  • (2) 與基於規則的提取方法(如iACE和Stucco)不同,本文提出的基於深度學習的方法提供了一個性能更好的端到端系統來表示各種IOC。
  • (3) 與基於RNN的方法(如BiLSTM和BiLSTMCRF)相比,本文的方法引入了多粒度嵌入尺寸(字元級、1-gram、2-gram和3-gram),以同時學習不同大小和型別的IOC特徵,可以識別更復雜和不規則的IOC。
  • (4) 本文的方法利用注意機制來學習不同尺度特徵的權重,以有效地描述不同型別的特徵,進一步提高了IOC識別的準確性。

7、威脅智慧計算技術的應用

本文提出的基於異構圖卷積網路的威脅智慧計算框架可以用來挖掘異構IOC背後新的安全知識。在本節中,我們使用三個真實世界的應用程式來評估它的有效性和適用性:

  • CTI威脅分析和排名
  • 攻擊偏好建模
  • 漏洞相似性分析

不同型別IOC的排名如表5所示,具有不同元路徑的攻擊偏好實驗結果如圖8所示。具體而言,本文首先利用提出的威脅智慧計算框架將每個攻擊者嵌入到一個低維向量空間中,然後對嵌入式向量執行DBSCAN演算法,將具有相同偏好的攻擊者聚集到相應組中。

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

為了驗證攻擊偏好建模的有效性,我們確定了5297個不同的攻擊者(每個唯一的IP地址被視為一個攻擊者)。在標記樣本和清洗資料後,進一步評估不同元路徑在模型上的效能。在攻擊建模場景中,我們只關注起始節點和結束節點都是攻擊者元路徑的情況,實驗結果詳見表6。顯然,不同的元路徑在描述網路入侵者的攻擊偏好方面表現出不同的能力。使用P17的效能要優於其他元路徑,這表明P17在描述網路罪犯攻擊偏好時具有更高價值的資訊,因為P17包含P1、P4、P5和P12∼P15的語義資訊。

最後是漏洞相似性分析,基於不同元路徑的漏洞相似性分析如圖9所示。其中漏洞i可以簡化為二維空間(xi、yi),每個叢集表示特定型別的漏洞,聚類的準確率如表7所示。

討論

  • Data Availability
  • Model Extensibility
  • High-level Semantic Relations
  • Security Knowledge Reasoning.

8、結論

本文的工作探索了威脅智慧計算的一個新方向,旨在發現不同威脅向量之間關係的新知識。我們提出了一個網路威脅情報框架HINTI,通過利用異構圖卷積網路來建模和量化不同型別IOC之間的依賴關係。我們開發了一個多粒度注意力機制來學習不同特徵的重要性,並使用HIN來建模IOC之間的依賴關係。此外,本文提出了威脅智慧計算的概念,並設計了一個基於圖卷積網路的通用智慧計算框架。

實驗結果表明,基於多粒度注意力機制的IOC提取方法優於現有的先進方法,提出的威脅智慧計算框架可以有效挖掘隱藏在IOC之間相互依賴關係中的安全知識,使關鍵的威脅智慧應用,如威脅分析和排序、攻擊偏好建模和脆弱性相似性分析。

在未來,我們計劃開發一個基於HINTI的預測和推理模型,並探索預防性的應對措施,以保護網路基礎設施免受未來的威脅。我們還計劃增加更多型別的IOC和關係,以描述一個更全面的威脅環境。此外,我們將利用元路徑和元圖來表徵IOC及其互動作用,以進一步提高嵌入效能,並在模型的準確性和計算複雜度之間取得平衡,還將研究基於HINTI的安全知識預測的可行性,以推斷漏洞和裝置之間潛在的潛在關係。

 

點選關注,第一時間瞭解華為雲新鮮技術~