• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      融合自舉與語(yǔ)義角色標(biāo)注的威脅情報(bào)實(shí)體關(guān)系抽取方法

      2023-05-24 03:18:40程順航李志華
      計(jì)算機(jī)應(yīng)用 2023年5期
      關(guān)鍵詞:三元組威脅實(shí)體

      程順航,李志華,魏 濤

      (江南大學(xué) 人工智能與計(jì)算機(jī)學(xué)院,江蘇 無(wú)錫 214122)

      0 引言

      網(wǎng)絡(luò)安全威脅情報(bào)能夠從多個(gè)角度剖析采用不同技術(shù)、戰(zhàn)術(shù)、方法的網(wǎng)絡(luò)攻擊行為,并對(duì)網(wǎng)絡(luò)攻擊進(jìn)行預(yù)警、對(duì)網(wǎng)絡(luò)威脅的發(fā)展態(tài)勢(shì)進(jìn)行有效研判,從而高效地化解網(wǎng)絡(luò)安全風(fēng)險(xiǎn)[1]。本文面向互聯(lián)網(wǎng)開(kāi)源異構(gòu)大數(shù)據(jù),針對(duì)大量隱藏在各類型網(wǎng)絡(luò)安全文件中的攻擊指示器(Indicators of Compromise,IoC)挖掘問(wèn)題,從構(gòu)建“實(shí)體-關(guān)系-實(shí)體”三元組的角度展開(kāi)研究。

      信息抽?。↖nformation Extraction,IE)作為特征抽取的一個(gè)演變升華形式,在自然語(yǔ)言實(shí)體抽取領(lǐng)域得到了廣泛的應(yīng)用。實(shí)體抽取旨在從目標(biāo)文件中抽取事實(shí)信息和事實(shí)描述。實(shí)體抽取主要包括命名實(shí)體識(shí)別(Named Entity Recognition,NER)、關(guān)系抽?。≧elation Extraction,RE)和事件抽?。‥vent Extraction,EE)三個(gè)部分[2],其中實(shí)體識(shí)別和關(guān)系抽取是自然語(yǔ)言處理的基礎(chǔ),能夠有效地從半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)化文本中挖掘特定的實(shí)體及其關(guān)系。

      語(yǔ)義角色標(biāo)注(Semantic Role Labeling,SRL)是以謂詞為核心的一種淺層語(yǔ)義分析技術(shù),能夠在謂詞所表達(dá)的事件短語(yǔ)中對(duì)謂詞相關(guān)的語(yǔ)義成分進(jìn)行標(biāo)注,如施事者、受事者、時(shí)間和地點(diǎn)等。通過(guò)SRL 技術(shù)能夠有效地分析句中各成分與謂詞之間的關(guān)系,是實(shí)體抽取任務(wù)的重要中間步驟之一。

      目前信息抽取技術(shù)已經(jīng)在自然語(yǔ)言處理領(lǐng)域得到了廣泛應(yīng)用[3-9],并取得了較好的效果。但是具體針對(duì)網(wǎng)絡(luò)安全威脅情報(bào)挖掘而言,信息抽取技術(shù)在此領(lǐng)域的應(yīng)用當(dāng)前還面臨著以下不足:1)互聯(lián)網(wǎng)開(kāi)源大數(shù)據(jù)中存在著海量的IoC,這些IoC 是構(gòu)建網(wǎng)絡(luò)安全威脅情報(bào)的重要基礎(chǔ)和來(lái)源。而這些開(kāi)源大數(shù)據(jù)通常表現(xiàn)為結(jié)構(gòu)復(fù)雜多樣的半結(jié)構(gòu)化或無(wú)結(jié)構(gòu)化的長(zhǎng)文本,并且語(yǔ)句結(jié)構(gòu)與日常用語(yǔ)差異性較大,詞匯專業(yè)性強(qiáng)、復(fù)雜度相對(duì)較高。2)互聯(lián)網(wǎng)開(kāi)源網(wǎng)絡(luò)安全威脅情報(bào)具有實(shí)體更新頻繁、形式多樣、格式不統(tǒng)一的特性。當(dāng)前,從作者可涉及的研究資源角度來(lái)看,缺少一個(gè)統(tǒng)一、標(biāo)準(zhǔn)的網(wǎng)絡(luò)安全威脅情報(bào)標(biāo)準(zhǔn)數(shù)據(jù)樣本集。這一情況不利于網(wǎng)絡(luò)安全威脅情報(bào)挖掘同數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等前沿學(xué)科進(jìn)行交叉研究,更無(wú)法滿足大數(shù)據(jù)挖掘訓(xùn)練的要求。

      針對(duì)上述不足,本文提出了一種面向少樣本的網(wǎng)絡(luò)安全威脅情報(bào)實(shí)體關(guān)系抽取(Threat Intelligence Entity Relation Extraction,TIERE)方法。TIERE 方法包含:一種提高文本可分析性的數(shù)據(jù)預(yù)處理方法、基于改進(jìn)自舉法的命名實(shí)體識(shí)別(Improved BootStrapping-based Named Entity Recognition,NER-IBS)算法和基于語(yǔ)義角色標(biāo)注的關(guān)系抽取(Semantic Role Labeling-based Relation Extraction,RE-SRL)算法。實(shí)驗(yàn)結(jié)果表明TIERE 方法能高效地挖掘互聯(lián)網(wǎng)開(kāi)源異構(gòu)大數(shù)據(jù)中有關(guān)網(wǎng)絡(luò)安全威脅情報(bào)的實(shí)體和關(guān)系。

      1 相關(guān)工作

      信息抽取技術(shù)的研究相對(duì)比較成熟。早期的信息抽取采用基于規(guī)則的方法[3],由領(lǐng)域?qū)<腋鶕?jù)實(shí)體特點(diǎn)構(gòu)建相應(yīng)的規(guī)則模板,再通過(guò)模式匹配的方法進(jìn)行信息抽取。這類方法雖然高效、準(zhǔn)確度高,但存在成本高、召回率低、泛化能力差的缺點(diǎn)。隨著機(jī)器學(xué)習(xí)的發(fā)展,基于數(shù)學(xué)統(tǒng)計(jì)的信息抽取技術(shù)逐漸流行,主要通過(guò)提取各類實(shí)體的特征,然后借助大規(guī)模語(yǔ)料進(jìn)行訓(xùn)練,這類機(jī)器學(xué)習(xí)模型如支持向量機(jī)(Support Vector Machine,SVM)[4]、隱馬爾可夫模型(Hidden Markov Mode,HMM)[5]等,在信息抽取方面都有不少的應(yīng)用,實(shí)驗(yàn)取得了較好的效果,但是存在特征構(gòu)建復(fù)雜、適應(yīng)性較差的不足。近年來(lái),深度學(xué)習(xí)的發(fā)展對(duì)自然語(yǔ)言處理產(chǎn)生了比較大的影響,隨著GPT(Generative Pre-Training)[6]、BERT(Bidirectional Encoder Representations from Transformers)[7]等語(yǔ)言預(yù)訓(xùn)練模型的發(fā)布,進(jìn)一步提高了信息抽取的性能,預(yù)訓(xùn)練模型與雙向長(zhǎng)短時(shí)記憶(Bidirectional Long Short-Term Memory,BiLSTM)網(wǎng)絡(luò)和條件隨機(jī)場(chǎng)(Conditional Random Field,CRF)相結(jié)合成了當(dāng)前信息抽取的主流方法[8-9]。但是,目前大多數(shù)基于深度學(xué)習(xí)的模型和算法都需要依賴大規(guī)模的標(biāo)注樣本集進(jìn)行學(xué)習(xí)訓(xùn)練,當(dāng)面對(duì)如網(wǎng)絡(luò)安全威脅情報(bào)這樣的特定專業(yè)領(lǐng)域,受限于有限的、可信賴的有監(jiān)督學(xué)習(xí)的訓(xùn)練樣本集,在少樣本集可供學(xué)習(xí)訓(xùn)練的情況下,導(dǎo)致上述模型和算法的性能必然受到影響,信息抽取的精準(zhǔn)度大幅下降[10]。

      當(dāng)前,針對(duì)網(wǎng)絡(luò)安全威脅情報(bào)的信息抽取主要聚焦于IoC 的挖掘,如IP、HASH 值等有規(guī)則的實(shí)體。Liao 等[11]提出的iACE(IoC Automatic Extractor)框架,借助模式匹配的方法通過(guò)提取文本中包含關(guān)鍵字的語(yǔ)句,再使用圖挖掘技術(shù)分析上下文的語(yǔ)義關(guān)系來(lái)抽取IoC;Long 等[12]使用基于神經(jīng)網(wǎng)絡(luò)的序列標(biāo)注模型對(duì)IoC 進(jìn)行分類挖掘。以上研究均取得了比較好的效果。通常網(wǎng)絡(luò)安全文本如APT(Advanced Persistent Threat)報(bào)告中不僅僅包含IoC,還有其他有意義的實(shí)體,如威脅組織名、惡意軟件名等,它們同樣是構(gòu)建威脅情報(bào)的重要組成部分之一。為了加強(qiáng)對(duì)此類實(shí)體的識(shí)別,Dionísio 等[13]使用BiLSTM-CRF 模型完成了對(duì)網(wǎng)絡(luò)安全推文的實(shí)體識(shí)別實(shí)驗(yàn),取得了不錯(cuò)的效果;Qin 等[14]提出了CNNBiLSTM-CRF 模型,通過(guò)添加卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)增強(qiáng)了模型的特征提取能力;Gao 等[15]將神經(jīng)網(wǎng)絡(luò)通過(guò)注意力機(jī)制與外部字典相結(jié)合,使模型能充分學(xué)習(xí)到威脅情報(bào)相關(guān)的專業(yè)詞匯。

      雖然基于深度學(xué)習(xí)的有監(jiān)督實(shí)體識(shí)別模型在威脅情報(bào)挖掘領(lǐng)域取得了不錯(cuò)的成果,但這類模型需要專業(yè)人員構(gòu)建龐大的數(shù)據(jù)集,在少樣本集情況下難以普及。為此,McNeil等[16]提出了一種半監(jiān)督學(xué)習(xí)算法PACE(Pattern Accurate Computationally Efficient Bootstrapping)。PACE 算法結(jié) 合Bootstrapping 和規(guī)則匹配完成了對(duì)網(wǎng)絡(luò)安全概念的抽??;Georgescu 等[17]提出了手動(dòng)標(biāo)注與自動(dòng)標(biāo)注相結(jié)合的方法構(gòu)建威脅情報(bào)樣本集;Yi 等[18]提出一種正則表達(dá)式、已知實(shí)體字典和CRF 結(jié)合的安全命名實(shí)體識(shí)別算法RDF-CRF(Regular expression and Dictionary combined with Feature templates as well as CRF)。但是上述方法只是單純地提取實(shí)體,忽略了實(shí)體與實(shí)體之間的關(guān)系。“實(shí)體-關(guān)系-實(shí)體”是自動(dòng)生成、構(gòu)建威脅情報(bào)的關(guān)鍵。

      本文針對(duì)威脅情報(bào)挖掘領(lǐng)域少樣本集導(dǎo)致信息抽取準(zhǔn)確度不高這一問(wèn)題,提出了TIERE 方法,TIERE 方法能夠在無(wú)樣本標(biāo)注的情況下完成對(duì)半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)化文本的“實(shí)體”、“實(shí)體-關(guān)系-實(shí)體”挖掘。實(shí)驗(yàn)結(jié)果表明TIERE 方法是有效且高效的。

      2 TIERE方法

      TIERE 方法的主要目的是從半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)化的異構(gòu)文本中自動(dòng)抽取“實(shí)體-關(guān)系-實(shí)體”三元組。TIERE 方法主要包括三個(gè)部分:將待處理的目標(biāo)文本通過(guò)數(shù)據(jù)預(yù)處理流程進(jìn)行清洗和轉(zhuǎn)換,生成易于理解、結(jié)構(gòu)標(biāo)準(zhǔn)的語(yǔ)句;通過(guò)NER-IBS 算法,依賴少量的初始學(xué)習(xí)樣本和抽取規(guī)則,挖掘句子中的威脅實(shí)體;通過(guò)RE-SRL 算法,對(duì)文本語(yǔ)義信息進(jìn)行分析,挖掘威脅實(shí)體之間的關(guān)系,并對(duì)關(guān)系進(jìn)行分類。以下對(duì)各個(gè)部分進(jìn)行詳細(xì)討論。

      2.1 數(shù)據(jù)預(yù)處理

      以安全廠商對(duì)某次攻擊行為分析后所發(fā)布的報(bào)告為例,報(bào)告中包含有網(wǎng)絡(luò)威脅情報(bào),這些報(bào)告形式上以自然語(yǔ)言描述,以PDF 文本、HTML 文本的形式存在,通常包含有大量的無(wú)關(guān)信息,嚴(yán)重影響信息抽取的效果。在此,概括分析諸如上述安全廠商報(bào)告給威脅情報(bào)挖掘帶來(lái)的挑戰(zhàn)如下:

      1)開(kāi)源威脅情報(bào)多數(shù)是半結(jié)構(gòu)或無(wú)結(jié)構(gòu)化的文本數(shù)據(jù),如HTML 格式的安全博客和PDF 格式的APT 報(bào)告等,異構(gòu)數(shù)據(jù)會(huì)對(duì)信息的抽取造成困難。

      2)安全領(lǐng)域文本存在較多無(wú)語(yǔ)義的字符數(shù)據(jù),與其他領(lǐng)域文本不同,安全領(lǐng)域文本包含大量的URL、IP、HASH 等詞匯,會(huì)嚴(yán)重影響實(shí)體識(shí)別模型對(duì)文本語(yǔ)義的理解,在模型訓(xùn)練過(guò)程中產(chǎn)生大量的噪聲。

      3)安全領(lǐng)域文本專業(yè)性更強(qiáng)、復(fù)雜度更高。具體表現(xiàn)為:存在大量的代詞,這些代詞通常用來(lái)替代重復(fù)出現(xiàn)的威脅實(shí)體,從而導(dǎo)致實(shí)體之間的跨度增加,影響了關(guān)系抽取模型的回歸率;英文文本中動(dòng)詞詞形多樣,又增加了相似度計(jì)算的復(fù)雜性,影響了關(guān)系分類的性能。

      針對(duì)上述問(wèn)題,本文研究并提出了一種數(shù)據(jù)預(yù)處理方法,具體流程如圖1 所示。

      圖1 數(shù)據(jù)預(yù)處理方法Fig.1 Data preprocessing method

      首先,對(duì)開(kāi)源的威脅情報(bào)文本進(jìn)行格式歸一化處理??紤]到絕 大多數(shù) 格式為PDF 和HTML,采 用PDFMiner[19]、HTMLParser[20]分別對(duì)PDF 格式、HTML 格式文本進(jìn)行解析,并過(guò)濾其中的非ASCII 字符,生成TXT 格式文本;然后,對(duì)它們進(jìn)行數(shù)據(jù)清洗,考慮到文本中可能包含URL、IP、HASH 等無(wú)語(yǔ)義的專業(yè)詞匯,采用正則表達(dá)式進(jìn)行匹配和替換,并在此過(guò)程中過(guò)濾掉停用詞;最后,對(duì)清洗后的文本進(jìn)行標(biāo)準(zhǔn)化處理,借助HanLP[21]提供的指代消解模型消除文本中的代詞,通過(guò)WordNet[22]提取英文動(dòng)詞的詞干。專業(yè)詞匯的正則表達(dá)式構(gòu)造方法如表1 所示,其中,對(duì)URL 詞匯中ftp、ftps、sftp、http、https 五種網(wǎng)絡(luò)傳輸協(xié)議進(jìn)行解析;并對(duì)IP、URL 中常見(jiàn)的混淆技術(shù)進(jìn)行識(shí)別,如網(wǎng)絡(luò)安全中IP、URL 通常指向惡意鏈接,為防止誤點(diǎn)使用錨點(diǎn)進(jìn)行混淆。對(duì)HASH 函數(shù)中MD5、SHA1、SHA256 三種加密算法進(jìn)行識(shí)別,它們分別由32 b、40 b、64 b 字母或數(shù)字組成。

      表1 專業(yè)詞匯的正則表達(dá)式Tab.1 Regular expressions of specialized vocabulary

      2.2 改進(jìn)自舉法的實(shí)體識(shí)別算法

      針對(duì)傳統(tǒng)的Bootstrapping 算法[16]中隨著迭代次數(shù)的增加容易導(dǎo)致語(yǔ)義漂移問(wèn)題,在此對(duì)Bootstrapping 算法進(jìn)行改進(jìn)。Bootstrapping 算法的改進(jìn)策略如圖2 所示,主要分為三個(gè)階段:1)模式匹配,通過(guò)規(guī)則庫(kù)與半結(jié)構(gòu)、無(wú)結(jié)構(gòu)化文本進(jìn)行匹配,構(gòu)造帶標(biāo)注的樣本數(shù)據(jù)集,利用少量樣本和正則表達(dá)式作為初始種子構(gòu)建規(guī)則庫(kù);2)實(shí)體識(shí)別,使用實(shí)體識(shí)別模型訓(xùn)練樣本集并挖掘新實(shí)體;3)實(shí)體評(píng)估,通過(guò)實(shí)體識(shí)別模型訓(xùn)練后可能產(chǎn)生大量偽實(shí)體,這將嚴(yán)重影響規(guī)則庫(kù)和數(shù)據(jù)樣本集的質(zhì)量,為了克服這一不足,通過(guò)加入實(shí)體評(píng)估模型對(duì)新的實(shí)體數(shù)據(jù)集進(jìn)行評(píng)估,過(guò)濾其中的偽實(shí)體。上述三個(gè)階段重復(fù)迭代,以此來(lái)不斷完善規(guī)則庫(kù)、擴(kuò)大實(shí)體數(shù)據(jù)樣本集,有助于提高實(shí)體識(shí)別的性能。

      圖2 Bootstrapping算法的改進(jìn)策略Fig.2 Improved strategy of Bootstrapping algorithm

      2.2.1 模式匹配

      對(duì)不同的實(shí)體類型結(jié)合相應(yīng)的實(shí)例詞典與正則表達(dá)式構(gòu)成初始化規(guī)則庫(kù),與半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)化文本進(jìn)行匹配,生成初始化的實(shí)例樣本集,每次迭代后更新規(guī)則庫(kù),并生成新的樣本集。受STIX(Structured Threat Information eXpression)[23]中定義的STIX 域?qū)ο螅⊿TIX Domain Object,SDO)啟發(fā),本文選取6 種實(shí)體類型。實(shí)體類型及其模式匹配方法如表2 所示,其中Attacker 表示某攻擊行為的主體,通常指黑客、間諜或威脅組織,部分常見(jiàn)的威脅組織使用APT、TA 作為前綴規(guī)則進(jìn)行命名,如APT34、TA459 等,可選取ATT&CK[24]知識(shí)庫(kù)中常見(jiàn)攻擊組織詞典以及其命名規(guī)則作為初始化模式與原始文本進(jìn)行匹配;Malware 表示攻擊行為中使用的工具或惡意代碼,通常以.exe、.sh 等后綴規(guī)則命名,可選取ATT&CK 知識(shí)庫(kù)中的常用惡意軟件詞典以及Malware 命名規(guī)則作為其初始化模式;Cve 表示攻擊行為中利用的漏洞,部分已公開(kāi)的漏洞使用CVE 作為前綴進(jìn)行編號(hào),如路由器漏洞CVE-2021-34730,使用編號(hào)規(guī)則作為其初始化模式;Location 表示攻擊的目標(biāo)位置或攻擊主體所在位置,對(duì)此使用國(guó)家名作為詞典構(gòu)造初始化模式;Type 表示攻擊主體或惡意軟件的類型,本文總結(jié)出病毒、鍵盤(pán)記錄器、蠕蟲(chóng)、木馬、勒索軟件、后門(mén)6 種攻擊類型構(gòu)成詞典作為初始化模式;IoC 表示攻擊行為中涉及的攻擊指示器,如IP、HASH 值等,使用表1 中對(duì)應(yīng)的正則表達(dá)式作為初始化模式。

      表2 實(shí)體類型及模式匹配方法Tab.2 Entity types and pattern matching methods

      2.2.2 實(shí)體識(shí)別模型

      針對(duì)威脅情報(bào)實(shí)體專業(yè)性強(qiáng)的特點(diǎn),為了更好地學(xué)習(xí)它的語(yǔ)義特征,使用基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)[25]的實(shí)體識(shí)別模型。實(shí)體識(shí)別模型主要分為詞嵌入層、上下文編碼層、解碼層。詞嵌入層主要將文本中的詞表示成向量的形式,使相似意義的詞在向量空間上具有相似的表示,為了更好地提取詞與上下文間的語(yǔ)義特征,使用了BERT[7]預(yù)訓(xùn)練模型作為詞嵌入層,將詞特征、句特征、位置特征三種特征融合作為模型的輸入用于計(jì)算詞向量,并通過(guò)遷移學(xué)習(xí)的方式運(yùn)用到下游任務(wù)中;使用BiLSTM 作為模型的上下文編碼層,LSTM 是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)結(jié)構(gòu),能很好地處理序列數(shù)據(jù),學(xué)習(xí)上下文信息。對(duì)比傳統(tǒng)的RNN,LSTM 在長(zhǎng)序列數(shù)據(jù)上有更好的表現(xiàn),解決了RNN 模型訓(xùn)練過(guò)程中梯度消失的問(wèn)題。LSTM 主要由多個(gè)神經(jīng)單元構(gòu)成,每個(gè)單元通過(guò)遺忘門(mén)(forget gate)、輸入門(mén)(input gate)和輸出門(mén)(output gate)控制信息的記憶。在第t時(shí)刻,遺忘門(mén)、輸入門(mén)、輸出門(mén)如式(1)~(3)所示:

      其中:Wf、Wi、Wo分別為遺忘門(mén)、輸入門(mén)和輸出門(mén)的神經(jīng)網(wǎng)絡(luò)參數(shù);bf、bi、bo分別為遺忘門(mén)、輸入門(mén)和輸出門(mén)的神經(jīng)網(wǎng)絡(luò)偏置值;ht-1表示在t-1 時(shí)刻的隱藏狀態(tài)。

      在t時(shí)刻單元狀態(tài)Ct由前一時(shí)刻單元狀態(tài)Ct-1和現(xiàn)時(shí)刻的初始狀態(tài)決定,按式(4)~(5)計(jì)算:

      通過(guò)遺忘門(mén)過(guò)濾前一時(shí)刻單元的不重要信息,通過(guò)輸入門(mén)提取當(dāng)前時(shí)刻重要信息。最后通過(guò)輸出門(mén)按式(6)計(jì)算當(dāng)前時(shí)刻隱藏狀態(tài)ht:

      BiLSTM 將正向和反向兩個(gè)方向的LSTM 隱藏狀態(tài)結(jié)合作為新的隱藏狀態(tài),如式(7)所示:

      經(jīng)過(guò)BiLSTM 編碼層后可以得到向量序列,需要解碼器對(duì)它進(jìn)行解析,使用CRF 作為模型的解碼層,計(jì)算所有標(biāo)簽序列的概率分布,按式(8)~(9)計(jì)算:

      其中:U和b為神經(jīng)網(wǎng)絡(luò)參數(shù)和偏置值表示從前一個(gè)標(biāo)簽yi到后一個(gè)標(biāo)簽yi+1的轉(zhuǎn)移概率表示第i個(gè)元素輸出為yi標(biāo)簽的概率。

      2.2.3 實(shí)體評(píng)估模型

      為了防止過(guò)多的偽實(shí)體對(duì)樣本集訓(xùn)練結(jié)果產(chǎn)生影響,對(duì)經(jīng)過(guò)實(shí)體識(shí)別后的實(shí)體集進(jìn)行評(píng)估,提取質(zhì)量較高的實(shí)體用于補(bǔ)充規(guī)則庫(kù)。通過(guò)分析發(fā)現(xiàn)偽實(shí)體一般由以下原因產(chǎn)生:1)威脅實(shí)體通常以詞組的形式存在,如“海蓮花組織”中“海蓮花”為一個(gè)整體,而在日常的語(yǔ)言中,“海”和“蓮花”分別為不同的實(shí)體,因此可能出現(xiàn)實(shí)體邊界判定錯(cuò)誤;2)不同類型的實(shí)體出現(xiàn)在相同的語(yǔ)境可能產(chǎn)生不同語(yǔ)義,如“一種Linux惡意軟件”與“一種Mirai 惡意軟件”兩句話中“Linux”與“Mirai”有相同的語(yǔ)境,但卻表達(dá)不同的含義。針對(duì)上述問(wèn)題,本文提出了一種實(shí)體評(píng)估模型,如圖3 所示。

      圖3 實(shí)體評(píng)估模型示例Fig.3 Entity evaluation model example

      首先,為了驗(yàn)證實(shí)體邊界,使用Jieba 庫(kù)[26]對(duì)半結(jié)構(gòu)化、無(wú)結(jié)構(gòu)化文本進(jìn)行分詞,通過(guò)滑動(dòng)窗口構(gòu)建多元詞組;其次,將詞組與文本作為輸入通過(guò)Word2Vec 模型[27]進(jìn)行預(yù)訓(xùn)練,得到多元詞組向量集合V;最后,為區(qū)分相同語(yǔ)境下不同類型的實(shí)體,計(jì)算實(shí)體集中實(shí)體E=(e1,e2,…,eq)與規(guī)則庫(kù)中實(shí)體G=(g1,g2,…,gp)的余弦?jiàn)A角,即相似度,并過(guò)濾相似度較低的實(shí)體。相似度計(jì)算如式(10)所示:

      其中:Sk表示實(shí)體集中第k個(gè)實(shí)體與規(guī)則庫(kù)所有實(shí)體的相似度之和;表示實(shí)體ek的第i維詞組向量。

      2.2.4 NER-IBS算法

      NER-IBS 算法如算法1 所示。輸入文本集L=(l1,l2,…,ln),規(guī)則庫(kù)U,迭代次數(shù)N,輸出實(shí)體集E。首先,通過(guò)模式匹配模型生成樣本集W,通過(guò)BERT 預(yù)訓(xùn)練模型生成詞嵌入矩陣X,通過(guò)滑動(dòng)窗口生成多元詞組M,通過(guò)Word2Vec 預(yù)訓(xùn)練模型生成詞組向量V;然后,進(jìn)行N次迭代,依次按照式(1)~(7)計(jì)算BiLSTM 層隱藏狀態(tài)h,按照式(8)~(9)計(jì)算CRF 層概率分布S;接著反向傳播更新模型參數(shù),通過(guò)多次迭代訓(xùn)練后,得到標(biāo)簽序列y,并更新實(shí)體集;最后,依次將實(shí)體集與規(guī)則庫(kù)實(shí)體進(jìn)行相似度計(jì)算,過(guò)濾規(guī)則庫(kù)中相似度小于閾值的實(shí)體。

      算法1 NER-IBS 算法。

      NER-IBS 算法的時(shí)間復(fù)雜度可表示實(shí)體識(shí)別的效率。設(shè)隱藏層維度為n,BERT 詞向量維度為m,則計(jì)算遺忘門(mén)、輸入門(mén)和輸出門(mén)的時(shí)間復(fù)雜度為O(m(n+m)),計(jì)算單元狀態(tài)和隱藏狀態(tài)的時(shí)間復(fù)雜度為O(n)。由此可得,LSTM 模型一個(gè)時(shí)刻的時(shí)間復(fù)雜度為O(3m(n+m)+2n),即O(n2)。由于訓(xùn)練次數(shù)epoch為常量,設(shè)時(shí)間步長(zhǎng)為T(mén),則實(shí)體識(shí)別模型時(shí)間復(fù)雜度為O(n2T),即O(n3)。設(shè)Word2Vec 詞組向量維度為w,實(shí)體集總數(shù)為e,則計(jì)算相似度的時(shí)間復(fù)雜度為O(w),實(shí)體評(píng)估模型的時(shí)間復(fù)雜度為O(we)。由于迭代次數(shù)N為常量,則總時(shí)間復(fù)雜度為O(n3+we),即O(n3)。

      2.3 基于SRL的關(guān)系抽取算法

      SRL 是一種以謂詞為中心的淺層語(yǔ)義分析技術(shù),主要描述如“誰(shuí)對(duì)誰(shuí)”“何時(shí)何地”“做了什么事”等。SRL 技術(shù)能有效地挖掘?qū)嶓w間的潛在關(guān)系,但無(wú)法判斷關(guān)系的類別。本文在SRL 技術(shù)的基礎(chǔ)上提出了RE-SRL 算法。RE-SRL 算法的邏輯架構(gòu)如圖4 所示,通過(guò)關(guān)系抽取模型挖掘?qū)嶓w間的關(guān)系,通過(guò)關(guān)系分類模型識(shí)別關(guān)系的類別。

      圖4 RE-SRL算法的邏輯架構(gòu)Fig.4 Logic architecture of RE-SEL algorithm

      2.3.1 關(guān)系抽取

      在此,借助LTP(Language Technology Platform)[28]模型獲取威脅情報(bào)文本中的語(yǔ)義標(biāo)記信息,其中A0 表示事件的主體即實(shí)施者、A1 表示事件的受事者、V 表示事件的謂語(yǔ)。如“海蓮花組織利用Monero 勒索軟件攻擊中國(guó)”中“海蓮花組織”為實(shí)施者,“利用”和“攻擊”分別為描述受事者“Monero勒索軟件”和“中國(guó)”的謂語(yǔ)。對(duì)語(yǔ)義標(biāo)記信息進(jìn)行剪枝,剔除不含威脅實(shí)體的信息,并以謂詞為核心對(duì)其進(jìn)行劃分,上述語(yǔ)句可得到兩組三元組:(A0:海蓮花,V1:利用,A1:Monero)、(A0:海蓮花,V2:攻擊,A1:中國(guó))。

      2.3.2 關(guān)系分類

      借助SRL 技術(shù),并使用無(wú)監(jiān)督語(yǔ)義相似度模型對(duì)語(yǔ)義角色中的關(guān)系謂詞進(jìn)行分類,針對(duì)網(wǎng)絡(luò)安全領(lǐng)域?qū)嶓w,選取了如表3 所示的關(guān)系類別。由于不同語(yǔ)境下的謂詞表達(dá)的含義可能不同,將整個(gè)三元組作為相似度的評(píng)價(jià)標(biāo)準(zhǔn),使用表3 中的關(guān)系集替換原始三元組中的謂詞構(gòu)建多個(gè)不同的三元組,并與原始三元組計(jì)算相似度,相似度計(jì)算如式(11)所示:

      表3 關(guān)系類別Tab.3 Relation category

      其中:r為關(guān)系集R的一種關(guān)系;t為原始三元組,tr表示使用關(guān)系r替換謂詞后的三元組;Vt,i表示三元組t的第i維句向量,句向量使用BERT 模型[7]計(jì)算。選取相似度最高的三元組作為關(guān)系抽取的結(jié)果。

      2.3.3 RE-SRL算法

      RE-SRL 算法如算法2 所示,其中:L為文本輸入,E為實(shí)體集輸入,R為關(guān)系類別輸入,tuples為最終輸出的“實(shí)體-關(guān)系-實(shí)體”三元組集合。使用LTP[28]模型計(jì)算文本的語(yǔ)義標(biāo)記信息SRL,對(duì)于SRL中的每行信息srl逐一進(jìn)行計(jì)算。首先遍歷實(shí)體集,匹配與實(shí)施者srlA0和受事者srlA1對(duì)應(yīng)的實(shí)體ei、ej,并與謂語(yǔ)srlv結(jié)合生成三元組t;然后,將使用關(guān)系集替換謂詞后的新三元組tr與原始三元組計(jì)算相似度sr;最后,取相似度最高的三元組tmax存入三元組集合中。

      算法2 RE-SRL 算法。

      RE-SRL 算法的時(shí)間復(fù)雜度可表示關(guān)系抽取的效率。設(shè)文本總長(zhǎng)度為n,實(shí)體集數(shù)量為e,則關(guān)系抽取模型時(shí)間復(fù)雜度為O(ne)。設(shè)BERT 句向量維度為v,計(jì)算三元組相似度的時(shí)間復(fù)雜度為O(v),由于關(guān)系類別數(shù)為常量,則關(guān)系分類模型的時(shí)間復(fù)雜度為O(v)。算法總時(shí)間復(fù)雜度為O(nev),即O(n3)。

      2.4 TIERE方法

      本文提出的TIERE 方法包含:數(shù)據(jù)預(yù)處理、NER-IBS 算法和RE-SRL 算法,具體步驟如方法1 所示。

      方法1 TIERE 方法。

      參見(jiàn)TIERE 方法,輸入網(wǎng)絡(luò)安全文本texts、規(guī)則庫(kù)U、迭代次數(shù)N、關(guān)系類別R,輸出“實(shí)體-關(guān)系-實(shí)體”三元組tuples。首先,對(duì)安全文本格式進(jìn)行判斷,分別對(duì)PDF 格式、HTML 格式的文本進(jìn)行解析,依次通過(guò)數(shù)據(jù)清洗、指代消解、詞形還原操作生成標(biāo)準(zhǔn)化文本集L;然后,使用NER-IBS 算法生成實(shí)體集E,使用RE-SRL 算法生成“實(shí)體-關(guān)系-實(shí)體”三元組。

      3 實(shí)驗(yàn)與結(jié)果分析

      3.1 實(shí)驗(yàn)數(shù)據(jù)集

      為了驗(yàn)證面向少樣本的威脅情報(bào)信息抽取方法的有效性和高效性,本文從各安全廠商發(fā)布的博客和報(bào)告中收集了71 篇安全類文章,包含1 757 條語(yǔ)句,其中各類實(shí)體標(biāo)簽數(shù)量如表4 所示,各類關(guān)系數(shù)量如表5 所示。

      表4 各實(shí)體標(biāo)簽數(shù)量Tab.4 Number of labels per entity

      表5 各類關(guān)系數(shù)量Tab.5 Number of relations

      3.2 評(píng)估指標(biāo)

      實(shí)驗(yàn)中使用的評(píng)估指標(biāo)為精確率Pre、召回率Rec和F1值(F1),具體計(jì)算方式如式(12)~(14)所示:

      其中:TP表示真實(shí)值為陽(yáng)性樣本中預(yù)測(cè)正確的數(shù)量;FP表示真實(shí)值為陰性的樣本中預(yù)測(cè)錯(cuò)誤的數(shù)量;FN表示真實(shí)值為陽(yáng)性中預(yù)測(cè)錯(cuò)誤的數(shù)量。

      3.3 實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)參數(shù)設(shè)置

      本文實(shí)驗(yàn)使用的軟硬件配置如表6 所示,實(shí)驗(yàn)中模型的參數(shù)設(shè)置如表7 所示。

      表6 實(shí)驗(yàn)環(huán)境配置Tab.6 Experimental environment configuration

      表7 模型參數(shù)設(shè)置Tab.7 Model parameter setting

      3.4 實(shí)體識(shí)別實(shí)驗(yàn)

      為驗(yàn)證NER-IBS 算法的有效性和高效性,設(shè)置了對(duì)比分析實(shí)驗(yàn)、Bootstrapping 迭代次數(shù)分析實(shí)驗(yàn)和消融實(shí)驗(yàn)。

      3.4.1 對(duì)比分析實(shí)驗(yàn)

      為驗(yàn)證本文實(shí)體識(shí)別方法的高效性,將其與其他半監(jiān)督學(xué)習(xí)算法和有監(jiān)督學(xué)習(xí)算法在本文語(yǔ)料上進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表8 所示。由表8 可知,本文提出的實(shí)體識(shí)別算法在F1 值上均優(yōu)于其他少樣本學(xué)習(xí)算法,并且接近使用大規(guī)模樣本的有監(jiān)督學(xué)習(xí)算法的效果。與文獻(xiàn)[16]中的算法相比,本文NER-IBS 算法的召回率提升了33 個(gè)百分點(diǎn),F(xiàn)1 值提升了23 個(gè)百分點(diǎn),主要原因在于深度學(xué)習(xí)模型融入了詞嵌入特征,能更有效地分析實(shí)體詞匯在文中的具體語(yǔ)義,解決了傳統(tǒng)的模式匹配方法挖掘力度不足的問(wèn)題;與文獻(xiàn)[17]中的算法相比,NER-IBS 算法在召回率和精確率上都有提升,F(xiàn)1 值提升了16 個(gè)百分點(diǎn);與RDF-CRF 算法相比,NER-IBS 算法在召回率上提升了3 個(gè)百分點(diǎn),在F1 值上提高了2 個(gè)百分點(diǎn),主要原因在于NER-IBS 算法通過(guò)自舉法不斷迭代,能有效地利用多次統(tǒng)計(jì)推理的結(jié)果;對(duì)比文獻(xiàn)[13]與文獻(xiàn)[15]中的算法可知,融入專業(yè)詞典可有效地提高實(shí)體識(shí)別效果。

      表8 不同算法實(shí)驗(yàn)結(jié)果的對(duì)比Tab.8 Comparison of experimental results of different algorithms

      3.4.2 Bootstrapping迭代次數(shù)分析實(shí)驗(yàn)

      為驗(yàn)證使用Bootstrapping 算法進(jìn)行迭代對(duì)各類別實(shí)體抽取效果的影響,選取了三種不同復(fù)雜度的實(shí)體進(jìn)行分析實(shí)驗(yàn),如圖5 所示為各實(shí)體在不同迭代次數(shù)下的準(zhǔn)確度。由圖5 可得出以下結(jié)論:

      圖5 各實(shí)體不同迭代次數(shù)下的實(shí)驗(yàn)結(jié)果Fig.5 Experimental results of each entity under different iteration numbers

      1)分析實(shí)體抽取效果的整體變化趨勢(shì),發(fā)現(xiàn)前幾次迭代中實(shí)體抽取的各項(xiàng)評(píng)價(jià)指標(biāo)都有大幅度提升,可以得出Bootstrapping 算法對(duì)實(shí)體抽取效果起作用。

      2)分別比較迭代次數(shù)對(duì)不同實(shí)體抽取效果的影響,發(fā)現(xiàn)Attacker、Malware、Cve 實(shí)體分別在第4 次、第3 次、第2 次迭代時(shí)F1 值達(dá)到穩(wěn)定狀態(tài),由于Attacker 實(shí)體具有更復(fù)雜多樣的結(jié)構(gòu),而Cve 實(shí)體相對(duì)簡(jiǎn)單且多數(shù)為有規(guī)則的編號(hào),可以得出更復(fù)雜的實(shí)體需要迭代更多的次數(shù)。

      3)分析實(shí)體抽取效果在不同評(píng)價(jià)指標(biāo)下的變化趨勢(shì),發(fā)現(xiàn)對(duì)于Attacker 和Malware 相對(duì)復(fù)雜的實(shí)體,在F1 值達(dá)到穩(wěn)定后隨著迭代次數(shù)的增加會(huì)導(dǎo)致精確率下降的情況,較復(fù)雜的實(shí)體隨著迭代次數(shù)的增加可能會(huì)導(dǎo)致語(yǔ)義漂移,從而影響樣本集的質(zhì)量。

      3.4.3 消融實(shí)驗(yàn)

      針對(duì)迭代過(guò)度導(dǎo)致的語(yǔ)義漂移問(wèn)題,本文在傳統(tǒng)的Bootstrapping 算法中加入了實(shí)體評(píng)估模型,為驗(yàn)證實(shí)體評(píng)估模型的有效性進(jìn)行了消融對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表9 所示。由表9 可知,加入實(shí)體評(píng)估模型后雖然召回率有所下降,但精確率和F1 值都有明顯提升。

      表9 消融實(shí)驗(yàn)結(jié)果Tab.9 Ablation experimental results

      3.5 關(guān)系抽取實(shí)驗(yàn)

      對(duì)RE-SRL 算法進(jìn)行驗(yàn)證,分別分析算法無(wú)類別抽取和有類別抽取的性能,驗(yàn)證關(guān)系分類模型的有效性和RE-SRL算法的高效性,實(shí)驗(yàn)結(jié)果如表10 所示。由表10 可知,本文提出的關(guān)系抽取方法在不考慮關(guān)系類別的情況下F1 值達(dá)到了0.94,而進(jìn)行關(guān)系分類后F1 值為0.71。

      表10 關(guān)系抽取和分類實(shí)驗(yàn)結(jié)果Tab.10 Experimental results of relation extraction and classification

      3.6 TIERE方法的實(shí)用性驗(yàn)證

      本節(jié)借助TIERE 方法抽取網(wǎng)絡(luò)安全威脅情報(bào)驗(yàn)證方法的實(shí)用性。使用TIERE 方法對(duì)一篇有關(guān)“海蓮花組織攻擊活動(dòng)”的APT 報(bào)告[29]進(jìn)行實(shí)體和關(guān)系抽取實(shí)驗(yàn)。其“實(shí)體-關(guān)系-實(shí)體”三元組抽取結(jié)果如下所示:

      段落1:海蓮花是高度組織化的、專業(yè)化的境外國(guó)家級(jí)黑客組織。其活動(dòng)跡象最早可追溯到2012 年。攻擊目標(biāo)包括中國(guó)政府、海事機(jī)構(gòu)、海域建設(shè)部門(mén)、科研院所和航運(yùn)企業(yè)等。

      三元組1:(海蓮花,目標(biāo),中國(guó))。

      段落2:其樣本執(zhí)行的宏代碼將通過(guò)regsvr32.exe 注冊(cè)調(diào)用~$doc-ad9b812a-88b2-454c-989f-7bb5fe98717e.ole 程序,該程序?yàn)閐ll 文件。并解密出最終的payload 進(jìn)行執(zhí)行。最終的復(fù)雜木馬也是海蓮花使用的遠(yuǎn)控載荷之一,如“WinWord.exe”SFX 樣本,(md5:d87e12458839514f1425243075cfc078)。

      三元組2:(海蓮花,使用,WinWord.exe)(海蓮花,使用,regsvr32.exe)(海蓮花,指向,d87e12458839514f1425243075 cfc078)(regsvr32.exe,相關(guān),WinWord.exe)。

      威脅情報(bào)表示成STIX2[27]格式的結(jié)果如下所示:

      此攻擊活動(dòng)的攻擊主體(Attacker)為海蓮花,攻擊地點(diǎn)(Location)為中國(guó),包含惡意軟件(Malware)有regsvr32.exe 和WinWord.exe,涉及了3 種攻擊指示器,包括77.245.76[.]66、5.104.110[.]170、d87e12458839514f1425243075cfc078。各實(shí)體之間存在4 種關(guān)系,共生成了5 組“實(shí)體-關(guān)系-實(shí)體”三元組,包括:(海蓮花,使用,regsvr32.exe)、(海蓮花,使用,WinWord.exe)、(海蓮花,目標(biāo),中國(guó))、(海蓮花,指向,d87e12458839514f1425243075cfc078)、(regsvr32.exe,相關(guān),WinWord.exe)。這充分說(shuō)明了TIERE 方法在挖掘無(wú)結(jié)構(gòu)化文本中的威脅情報(bào)實(shí)體和關(guān)系的有效性。

      4 結(jié)語(yǔ)

      信息抽取是自然語(yǔ)言處理的重要分支,針對(duì)網(wǎng)絡(luò)安全報(bào)告中IoC 挖掘的具體需求,可以提出新的信息抽取模型和算法,或改進(jìn)已有的模型和方法,以挖掘非結(jié)構(gòu)文本中的威脅情報(bào)信息。對(duì)此,本文提出了一種威脅情報(bào)實(shí)體關(guān)系抽?。═IERE)方法,通過(guò)預(yù)處理降低文本的復(fù)雜度,使用基于自舉法的實(shí)體識(shí)別(NER-IBS)算法挖掘威脅實(shí)體,使用基于語(yǔ)義角色標(biāo)注的關(guān)系抽?。≧E-SRL)算法挖掘?qū)嶓w間的關(guān)系,解決了威脅情報(bào)信息抽取任務(wù)中樣本稀缺、文本復(fù)雜的問(wèn)題,并取得了較好的實(shí)驗(yàn)效果。

      本文研究只針對(duì)中文文本,在后續(xù)的研究中,將進(jìn)一步研究多語(yǔ)種威脅情報(bào)的信息抽取技術(shù),提高方法的泛化能力,并增加更多的實(shí)體類型和關(guān)系類型,開(kāi)發(fā)更全面的威脅情報(bào)信息體系。

      猜你喜歡
      三元組威脅實(shí)體
      基于語(yǔ)義增強(qiáng)雙編碼器的方面情感三元組提取
      軟件工程(2024年12期)2024-12-28 00:00:00
      基于帶噪聲數(shù)據(jù)集的強(qiáng)魯棒性隱含三元組質(zhì)檢算法*
      人類的威脅
      前海自貿(mào)區(qū):金融服務(wù)實(shí)體
      關(guān)于余撓三元組的periodic-模
      受到威脅的生命
      面對(duì)孩子的“威脅”,我們要會(huì)說(shuō)“不”
      家教世界(2017年11期)2018-01-03 01:28:49
      實(shí)體的可感部分與實(shí)體——兼論亞里士多德分析實(shí)體的兩種模式
      兩會(huì)進(jìn)行時(shí):緊扣實(shí)體經(jīng)濟(jì)“釘釘子”
      振興實(shí)體經(jīng)濟(jì)地方如何“釘釘子”
      湖南省| 贵州省| 昌图县| 余姚市| 吴江市| 上饶县| 翁源县| 大埔县| 天等县| 罗甸县| 武邑县| 星座| 特克斯县| 卓尼县| 新源县| 墨脱县| 壤塘县| 兖州市| 龙山县| 夏邑县| 于田县| 秀山| 平果县| 惠安县| 五台县| 白沙| 池州市| 河北省| 永仁县| 宜兴市| 特克斯县| 岳西县| 达尔| 尉犁县| 铜鼓县| 皋兰县| 舒城县| 黑水县| 云龙县| 麻江县| 湾仔区|