楊秀璋,彭國軍,李子川,呂楊琦,劉思德,李晨光
(1.武漢大學空天信息安全與可信計算教育部重點實驗室,湖北 武漢 430072;2.武漢大學國家網絡安全學院,湖北 武漢 430072)
隨著互聯網技術的飛速發展,網絡入侵、蠕蟲感染、勒索病毒、分布式拒絕服務攻擊等網絡攻擊事件越來越頻繁,給社會和企業帶來了巨大的安全威脅。在這些潛在威脅中,高級可持續威脅(APT,advanced persistent threat)攻擊會造成更大的危害。APT 攻擊是一種新型的網絡攻擊模式,以刺探、收集和監控情報為目的,具有極強的組織性、隱蔽性和威脅性[1]。360 公司在2021 年發布的全球APT報告顯示我國是APT 攻擊的主要受害者。此外,APT 攻擊的惡意代碼往往會利用攻擊目標的相關信息有組織地躲避殺毒軟件及防火墻檢測,導致其攻擊痕跡很難被溯源。面對當前復雜變化的網絡安全環境,如何對抗APT 攻擊已成為整個安全界亟須解決的問題。安全公司生成的海量APT 分析報告和威脅情報具有極其重要的研究價值,它們能有效地提供APT 組織的動態,從而輔助網絡攻擊事件的溯源分析,但其主要以非結構化文本為主。因此,如何利用多源異構的安全文本知識自動化識別APT攻擊實體并構建APT 組織畫像和領域知識圖譜將成為新的研究熱點。
近年來,深度學習技術已經被廣泛應用于安全領域中,如惡意流量檢測、惡意代碼分析、個人隱私保護和工業控制系統安全檢測等[2-3]。利用深度學習實現自動安全防護和APT 攻擊檢測已經成為重要的研究方向并取得一定進展。在安全日志方面,Milajerdi 等[4]提出了一種檢測 APT 攻擊的HOLMES 系統,旨在利用主機日志中的活動和警告信息來識別APT 攻擊。在網絡流量方面,Marchetti等[5]通過大量分析網絡流量實現APT 活動檢測,發現與數據竊取惡意行為相關的APT 攻擊并識別出可疑主機。在惡意行為分析方面,Han 等[6]針對APT攻擊緩慢可持續且使用0day 漏洞特點,構建一種基于溯源圖的APT 攻擊檢測系統Unicorn,其能在沒有預先設定攻擊特征的情況下識別隱蔽異常行為。
然而,上述方法需要獲取大量APT 樣本、流量數據或日志信息,但APT 攻擊隱蔽性極強,特別是利用0day 漏洞的樣本很難被捕獲,因此這些方法更偏向于模擬APT 攻擊,在實際應用中存在一定的局限性。此外,傳統方法缺乏對APT 組織畫像構建,未有效利用各大安全廠商已形成的APT 分析報告,較難從碎片化、海量化的威脅情報數據中挖掘APT知識,最終導致攻擊檢測效果不理想。因此,亟須提出一種面向APT 攻擊的知識抽取方法。
為有效從APT 分析報告中自動抽取實體,形成APT 組織結構化知識,本文提出一種融合實體識別和實體對齊的APT 攻擊知識自動抽取方法。其貢獻主要包括以下3 個方面。
1) 設計一種混合模型來實現APT 攻擊領域的實體識別和知識融合。該模型能從APT 報告中自動提取結構化知識,利用實體對齊和知識融合構建黑客組織畫像,從而為安全研究人員網絡攻擊事件分析和關鍵特征識別提供決策支持,也為APT 領域知識圖譜構建和溯源分析提供支撐。
2) 融合主流的ATT&CK(adversarial tactics,techniques,and common knowledge)知識框架設計12種命名實體類別,提出一種融合Bert(bidirectional encoder representations from transformers)模型、雙向長短期記憶(BiLSTM,bidirectional long and short-term memory)網絡和條件隨機場(CRF,conditional random field)的APT 攻擊實體識別方法。通過Bert 預訓練詞向量,增強了模型的泛化能力,接著構建BiLSTM-CRF 模型學習上下文語義信息并完成實體識別。該方法能有效彌補傳統實體識別無法較好地抽取特定領域實體,需要大量標注信息,且對存在語義歧義、命名規則復雜的實體抽取精確率較低的不足。
3) 提出一種實體對齊方法并應用于APT 領域的知識融合,有效地將APT 分析報告和黑客組織指紋畫像構建結合,通過實體對齊能有效提升所抽取APT 攻擊實體的質量,并形成常見APT 組織的知識消息盒。此外,本文實驗基于真實的APT 分析報告完成,并與類似研究進行系統比較,證明了所提方法具有良好的性能和實用價值。
APT 是近年來形成的新型網絡攻擊模式,具有針對性強、組織嚴密、持續時間長、隱蔽性高和威脅程度大的特點,給全球政府部門、金融機構和企業帶來極大的安全隱患[7]。APT 攻擊給全球網絡空間安全帶來了嚴重的威脅,如何快速精準地檢測APT 攻擊已成為重要的研究熱點。
面對日益增多的攻擊事件,工業界對APT 攻擊的防御和溯源研究越來越多。Muckin 等[8]提出網絡空間安全殺傷鏈框架,將網絡空間安全劃分為7 個階段,并基于攻擊者視角對APT 攻擊行動進行整體分析。Mitre 公司提出ATT&CK 知識框架,整個框架以戰術、技術和過程為核心,能有效輔助自動化威脅分析。同時,FireEye、卡巴斯基、360、奇安信、安天等公司對APT 攻擊的溯源及檢測都做了大量的研究。
在學術界,研究者提出了惡意代碼分析[9]、主機應用保護[10]、網絡入侵檢測[11]、大數據分析[12]等APT 攻擊檢測方法。文獻[13]通過博弈論實現主動防御,在分析博弈模型的納什均衡基礎上計算使APT 攻防雙方收益最大的攻擊路徑和防御策略。張小松等[14]提出一種基于樹形結構的APT 攻擊檢測方法。Milajerdi 等[15]基于審計日志構建溯源圖,結合網絡威脅情報和圖模式匹配設計POIROT 系統來檢測APT 攻擊。近年來,隨著人工智能的火熱發展,研究者將機器學習和溯源圖應用到APT 攻擊檢測并取得一定成果。
然而,目前主流的APT 攻擊分析框架和防御方法仍然依靠大量的專家知識,沒有將安全廠商發布的APT 分析報告有效利用,并且仍未提出一種有效的方法來自動提取并生成APT 組織畫像。此外,面對語義豐富的非結構化文本數據,傳統方法抽取知識的效果較差,缺乏有效的安全知識表達,從而無法形成APT 結構化知識。為解決上述問題,本文提出一種混合型的APT 攻擊實體識別及對齊方法。
實體識別又稱為命名實體識別(NER,named entity recognition),它在自然語言處理和知識圖譜領域扮演了一個重要的角色。命名實體是指一個詞或短語,用于標識一組具有相似屬性的事物,命名實體識別是定位命名實體邊界并提取預定義實體集合的過程[16]。目前,實體識別的方法主要有三類:基于規則的實體識別、基于統計的實體識別和基于深度學習的實體識別。
基于規則的實體識別利用詞典或專家知識構造規則,為每條規則賦予權重,通過規則匹配識別命名實體。比較著名的包括 LaSIE-II[16]系統、Facile[17]系統和DL-CoTrain[18]實體識別方法。然而,該類方法過度依賴專家知識,需要手工構造大量的規則,受領域限制嚴重且可移植性較差。
基于統計的實體識別是將該任務轉換為多分類或序列標注問題,通過統計樣本數據集的相關特征來建立識別模型。常見方法主要包括隱馬爾可夫模型(HMM,hidden Markov model)[19]、最大熵(ME,maximum entropy)[20]、支持向量機(SVM,support vector machine)[21]和條件隨機場[22]等。基于統計的命名實體識別方法在一定程度上對語言的依賴性更小。但是,這些方法仍然需要大量的人工參與,特征工程比較消耗時間,且嚴重依賴語料庫和設定的特征模板,擴展性較差,缺乏對語義知識的學習。
近年來,深度神經網絡被廣泛應用于自然語言處理領域。基于深度學習的實體識別能夠解決命名實體識別的上下文語義難以理解和數據稀疏問題,并且具有對專家知識依賴小且移植性好的優勢。在實體識別任務中,常用的深度學習模型包括卷積神經網絡、循環神經網絡、長短期記憶(LSTM,long short-term memory)網絡以及與CRF相結合的模型。Hammerton[23]首先將LSTM 模型應用于實體識別。隨后,ID-CNN[24]、Lattice-LSTM[25]等方法被提出。然而,這些方法缺乏預訓練詞向量來學習語義特征,在小樣本標注場景的效果不佳,并且未融合實體對齊,從而導致其對特定領域的實體識別和知識抽取的效果不理想,如APT 領域。
此外,針對安全領域的實體識別主要偏向于漏洞和威脅情報的實體識別[26],其實體類別較少,場景單一,且尚無針對APT 攻擊領域的實體識別,也缺乏利用ATT&CK 框架與結合APT 攻擊真實流程來自動提取知識的研究,從而無法為APT 組織結構化指紋生成、攻擊溯源和圖譜構建提供支撐。
為了解決上述問題,本文有效地將實體識別和實體對齊任務應用于APT 攻擊領域,結合ATT&CK框架設計12 種命名實體。在模型方面,本文采用Bert 模型來預訓練詞向量,從而增強模型的泛化能力及適應不同的語義環境,同時構建BiLSTM-CRF和注意力機制模型來提取APT 攻擊領域的命令實體,并融合實體對齊提升所抽取知識的質量,最終形成常見APT 組織知識消息盒。本文融合實體識別和實體對齊來開展APT 攻擊知識自動抽取的研究,取得了良好效果。
APT 攻擊實體識別旨在提取具有特定意義的攻擊實體;實體對齊旨在精確識別不同來源的攻擊組織,并將其知識融合。常見的APT 攻擊實體包括APT 組織名稱、攻擊裝備、攻擊手法、攻擊漏洞等。該問題在本文中的定義如式(1)給出的函數f所示。

