


摘要:網絡威脅情報基于大量網絡威脅數據,通過信息共享和集體協作,實現對網絡威脅的快速預警、檢測和響應。如何快速、準確地從海量威脅情報報告中自動提取涉及網絡安全信息已成為研究的熱點和難點。文中提出了一個網絡威脅情報分析框架,總結目前對網絡威脅情報的全周期處理流程。并給出了在此框架下應用實例:創建公開威脅情報數據集、提出網絡威脅情報關鍵信息抽取算法、實現基于異質信息圖的惡意IP-域名的關聯認知等。文中實現了多種網絡威脅情報實體識別深度學習模型,其中基于XLnet和字典相結合進行嵌入表達,模型準確率最好達到95.27%。論文提出的網絡威脅情報分析框架可以作為非結構化網絡威脅情報分析的指導依據,論文的實驗結果可以作為網絡威脅情報信息抽取工作的對比基線。
關鍵詞:網絡威脅情報;深度學習;多頭注意力機制;命名實體識別
中圖分類號: TP391.1文獻標識碼: ADOI:10.3969/j.issn.1007-791X.2024.04.0090
引言
McMillan[1]在2014年版的《安全威脅情報服務市場指南》中對網絡威脅情報(Cyber Threat Intelligence,CTI)進行了正式定義:網絡威脅情報是一種基于證據的知識,包括上下文、機制、指標、影響、含義和可執行的建議等,這些知識與資產所面臨已有的或潛在的威脅或危害有關,可為安全運營中心實際的決策提供信息支持,以便及時做出關鍵決策、行動和戰略。這些知識必須從各種來源中提取,并以能夠進行進一步分析和決策的形式表達。在網絡安全領域,通過開源網絡情報[2]提供的信息可以補充通過傳統安全系統和監控工具獲得的數據檢測和預防系統。但與此同時,因為CTI數據非常龐大,攻擊方法多樣而復雜,網絡威脅情報領域給安全分析人員帶來了許多新的挑戰。因此,如何有效抽取CTI關鍵信息已成為檢測、響應和預防攻擊的關鍵問題。針對上述問題,本文主要做了以下貢獻:1)提出一個海量、非結構化網絡威脅情報分析框架,該框架不僅借助通用領域研究成果進行信息抽取,還包括了基于知識圖譜的信息表達和推理,以及網絡威脅情報的認知能力建設,可以在網絡威脅攻防中落地應用;2)基于提出的框架給出了具體實現過程;3)構建基于深度學習的網絡威脅情報信息抽取模型,實驗結果供后續研究對比借鑒使用。
論文結構如下:第1節介紹相關工作,第2節提出網絡威脅情報分析處理通用框架,第3節給出網絡威脅情報信息處理通用框架的實現,第4節給出基于深度學習的網絡威脅情報信息抽取基線模型和實驗結果,最后是結束語。
1相關工作
2016年Liao等人[3]開發了iACE,這是一種能夠進行攻擊指標(Indicator of Compromise,IOC)提取的自動化工具。其數據源于安全數據報告的文章,與Twitter相比,iACE以更加結構化和形式化的方式提供信息。Zhu等人[4]設計的ChainSmith系統中也提到了有關IOC特定領域的NER任務,在該系統中使用基于規則的方法識別哈希值、IP、URL等信息。Zhao等人[5]提出TIMiner框架自動對網絡威脅情報進行抽取并分類。2017年Panwar等人[6]提出了iGen框架,基于神經網絡自動構建并生成攻擊指標。Lee等[7]設計Sec-Buzzer系統收集開源的網絡威脅情報,并利用修改的主題圖和高效的主題發現算法,結合安全專業術語來發現有價值的安全信息,識別新出現的安全事件主題。印第安納大學的王曉峰進行了從社交媒體與博客信息中提取可用的IOC的研究[3],并從看似無關的事件中發現內在關聯。馬里蘭大學Mittal S等人[8]提出了CyberTwitter系統,可以在Twitter上發現、提取和分析開源情報,并為分析師提供預警。
2網絡威脅情報分析框架
本文提出可動態裁剪和靈活擴展的非結構化網絡威脅情報分析框架,如圖1所示。通常情況下,網絡威脅情報處理的完整生命周期主要包含三個環節:網絡威脅情報關鍵信息刻畫(網絡威脅情報采集與分析、策略制定)、威脅情報表示和推理、威脅認知能力建設。在該框架下,各模塊環節可以多次循環迭代。
2.1網絡威脅情報關鍵信息采集、刻畫和挖掘
基于本體理論研究網絡威脅情報關鍵信息要素表述方法和關系刻畫方法,為網絡威脅情報分析提供科學規格化的數據支撐。具體研究內容包括:
1) 基于本體論的安全要素統一表述方法
針對復雜網絡中蘊含的安全威脅、系統脆弱性、安全機制、拓撲結構等安全要素,依據安全要素屬性相似性、行為趨同度和狀態演變類同性等上下文信息實現實體要素本體的定義、映射、對齊和合并,為后續數據處理提供統一的標識。
2) 基于本體推理方法的安全要素關系描述方法
以安全威脅實體/本體為中心,依據攻防策略、步驟、工具、脆弱性利用路徑等本體屬性信息,使用本體推理方法分析時間維度上要素的動態交互式變遷過程,實現安全要素關系的抽取和表述。
2.1.1數據爬取
采集海量CTI數據,包括結構化數據、半結構化數據和非結構化數據,對數據進行預處理與分類。由于開源情報數量巨大,需要篩選出網絡威脅情報報告,將其他網絡安全報告排除出去。人工篩選工作量很大,一般等全部網頁加載完成后,使用正則表達式,來篩選網絡威脅情報報告;或者借助關鍵詞過濾、LDA主題模型、聚類等機器學習方法進行分類;或者借助深度學習模型進行分類,例如使用循環卷積神經網絡進行短文本的分類。
數據預處理包括:對于網頁形式的網絡威脅情報,需要解析DOM樹,去除網頁文本中的HTML標簽、圖片等,刪除網頁上的不相關的標記,例如爬取下來的XML網頁的“lt;agt;”“lt;/agt;”等標簽以及網頁上不相關的網站信息等,只保留正文文本;在對碎片化文檔格式標準化處理過程中,用Apache Tika檢測并提取來自上千種不同文件類型如PPT、XLS、PDF等中的元數據和文本;對于PDF格式的文檔,使用PDFMiner解析其內容;對于社交媒體(Twitter、Facebook等)的開源網絡攻擊報告,去除其文本中常見但無意義的表情符號等無用數據。
2.1.2網絡威脅情報本體建設
本體映射是對兩個具有語義關聯的本體實例關系進行形式化表示。本體對齊是本體映射的一類,是描述兩個不同本體中實體相應關系映射的集合。本體合并是在兩個不同的本體中發現共同處并產生一個新本體的形式化表示方法。以安全威脅實體/本體為中心,依據攻防策略、步驟、工具、脆弱性利用路徑等本體屬性信息,使用本體推理方法分析時間維度上要素的動態交互式變遷過程,實現安全要素關系的抽取和表述。
2.2網絡威脅情報知識表示與推理
2.2.1CTI關鍵信息提取
CTI關鍵信息包括從網絡威脅情報報告中提取網絡安全實體和關系。基于統計學習的信息抽取模型都需要大規模標注訓練數據。遠程監督理論假設兩個實體之間存在關系,則包含這兩個實體的任何句子都可以表達該關系。對于出現在知識庫中某個關系中的每一對實體,在大型的未標記語料庫中找出所有包含這些實體的句子,把這些句子存儲到數據庫中。遠程監督方法在實現降低語料標注任務對人工依賴程度的同時,也避免了傳統半監督方法的語義漂移問題。在通用領域中一般使用 Freebase等大型結構化知識庫作為監督源,但是網絡威脅情報領域沒有公開的知識庫。
還可以采用命名實體識別工具、正則表達式、詞典等方法來識別匹配可能的安全實體。例如,使用自然語言處理工具:NLTK、Stanford CoreNLP 和spaCy等來識別通用命名實體;使用正則表達式處理有規律的實體,例如CVE編號;還可以使用網絡安全領域的詞典匹配句子中的實體,例如從MITRE網站整理出來的樣本文件詞典,可以用來匹配CTI報告中的惡意樣本。目前常用的深度學習方法對網絡威脅情報要素進行多分類實驗,主要步驟包括:
1) 嵌入表示層:首先將詞映射為詞嵌入,將字符映射為字符嵌入,最后將詞嵌入和字符嵌入進行拼接。字/詞嵌入可作為參數進行學習也可使用外部數據預先訓練;
2) 特征提取層:對嵌入層輸出的向量進行語義組合,例如使用雙向長短時記憶網絡BiLSTM(Bi-directional Long Short-Term Memory),或者進行空間特征提取,例如使用圖卷積網絡。進一步可以通過一定機制(池化、注意力等)獲得最終句子或者實體的分布式表示;
3) 分類層:通過進一步的非線性變換得到分類任務相關的表示;
4) 輸出層:預測標簽類型得到各自預測結果。
對于抽取出來的實體,構建關系的常用模型步驟為:
1) 嵌入表示層:首先將詞映射為詞嵌入。使用詞性標簽嵌入來輔助關系抽取。實體標簽有利于實體間的關系提取。
2) 特征提取層:對嵌入層輸出的向量進行語義組合(基于滑動窗口的上下文語義模型)或者空間特征提取模型,進一步可以通過一定機制(池化、注意力等)獲得最終句子(集合)的分布式表示;
3) 分類層:將句子集或者文檔級網絡威脅情報關系抽取和共指解析任務問題看作一種多分類問題。在獲得句子(集)特征表示之后,進行非線性操作以獲得關系上的概率分布。完成關系抽取和共指解析任務。
4) 輸出層:預測標簽類型得到各自預測結果。
2.2.2分析建模
網絡威脅關鍵信息要素在空間維度上的互作用機理和時間維度上的動態演變特性直接影響著復雜系統網絡威脅情報分析模型的全面性和準確性,進而決定著安全決策的效率和精度。
1) 基于常規深度學習模型的建模經過處理的數據集交給機器學習或者深度學習模塊進行模型訓練或者部署分析。常見的深度學習模型有Word2vec-TextCNN、 BERT-BiLSTM-CRF和XLNet-CRF等。
2) 基于時間和空間維度威脅動態發掘方法。構建圖注意力空間模型,刻畫知識圖譜中安全威脅與其它要素間的交互式演化機制,研究不同網絡安全場景下威脅的變體機制、攻擊機制、學習機制和模仿機制,發掘認知對抗下的威脅知識鏈,刻畫時間維度的復雜系統安全動態變遷性。
3) 威脅層次動態發現方法。針對安全要素間的不確定性、隨機性、約束性、級聯性等互作用關系,基于空間注意力神經圖靈機,研究安全要素空間圖嵌入表述方法,實現空間維度上不同場景下威脅影響范圍和后果的分析。
4) 基于時間-空間綜合嵌入圖的鏈接預測推理。研究基于綜合時空維度嵌入圖,結合復雜系統安全威脅的多階段目標、異構協作機制、聚焦性破壞等多元關聯因素,以安全攻擊威脅為復雜系統安全性動態變遷的驅動力,對威脅進行鏈接推理識別,形成針對時間、空間、威脅要素、關系的多維知識圖譜,構建復雜系統的網絡威脅動態模型。
2.3能力應用
經過抽取的網絡威脅情報信息將應用在威脅知識圖譜構建、威脅追蹤溯源和主動安全防御上。以威脅為驅動力推演網絡威脅風險變化趨勢,提供網絡威脅認知能力建設,便于安全運營中心全面及時有效的進行安全預警、追蹤溯源和威脅狩獵。
1) 基于威脅要素關聯分析的威脅認知能力建設
針對復雜系統中威脅要素在時空維度上呈現的多樣性、動態性和協同性,研究其安全需求沖突消解和安全能力信任傳遞方法,通過研究不同攻防場景下安防適配方法,實現安全風險的定量測度。
2) 基于時空演變的威脅認知能力推演分析和建設
根據實際復雜系統中的脆弱性、安全機制、拓撲結構等安全要素與攻擊威脅在時空維度上的交互演變性,構建復雜系統威脅認知能力,推演分析網絡威脅情報金字塔各個層次——攻擊工具、惡意代碼、APT組織、TTPs……的變遷信息,界定威脅歷時演變和級聯傳播范圍,研究典型威脅認知場景的安全推演范式,從“時間、空間、威脅要素、關聯/關系”等角度開展威脅認知能力推演分析。
3網絡威脅情報分析示例
在第2章所提出的框架指導下,實現了網絡威脅情報全流程應用。
3.1網絡威脅情報本體定義
本課題組在CNTRI數據集中[9],結合網絡威脅情報攻擊指標的金字塔模型以及STIX2.1規范,共定義了13種實體類型,分別為:攻擊組織HackOrg,攻擊行動OffAct,樣本文件SamFile,安全團隊SecTeam,工具Tool,時間Time,目的Purp,地區Area,行業Idus,組織Org,攻擊方法Way,漏洞Exp,功能Features。定義了21種關系,如表1所示。
3.2CTI數據標注系統
本文使用Django、Python、PyQt5進行了網絡威脅情報預處理、實體和關系識別框架的編程實現。系統采用B/S結構,以方便擴展和二次迭代。客戶端使用PyQt5實現,負責發送HTTP請求和顯示處理結果。服務器端使用Django實現,分為預訓練模塊和命名實體識別模塊,處理的結果上傳到BRAT系統供用戶查看和審核,與網絡威脅情報數據源的交互和所有的計算任務均由服務器端完成。特別的,完成了共指關系和時間屬性的提取。
3.3CTI關鍵信息抽取工作
在前述本體定義框架及抽取系統下,以網絡威脅情報開源報告為基礎,構建了網絡威脅情報實體數據集APTNER[10]和DNTRI數據集[9],給出了基于APTNER數據集的常見深度學習模型基線實驗結果。首次提出將度量學習應用于BERT-BiLSTM-CRF命名實體識模型中,加強信息的分布式表達,使用基于TSFL(Triplet with Sorted Focal Loss)損失函數的命名實體識別模型[11],并進行了消融實驗,驗證工作的有效性。
構建了句內關系抽取數據集APTER-SENT[12],提出了一種融合語義特征和句法依賴特征的網絡威脅情報關系提取框架FSSRE。利用圖卷積網絡提取句法依賴特征,利用Sentence-BERT提取上下文語義信息。為了在最大限度地去除無關內容的同時整合相關信息,進一步對輸入依賴樹應用了一種新的剪枝策略。
構建了文檔級(跨句子)關系數據集APTERC-DOC[13]。面對文檔級(跨句子)關系數據集時,使用一種聯合學習框架TIRECO,該模型可以同時完成文檔級網絡威脅情報關系抽取和共指解析。
3.4網絡威脅認知能力建設
根據David在《The Pyramid of Pain》一文中提出的網絡威脅情報攻擊指標(Indicator Of Compromise,IOC)的金字塔模型,以網絡威脅認知能力建設為驅動力,對構建的基于時空演變的網絡威脅認知能力場景進行分析,研究典型認知對抗場景的安全推演范式,從“時間、空間、要素、關系”開展網絡威脅的推演分析。
1) 從“時間”的角度著重對APT組織、惡意代碼、攻擊工具等開展變體、漏洞利用、平臺、加密方法等的時間推演分析。例如對“APT組織”的時間演變畫像。
2) 從“空間”的角度著重對重點安全事件(比如WannaCry勒索軟件攻擊事件)發展趨勢進行推演分析,分析事件的影響網元和級聯傳播范圍,通過安全風險變化趨勢的感知形成及時有效的預警信息。
3) 從“要素”的角度著重針對工具手段、系統安全要素、攻擊方式的變遷情況進行刻畫和推演分析。
4) 從“關系”的角度著重對異質“要素”之間的關聯進行分析。
本課題組基于異質圖信息,定義惡意IP-域名異質要素的關聯認知場景,推理出 IP 地址與其發送惡意請求的域之間的關聯關系,以捕獲IP地址的行為特征。對 IP 地址采取措施以阻止攻擊者[14],如圖2所示。
4網絡威脅情報信息抽取實驗
4.1實驗數據集和字典知識
采用DNRTI[9]數據集進行實驗。該數據集從開源的網絡威脅情報網站收集和分析了300多份CTI報告。其數據全部由威脅情報領域學生使用13個對象類別進行標注,完整標注的DNRTI包含175 220個單詞。領域詞典主要包括CVE漏洞庫、APT組織別名、常見安全術語等[15]。
4.2實驗流程
進行多個實驗來對比討論深度學習中模型的一些常用結構對網絡安全領域NER任務結果的影響。
首先,對于預訓練模型范式,比較了Word2Vec、BERT和XLNet三個模型。由于預訓練方法不同,這三個模型所得到的詞嵌入表示也有所不同。Word2Vec得到的是靜態詞嵌入,不具有文本的上下文信息,相比BERT和XLNet的動態詞嵌入會略差,但其計算資源消耗會相對較小;BERT和XLNet相比,XLNet是BERT的改進版本,理論上會達到比BERT更優的結果。
其次,對于文本的進一步處理,在詞嵌入表示和CRF解碼結構之間加入BiLSTM部分,觀察進一步學習文本的上下文信息是否會提高NER任務的準確率。
最后參考Gao等人[16]的模型結構,觀察領域詞典以及針對領域詞典和輸入文本的注意力機制對NER任務結果的影響。
4.3實驗結果
實驗采用精確率、召回率和F1值作為評價指標,其定義如下:
精確率指所識別的正確實體數占識別出全部實體數的比重,其公式為
P=NTPNTP+NFP。(1)
召回率指識別出正確的實體數占樣本的實體數的比重,其公式為
R=NTPNTP+NFN。(2)
F1值為精確率和召回率的加權平均值,用來反映整體的精確率和召回率的指標,其公式為
F1=2×P×RP+R。(3)
式(1)、(2)中,TP指真陽性,NTP表示模型識別為實體,實際也為實體的個數;FN指假陰性,NFN表示模型識別為非實體,實際是實體的個數;FP指假陽性,NFP表示模型識別為實體,實際為非實體的個數。
從表2的實驗結果可以看出,預訓練模型中,XLNet的性能優于BERT、優于Word2Vec。而BiLSTM和自注意力機制可以使得模型更好地學習文本的上下文信息,獲得更好的語義表征,從而在NER任務中取得更好的效果。此外,領域字典的加入也可以使模型在特定領域表現出更好的性能。
5結語
本文提出一個網絡威脅情報全周期處理框架,該框架由初始網絡威脅情報文本數據爬取、數據預處理與文本分類、情報實體及關系定義、訓練數據集準備、模型分析建模、威脅認知發現等部分組成。提出的框架可動態擴展、循環迭代;同時提出的網絡威脅實體識別的基線模型,可用于網絡威脅情報數據處理。
參考文獻
[1]MCMILLAN R, PRATAP K. Market guide for security threat intelligence services: G00259127[R]. Stamford: Gartner, 2014.
[2]STEELE R D. Open source intelligence[J]. Handbook of Intelligence Studies, 2007, 42(5): 129-147.
[3]LIAO X J, YUAN K, WANG X F, et al.Acing the IOC game: toward automatic discovery and analysis of open-source cyber threat intelligence[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security,Vienna,2016: 755-766.
[4]ZHU Z, DUMITRAS T. CHAINSMITH: automatically learning the semantics of malicious campaigns by mining threat intelligence reports[C]//2018 IEEE European Symposium on Security and Privacy, London,UK,2018: 458-472.
[5]ZHAO J, YAN Q, LI J, et al. TIMiner: automatically extracting and analyzing categorized cyber threat intelligence from social data[J]. Computers amp; Security, 2020, 95: 101867.
[6]PANWAR A. iGen: toward automatic generation and analysis of indicators of compromise (IOCs) using convolutional neural network[D]. Tempe: Arizona State University,2017.
[7]LEE K C, HSIEH C H, WEI L J, et al. Sec-Buzzer: cyber security emerging topic mining with open threat intelligence retrieval and timeline event annotation[J]. Soft Computing,2017, 21(11): 2883-2896.
[8]MITTAL S, DAS P K, MULWAD V, et al. CyberTwitter: using Twitter to generate alerts for cybersecurity threats and vulnerabilities [C]// 2016 IEEE/ACM International Conference on Advances in Social Networks Analysis and Mining, San Francisco,USA,2016: 860-867.
[9]WANG X, LIU X, AO S, et al. DNTRI:a large-scale dataset for named entity recognition in threat intelligence[C]//2020 IEEE 19th International Conference on Trust,Security and Privacy in Computing and Communications,Guangzhou,China,2020:1842-1848.
[10]WANG X R, HE S H, XIONG Z X, et al. APTNER: a specific dataset for ner missions in cyber threat intelligence field[C]// 2022 IEEE 25th International Conference on Computer Supported Cooperative Work in Design,Hangzhou, China, 2022:1233-1238.
[11]WANG X R, XIONG Z H, DU X Y, et al. NER in threat intelligence domain with TSFL[C]//Natural Language Processing and Chinese Computing: 9th CCF International Conference, Zhengzhou, China, 2020:157-169.
[12]WANG X, XIONG M, HE F, et al. FSSRE: fusing semantic feature and syntactic dependencies feature for threat intelligence relation extraction[C]//The 33rd Intemational Conference on Software Engineering and Knowledge Engineering,Pittsburgh,USA,2021:79-85.
[13]WANG X, XIONG M, LUO Y,et al. Joint learning for document-level threat intelligence relation extraction and coreference resolution based on GCN[C]//2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications,Guangzhou,China,2021:584-591.
[14]AO S, HE Y, LUO N, et al. Modeling attackers based on heterogenous graph through malicious HTTP requests[C]//2021 IEEE 24th International Conference on Computer Supported Cooperative Work in Design,Dalian, China,2021:391-396.
[15]WANG X R, YANG J, WANG Q Y, et al. Threat intelligence relationship extraction based on distant supervision and reinforcement learning[C]//The 32nd International Conference on Software Engineering and Knowledge Engineering,Pittsburgh, USA,2020: 572-576.
[16]GAO C, ZHANG X, LIU H. Data and knowledge-driven named entity recognition for cyber security[J].Cybersecurity, 2021,4(1): 1-13.
Research and implementation of cyber threat intelligence analysis framework
HE Famei1, LIU Runshi2, JIA Sainan2, YUE Huanzhou2, WANG Xuren2
(1. Library of Beijing Institute of Technology,Beijing 100081, China;
2. College of Information Engineering, Capital Normal University, Beijing 100048, China)
Abstract:Cyber Threat Intelligence (CTI) is based on a large amount of network threat intelligence data. Through information sharing and mass collaboration, rapid early warning, detection and response to network threat can be achieved. How to quickly and accurately extract network security information from massive CTI reports has become a hot and difficult research topic. In this article, a framework for analyzing cyber threat intelligence is proposed, and the current full cycle processing process for cyber threat intelligence is summarized.An application example under this framework is given: creating an open CTI dataset based on the BRAT tagging system, proposing an entity and relationship information extraction algorithm, realizing the association cognition of malicious IP domain names based on heterogeneous information maps, etc. Finally, the embedded expression based on the combination of XLnet and cyber security dictionary is proposed, which makes the accuracy rate of Named-entity recognition reach 95.27%, and serves as the reference and experimental baseline for the analysis and comparison of cyber threat intelligence entities′ recognition, which is the basis of CTI analysis.
Keywords: cyber threat intelligence;deep learning;multihead attention mechanism;named entity recognition