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

摘要:本文提出了基於異構信息網絡(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的安全知識預測的可行性,以推斷漏洞和設備之間潛在的潛在關係。

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章