其中,E表示識別出來的APT 攻擊命名實體集,包含n個實體三元組;S表示輸入的APT 攻擊報告或網頁單詞序列,wj表示第j個位置的單詞,共m個單詞;entityi表示S中的第i個命名實體,Ibi∈[1,m]且Iei∈[1,m],分別表示該命名實體在S中的開始和結束位置,ti表示該實體的類型。例如,對于輸入文本序列“Lazarus usually uses phishing attacks”,模型會識別出<1,1,Lazarus>和<4,5,phishing attacks>2 個實體三元組。
圖1詳細展示了APT攻擊實體識別及對齊任務的過程,共7 個步驟。數據預處理和數據標注后的文本經過實體識別和實體對齊處理后,能有效提取包括組織名稱、地理位置、攻擊裝備、攻擊漏洞等結構化實體知識。實體識別其實是序列標注問題,通常采用BIO 方法進行數據標注。其中B 和I 分別對應實體起始位置和實體中間位置(含結束位置),不屬于任何實體的詞語采用O 表示,該方法能有效標記出實體的類型和位置。

圖1 APT 攻擊實體識別及對齊任務過程
本文針對APT 攻擊特點,結合ATT&CK 知識框架,歸納出12 種命名實體,包括APT 組織(AG,APT group)、攻擊裝備(AEQ,attack equipment)、攻擊手法(AM,attack method)、攻擊漏洞(AV,attack vulnerability)、攻擊事件(AE,attack event)、攻擊目標(AT,attack target)、攻擊行業(AI,attack industry)、惡意文件(MF,malicious files)、惡意軟件家族(MFA,malware family)、區域位置(RL,regional location)、操作系統(OS,operating system)和利用軟件(SI,software information),詳細描述如表1 所示。后續實驗會將標記符和BIO 方法結合,如“B-AG”表示組織的起始位置,“I-AM”表示攻擊手法的中間位置。

