?

基于圖表示的惡意TLS流量檢測方法

2024-03-12 09:18尹志超崔蘇蘇曹中華盧志剛
信息安全研究 2024年3期
關鍵詞:特征提取證書加密

趙 荻 尹志超 崔蘇蘇 曹中華 盧志剛

1(中國科學院信息工程研究所 北京 100085)

2(中國科學院大學網絡空間安全學院 北京 100049)

3(北京華境安技術有限公司 北京 100085)

出于隱私保護和安全防護的需要,加密流量在網絡流量中的占比不斷攀升,谷歌報告顯示排名前100位的非Google網站有97位默認使用超文本傳輸安全協議(hypertext transfer protocol secure, HTTPS)加密[1].然而,網絡管理員難以辨認加密后的流量內容,無法及時發現惡意流量.因此,如何對加密流量進行精準識別和快速分類已成為網絡安全領域亟待解決的問題.

現有研究大多提取流量統計特征,或將原始流量直接作為機器學習模型的輸入進行分類[2-3].近來,也有研究者注意到網絡流量的時空特性,嘗試建立流序列進行識別[4].然而,目前的研究依舊存在不足:其一,網絡流間存在關聯,但多數方法在特征提取時都未保留流量的結構特性;其二,大部分研究集中于加密流量的統計特征分析,對加密協議特性挖掘不足.因此,本文提出一種結合協議分析的流量圖表示方法,并進一步提出了基于GCN的模型GCN-RF.本文貢獻如下:

1) 提出一種網絡流量的圖表示方法.本文綜合考慮網絡流時空特性、統計特性和結構特性,建立流的圖模型.

2) 提出針對SSL/TLS協議的特征提取方案.本文以協議身份認證工具——證書——為主要分析對象,從機密性、時效性等多個角度深入研究協議特性,總結了有利于加密惡意流量識別的特征.

3) 提出基于圖卷積神經網絡的惡意TLS流量識別模型.結合圖神經網絡和SSL/TLS協議特征,提出以GCN為核心的惡意TLS流量識別模型GCN-RF,實現高準確率的流量分類.

4) 在真實公開數據集上的實驗,結果表明,對比目前的經典方法,本文模型在準確率、查準率、查全率、F1分數上均提升5%以上.

1 相關工作

加密流量識別往往以源IP、源端口、目的IP、目的端口和協議五元組定義的流為識別單位.目前,加密惡意流量分類方法可以劃分為3類:基于載荷和端口的識別技術、基于機器學習的技術和基于深度學習的技術.其中第1類已經難以應對越發復雜的網絡,往往作為其他技術的補充手段存在.因此,本文對基于機器學習的主流方法以及基于深度學習的主流方法進行了總結.

1.1 基于機器學習的惡意加密流量檢測

基于機器學習的方法往往通過先驗知識分析惡意流量的行為模式,人工確定流量的有效特征,提取后輸入到機器學習算法中進行分類.對于確定流量惡意與否的二分類問題,Anderson等人[5]統計了TLS流量的部分特征數據,分析了正常和惡意軟件產生的流量的區別,并總結了部分可以提高分類器性能的特征.

而針對惡意流量的多分類問題,研究者更關注惡意流量的來源和惡意攻擊的類型.文獻[6]提取流量頭部特征,借助聚類分析惡意應用間的差異,成功識別出90%以上的惡意軟件家族.

總體而言,基于機器學習的技術取得了一定成果,但模型性能很大程度上取決于人工設計的特征,對不同情景適應性較差.在面對復雜多變的現實網絡環境時,這些方法難以達到預期水準.

1.2 基于深度學習的惡意加密流量檢測

隨著深度學習的興起,也有研究者將現有神經網絡模型與流量分類結合,讓模型自主分析流量特征.文獻[7]使用卷積神經網絡(convolutional neural networks, CNN),將流量的前784B轉換為圖像后進行識別.文獻[8]則提取流的前4個數據包的前40×40B,處理后輸入CNN進行訓練.

也有研究者提取關鍵特征表征流量信息,再利用神經網絡進行進一步分析.如文獻[9]從原始流量中提取上下文信息,使用Perlin噪聲將信息編碼到圖像中,再輸入CNN進行識別.文獻[10]則結合集成學習方法,深入挖掘網絡行為的同時提升了模型的魯棒性.

以上方法都有其優越之處,但大多沒有考慮網絡流量的關聯性,在特征提取過程中忽視了流量本身的結構特征.此外,對于協議特征的挖掘也不夠深入.

因此,本文以TLS流量為研究對象,綜合分析流量結構、內容特性,提取部分關鍵特征完善流量表征方法,并實現加密流量的圖表示,借助GCN進行深入的分析與分類.

2 基于圖表示的惡意TLS流量檢測模型

2.1 惡意TLS流量檢測模型

本文通過將網絡流量的圖表示、數據處理和GCN神經網絡模型分析等模塊進行組合,實現了惡意TLS流量檢測的流程化,建立了具有可行性的檢測模型.如圖1所示:

