程順航,李志華,魏 濤
(江南大學 人工智能與計算機學院,江蘇 無錫 214122)
網絡安全威脅情報能夠從多個角度剖析采用不同技術、戰(zhàn)術、方法的網絡攻擊行為,并對網絡攻擊進行預警、對網絡威脅的發(fā)展態(tài)勢進行有效研判,從而高效地化解網絡安全風險[1]。本文面向互聯(lián)網開源異構大數(shù)據(jù),針對大量隱藏在各類型網絡安全文件中的攻擊指示器(Indicators of Compromise,IoC)挖掘問題,從構建“實體-關系-實體”三元組的角度展開研究。
信息抽?。↖nformation Extraction,IE)作為特征抽取的一個演變升華形式,在自然語言實體抽取領域得到了廣泛的應用。實體抽取旨在從目標文件中抽取事實信息和事實描述。實體抽取主要包括命名實體識別(Named Entity Recognition,NER)、關系抽?。≧elation Extraction,RE)和事件抽?。‥vent Extraction,EE)三個部分[2],其中實體識別和關系抽取是自然語言處理的基礎,能夠有效地從半結構化、無結構化文本中挖掘特定的實體及其關系。
語義角色標注(Semantic Role Labeling,SRL)是以謂詞為核心的一種淺層語義分析技術,能夠在謂詞所表達的事件短語中對謂詞相關的語義成分進行標注,如施事者、受事者、時間和地點等。通過SRL 技術能夠有效地分析句中各成分與謂詞之間的關系,是實體抽取任務的重要中間步驟之一。
目前信息抽取技術已經在自然語言處理領域得到了廣泛應用[3-9],并取得了較好的效果。但是具體針對網絡安全威脅情報挖掘而言,信息抽取技術在此領域的應用當前還面臨著以下不足:1)互聯(lián)網開源大數(shù)據(jù)中存在著海量的IoC,這些IoC 是構建網絡安全威脅情報的重要基礎和來源。而這些開源大數(shù)據(jù)通常表現(xiàn)為結構復雜多樣的半結構化或無結構化的長文本,并且語句結構與日常用語差異性較大,詞匯專業(yè)性強、復雜度相對較高。2)互聯(lián)網開源網絡安全威脅情報具有實體更新頻繁、形式多樣、格式不統(tǒng)一的特性。當前,從作者可涉及的研究資源角度來看,缺少一個統(tǒng)一、標準的網絡安全威脅情報標準數(shù)據(jù)樣本集。這一情況不利于網絡安全威脅情報挖掘同數(shù)據(jù)挖掘、機器學習等前沿學科進行交叉研究,更無法滿足大數(shù)據(jù)挖掘訓練的要求。
針對上述不足,本文提出了一種面向少樣本的網絡安全威脅情報實體關系抽?。═hreat Intelligence Entity Relation Extraction,TIERE)方法。TIERE 方法包含:一種提高文本可分析性的數(shù)據(jù)預處理方法、基于改進自舉法的命名實體識別(Improved BootStrapping-based Named Entity Recognition,NER-IBS)算法和基于語義角色標注的關系抽?。⊿emantic Role Labeling-based Relation Extraction,RE-SRL)算法。實驗結果表明TIERE 方法能高效地挖掘互聯(lián)網開源異構大數(shù)據(jù)中有關網絡安全威脅情報的實體和關系。
信息抽取技術的研究相對比較成熟。早期的信息抽取采用基于規(guī)則的方法[3],由領域專家根據(jù)實體特點構建相應的規(guī)則模板,再通過模式匹配的方法進行信息抽取。這類方法雖然高效、準確度高,但存在成本高、召回率低、泛化能力差的缺點。隨著機器學習的發(fā)展,基于數(shù)學統(tǒng)計的信息抽取技術逐漸流行,主要通過提取各類實體的特征,然后借助大規(guī)模語料進行訓練,這類機器學習模型如支持向量機(Support Vector Machine,SVM)[4]、隱馬爾可夫模型(Hidden Markov Mode,HMM)[5]等,在信息抽取方面都有不少的應用,實驗取得了較好的效果,但是存在特征構建復雜、適應性較差的不足。近年來,深度學習的發(fā)展對自然語言處理產生了比較大的影響,隨著GPT(Generative Pre-Training)[6]、BERT(Bidirectional Encoder Representations from Transformers)[7]等語言預訓練模型的發(fā)布,進一步提高了信息抽取的性能,預訓練模型與雙向長短時記憶(Bidirectional Long Short-Term Memory,BiLSTM)網絡和條件隨機場(Conditional Random Field,CRF)相結合成了當前信息抽取的主流方法[8-9]。但是,目前大多數(shù)基于深度學習的模型和算法都需要依賴大規(guī)模的標注樣本集進行學習訓練,當面對如網絡安全威脅情報這樣的特定專業(yè)領域,受限于有限的、可信賴的有監(jiān)督學習的訓練樣本集,在少樣本集可供學習訓練的情況下,導致上述模型和算法的性能必然受到影響,信息抽取的精準度大幅下降[10]。
當前,針對網絡安全威脅情報的信息抽取主要聚焦于IoC 的挖掘,如IP、HASH 值等有規(guī)則的實體。Liao 等[11]提出的iACE(IoC Automatic Extractor)框架,借助模式匹配的方法通過提取文本中包含關鍵字的語句,再使用圖挖掘技術分析上下文的語義關系來抽取IoC;Long 等[12]使用基于神經網絡的序列標注模型對IoC 進行分類挖掘。以上研究均取得了比較好的效果。通常網絡安全文本如APT(Advanced Persistent Threat)報告中不僅僅包含IoC,還有其他有意義的實體,如威脅組織名、惡意軟件名等,它們同樣是構建威脅情報的重要組成部分之一。為了加強對此類實體的識別,Dionísio 等[13]使用BiLSTM-CRF 模型完成了對網絡安全推文的實體識別實驗,取得了不錯的效果;Qin 等[14]提出了CNNBiLSTM-CRF 模型,通過添加卷積神經網絡(Convolutional Neural Network,CNN)增強了模型的特征提取能力;Gao 等[15]將神經網絡通過注意力機制與外部字典相結合,使模型能充分學習到威脅情報相關的專業(yè)詞匯。
雖然基于深度學習的有監(jiān)督實體識別模型在威脅情報挖掘領域取得了不錯的成果,但這類模型需要專業(yè)人員構建龐大的數(shù)據(jù)集,在少樣本集情況下難以普及。為此,McNeil等[16]提出了一種半監(jiān)督學習算法PACE(Pattern Accurate Computationally Efficient Bootstrapping)。PACE 算法結 合Bootstrapping 和規(guī)則匹配完成了對網絡安全概念的抽?。籊eorgescu 等[17]提出了手動標注與自動標注相結合的方法構建威脅情報樣本集;Yi 等[18]提出一種正則表達式、已知實體字典和CRF 結合的安全命名實體識別算法RDF-CRF(Regular expression and Dictionary combined with Feature templates as well as CRF)。但是上述方法只是單純地提取實體,忽略了實體與實體之間的關系?!皩嶓w-關系-實體”是自動生成、構建威脅情報的關鍵。
本文針對威脅情報挖掘領域少樣本集導致信息抽取準確度不高這一問題,提出了TIERE 方法,TIERE 方法能夠在無樣本標注的情況下完成對半結構化、無結構化文本的“實體”、“實體-關系-實體”挖掘。實驗結果表明TIERE 方法是有效且高效的。
TIERE 方法的主要目的是從半結構化、無結構化的異構文本中自動抽取“實體-關系-實體”三元組。TIERE 方法主要包括三個部分:將待處理的目標文本通過數(shù)據(jù)預處理流程進行清洗和轉換,生成易于理解、結構標準的語句;通過NER-IBS 算法,依賴少量的初始學習樣本和抽取規(guī)則,挖掘句子中的威脅實體;通過RE-SRL 算法,對文本語義信息進行分析,挖掘威脅實體之間的關系,并對關系進行分類。以下對各個部分進行詳細討論。
以安全廠商對某次攻擊行為分析后所發(fā)布的報告為例,報告中包含有網絡威脅情報,這些報告形式上以自然語言描述,以PDF 文本、HTML 文本的形式存在,通常包含有大量的無關信息,嚴重影響信息抽取的效果。在此,概括分析諸如上述安全廠商報告給威脅情報挖掘帶來的挑戰(zhàn)如下:
1)開源威脅情報多數(shù)是半結構或無結構化的文本數(shù)據(jù),如HTML 格式的安全博客和PDF 格式的APT 報告等,異構數(shù)據(jù)會對信息的抽取造成困難。
2)安全領域文本存在較多無語義的字符數(shù)據(jù),與其他領域文本不同,安全領域文本包含大量的URL、IP、HASH 等詞匯,會嚴重影響實體識別模型對文本語義的理解,在模型訓練過程中產生大量的噪聲。
3)安全領域文本專業(yè)性更強、復雜度更高。具體表現(xiàn)為:存在大量的代詞,這些代詞通常用來替代重復出現(xiàn)的威脅實體,從而導致實體之間的跨度增加,影響了關系抽取模型的回歸率;英文文本中動詞詞形多樣,又增加了相似度計算的復雜性,影響了關系分類的性能。
針對上述問題,本文研究并提出了一種數(shù)據(jù)預處理方法,具體流程如圖1 所示。
圖1 數(shù)據(jù)預處理方法Fig.1 Data preprocessing method
首先,對開源的威脅情報文本進行格式歸一化處理??紤]到絕 大多數(shù) 格式為PDF 和HTML,采 用PDFMiner[19]、HTMLParser[20]分別對PDF 格式、HTML 格式文本進行解析,并過濾其中的非ASCII 字符,生成TXT 格式文本;然后,對它們進行數(shù)據(jù)清洗,考慮到文本中可能包含URL、IP、HASH 等無語義的專業(yè)詞匯,采用正則表達式進行匹配和替換,并在此過程中過濾掉停用詞;最后,對清洗后的文本進行標準化處理,借助HanLP[21]提供的指代消解模型消除文本中的代詞,通過WordNet[22]提取英文動詞的詞干。專業(yè)詞匯的正則表達式構造方法如表1 所示,其中,對URL 詞匯中ftp、ftps、sftp、http、https 五種網絡傳輸協(xié)議進行解析;并對IP、URL 中常見的混淆技術進行識別,如網絡安全中IP、URL 通常指向惡意鏈接,為防止誤點使用錨點進行混淆。對HASH 函數(shù)中MD5、SHA1、SHA256 三種加密算法進行識別,它們分別由32 b、40 b、64 b 字母或數(shù)字組成。
表1 專業(yè)詞匯的正則表達式Tab.1 Regular expressions of specialized vocabulary
針對傳統(tǒng)的Bootstrapping 算法[16]中隨著迭代次數(shù)的增加容易導致語義漂移問題,在此對Bootstrapping 算法進行改進。Bootstrapping 算法的改進策略如圖2 所示,主要分為三個階段:1)模式匹配,通過規(guī)則庫與半結構、無結構化文本進行匹配,構造帶標注的樣本數(shù)據(jù)集,利用少量樣本和正則表達式作為初始種子構建規(guī)則庫;2)實體識別,使用實體識別模型訓練樣本集并挖掘新實體;3)實體評估,通過實體識別模型訓練后可能產生大量偽實體,這將嚴重影響規(guī)則庫和數(shù)據(jù)樣本集的質量,為了克服這一不足,通過加入實體評估模型對新的實體數(shù)據(jù)集進行評估,過濾其中的偽實體。上述三個階段重復迭代,以此來不斷完善規(guī)則庫、擴大實體數(shù)據(jù)樣本集,有助于提高實體識別的性能。
圖2 Bootstrapping算法的改進策略Fig.2 Improved strategy of Bootstrapping algorithm
2.2.1 模式匹配
對不同的實體類型結合相應的實例詞典與正則表達式構成初始化規(guī)則庫,與半結構化、無結構化文本進行匹配,生成初始化的實例樣本集,每次迭代后更新規(guī)則庫,并生成新的樣本集。受STIX(Structured Threat Information eXpression)[23]中定義的STIX 域對象(STIX Domain Object,SDO)啟發(fā),本文選取6 種實體類型。實體類型及其模式匹配方法如表2 所示,其中Attacker 表示某攻擊行為的主體,通常指黑客、間諜或威脅組織,部分常見的威脅組織使用APT、TA 作為前綴規(guī)則進行命名,如APT34、TA459 等,可選取ATT&CK[24]知識庫中常見攻擊組織詞典以及其命名規(guī)則作為初始化模式與原始文本進行匹配;Malware 表示攻擊行為中使用的工具或惡意代碼,通常以.exe、.sh 等后綴規(guī)則命名,可選取ATT&CK 知識庫中的常用惡意軟件詞典以及Malware 命名規(guī)則作為其初始化模式;Cve 表示攻擊行為中利用的漏洞,部分已公開的漏洞使用CVE 作為前綴進行編號,如路由器漏洞CVE-2021-34730,使用編號規(guī)則作為其初始化模式;Location 表示攻擊的目標位置或攻擊主體所在位置,對此使用國家名作為詞典構造初始化模式;Type 表示攻擊主體或惡意軟件的類型,本文總結出病毒、鍵盤記錄器、蠕蟲、木馬、勒索軟件、后門6 種攻擊類型構成詞典作為初始化模式;IoC 表示攻擊行為中涉及的攻擊指示器,如IP、HASH 值等,使用表1 中對應的正則表達式作為初始化模式。
表2 實體類型及模式匹配方法Tab.2 Entity types and pattern matching methods
2.2.2 實體識別模型
針對威脅情報實體專業(yè)性強的特點,為了更好地學習它的語義特征,使用基于深度神經網絡(Deep Neural Network,DNN)[25]的實體識別模型。實體識別模型主要分為詞嵌入層、上下文編碼層、解碼層。詞嵌入層主要將文本中的詞表示成向量的形式,使相似意義的詞在向量空間上具有相似的表示,為了更好地提取詞與上下文間的語義特征,使用了BERT[7]預訓練模型作為詞嵌入層,將詞特征、句特征、位置特征三種特征融合作為模型的輸入用于計算詞向量,并通過遷移學習的方式運用到下游任務中;使用BiLSTM 作為模型的上下文編碼層,LSTM 是一種循環(huán)神經網絡(Recurrent Neural Network,RNN)結構,能很好地處理序列數(shù)據(jù),學習上下文信息。對比傳統(tǒng)的RNN,LSTM 在長序列數(shù)據(jù)上有更好的表現(xiàn),解決了RNN 模型訓練過程中梯度消失的問題。LSTM 主要由多個神經單元構成,每個單元通過遺忘門(forget gate)、輸入門(input gate)和輸出門(output gate)控制信息的記憶。在第t時刻,遺忘門、輸入門、輸出門如式(1)~(3)所示:
其中:Wf、Wi、Wo分別為遺忘門、輸入門和輸出門的神經網絡參數(shù);bf、bi、bo分別為遺忘門、輸入門和輸出門的神經網絡偏置值;ht-1表示在t-1 時刻的隱藏狀態(tài)。
在t時刻單元狀態(tài)Ct由前一時刻單元狀態(tài)Ct-1和現(xiàn)時刻的初始狀態(tài)決定,按式(4)~(5)計算:
通過遺忘門過濾前一時刻單元的不重要信息,通過輸入門提取當前時刻重要信息。最后通過輸出門按式(6)計算當前時刻隱藏狀態(tài)ht:
BiLSTM 將正向和反向兩個方向的LSTM 隱藏狀態(tài)結合作為新的隱藏狀態(tài),如式(7)所示:
經過BiLSTM 編碼層后可以得到向量序列,需要解碼器對它進行解析,使用CRF 作為模型的解碼層,計算所有標簽序列的概率分布,按式(8)~(9)計算:
其中:U和b為神經網絡參數(shù)和偏置值表示從前一個標簽yi到后一個標簽yi+1的轉移概率表示第i個元素輸出為yi標簽的概率。
2.2.3 實體評估模型
為了防止過多的偽實體對樣本集訓練結果產生影響,對經過實體識別后的實體集進行評估,提取質量較高的實體用于補充規(guī)則庫。通過分析發(fā)現(xiàn)偽實體一般由以下原因產生:1)威脅實體通常以詞組的形式存在,如“海蓮花組織”中“海蓮花”為一個整體,而在日常的語言中,“海”和“蓮花”分別為不同的實體,因此可能出現(xiàn)實體邊界判定錯誤;2)不同類型的實體出現(xiàn)在相同的語境可能產生不同語義,如“一種Linux惡意軟件”與“一種Mirai 惡意軟件”兩句話中“Linux”與“Mirai”有相同的語境,但卻表達不同的含義。針對上述問題,本文提出了一種實體評估模型,如圖3 所示。
圖3 實體評估模型示例Fig.3 Entity evaluation model example
首先,為了驗證實體邊界,使用Jieba 庫[26]對半結構化、無結構化文本進行分詞,通過滑動窗口構建多元詞組;其次,將詞組與文本作為輸入通過Word2Vec 模型[27]進行預訓練,得到多元詞組向量集合V;最后,為區(qū)分相同語境下不同類型的實體,計算實體集中實體E=(e1,e2,…,eq)與規(guī)則庫中實體G=(g1,g2,…,gp)的余弦夾角,即相似度,并過濾相似度較低的實體。相似度計算如式(10)所示:
其中:Sk表示實體集中第k個實體與規(guī)則庫所有實體的相似度之和;表示實體ek的第i維詞組向量。
2.2.4 NER-IBS算法
NER-IBS 算法如算法1 所示。輸入文本集L=(l1,l2,…,ln),規(guī)則庫U,迭代次數(shù)N,輸出實體集E。首先,通過模式匹配模型生成樣本集W,通過BERT 預訓練模型生成詞嵌入矩陣X,通過滑動窗口生成多元詞組M,通過Word2Vec 預訓練模型生成詞組向量V;然后,進行N次迭代,依次按照式(1)~(7)計算BiLSTM 層隱藏狀態(tài)h,按照式(8)~(9)計算CRF 層概率分布S;接著反向傳播更新模型參數(shù),通過多次迭代訓練后,得到標簽序列y,并更新實體集;最后,依次將實體集與規(guī)則庫實體進行相似度計算,過濾規(guī)則庫中相似度小于閾值的實體。
算法1 NER-IBS 算法。
NER-IBS 算法的時間復雜度可表示實體識別的效率。設隱藏層維度為n,BERT 詞向量維度為m,則計算遺忘門、輸入門和輸出門的時間復雜度為O(m(n+m)),計算單元狀態(tài)和隱藏狀態(tài)的時間復雜度為O(n)。由此可得,LSTM 模型一個時刻的時間復雜度為O(3m(n+m)+2n),即O(n2)。由于訓練次數(shù)epoch為常量,設時間步長為T,則實體識別模型時間復雜度為O(n2T),即O(n3)。設Word2Vec 詞組向量維度為w,實體集總數(shù)為e,則計算相似度的時間復雜度為O(w),實體評估模型的時間復雜度為O(we)。由于迭代次數(shù)N為常量,則總時間復雜度為O(n3+we),即O(n3)。
SRL 是一種以謂詞為中心的淺層語義分析技術,主要描述如“誰對誰”“何時何地”“做了什么事”等。SRL 技術能有效地挖掘實體間的潛在關系,但無法判斷關系的類別。本文在SRL 技術的基礎上提出了RE-SRL 算法。RE-SRL 算法的邏輯架構如圖4 所示,通過關系抽取模型挖掘實體間的關系,通過關系分類模型識別關系的類別。
圖4 RE-SRL算法的邏輯架構Fig.4 Logic architecture of RE-SEL algorithm
2.3.1 關系抽取
在此,借助LTP(Language Technology Platform)[28]模型獲取威脅情報文本中的語義標記信息,其中A0 表示事件的主體即實施者、A1 表示事件的受事者、V 表示事件的謂語。如“海蓮花組織利用Monero 勒索軟件攻擊中國”中“海蓮花組織”為實施者,“利用”和“攻擊”分別為描述受事者“Monero勒索軟件”和“中國”的謂語。對語義標記信息進行剪枝,剔除不含威脅實體的信息,并以謂詞為核心對其進行劃分,上述語句可得到兩組三元組:(A0:海蓮花,V1:利用,A1:Monero)、(A0:海蓮花,V2:攻擊,A1:中國)。
2.3.2 關系分類
借助SRL 技術,并使用無監(jiān)督語義相似度模型對語義角色中的關系謂詞進行分類,針對網絡安全領域實體,選取了如表3 所示的關系類別。由于不同語境下的謂詞表達的含義可能不同,將整個三元組作為相似度的評價標準,使用表3 中的關系集替換原始三元組中的謂詞構建多個不同的三元組,并與原始三元組計算相似度,相似度計算如式(11)所示:
表3 關系類別Tab.3 Relation category
其中:r為關系集R的一種關系;t為原始三元組,tr表示使用關系r替換謂詞后的三元組;Vt,i表示三元組t的第i維句向量,句向量使用BERT 模型[7]計算。選取相似度最高的三元組作為關系抽取的結果。
2.3.3 RE-SRL算法
RE-SRL 算法如算法2 所示,其中:L為文本輸入,E為實體集輸入,R為關系類別輸入,tuples為最終輸出的“實體-關系-實體”三元組集合。使用LTP[28]模型計算文本的語義標記信息SRL,對于SRL中的每行信息srl逐一進行計算。首先遍歷實體集,匹配與實施者srlA0和受事者srlA1對應的實體ei、ej,并與謂語srlv結合生成三元組t;然后,將使用關系集替換謂詞后的新三元組tr與原始三元組計算相似度sr;最后,取相似度最高的三元組tmax存入三元組集合中。
算法2 RE-SRL 算法。
RE-SRL 算法的時間復雜度可表示關系抽取的效率。設文本總長度為n,實體集數(shù)量為e,則關系抽取模型時間復雜度為O(ne)。設BERT 句向量維度為v,計算三元組相似度的時間復雜度為O(v),由于關系類別數(shù)為常量,則關系分類模型的時間復雜度為O(v)。算法總時間復雜度為O(nev),即O(n3)。
本文提出的TIERE 方法包含:數(shù)據(jù)預處理、NER-IBS 算法和RE-SRL 算法,具體步驟如方法1 所示。
方法1 TIERE 方法。
參見TIERE 方法,輸入網絡安全文本texts、規(guī)則庫U、迭代次數(shù)N、關系類別R,輸出“實體-關系-實體”三元組tuples。首先,對安全文本格式進行判斷,分別對PDF 格式、HTML 格式的文本進行解析,依次通過數(shù)據(jù)清洗、指代消解、詞形還原操作生成標準化文本集L;然后,使用NER-IBS 算法生成實體集E,使用RE-SRL 算法生成“實體-關系-實體”三元組。
為了驗證面向少樣本的威脅情報信息抽取方法的有效性和高效性,本文從各安全廠商發(fā)布的博客和報告中收集了71 篇安全類文章,包含1 757 條語句,其中各類實體標簽數(shù)量如表4 所示,各類關系數(shù)量如表5 所示。
表4 各實體標簽數(shù)量Tab.4 Number of labels per entity
表5 各類關系數(shù)量Tab.5 Number of relations
實驗中使用的評估指標為精確率Pre、召回率Rec和F1值(F1),具體計算方式如式(12)~(14)所示:
其中:TP表示真實值為陽性樣本中預測正確的數(shù)量;FP表示真實值為陰性的樣本中預測錯誤的數(shù)量;FN表示真實值為陽性中預測錯誤的數(shù)量。
本文實驗使用的軟硬件配置如表6 所示,實驗中模型的參數(shù)設置如表7 所示。
表6 實驗環(huán)境配置Tab.6 Experimental environment configuration
表7 模型參數(shù)設置Tab.7 Model parameter setting
為驗證NER-IBS 算法的有效性和高效性,設置了對比分析實驗、Bootstrapping 迭代次數(shù)分析實驗和消融實驗。
3.4.1 對比分析實驗
為驗證本文實體識別方法的高效性,將其與其他半監(jiān)督學習算法和有監(jiān)督學習算法在本文語料上進行對比實驗,實驗結果如表8 所示。由表8 可知,本文提出的實體識別算法在F1 值上均優(yōu)于其他少樣本學習算法,并且接近使用大規(guī)模樣本的有監(jiān)督學習算法的效果。與文獻[16]中的算法相比,本文NER-IBS 算法的召回率提升了33 個百分點,F(xiàn)1 值提升了23 個百分點,主要原因在于深度學習模型融入了詞嵌入特征,能更有效地分析實體詞匯在文中的具體語義,解決了傳統(tǒng)的模式匹配方法挖掘力度不足的問題;與文獻[17]中的算法相比,NER-IBS 算法在召回率和精確率上都有提升,F(xiàn)1 值提升了16 個百分點;與RDF-CRF 算法相比,NER-IBS 算法在召回率上提升了3 個百分點,在F1 值上提高了2 個百分點,主要原因在于NER-IBS 算法通過自舉法不斷迭代,能有效地利用多次統(tǒng)計推理的結果;對比文獻[13]與文獻[15]中的算法可知,融入專業(yè)詞典可有效地提高實體識別效果。
表8 不同算法實驗結果的對比Tab.8 Comparison of experimental results of different algorithms
3.4.2 Bootstrapping迭代次數(shù)分析實驗
為驗證使用Bootstrapping 算法進行迭代對各類別實體抽取效果的影響,選取了三種不同復雜度的實體進行分析實驗,如圖5 所示為各實體在不同迭代次數(shù)下的準確度。由圖5 可得出以下結論:
圖5 各實體不同迭代次數(shù)下的實驗結果Fig.5 Experimental results of each entity under different iteration numbers
1)分析實體抽取效果的整體變化趨勢,發(fā)現(xiàn)前幾次迭代中實體抽取的各項評價指標都有大幅度提升,可以得出Bootstrapping 算法對實體抽取效果起作用。
2)分別比較迭代次數(shù)對不同實體抽取效果的影響,發(fā)現(xiàn)Attacker、Malware、Cve 實體分別在第4 次、第3 次、第2 次迭代時F1 值達到穩(wěn)定狀態(tài),由于Attacker 實體具有更復雜多樣的結構,而Cve 實體相對簡單且多數(shù)為有規(guī)則的編號,可以得出更復雜的實體需要迭代更多的次數(shù)。
3)分析實體抽取效果在不同評價指標下的變化趨勢,發(fā)現(xiàn)對于Attacker 和Malware 相對復雜的實體,在F1 值達到穩(wěn)定后隨著迭代次數(shù)的增加會導致精確率下降的情況,較復雜的實體隨著迭代次數(shù)的增加可能會導致語義漂移,從而影響樣本集的質量。
3.4.3 消融實驗
針對迭代過度導致的語義漂移問題,本文在傳統(tǒng)的Bootstrapping 算法中加入了實體評估模型,為驗證實體評估模型的有效性進行了消融對比實驗,實驗結果如表9 所示。由表9 可知,加入實體評估模型后雖然召回率有所下降,但精確率和F1 值都有明顯提升。
表9 消融實驗結果Tab.9 Ablation experimental results
對RE-SRL 算法進行驗證,分別分析算法無類別抽取和有類別抽取的性能,驗證關系分類模型的有效性和RE-SRL算法的高效性,實驗結果如表10 所示。由表10 可知,本文提出的關系抽取方法在不考慮關系類別的情況下F1 值達到了0.94,而進行關系分類后F1 值為0.71。
表10 關系抽取和分類實驗結果Tab.10 Experimental results of relation extraction and classification
本節(jié)借助TIERE 方法抽取網絡安全威脅情報驗證方法的實用性。使用TIERE 方法對一篇有關“海蓮花組織攻擊活動”的APT 報告[29]進行實體和關系抽取實驗。其“實體-關系-實體”三元組抽取結果如下所示:
段落1:海蓮花是高度組織化的、專業(yè)化的境外國家級黑客組織。其活動跡象最早可追溯到2012 年。攻擊目標包括中國政府、海事機構、海域建設部門、科研院所和航運企業(yè)等。
三元組1:(海蓮花,目標,中國)。
段落2:其樣本執(zhí)行的宏代碼將通過regsvr32.exe 注冊調用~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole 程序,該程序為dll 文件。并解密出最終的payload 進行執(zhí)行。最終的復雜木馬也是海蓮花使用的遠控載荷之一,如“WinWord.exe”SFX 樣本,(md5:d87e12458839514f1425243075cfc078)。
三元組2:(海蓮花,使用,WinWord.exe)(海蓮花,使用,regsvr32.exe)(海蓮花,指向,d87e12458839514f1425243075 cfc078)(regsvr32.exe,相關,WinWord.exe)。
威脅情報表示成STIX2[27]格式的結果如下所示:
此攻擊活動的攻擊主體(Attacker)為海蓮花,攻擊地點(Location)為中國,包含惡意軟件(Malware)有regsvr32.exe 和WinWord.exe,涉及了3 種攻擊指示器,包括77.245.76[.]66、5.104.110[.]170、d87e12458839514f1425243075cfc078。各實體之間存在4 種關系,共生成了5 組“實體-關系-實體”三元組,包括:(海蓮花,使用,regsvr32.exe)、(海蓮花,使用,WinWord.exe)、(海蓮花,目標,中國)、(海蓮花,指向,d87e12458839514f1425243075cfc078)、(regsvr32.exe,相關,WinWord.exe)。這充分說明了TIERE 方法在挖掘無結構化文本中的威脅情報實體和關系的有效性。
信息抽取是自然語言處理的重要分支,針對網絡安全報告中IoC 挖掘的具體需求,可以提出新的信息抽取模型和算法,或改進已有的模型和方法,以挖掘非結構文本中的威脅情報信息。對此,本文提出了一種威脅情報實體關系抽取(TIERE)方法,通過預處理降低文本的復雜度,使用基于自舉法的實體識別(NER-IBS)算法挖掘威脅實體,使用基于語義角色標注的關系抽?。≧E-SRL)算法挖掘實體間的關系,解決了威脅情報信息抽取任務中樣本稀缺、文本復雜的問題,并取得了較好的實驗效果。
本文研究只針對中文文本,在后續(xù)的研究中,將進一步研究多語種威脅情報的信息抽取技術,提高方法的泛化能力,并增加更多的實體類型和關系類型,開發(fā)更全面的威脅情報信息體系。