?

結合協同訓練的多視圖加密惡意流量檢測方法

2023-09-07 08:47霍躍華吳文昊趙法起
西安電子科技大學學報 2023年4期
關鍵詞:視圖分類器加密

霍躍華,吳文昊,趙法起,王 強

(1.中國礦業大學(北京) 機電與信息工程學院,北京 100083;2.中國礦業大學(北京) 網絡與信息中心,北京 100083;3.中國科學院 信息工程研究所,北京 100084;4.中國科學院大學 網絡空間安全學院,北京 100049)

1 引 言

隨著加密技術發展[1-2],網絡加密流量呈現爆發式增長,各大網站和軟件在流量傳輸中采用加密技術保護通信。Google透明度報告[3]指出,所有Google產品和服務中的加密流量占比已達95%;Chrome平臺中加密網頁占比從2016年的約50%增長到2022年的約99%。與此同時,越來越多的惡意流量也采用加密技術逃避檢測,對網絡安全構成嚴峻挑戰。惡意流量主要由惡意軟件產生[4],GALLAGHER在2021年5月的報告指出,約46%的惡意軟件在Internet通信中采用傳輸層安全協議(Transport Layer Security,TLS)進行加密[5],而在2020年這個比例還是23%,同比增長了1倍。因此加密惡意流量檢測研究具有重要意義。

現階段,針對加密惡意流量檢測主要有解密技術和非解密技術兩種。解密技術開銷大、安全性低、應用前景小。非解密技術主要包括JA3指紋技術、證書技術及機器學習(Machine Learning,ML)[6-8]技術?;贘A3技術和證書技術的加密惡意流量檢測方法只采取少數特征進行檢測,容易被惡意軟件規避;基于機器學習的加密惡意流量檢測方法依靠大量標注樣本和多個特征進行訓練,現有文獻表明能夠取得較好的檢測效果[9-10],但是嚴重依賴于標注樣本數量和質量[11],因此現實環境中由標注代價高引起的標注樣本缺乏問題制約著基于機器學習方法的應用。在加密流量具有較高的概念漂移,惡意軟件家族更新迭代較快等問題限制傳統檢測方法應用的情況下,基于半監督學習的方法能在小規模標注樣本的條件下挖掘隱藏在大量無標注樣本內部潛在的規律,實現無標注樣本的有效利用,減少對標注樣本的依賴。因此研究基于半監督學習的TLS加密惡意流量檢測方法具有重要價值。

針對現有基于機器學習的加密惡意流量檢測方法對標注樣本依賴度高的問題,文中提取TLS加密流量的流元數據特征和TLS證書特征,分別利用流元數據特征和TLS證書特征構建協同訓練的兩個視圖,采用XGBoost分類器和隨機森林(Random Forest,RF)分類器分別作為視圖1和視圖2的分類器,協同兩個分類器構建基于半監督學習的多視圖協同訓練分類器(Multi-view Co-training Classifier,MCC)檢測模型,通過隨機抽取樣本進行標注的方式得到小規模的標注樣本,結合大量無標注樣本實現高效的TLS加密惡意流量檢測。

圖1 TLS握手過程

圖2 TLS加密惡意流量檢測過程

2 相關工作

2.1 TLS握手過程和特征選擇

TLS握手過程是客戶端與服務端建立加密信道的過程,包含建立連接和交換驗證信息兩個部分。建立連接過程首先由客戶端向服務端發送TLS版本、服務器名以及支持的拓展等;然后由服務端向客戶端發送TLS證書鏈、密鑰交換方法等。交換驗證信息部分用于創建密鑰算法和握手過程加密算法[12]。TLS握手過程如圖1所示。鄒潔等[13]采用C4.5決策樹算法,通過選取加密流在網絡中傳輸的流元數據特征實現了加密流量分類。TORROLEDO等[14]將TLS證書信息輸入神經網絡進行訓練和檢測,證明了證書信息的可用性。

2.2 特征選擇

特征工程是針對特征屬性值進行的處理,主要用于匹配模型輸入要求和提升模型性能。YU等[15]對惡意軟件進行的研究表明,特征工程能夠有效提高分類模型檢測性能。特征選擇是特征工程的一部分,通過減少特征維度或數量的方式提高模型的性能。受HUO等[16]啟發,人為選擇的特征存在多重共線性,不能直接進行訓練,需要通過特征工程避免特征共線性問題,進而提升檢測模型性能。

2.3 基于半監督學習的加密惡意流量檢測方法