圖1 基于圖卷積神經網絡的加密惡意流量檢測模型框架

2.2 數據采集與預處理

本文從網關處采集流量并離線保存為pcap格式.隨后,對原始流量進行清洗,舍去異常值,填補缺失值,保證數據的完整性.由于本文以SSL/TLS協議為主要研究對象,去除非加密流.處理后流量按照單向流,即具有相同源IP、源端口、目的IP、目的端口和協議的流進行劃分.

2.3 網絡流量的圖表示

本文將流作為節點,依據流間關系建立邊,在盡可能保留流信息的基礎上提出適應GCN模型輸入的網絡流圖表征方案.

本文用G=(V,A)表示無向圖.經預處理和特征提取后,1條流可視為1個特征集合,對應圖中的1個節點.假設每個節點有m維特征,節點可表示為vi={t1,t2,…,tm}.V={v1,v2,…,vn}表示節點的集合,綜合得到圖的特征矩陣H∈n×m.

對相關數據進行分析可以發現,同源的惡意攻擊往往會呈現出相似甚至一致的行為特性.例如,同一手段的攻擊可能會針對固定的幾個端口進行.因此,如圖2所示,本文設計具有相同源IP、目的端口或數據包數的流存在關聯,在圖中為對應流設置連邊.對于流量圖而言,A∈n×n是表示節點關系的矩陣.假設vi與vj間存在1條連邊,則對應矩陣A中的元素aij則為1.

圖2 流量的屬性關系與圖連邊

2.4 節點特征提取方案

本文應用特征工程提取原始數據特征以表征網絡流,并將網絡流轉換為圖節點.基本的特征提取借助開源的網絡流量分析工具Zeek[11]進行.

2.4.1 統計特征

一些統計特征已被實驗驗證在加密流量分類中是有效的.這些特征大多通過各層的明文特征計算而來,不受加密的影響,能較好且穩定地反映流量特性.本文提取流統計特征如表1所示:

表1 本文提取的流級統計特征

2.4.2 協議特征

本文對SSL/TLS流量進行了深入分析.SSL/TLS協議使用X.509數字證書作為身份認證工具,為通信雙方提供加密和安全保證,這意味著證書能在很大程度上反映服務器、客戶端乃至傳輸本身的狀態.同時,X.509證書存在于TLS協議的握手階段,出現時間較早,便于收集與分析.

TLS協議版本分析:TLS協議不斷更新迭代,TLS1.2和1.3版本是目前的主流,早期版本功能不完整、安全性偏低、使用率較低、可疑度較高.

證書版本分析:早期證書缺少版本號字段,不支持使用擴展功能,相比后續版本,功能受限,安全性不足.目前正常網絡主體使用的證書大多數為版本3.由此可知,如果檢測到更早版本的證書,該流量非正常的可能性相對更高.

證書簽名分析:頒發機構的可信性和逐層認證是保證X.509數字證書可靠性的重要一環,然而網絡中也存在部分缺少可信機構認證、頒發者和使用者一致的自簽名證書.文獻[12]對SSL Blacklist的數據進行分析后發現,與活躍惡意軟件相關的服務器大多使用了自簽名證書.由此不難看出,自簽名證書相對可信度偏低.

證書有效期分析:在蘋果、谷歌等公司的共同倡議下,2020年9月1日之后發行的SSL/TLS證書的最長有效期將限定在13個月.顯然,有效期過長的證書對應的流量存在異常的可能性較高.

密碼套件分析:Anderson等人[5]通過分析實驗數據發現,檢測到的所有惡意TLS會話幾乎都使用了TLS_RSA_WITH_3DES_EDE_CBC_SHA等3個弱密碼套件,這些套件在技術不斷發展的今天存在被破解的可能.可以認為,惡意服務器的證書更可能使用過時的密碼套件.

綜上所述,本文在對SSL/TLS流量特性進行分析后的協議特征如表2所示:

表2 本文提取的TLS流量協議特征

2.5 圖神經網絡模型架構

經上述處理后,數據將輸入2層GCN進行分析,最后通過隨機森林(random forest, RF)分類器進行分類.GCN接受處理后的流量圖為輸入,即特征矩陣H和鄰接矩陣A,前者記錄了處理后的所有流和其特征,代表圖中的所有節點;后者記錄了流間的屬性關系,代表圖中的連邊.

分類模型由2層GCN進行特征提取,使用ReLU作為激活函數.GCN的層特征傳播公式為

(1)

Z=f(X,A)=

(2)

損失函數為

(3)

本文使用隨機森林分類器代替常規的softmax函數進行結果分類.分類器以GCN提取的特征矩陣作為輸入,輸出為各個節點(各條流)的預測結果.

3 實驗與分析

3.1 實驗準備

3.1.1 數據集

本文使用的數據集由10000個exe類型軟件產生的流量組成,其中黑白樣本比例為1∶1,為奇安信技術研究院天穹沙箱運行并采集其產生的流量篩選生成,流量內容為443端口產生的SSL/TLS數據包[14].經數據預處理得到流表示的數據集后,數據類別分布將出現變化.由于樣本分布不平衡會限制模型對少數類別的識別能力,對黑白樣本數量進行調整以保持相對一致.