表1 APT 攻擊領域的命名實體類別
當前,APT 攻擊非結構化文本處理存在諸多挑戰,這些安全信息呈碎片化分散于互聯網中,沒有被有效地整合和利用。本文旨在從公開的APT 分析報告中抽取APT 攻擊實體,構建模型自動生成APT結構化知識,這將為APT 組織的惡意行為分析和攻擊溯源提供線索,具體研究動機如下。
1) APT 攻擊知識圖譜構建。面對大規模的安全數據,傳統方法主要利用系統內部產生的日志信息和入侵檢測數據進行態勢感知,缺乏對外部網絡安全知識的有效利用和語義理解。如何描述APT 攻擊行為,自動生成攻擊指紋和構建APT 知識圖譜是一個關鍵問題。此外,APT 分析報告存在大量嵌套、別名、縮略詞及組合詞,如何準確抽取知識存在挑戰。基于此,本文開展APT 領域的知識自動抽取研究。
2) 少規模數據標注和融合語義實體識別。實體識別需要豐富的訓練語料來構建詞語表示。然而,APT 攻擊領域尚無已標注的專業語料庫,傳統方法需要花費大量時間去完成數據標注工作。借助專家知識,本文旨在深入分析APT 攻擊流程,實現少規模數據標注的知識抽取,設計一種融合實體識別和實體對齊的方法,有效生成黑客組織的結構化知識。
3) APT 攻擊溯源。APT 組織為抵抗惡意代碼檢測和防御技術,通常會使用代碼混淆,從而導致APT 惡意代碼溯源困難,僅通過異常流量和樣本分析判斷惡意行為的方法過于局限。如何有效利用公開的APT 分析報告輔助惡意軟件溯源并識別其所屬組織具有重要意義。目前,APT 攻擊的知識自動抽取研究仍處于起步階段,安全人員的手工分析方法耗時耗力。本文對此開展研究,為后續APT 組織畫像構建和攻擊溯源提供一定的幫助。
知識圖譜通常包括知識抽取(實體識別、關系抽取、屬性抽取)、知識表示、知識融合和知識推理等階段。其中,APT 攻擊知識圖譜的關系抽取、知識表示和知識推理將在未來開展深入研究。本文將實體識別和實體對齊作為整個研究的起點,為APT 知識圖譜構建及黑客組織指紋的自動化抽取提供思路。綜上,本文在這些動機的驅動下,將對APT 攻擊知識的自動抽取開展全面的研究。
本文提出了一種融合實體識別和實體對齊的APT 攻擊知識自動抽取方法,其框架如圖2 所示,主要包括5 個部分:1) 通過預處理層對語料進行數據清洗和數據標注,將預處理后的APT 文本序列表征成向量;2) 通過Bert 預訓練,對每個詞語編碼并生成對應的字向量;3) 構建BiLSTM 和Attention模型,利用BiLSTM 捕獲長距離和上下文語義特征,再結合注意力機制突出關鍵特征,將向量序列轉換為標注概率矩陣;4) 通過CRF 算法對輸出預測標簽間的關系進行解碼,輸出最優的標簽序列;5) 構建語義相似度和Birch 的實體對齊方法,通過知識匹配提升所抽取APT 攻擊知識的質量,最終融合形成各APT 組織的知識消息盒。