半監督方法通過小規模標注樣本和大量無標注樣本進行訓練,對標注樣本需求量低,能夠有效減少基于機器學習的加密惡意流量檢測方法對標注樣本的依賴性。

協同訓練方法是半監督方法的一種,又稱基于分歧的方法[17],能夠綜合考慮同一對象不同視圖的特征,通過多次迭代減少不同視圖分類器分類結果的不一致性,得到更優的訓練模型參數來提升性能。當兩個視圖具有較強獨立性時,采用協同訓練方法能夠有效利用無標注樣本信息提升分類效果。盧宛芝等[18]提出了一種半監督協同訓練模型,利用協同訓練策略組合了原始字節流特征和網絡流統計特征實現了惡意流量分類,但該方法采用同質的極端隨機樹分類器,對不同視圖適配性差,并且沒有針對加密流量,應用于加密流量檢測會造成準確性下降。ABDELGAYED等[19]提出一種SSML(Semi-Supervised Machine Learning)模型,采用異質的決策樹分類器和K近鄰分類器進行協同,構造檢測模型進行檢測。ILIYASU等[20]提出一種DCGAN(Deep Convolutional Generative Adversarial Network)模型,利用DCGAN模型生成的樣本以及無標注的樣本提高在小規模標注樣本下訓練的分類器的性能。

3 模型及方法

3.1 數據集

網絡中的信息是以流的形式傳輸的,網絡流量數量龐大,特征多樣,而且具有較高的概念漂移。因此對基于機器學習的方法而言,數據集的質量決定著模型在真實環境下的性能。半監督學習可以在小規模標注樣本的條件下實現高效的檢測效果。為了驗證MCC檢測模型的性能,文中使用CTU-13[21]數據集,該數據集包含單獨運行13種惡意軟件所產生并捕獲的惡意流量和正常情況下捕獲的良性流量,并以pcap流量包的形式進行存儲。選擇數據集中具有單一類別惡意軟件的惡意流量包6個和良性流量包1個,并篩選出其中的TLS加密流量構成樣本集,如表1所示。

表1 CTU-13數據集 條

3.2 協同訓練視圖構建

將原始pcap流量包進行合并與清洗后,使用Zeek工具[22]進行特征提取,得到流特征、連接特征及TLS證書特征。流特征與連接特征同屬流元數據特征[23],表征的是流的建立與傳輸過程,描述的是流的行為側的交互特征,獨立性較弱;TLS證書特征表征的是認證過程中握手行為和報頭的屬性,與流元數據特征間具有較強獨立性。采用具有較強獨立性的視圖進行協同訓練能夠增強特征對加密流量的表示能力,從而輔助增強檢測效果。同時,采用加密流量中獨立性強的特征能夠解決特征多重共線性問題,進而降低對檢測模型的影響。

(1) 流元數據特征由流特征和連接特征組合而成,包含數據傳輸過程中的數據包大小、字節分布和上下文等80個統計特征,能夠表示通信建立連接的過程和連接后的流量行為。

(2) TLS證書特征包含TLS握手過程和相關證書特征,文中選取了certificate issuer,certificate subject,cipher[24]。其中,certificate issuer表示證書簽名的簽發者,certificate subject表示證書的主體,cipher表示采用的加密算法套件。

3.3 視圖構建

(1) 視圖1。流元數據特征中特征的屬性值為數值型,為消除數據量綱不同對分類結果造成的影響,對其進行標準化處理:

(1)

(2) 視圖2。TLS證書特征中特征的屬性值重復性比較高,直接編碼容易造成維度災難。因此采用詞頻-逆文本頻率指數(Term Frequency-Inverse Document Frequency,TF-IDF)編碼[25]。TF-IDF編碼是一種根據詞頻數進行編碼的方法,認為詞頻越小的單詞區分能力越大,該方法能夠提取關鍵詞,更好地處理重復性高的特征。此外,由于編碼后的數據是原來數據的高維映射,維度的提升會造成計算資源的浪費。主成分分析(Principal Component Analysis,PCA)法[26]是一種無監督的降維方法,通過投影找出全新的相互正交的特征,快速實現對原特征的降維。因此,選擇PCA法對編碼后的特征進行降維,根據特征貢獻率選擇前58個主成分,進而構建視圖2。

3.4 多視圖分類器構建

視圖1在構建過程中存在部分關鍵屬性值缺失的問題。XGBoost分類器能夠自動處理缺失數據,并能通過雙向剪枝,降低模型過擬合風險。因此,選擇XGBoost分類器作為視圖1的分類器。