經處理后的數據集樣本分布如表3所示:

表3 實驗用數據集的樣本分布

3.1.2 實驗環境

實驗使用具有2個單核CPU的Inter Xeon處理器,內存為12GB,使用Tesla T4 GPU進行相關計算.操作系統為Ubuntu18.04,CUDA版本為11.2,使用Python3.7語言,基于深度學習框架Pytorch建立模型.

3.1.3 評價指標

本文研究分類問題的基本目標是準確、完整,即正確識別更全面的加密流量蹤跡,避免誤分類.因此,實驗采用準確率(Accuracy)、查準率(Precision)、查全率(Recall)以及F1分數(F1-Score)4項評價指標,計算公式如下:

3.1.4 超參數

本文通過網格搜索確定最優參數,具體地,將學習率設置為0.001,隨機失活dropout為0.03,權重衰減系數為0.0005.

3.1.5 對比基準模型

為了驗證本文模型的有效性,在封閉世界數據集中進行測試并選取以下模型進行對比實驗:

1) 邏輯回歸算法.經典機器學習分類算法.該算法旨在尋找輸出與輸入向量的直接關系,通過比較概率值來判斷類別.

2) 決策樹算法.經典機器學習分類算法.決策樹的葉節點對應分類,非葉節點對應屬性劃分,在每一步選擇合適屬性歸類樣本,確定最終結果.

3) 樸素貝葉斯算法.經典機器學習分類算法.基于特征條件獨立假設學習輸入輸出的聯合概率分布,并利用貝葉斯定理求出給定輸入后驗概率最大的輸出.

4) CNN[15].對于每條流,提取原始流量的前784B,轉換為28×28的灰度圖像后輸入CNN進行分類.

3.2 加密惡意流量檢測評估

本文在包含真實世界流量的公開數據集上對模型性能進行測試,以7∶3的比例劃分訓練集與測試集.實驗目的為對網絡流進行二分類,識別加密流量中的惡意流量.結果通過準確率、查準率、查全率、F1分數4項指標進行評估量化,以比較不同方法的分類性能.同時本文使用5折交叉驗證獲得可信結果.

表4示出惡意加密流量分類實驗的結果.從中可以看出,基于機器學習的方法準確率普遍偏低.機器學習方法高度依賴人工選取的特征,分類準確率受特征選擇影響波動極大,且適應能力較弱,在不同數據集上可能得到差距極大的結果.

表4 加密惡意流量檢測評估結果

基于深度學習的方法中,CNN模型性能相比GCN模型稍顯遜色,誤分類情況較多.主要原因是CNN模型未考慮流量結構關聯,流量轉為圖片的過程中部分特征被破壞,導致準確率下降.

本文模型在處理流量時盡可能保留了其結構特性,使得相似行為產生的流量更具關聯性,有助于未知節點的分類.此外,本文針對SSL/TLS流量進行了分析,總結了有助于分類的協議特征.結果顯示,本文提出的GCN-RF方法在所有評估指標下都取得了最優結果,比最優基線方法提升5%以上.可見,本文提出的方案是切實有效的.

3.3 節點特征分析與評估

本文進行了對比實驗以確認協議特征在加密惡意流量分類中的效果.在GCN-RF框架的基礎上,使用統計特征、統計特征+協議特征進行特征提取分別進行實驗.此外設置均相同.

實驗的結果如圖3所示.協議特征的加入對模型分類性能起到一定的提升作用.僅使用統計特征表征節點時,分類準確率為94%,而綜合提取統計特征和協議特征后,準確率提升約5%.可見,密碼套件等協議特征在反映流量特性上具備一定的作用,加入這類特征有助于識破惡意攻擊者的偽裝,區分其與正常流量.總體而言,深入分析加密協議特性有助于研究者更好地識別流量,本文提出的特征提取方案具備可行性.

圖3 節點特征分析實驗結果

4 結 語

本文針對加密流量識別下的惡意流量識別領域展開研究.針對傳統流量特征提取易丟失流量結構信息的問題,本文提出了將網絡流轉換為圖的方法.同時,深入挖掘SSL/TLS協議內容特性,提出有助于分類的協議特征,并建立圖神經網絡模型對惡意TLS流量進行識別,經實驗驗證了模型的有效性.

為了進一步提升模型的性能,本文未來工作擬聚焦于收集更全面、真實、平衡的加密惡意流量數據集,并使用更具效果的深度學習算法填補分類環節.

猜你喜歡
特征提取證書加密
WJCI 收錄證書
CSCD收錄證書
收錄證書
收錄證書
一種基于熵的混沌加密小波變換水印算法
基于Daubechies(dbN)的飛行器音頻特征提取
Bagging RCSP腦電特征提取算法
認證加密的研究進展
基于ECC加密的電子商務系統
基于MED和循環域解調的多故障特征提取
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合