圖2 本文模型總體框架
整個方法的實現過程如算法1 所示,輸入為APT 分析報告的文本詞序列S,輸出為APT 組織的命名實體及攻擊知識集合E。該算法首先經過預處理和數據標注;然后構建相關的Bert 和BiLSTM 模型,并經過初始化后分別對向量進行訓練;最后利用CRF 算法預測實體標簽序列,再進行實體對齊。
算法1APT 攻擊命名實體識別及對齊算法


Bert[27]是谷歌2018 年提出的預訓練語言模型,通過雙向Transformer 更好地捕捉語句中的雙向關系。Bert 模型充分考慮詞嵌入、句嵌入和位置嵌入的關系特征,增強了字向量的語義表示,從而獲取高質量的詞向量。本文通過該模型預訓練APT 領域知識,使用多個Transformer 雙向編碼器對字符進行編碼,其會將輸入句子中的每個詞都和句中所有詞做注意力計算,從而獲取詞間的相互關系,捕獲句子內部結構。這能在一定程度上反映不同詞語之間存在的關系和重要程度,有效解決NLP 中的長依賴問題,計算式為

其中,Q、K、V分別表示Query、Key 和Value 向量,它們是編碼器的輸入字向量矩陣;dk表示輸入向量的維度。由于Bert 模型能夠將學習到的語義知識通過遷移學習應用到數據標注較少的命名實體任務上,因此本文選用該模型進行APT 攻擊命名實體識別的上游預處理任務,在一定程度上減少數據標記工作,從而更好地挖掘APT 文本中的特征信息。
LSTM 是一種典型的循環神經網絡,能解決訓練時產生的梯度爆炸或梯度消失問題。LSTM 核心結構包括遺忘門、輸入門、輸出門和記憶單元。整個記憶單元由細胞狀態Ct來調節,輸入門和遺忘門共同保留重要信息,遺忘無用信息。LSTM 結構的計算式為