針對視圖2,在TF-IDF編碼和PCA降維的過程中會生成新的特征映射關系,但這種映射會導致原有信息缺失。由于隨機森林分類器對缺失數據不敏感,且能夠對模型的誤差產生無偏估計。因此,選擇隨機森林分類器作為視圖2的分類器。

3.5 MCC檢測模型的算法思想

利用視圖1和視圖2獨立性強、相關性低的特點,通過協同訓練策略構建MCC檢測模型對TLS加密惡意流量進行檢測。MCC檢測模型的算法思想如算法1所示。

算法1MCC檢測模型算法思想。

輸入:標注樣本集L;無標注樣本集U

輸出:flag

① 從U中選擇u個未標注的樣本構成樣本池U′

② 迭代k次:

使用L中第一視圖訓練分類器C1

使用L中第二視圖訓練分類器C2

C1從U′中標注p個正樣本和n個負樣本

C2從U′中標注p個正樣本和n個負樣本

添加2p+2n個標注樣本至L

隨機從U中抽2p+2n個樣本到U′

③ 將待檢測加密流量樣本輸入到模型中進行預測,得到每一個樣本的標簽值flag

④ 判斷flag值,1表示惡意流量,0表示良性流量

其中,MCC檢測模型工作過程為:先根據標注樣本進行模型預訓練,進一步根據預訓練的模型對未標注樣本進行預測,并輸出每個未標注樣本被預測為良性或惡意標簽的概率;預測概率值越大的樣本置信度越高。從協同分類器標注的樣本中挑選出置信度高的2p+2n個樣本進行標注,將已標注樣本添加至L中,為保證樣本池U′中樣本量與初始樣本量一致,從U中補充2p+2n個樣本至樣本池U′中,參與下一輪迭代。最后將測試集樣本輸入模型進行分類。筆者所提出的基于MCC檢測模型的TLS加密惡意流量檢測過程如圖2所示。

4 實驗驗證

4.1 實驗設置

4.1.1 實驗環境

研究基于Python3.9搭建了實驗環境,實驗所使用的硬件設備為64位Windows 10操作系統,采用Inter? Xeno? Gold 5210 CPU @2.20 GHz 2.19 GHz 雙處理器,內存32 GB。

4.1.2 評價指標

為了驗證所提利用協同訓練的多視圖加密惡意流量檢測方法的有效性,采用準確度(Acc),召回率(Rec)和誤報率(FPR)3個指標對檢測結果進行評估:

(2)

(3)

(4)

其中,TP表示惡意樣本被正確識別為惡意樣本的數量,TN表示良性樣本被正確識別為良性樣本的數量,FP表示惡意樣本被錯誤識別為良性樣本的數量,FN表示良性樣本被錯誤識別為惡意樣本的數量。

4.2 特征選擇與結果分析

4.2.1 視圖1和XGBoost分類器

選取了特征重要性值最大的前6個特征構成視圖1,如表2所示。將視圖1輸入XGBoost分類器中,采用網格搜索法,確定分類器參數:樹的最大深度為4,迭代次數為100。

表2 特征重要性最大的前6個特征

4.2.2 視圖2和RF分類器

選取特征貢獻率閾值為0.9[26],保留前58個主成分,構成視圖2。并通過網格搜索法確定RF分類器參數:樹的最大深度為9,森林中樹的數量為30。

在保證惡意流量與良性流量樣本數量比例一致的前提下,將樣本集按照7∶3的比例劃分為訓練集與測試集。訓練集用于訓練模型,包括隨機挑選訓練集中小規模樣本進行標注構成的標注樣本集,訓練集剩余樣本構成的無標注樣本集;測試集用于檢驗所檢測算法的性能。

4.3 MCC檢測模型實驗與對比實驗結果分析

4.3.1 與單視圖模型的檢測結果對比

為了探究MCC檢測模型在小規模標注樣本下的檢測效果,在全標注條件下,針對單視圖分別進行對比試驗,每組實驗重復10次,取其平均值如表3所示,其中,MCC/100指的是MCC檢測模型在100個標注樣本條件下的性能。

表3 與單視圖模型對比的性能 %

在單視圖條件下,XGBoost分類器在視圖1下的分類平均準確率達到了99.90%,平均召回率達到了99.86%,平均誤報率低于0.07%。RF分類器在視圖2 下的分類平均準確率達到了98.70%,平均召回率達到了99.28%,平均誤報率則低于1.9%。相比之下,MCC檢測模型在100個標注樣本情況下的平均準確率為99.17%,平均召回率為98.54%,平均誤報率為0.04%。

