葛文翰, 王俊峰, 唐賓徽, 于忠坤, 陳柏翰, 余 堅
(1.四川大學計算機學院, 成都 610065; 2. 四川大學網絡空間安全學院, 成都 610065)
作為網絡分析知識的重要信息來源渠道,網絡威脅情報(Cyber Threat Intelligence, CTI)可以將零碎的信息組織成“基于證據的現有或新興知識”[1].這些零碎的證據信息, 也稱妥協指標(Indicators of Compromise, IoCs)[2],可以幫助建立完整的網絡攻擊場景模型.目前比較認可的對IoCs信息的分級主要是由David提出的IoCs價值和成本測量系統:“痛苦金字塔模型”(Pyramid of Pain, PnP)[3].其中IoCs等級的增加標志著其價值和獲取難度的同步增加.根據PnP的描述,直觀的IoCs信息,比如IP地址或Hash值等,屬于金字塔較低層次.這類信息通常具有相似結構或相似特征.而處在金字塔層級較高的是比較抽象的信息,比如惡意軟件、工具、網絡結構等.這類信息一般由多種描述方式,例如名稱、行為、Hash甚至作者,造成CTI描述的多樣性.
經過多年發展,較為低級的IoCs信息已經能夠被有效識別[2,4-6].部分較高等級的IoCs信息也能通過使用機器學習進行有效分析.Jang等[7]使用卷積神經網絡(Convolutional Neural Networks, CNN)通過代碼特征圖分類惡意軟件.Deliu等[8]通過支持向量機(Support Vector Machines, SVM)和潛在Dirichlet分解抽取惡意工具.