其中,it、ft和ot分別表示t時刻輸入門、遺忘門和輸出門的結果,ct表示t時刻細胞狀態,σ和tanh表示2 種不同的神經元激活函數,W表示連接兩層神經元的權重矩陣(如Wxi表示輸入層到隱藏層的輸入門權重),b表示偏置項,xt、ht和zt分別表示t時刻的輸入變量、隱藏層變量和增量。
本文使用BiLSTM 模型更好地捕獲APT 數據集的語義特征和長距離依賴信息。該模型由前向LSTM 和后向LSTM 組成,從前后2 個方向對APT攻擊文本的實體進行識別,從而提高具有前后關聯實體識別的性能,如“SQL Injection”“OceanLotus Group”“XSS Attack”等。
CRF 是一種判別式概率無向圖模型,在給定輸入隨機變量的情況下,能計算輸出隨機變量的條件概率分布。在命名實體識別中,BiLSTM 模型能夠捕獲長距離的文本信息,但無法感知實體及相鄰標簽間的依賴關系,并且APT 攻擊領域的實體依賴關系更加復雜。CRF 算法能有效解決該問題,它考慮標簽之間的轉移關系并計算整體標簽序列的概率,從而獲取全局最優的標記序列。因此,本文在BiLSTM 模型后連接一個CRF 模型,用以提升APT攻擊命名實體的識別效果。
本文使用線性鏈條件隨機場,對于任一輸入序列X=(x1,x2,...,xn),其中xi為第i個單詞的輸入向量,假定s是BiLSTM 模型的輸出得分矩陣,s由n個單詞和k個標簽組成,sij表示第i個單詞的第j個標簽的分數。對于預測標簽序列Y=(y1,y2,...,yn),其得分函數計算規則為分數越大則標簽的可能性越高。