由結果可知,MCC檢測模型在平均準確率和平均召回率上基本達到全標注條件下的性能;在平均誤報率上優于單視圖模型所取得的效果。實驗結果表明,基于MCC檢測模型的TLS加密流量檢測算法能夠有效利用小規模標注樣本實現全監督學習下的檢測效果,能夠有效對加密惡意流量進行識別,減少基于機器學習的檢測方法對標注樣本的依賴。

4.3.2 MCC檢測模型檢測結果分析

為了進一步探究所提的MCC檢測模型在不同標注樣本數量下的性能,并探尋樣本標注代價與檢測性能的平衡,文中在其他條件相同的情況下,在20~100的標注樣本區間上設置了9組實驗對標注代價與檢測性能的平衡進行了檢驗。實驗結果如表4所示。

表4 不同標注樣本下MCC檢測模型性能

由表4可得,在僅有20個標注樣本的條件下,MCC檢測模型的平均準確率和平均召回率分別為96.88%和95.37%,平均誤報率低于1.57%。而將標注樣本的數量增加至100個后,MCC檢測模型的平均準確率和平均召回率分別達到99.17%和98.54%,較20個標注樣本的條件有2.29%和3.17%的提升,平均誤報率降至0.04%。如圖3和圖4所示,隨著標注樣本數量的逐步增加,MCC檢測模型的平均準確率和平均召回率呈上升趨勢,平均誤報率呈下降趨勢。但是,在標注樣本數量達到60個以后,隨著標注樣本數量的增加,MCC檢測模型的性能沒有明顯的提升。該結果說明在一定標注樣本數量的范圍內,隨著標注樣本數量的增加,檢測模型性能提升效果顯著,但當標注樣本達到一定數量時,再增加標注樣本數量,對檢測模型性能的提升效果不再顯著。

圖3 MCC檢測模型Acc和Rec變化圖

圖4 MCC檢測模型FPR變化圖

4.3.3 與先進算法對比

為了驗證所提模型的優越性,將提出的MCC檢測模型與基于協同訓練策略的文獻[18]、SSML[19]檢測模型和基于生成對抗網絡的DCGAN[20]檢測模型進行對比。在節3.1.1所述實驗環境下,MCC檢測模型的參數如節3.2所述;文獻[18]檢測模型中的極端隨機樹分類器采用默認參數;SSML檢測模型中的決策樹分類器和K近鄰分類器均采用默認參數;按照節3.3.2所述的標注樣本數量設置進行實驗,DCGAN模型參數設置為源文獻中參數。實驗結果如圖5和圖6所示。

圖5 4種模型Acc結果對比

圖6 4種模型Rec結果對比

文中所提出的MCC檢測模型效果在平均準確率和平均誤報率上均優于其他3種檢測模型。相較于文獻[18]和SSML兩個檢測模型,在平均準確率上分別提升了約2.08%和8.40%,在平均召回率上分別提升了約4.87%和17.16%。相較于DCGAN檢測模型,在平均準確率上提高了約38.42%,在平均召回率上提高了約68.46%。實驗結果表明,文中所提出的MCC檢測模型不僅較現有基于協同訓練的模型具有較大的性能提升,相較于基于生成對抗網絡的模型具有更大的性能提升,驗證了MCC檢測模型的優越性。

5 結束語

研究針對現有加密惡意流量機器學習檢測方法高度依賴標注樣本的問題,提出了一種使用半監督學習的加密惡意流量識別的多視圖協同訓練方法,建立了基于協同訓練的高效分類器,結合加密流量的流量行為元數據特征和流量交互初始的證書特征,利用少量標注樣本和大規模無標注樣本對所提模型進行訓練。實驗結果表明,該檢測模型以少量標注代價達到全標注條件下的惡意流量識別效能,能夠有效緩解流量識別任務的標簽數據依賴困難;通過試驗得到標注樣本的需求規模,結合人機協同的工程設計方案,提升了惡意流量檢測模型泛化性和迭代速率。實驗表明,文中提出的方案優于現有半監督學習流量檢測方法。本文提出多視圖加密惡意流量檢測方法能夠以少量的標注代價實現TLS加密惡意流量的高效檢測,有效緩解了加密流量領域惡意樣本演進迅速、人工安全知識依賴的現狀,能夠投入實際的工業界實際檢測任務應用。下一步將就檢測模型的魯棒性進行多場景驗證和改進。

猜你喜歡
視圖分類器加密
一種基于熵的混沌加密小波變換水印算法
BP-GA光照分類器在車道線識別中的應用
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
SA2型76毫米車載高炮多視圖
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
認證加密的研究進展
基于ECC加密的電子商務系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合