針對當前TTPs分類效果差、不平均,人工關系不明確的問題,本文提出使用基于關聯增強的技戰術分類模型RENet.該模型使用雙向循環神經網絡(Bidirectional Recurrent Neural Networks, BiRNN)和CNN作為基礎分類器,并通過使用可自我學習和優化的技戰術關聯矩陣為引導的關聯增強模塊增強技術分類的效果.本文對RENet就中英文分別進行了工具化并開源到Github上(https:// github.com/MuscleFish/RENet),以供其他需求者使用.
網絡威脅報告(Cyber Treat Reports, CTR)是CTI中的一類情報.這類情報主要由人工撰寫的安全文章、博客或其他文本組成[11].與之前的結構化數據相比,CTR由于由多人撰寫發布,不具備預定義且完整的描述規則或行文格式,因此被普遍認為是非結構化文本.隨著網絡安全事件的發生頻率越來越高,大量的CTR和安全事件被各大安全公司和安全專家披露.在這種情況下,使用CTR作為安全知識信息庫的情報來源,無疑是一種有效選擇.
智能分析CTR的方法普遍分為兩種:信息抽取(Information Extraction,IE)和分類方法.IE的目標是通過篩選和查找具有特定語義的信息完成信息的檢索工作[2].在傳統的網絡安全分析中,基于規則的方法擅長處理信息完整的結構化數據,如日志[16]和網絡流量[17].基于規則的方法[18]可以在特定的結構或模式中優先識別特定的數據,同時保證其方法具有較好的通用性.IP地址、Hash和URLs是比較常見的結構化數據,圍繞這部分數據的工作已有很多[2,4-6].命名實體識別(Named Entity Recognition,NER)[19]是目前較為主流的IE全監督學習方法.通過該方法,絕大多數的IoCs信息能夠被結構化為特定的結構信息方便存取[14].但因為IoCs的高級信息的多描述、跨語句的特性,NER并不能適用于此類信息抽取的場景.
分類方法是智能分析CTR的另一種方法,其特點在于對全局信息的把控而非對局部信息的抽取.因此現有分類方法對CTR的高級IoCs或全局信息的識別和定義能力明顯強于IE.Wang等[20]使用TextCNN識別源代碼.Zhao等[21]使用全連接神經網絡(Fully-Connected Neural Network, FC-NN)判別網絡文章是否屬于CTI情報.Grisham等[22]使用RNN從CTI中識別惡意代碼.Dang等[23]使用BiLSTM-CNN的方式分類惡意軟件.
作為PnP所定義的最高級的IoCs,TTPs在分析CTI的過程中扮演了串聯事件、還原攻擊的作用[9].當前針對TTPs的分析框架主要包括攻擊鏈[24]、網絡攻擊生命周期[25]和ATT&CK[26].由于ATT&CK較新且描述完整,目前大多數分析工作普遍圍繞ATT&CK和其結構化描述框架STIX[14]開展.ActionMiner[13]和TTPDrill[12]作為從CTR分析TTPs的工具,采用的是結構化STIX信息作為抽取技術的關鍵.其方法圍繞抽取特定的關鍵細節為藍本,構造對特殊詞匯的技術描述.雖然其出具結果比較優秀,但一方面這個過程過多依賴專家經驗導致效果難以復現,另一方面此二者無法有效分析比技術更加抽象的戰術信息.正是由于發現了這個事實,Seifert 提出開源TTPs分析工具rcATT[11].該工具使用以SVM為主的機器學習作為分類TTPs的核心,雖然能夠有效解決人工分析的壓力,但由于其在戰術和技術上的分類效果較差且差距過大,導致其分析結果并不十分可信.
值得注意的是,ATT&CK所制定的技戰術具有嚴格的從屬劃分,對于特定的技術,一般只出現于1~2個戰術中.正是考慮到這點,rcATT合理運用該關系修正了部分分類效果,但是該成果并不顯著.其原因可能是人工定義的關系和迭代閾值不能精確區分和劃分技戰術關系的重要性區間和迭代值,造成一定程度的無法進化.rcATT選擇的技術增強是典型的后處理,通過將戰術分類結果輸入SVM分類器作為特征進行技術分類,其假設的條件是戰術分類結果正確且關系正確.雖然提高了技術的部分準確性但效果不可逆,即技術的分類推導無法提高戰術分類效果.
因此本文考慮使用多任務分類模型作為抽取技戰術信息的模型.該模型將同時訓練技戰術分類,并在分類過程中對技術分類的效果產生指導,合理優化技戰術關系,提高技戰術分類準確性.
作為多標簽深度學習模型,RENet主要包含兩個任務:一個是多標簽分類任務;另一個是使用關聯增強修正技術的分類結果.本章節將就上述兩個目標做數學推導和模型結構說明.
圖1展示了RENet的網絡模型結構.RENet主體分為兩個相互獨立分類器,一個管理戰術分類,另一個管理技術分類.其獨立性體現在兩個模型的權重和層的不共享.在分類器尾部RENet使用關聯增強的方式將戰術的分類效果遷移至技術分類器上共同維護技術的分類效果.

圖1 RENet網絡結構與數學表達對應關系Fig.1 RENet network structure and mathematical expression correspondence
RENet的分類器是由BiRNN[27]和CNN共同組成的TextRCNN模型[28].分類器通過式(1)完成分類任務.該任務要求分類器Cls根據文檔D推導其標簽列表L.因此Cls的方法實際上是一個由D到L的映射.
Cls:D→L
(1)
事實上,通常文檔D是由單詞詞匯W組成的,通過合理表征W就能夠合理表示D的特征.而單詞W的表征,一般通過詞嵌入學習的方式獲取其詞向量SW.同時對標簽L列表的表示也可以通過其概率模型PL表示.因此式(1)也可以被表示成式(2).
Cls:SW→PL
(2)

(3)
(4)

(5)
式(6)負責將所有的k-gram特征SW(k)合并為一個特征SD,該特征將表示原本文檔D的特征.
SD=[SW(1);SW(2);…;SW(k)]
(6)
通過使用式(7),文檔特征向量SD將轉化為標簽概率PL.其中WL和bL分別是其權重和偏移量.σ是sigmoid激活函數.
PL=σ(WLSD+bL)
(7)
通過實現式(3)~(7),式(2)得以實現.由于RENet存在獨立的技戰術分類器,因此技術和戰術的分類將被分別描述為式(8)和式(9).
Clstech:SW→PLtech
(8)
Clstact:SW→PLtact
(9)


(10)
(11)

(12)
本文基于ATT&CK知識庫數據,我們將使用ATT&CK技戰術數據就RENet和其他常用CTI分析模型作比較,以驗證RENet在分類TTPs上的效果.
本文使用的數據源為MITRE公司官方網站提供的針對ATT&CK V8語句公開標注.表1展示了Mitre官網[26]針對技術T1548.002的描述實例參考.通過數據清洗和去重后形成對14個戰術和184個主要技術的6504條描述語句.并通過翻譯和校對的方式形成了帶有技戰術標簽的中英文數據集.各數據集將按照6∶4的比例被分割為訓練集和測試集.由于技戰術分類是多標簽分類,本文將使用Precision-Recall和F_β分數為評價指標[29].針對該數據集文本,使用Bert[30]作為其預訓練詞嵌入模型.
為有效分析RENet的分類效果,如下模型將被作為橫向對比實驗.所有對比模型均被設計為和RENet類似的多任務模型.
(1) rcATT: rcATT[11]作為目前全監督技戰術分類的模型,在使用以線性SVM為分類器時能夠達到其最好的結果.

表1 ATT&CK官網對技術T1548.002的語句標注
(2) FC-NN: FC-NN作為Zhao[25]判別網絡文章是否屬于CTI的分類器的核心,在本文的實驗中將被重構為多標簽技戰術分類模型.
(3) TextCNN: 在Wang[24]的實驗中,TextCNN被用于識別源代碼的分類,并取得了不錯的效果.因此本文選擇使用經過技戰術分類的TextCNN作為對比模型.
(4) BiRNN: Grisham[26]使用RNN模型作為從CTI中分類惡意代碼的方式.BiRNN[31]在RNN的基礎上使用雙向機制講古抽取上下文信息.在本文中將使用BiRNN作為對比模型之一.
(5) BiRNN-CNN: 作為BiRNN和CNN 的混合模型,該模型兼顧了RNN在上下文記憶和CNN在高維抽象上的優勢,因此,在Dang[27]的實驗中表現良好.
(6) TextRCNN: TextRCNN[28]是RENet分類器的核心.設計目標是驗證在沒有使用關聯增強的前提下,TextRCNN的分類結果能否與RENet相同.以此驗證關聯增強的有效性和必要性.
RENet的關聯分析矩陣P(ltech,i|ltact,j)同時具備人工初始化和自我訓練優化的優點,因此本文將設計如下變種用來驗證不同關系初始化和優化方式對技戰術分類效果的影響.這些變種主要包括:
(1) 0-RENet: 該模型使用未經過人工初始化的關聯轉移矩陣,其所有P(ltech,i|ltact,j)均初始化為0.其設計目的在于檢驗模型能否更具自身需要設計技戰術關系實現分類
(2) a-RENet: 該模型使用經過人工初始化的技戰術關聯關系.人工初始化關系我們參考ATT&CK官網,對每個有從屬關系的技戰術P(ltech,i|ltact,j)賦值0.1.
(3) la-RENet: 該模型同樣適用人工初始化的技戰術關系為關聯轉移條件.與a-RENet不同的是,其關系是鎖定的.這意味著關系不會隨著訓練的進行改變.該模型的設計是目標是檢測從屬關系是否為技戰術主要關系.
表2~表5分別展示了RENet變種與對比模型在中英文數據集上對技戰術分類測試集的結果.

表2 中文數據集戰術分類結果

表3 中文數據集技術分類結果

表4 英文數據集戰術分類結果

表5 英文數據集技術分類結果
根據表2~表5結果可以產生如下推論.
(1) RENet、BiRNN-CNN和TextRCNN在總體分析結果上優于單獨使用TextCNN或BiRNN.這說明RENet、BiRNN-CNN和TextRCNN能夠有效兼顧RNN和CNN的優勢.
(2) 使用關聯增強的RENet無論是在戰術的分類還是技術的分類上都優于不用關聯增強的TextRCNN.這說明關聯增強起到了一定的作用.
(3) 經過人工關系初始化的a-RENet和la-RENet比未經過初始化的0-RENet表現效果好.其原因可能是在訓練的初期引入了較少的誤差使得模型能夠獲得并學習更加有效且準確的參數.
(4) la-RENet比a-RENet的效果好.可能是由于技戰術的關系主要以ATT&CK所定義的從屬關系為主,同時鎖定的關系能夠進一步降低訓練誤差.
(5) 中文數據集的效果優于英文數據.其可能原因是中文描述的多樣性低于英文描述,導致詞匯的分布較為集中,引起效果的提升.
此外,圖2和圖3分別反映了在中英文數據集中測試集技術分類效果隨訓練次數的變化.可以發現使用了關聯增強的RENet在擬合能力上快于其他沒有使用關聯增強的對比模型.其可能的原因在于,RENet的關聯增強模塊能夠優先將戰術的限制傳遞到技術的訓練上,造成技術的訓練從原本的隨機梯度下降轉變為半隨機梯度下降,即有指向性的迭代分類參數,迫使技術分類器能夠快速獲取進化的方向,完成擬合.
圖4~圖8分別反映了經過訓練后不同RENet變種的關聯轉移模塊權重P(ltech,i|ltact,j)的鄰接矩陣熱力圖.通過對比圖4~圖6,可以發現雖然存在噪聲但3種RENet的技戰術關聯信息大致接近,同時模型對技戰術的關聯和聯想存在優先級.

圖2 中文數據集技術測試集效果隨訓練變化Fig.2 Chinese dataset techniques test set effect within training

圖3 英文數據集技術測試集效果隨訓練變化Fig.3 English dataset techniques test set effect within training

圖4 la-RENet技戰術關聯轉移鄰接矩陣Fig.4 la-RENet tactics-techniques correlation transfer adjacency matrix

圖5 0-RENet技戰術關聯轉移鄰接矩陣(正值)Fig.5 0-RENet tactics-techniques correlation transfer adjacency matrix (positive)

圖6 a-RENet技戰術關聯轉移鄰接矩陣(正值)Fig.6 a-RENet tactics-techniques correlation transfer adjacency matrix (positive)

圖7 0-RENet技戰術關聯轉移鄰接矩陣(負值)Fig.7 0-RENet tactics-techniques correlation transfer adjacency matrix (negative)

圖8 a-RENet技戰術關聯轉移鄰接矩陣(負值)Fig.8 a-RENet tactics-techniques correlation transfer adjacency matrix (negative)
同時,圖7和圖8也反映出RENet在正支持相關性外也學習到了負支持的相關性.即出現在負支持中的技戰術對很難同時出現,這是人工定義所不具備的條件.說明RENet能夠利用但不依賴人工關系的特點.
針對現有工具在TTPs分類上的不足,本文提出使用關聯增強的多標簽分類模型RENet用于技戰術分析.RENet通過形成較為完整的技戰術分布依賴,鎖定技戰術標簽的范圍,提高技戰術分類的準確性.實驗表明,RENet較現有方法在中英文的技戰術分類上均有良好表現,同時具備快速訓練和自動關系優化的特點.