其中,A表示轉移矩陣,旨在完成標簽之間的分數轉移,Aij表示標簽i轉移為標簽j的概率,即轉移分數。同時,在k個標簽的基礎上增加“開始”和“結束”2 個標簽,它們對應的s分數為0。CRF 模型會采用對數最大似然估計計算損失函數使正確的序列的概率最大,再解碼得到最大分數的輸出序列,作為最終APT 攻擊實體識別的標注結果。
實體對齊旨在確定2 個待消解的實體是否指向同一個目標實體,又稱為實體消解。本文通過上述步驟抽取不同來源的APT 攻擊知識,包含APT 組織、攻擊裝備等在內的12 種命名實體,接著構建基于語義相似度和Birch 聚類的實體對齊算法,將每篇APT 分析報告的實體映射成融合上下文語義的詞向量,再對APT 組織名稱執行實體對齊與知識融合,從而自動化生成APT 組織的知識消息盒(InfoBox)。
實體對齊算法流程如圖3 所示。通過融合Bert和BiLSTM-CRF 模型完成命名實體識別,抽取APT文本的結構化知識,再利用Word2Vec 轉換成融合語義的詞向量,構建實體相似度計算模型,通過語義相似度距離來實現基于Birch 算法的聚類,從而將相似的命名實體進行對齊,最后將不同APT 組織共現的實體進行知識融合,形成最終的APT 組織指紋特征庫以及知識消息盒。

圖3 實體對齊算法流程
本文采集來自 Mitre ATT&CK、FireEye、McAfee、Kaspersky 等安全公司的APT 分析報告,經過數據清洗及文本拆分后共形成包含466 篇文本的數據集,覆蓋了全球各地區的APT 組織,典型的APT 組織包括APT28、APT29、APT32、APT33、APT37、Lazarus、Turla 等,其12 種APT 領域實體類別數量分布如表2 所示。整個實驗數據集按照一定比例隨機劃分為訓練集、測試集和驗證集,并且測試集中存在未知的APT 命名實體。

表2 APT 領域實體類別數量分布
接著,利用BIO 標記法分別對不同類別的實體進行數據標注。單詞起始位置使用“B-”字符加表1定義的標志符號,如“B-AM”表示攻擊手法的起始位置;單詞中間位置使用“I-”字符加表1 定義的標志符號;其他不屬于任何實體的單詞使用O 表示,通過該方法能有效給出實體對應的類型及位置。圖4 是第2 節介紹示例對應的實體標注結果。從圖4 可以看到,APT 組織、地理位置、攻擊事件、攻擊裝備、攻擊漏洞等均被標注。

圖4 APT 文本經過BIO 序列標注示例
實驗采用4 個常用于評價實體識別的指標來衡量算法的有效性,分別是精確率(Precision)、召回率(Recall)、F1值(F1-score)和準確率(Accuracy),計算式分別為

其中,精確率表示正確識別的實體數量占識別出的所有實體數量的百分比,從查準的角度評估模型;召回率表示正確識別的實體數量占所有該類標注實體數量的百分比,從查全的角度評估模型;F1值表示精確率和召回率的調和平均數,從查準和查全2 個角度綜合反映模型的效果,本文用來對實體識別實驗進行整體評估,F1值越大,表明模型正確識別的實體數量越多且越全;準確率表示分類預測正確實體數量占該類別實體總數量的比值。為驗證本文模型的有效性和真實性,最終結果為10 次實驗結果的平均值,從而避免噪聲影響。
實驗數據集按照6:3:1 的比例隨機劃分為訓練集、驗證集和測試集,實驗環境為Windows10 64 位操作系統,GPU 為GTX 1080Ti,內存為16 GB,CPU 處理器為Inter(R) Core i7-8700K,編程語言為Python3.7。模型參數設計方面,文本序列長度設為500,BiLSTM 模型2 個方向的神經元數設置為256,采用Adam 優化器,Epoch 設置為15,初始學習率設置為0.001,Transformer 層數設置為12,并且增加Dropout 防止過擬合,其參數設置為0.4。
本文提出一種融合Bert 和BiLSTM-CRF 模型的APT 攻擊實體識別方法,與現有常見的實體識別方法(CRF、LSTM-CRF、GRU-CRF、BiLSTM-CRF、CNN-CRF 和Bert-CRF)的對比結果如表3 所示。

表3 各模型實體識別結果對比
由表3 可知,本文模型在APT 攻擊領域的實體識別任務中能夠取得較好效果,其精確率、召回率和F1值分別為0.929 6、0.873 3 和0.900 6,比現有6 種模型均有一定程度的提升。相比于CRF,本文模型的F1值提升了0.143 2;相比于融合卷積神經網絡的CNN-CRF,本文模型的F1值提升了0.069 2;相比于LSTM-CRF 和BiLSTM-CRF,本文模型的F1值分別提升了0.084 3 和0.053 0;相比于GRU-CRF,本文模型的F1值提升了0.087 4;相比于Bert-CRF,本文模型的F1值提升了0.070 3。同時,本文模型的準確率為0.900 4,比其他6 種模型的平均值高0.098 5。通過實驗發現,融合Bert和BiLSTM-CRF 及注意力機制的實體識別模型具有最佳的效果,其主要原因是Bert 預訓練能更好地表示APT 攻擊領域知識,并且BiLSTM 網絡能學習上下文語義信息,注意力機制能有效突出關鍵特征。
為更形象地表現本文模型的良好性能,使用訓練和驗證數據進一步評估模型的學習過程,得出如圖5 所示的準確率變化曲線和如圖6 所示的誤差變化曲線。由圖5 可知,與其他模型相比,本文模型訓練過程更加穩定,整個曲線收斂速度更快,能在較少訓練周期下取得較高的準確率。圖6 展現了各模型的誤差隨訓練周期變化的曲線,本文模型的誤差隨訓練周期收斂速度更快,曲線更平緩,這進一步體現了本文模型應用到APT 實體識別是可行的。

圖5 各模型準確率變化曲線

圖6 各模型誤差變化曲線
為進一步衡量本文模型對APT 攻擊領域不同類別實體的識別效果,本節進行了詳細的對比實驗,得出如表4 所示的12 種APT 攻擊實體類別的識別結果。

表4 APT 攻擊領域不同類別的實體識別結果
由表4 可知,本文模型在“攻擊手法”實體類別上的預測效果最佳,其F1值為0.927 5,這一方面是由于該類別的實體數量較多,另一方面是該類實體廣泛存在于富含語義的APT 攻擊事件中,并且帶有攻擊行為的動作特征,從而導致其識別效果更好。接下來,識別效果較好的實體類別包括“攻擊裝備”“攻擊行業”“APT 組織”等,這些實體也都具有上下文語義突出和廣泛存在于APT 分析報告中的特點,比如“APT-C-36”“Lazarus Group”“APT28”屬于 APT 組織實體,“CobaltStrike”“PowerShell”“Mimikatz”屬于攻擊裝備實體。然而,本文實驗識別效果最差的類別是“惡意軟件家族”,其F1值為0.859 6,這是由于該類實體數量較少,其構造規則缺乏規律,常混合出現于上下文段落中,較難與普通特征詞區別,從而識別困難。
此外,本文結合ATT&CK 框架,選取了4 種類別數量較多且常出現于APT 攻擊事件中的實體類別進行F1值比較,包括攻擊裝備、APT 組織、攻擊手法和利用軟件,其詳細的對比實驗結果(F1值)如圖7 所示。由圖7 可知,本文模型在4 種類別的實體識別中F1值均最高。其中,本文模型攻擊裝備的F1值為0.921 0,比6 種對比模型的平均F1值提升了0.059 6;本文模型APT 組織的F1值為0.906 2,比6 種對比模型的平均F1值提升了0.046 0;本文模型攻擊手法和利用軟件的F1值分別為0.927 5 和0.908 9,比6 種對比模型的平均F1值分別提升了0.043 0 和0.124 9。綜上所述,本文模型能有效對APT 攻擊領域的命名實體進行識別,其效果優于傳統的實體識別模型,且能在各實體類別上取得良好性能。

圖7 常見4 種實體類別的F1 值對比結果
為有效評估各模型對小樣本標注的實體識別效果,本文按照2:7:1 的比例隨機劃分訓練集、測試集和驗證集,從而降低訓練集標注知識,并進行詳細的對比實驗,實驗結果如表5 所示。由表5 可知,本文模型在小樣本標注情況下,實體識別的精確率、召回率和F1值分別為0.780 0、0.589 4 和0.671 4。其F1值比CRF 模型提升了0.274 2,比LSTM-CRF模型提升了0.187 8,比GRU-CRF 模型提升了0.236 2,比BiLSTM-CRF 模型提升了0.132 5,比CNN-CRF模型提升了0.148 8,比Bert-CRF 模型提升了0.144 6。該實驗充分說明了本文方法能通過Bert 模型對小樣本語料開展預訓練,從而提升實體識別的效果。

表5 各模型小樣本標注的實體識別結果對比
接著,本文結合APT 攻擊流程和實體類別分布數量,在小樣本標注情況下,詳細對比了現有模型與本文模型在六大常見實體類別(APT 組織、攻擊事件、攻擊裝備、攻擊手法、惡意文件、利用軟件)的F1值,其實驗結果如圖8 所示。通過雷達圖能有效反映本文模型在不同類別的實體識別中取得的最佳效果。總之,本文模型能在少量樣本標注的情況下實現實體識別,并取得更好的效果。

圖8 各模型小樣本標注的F1 值對比
APT 攻擊領域通過實體識別任務能有效提取攻擊實體,再通過本文提出的實體對齊算法能進一步形成各APT 組織的結構化知識。表6 顯示了本文實驗自動化抽取各類實體類別出現頻率較高的命名實體,這些實體常常存在于APT 攻擊事件中。比如常見APT 組織包括“APT29”“APT32”“APT28”和“Turla”等,常見攻擊裝備包括“PowerShell”“Cobalt Strike”和“Mimikatz”等,常見攻擊手法包括“Spearphishing”“C2”“Watering Hole Attack”和“Backdoor”等,常見漏洞包括“CVE-2017-11882”“CVE-2017-0199”和“CVE-2012-0158”等。

表6 本文模型所提取APT 攻擊領域的常見命名實體
經過實體識別處理后,為更好地抽取APT 攻擊領域知識,并為后續APT 知識圖譜或特征指紋庫構建提供支撐,本文對APT 組織名稱進行了實體對齊與知識融合實驗。本文通過基于語義相似度和Birch聚類的實體對齊算法將不同來源的組織命名實體進行匹配,判斷其是否指向同一個目標實體,比如“APT28”又稱為“Sofacy”“Fancy Bear”“Strontium”“Sednit”,這些APT 組織對應的目標實體均相同。本文結合語料標題和關鍵詞對APT 組織名稱開展實體融合,最終構建了該數據集常見APT 組織的知識消息盒,形成各APT 組織的結構化知識。
表7 和表8 分別呈現APT28 和APT32 經過實體識別和實體對齊實驗后的攻擊領域知識。它們既包括本文模型所識別的實體知識,如攻擊裝備、攻擊手法、攻擊漏洞、攻擊目標、惡意文件等,又包括經過實體對齊后的APT 組織名稱,有效融合APT攻擊領域知識,為后續知識圖譜構建提供支撐。

表7 APT28 常見的實體知識展示

表8 APT32 常見的實體知識展示
本文設計并實現了一種融合實體識別和實體對齊的APT 攻擊知識自動抽取方法。該方法結合APT 攻擊特點設計了12 種實體類別,構建了融合Bert 和BiLSTM-CRF+Attention 的APT 實體識別模型,再結合實體對齊生成了不同APT 組織的結構化知識。實驗結果表明,本文模型能有效識別APT攻擊實體,在少樣本標注的情況下自動抽取高級可持續威脅知識,并生成常見APT 組織的結構化特征畫像。這將為后續APT 攻擊知識圖譜構建和攻擊溯源分析提供幫助。在下一步工作中,筆者將針對中文APT 分析報告開展知識自動抽取研究,并結合圖神經網絡開展攻擊關系抽取及攻擊事件推理。