?

基于卷積神經網絡的加密流量分類方法

2022-02-04 07:02謝絨娜馬鑄鴻李宗俞田野
網絡與信息安全學報 2022年6期
關鍵詞:網絡流量數據包加密

謝絨娜,馬鑄鴻,李宗俞,田野

基于卷積神經網絡的加密流量分類方法

謝絨娜,馬鑄鴻,李宗俞,田野

(北京電子科技學院,北京 100070)

針對傳統加密網絡流量分類方法準確率較低、泛用性不強、易侵犯隱私等問題,提出了一種基于卷積神經網絡的加密流量分類方法,避免依賴原始流量數據,防止過度擬合特定應用程序的字節結構。針對網絡流量的數據包大小和到達時間信息,設計了一種將原始流量轉換為二維圖片的方法,直方圖中每個單元格代表到達相應時間間隔的具有相應大小數據包的數量,不依賴數據包有效載荷,避免了侵犯隱私;針對LeNet-5卷積神經網絡模型進行了優化以提高分類精度,嵌入Inception模塊進行多維特征提取并進行特征融合,使用1*1卷積來控制輸出的特征維度;使用平均池化層和卷積層替代全連接層,提高計算速度且避免過擬合;使用對象檢測任務中的滑動窗口方法,將每個網絡單向流劃分為大小相等的塊,確保單個會話中訓練集中的塊和測試集中的塊沒有重疊,擴充了數據集樣本。在ISCX數據集上的分類實驗結果顯示,針對應用流量分類任務,準確率達到了95%以上。對比實驗結果表明,訓練集和測試集類型不同時,傳統分類方法出現了顯著的精度下降乃至失效,而所提方法的準確率依然達到了89.2%,證明了所提方法普適于加密流量與非加密流量。進行的所有實驗均基于不平衡數據集,如果對數據集進行平衡化處理,準確率可能會進一步提高。

加密流量;卷積神經網絡;深度學習;特征融合;模型優化

0 引言

網絡流量中包含眾多有分析價值的信息,如何智能化地處理和分析網絡數據,成為網絡安全領域的研究熱點[1]。近年來,隱私數據和隱私保護愈發引起人們重視,數據傳輸過程中普遍使用各種加密技術,加密流量在網絡流量中占據越來越大的比重[2]。加密流量在保護隱私安全的同時,給流量監測和流量識別問題帶來了困難。如何高效準確地分類識別加密網絡流量數據,從而有效檢測惡意流量,成為網絡安全領域的研究熱門。

傳統的網絡流量分析方法,如負載分析[3]和基于端口[4]方法,在精度和性能上出現了顯著下降[5]。機器學習(ML,machine learning)方法已經普遍應用于網絡流量分析[6]。但是機器學習方法存在的問題是識別效果高度依賴于所提取的特征,基于深度學習的方法則可以避免這一問題,被逐步應用于加密流量識別領域并取得了一定成果[7-15]。Wei等[7]提出了使用卷積神經網絡模型進行加密流量識別,將流量數據標準化后使用前784字節作為模型的輸入,在數據集上進行了評估,并與決策樹方法進行了比較,結果顯示精度上有明顯提高。Xiao等[8]設計了擴展字節段神經網絡用于網絡流量分類,將數據包分為頭段和負載端再送入自編碼器中,在數據集上的檢驗表明其在應用程序識別任務和網站識別任務上性能有顯著提高。朱文斌[9]等提出了一種基于多種構圖方式的網絡流量圖像分類方法,考慮使用不同的構圖方式將數據包轉換為流量圖像。Rezaei等[10]基于時間序列結合一維卷積神經網絡對5種應用程序進行了分類,結果表明該方法可應用于高帶寬業務網絡。Lotfollahi等[11]使用堆疊式自編碼器和卷積神經網絡對網絡流量進行分類,在應用識別任務中,該分類方法的準確率達到了98%。Chen等[12]利用核希爾伯特空間的重生成嵌入將時間序列數據轉為圖像,在協議和應用分類任務上取得了較好的效果。Ertam和Avci[13]使用遺傳算法(GA)提取特征,應用基于極限學習機在數據集上進行實驗,實驗結果獲得了95%以上的準確率。Lopez-Martin等[14]和Wang等[15]分別使用了循環神經網絡和卷積神經網絡針對應用進行識別,兩項研究的共同之處是使用前6~30個數據包內容作為輸入,雖然網絡模型和數據集等不同,但兩者都具有較高的準確率。

由于以上方法多數專注于數據包的有效負載內容,這些方法依賴于原始數據,存在因過度擬合特定應用程序的字節結構,而無法應對未知應用程序的問題。同時,這些方法在使用虛擬專用網絡(VPN,virtual private network)等加密技術的情況下均出現一定程度的性能下降。此外,這些方法依賴于數據包的有效負載內容,一定程度上侵犯了隱私。

針對傳統網絡流量識別方法的不足,本文對傳統的卷積神經網絡(CNN,convolutional neural network)模型進行了改進優化,提出了一種面向圖片的加密流量識別方法,主要貢獻包括以下兩個方面。

1) 利用深度學習中神經網絡可以避免人工特征提取的特點,提出了一種基于卷積神經網絡的分類模型。針對當前分類方法在特征學習方面上的不足,在卷積神經網絡模型中嵌入了Inception模塊,Inception模塊中使用多個卷積層以不同的感受野分別提取特征,之后將提取到的特征進行融合,通過更多數量的特征來更好地學習輸入輸出之間非線性的關系,提高了分類精度。同時,模型使用全局平均池化層和卷積層替代全連接層,在減少網絡參數加快計算速度的同時避免過擬合,提高了模型的泛用能力。

2) 針對數據包的有效負載內容可能會造成過擬合和無法應對未知應用程序的問題,提出了一種利用數據包的到達時間以及大小等信息將流量數據轉換為圖片的方法,避免了人工提取特征,可以處理單向流的短時間窗口而不是只能應用于雙向會話。同時,所提方法不依賴于數據包的有效負載內容,避免了侵犯隱私,且在加密與非加密流量上具有普適性。

1 基于卷積神經網絡的加密流量識別方法

為了提高模型的泛用能力,避免過擬合于某一特定應用程序流量,本文使用數據包的時間和大小相關信息生成圖像作為模型的輸入,一方面提高模型運算速度和模型泛用能力;另一方面確保模型不依賴于數據包的有效負載內容,避免了隱私侵犯。為了避免實際訓練中模型不能有效提取到不平衡流量種類的流量特征,進而影響模型分類精度,該模型在傳統CNN的基礎上嵌入了Inception模塊以達到多尺度特征融合的目的,保證少量數據特征提取量;使用卷積層和平均池化層的組合取代了傳統的全連接層,降低了運算負擔,提高了模型識別的速度。

圖1 卷積神經網絡總體架構

Figure 1 Overall architecture of convolution neural network

基于上述原則,本文提出的卷積神經網絡總體架構如圖1所示,將原始網絡流量數據根據提出的圖像生成方法轉換為圖片作為模型的輸入;在兩次卷積池化操作中插入Inception模塊進行多層次提取特征和特征融合,Inception模塊可以復用更多特征,提高特征張量寬度和對特征的囊括性;在最終輸出之前,使用一個卷積層和全局平均池化層的組合代替全連接層,減少網絡中的訓練參數,避免過擬合。卷積層的卷積核大小為1*1,卷積核的數量由最終分類的類別數決定。卷積層的輸出送入平均池化層后最終得到維度為(1,1,)的輸出向量。在模型的最后,使用Softmax激活函數進行最終的分類。

1.1 基于數據包到達時間和大小的圖像轉換方法

網絡流量分類領域的大部分研究專注于數據包本身的有效負載內容,造成模型過擬合于特定數據字節段,無法識別網絡中新出現的應用程序流量,也無法有效識別加密流量。同時,基于數據包本身的有效負載內容在一定程度侵犯了隱私。本文避免從數據包自身有效負載內容入手,針對數據包的時間和大小相關信息,設計了一種將流量數據轉化為二維直方圖的方法。處理流程如圖2所示,步驟如下。

1) 網絡流量劃分:本文將具有相同五元組{源IP地址,源端口號,目的IP地址,目的端口號,協議}的網絡數據包看作屬于同一種應用產生的流量,稱為單向流。以單向流為基本單位將pcap原始文件進行拆分,其中pcap文件是正常用的數據報存儲格式。

圖2 原始數據轉換成圖片的處理流程

Figure 2 The process of converting raw data into pictures

2) 記錄提?。簭拿總€單向流中提取IP包大小、到達時間作為關鍵記錄輸入神經網絡。關鍵記錄定義為{IP包大小,到達時間}。由于卷積神經網絡需要一個統一的輸入維度,而實際中數據包的大小往往是不固定的,在輸入神經網絡前關鍵記錄需要進行標準化處理。大部分計算機最大傳送單元(MTU)的大小為1 500 byte,因此設定標準大小為1 500 byte,將大于1 500 byte的數據包舍棄(這部分數據包數量小于整體數量的5%),對大小不足1 500 byte的數據包使用0 byte進行補齊。

3) 直方圖生成:將關鍵記錄中的IP包大小和到達時間集成到二維直方圖中,這些二維直方圖可以看作一個有效載荷大小的數組。為了方便,將二維直方圖設置為正方形圖像。定義直方圖的軸為到達時間,根據定義,通過減去單向流中第一個包的到達時間來標準化所有數據包的到達時間值。將后續包到達時間值規范化處理,歸一化為0到1 500之間(即30 s映射到1 500)。定義直方圖的軸為數據包的大小。將所有標準化后的數據對插入二維直方圖中,直方圖中每個單元格的意義是到達相應時間間隔的具有相應大小數據包的數量。得到的結果是1 500*1 500的直方圖,直方圖中值的總和等于原始時間窗口中IP包的總數(不包括忽略的部分),本文使用直方圖作為神經網絡的最終輸入。

1.2 基于Inception模塊的特征融合

傳統的卷積神經網絡在網絡層次較淺時難以提取到深層次的特征,對于網絡流量分類問題,這制約了模型的性能。解決此問題的常見方法是增加網絡深度,即在模型中增加更多的網絡層,這會造成網絡復雜度大大提升,增加了計算成本且訓練過程中容易退化。采用Inception模塊,可以在增加網絡深度和寬度的同時減少參數,在提取特征的同時減小計算負擔。

為了避免數據量較小的流量類別在訓練中模型提取特征不足而影響最終的分類效果,同時提高其他類別的識別精度,在設計卷積神經網絡模型時添加了Inception模塊。Inception模塊通過對多個不同感受野進行特征提取,并進行多尺度特征融合,提高卷積神經網絡提取到的特征豐富性和完善性。Inception模塊由不同卷積核大小的卷積層和池化層組成,可以通過不同的局部感受野來多維度提取特征并進行融合。如圖3所示,本文中的Inception模塊由卷積核大小分別為1*1、3*3、5*5的3個卷積層和1個最大池化層組成。

為了提高訓練速度,在卷積前和池化后分別使用1*1卷積來控制輸出的特征維度以便于特征融合。為了控制梯度爆炸,加快網絡的訓練和收斂速度,Inception模塊的卷積層后連接了BN(批量歸一化)層。之后使用ReLu激活函數對數據進行處理,ReLu激活函數的定義如式(1)所示。

圖3 Inception模塊結構

Figure 3 Inception module structure diagram

2 實驗與結果分析

本文實驗設計分為3個部分。第一部分是有效性驗證,目的是證明模型未受過擬合影響,實驗結果真實有效。第二部分是性能驗證,目的是證明添加Inception模塊的CNN性能優于傳統CNN性能。第三部分是泛用性驗證,目的是證明所提方法同時適用于加密流量與非加密流量。

2.1 實驗數據集與數據預處理

本文實驗所使用的數據集為“UNB ISCX VPN-nonVPN 2016”[16]加密流量數據集和部分收集的聊天流量,數據集中包括兩大類,分別是VPN和非VPN加密流量,流量以pcap文件形式存儲。使用包含足夠樣本數量的5個類別的組合數據集:Voip、Chat、File、Streaming、Browsing。

為了增加訓練集的樣本數量,同時減少過擬合,將每個單向流劃分為大小相等的塊,每個會話劃分為30 s大小的塊[16],重疊時間為15 s,該方法來源于對象檢測任務中滑動窗口的使用[17]。例如,5 min(300 s)的會話可以由10個非重疊會話塊組成(10×30=300),也可以由19個重疊會話塊組成(19×30?18×15=300)。需要注意的是,擴充數據集的操作是在將所有會話劃分為訓練集和測試集之后進行的,以確保單個會話中訓練集中的塊和測試集中的塊沒有重疊。最終所使用的數據集的各類樣本數量如表1所示。

表1 數據集樣本分布數量

2.2 實驗評價指標

本文使用深度學習領域常見的評價指標準確率(Accuracy)來對實驗模型進行評價,其定義如式(2)所示。

其中,TP是被模型預測為正類的正樣本,TN是被模型預測為負類的負樣本,FP是被模型預測為負類的負樣本,FN是被模型預測為負類的正樣本。

2.3 實驗結果與分析

(1)有效性驗證

為了減少過擬合,本文使用dropout技術防止對訓練數據進行復雜的協同適應。將數據集隨機拆分為占比0.85的訓練集和占比0.15的測試集。訓練周期為30個周期,如圖4所示,網絡在運行VPN中Browsing流量分類任務時,在10~15個epoch后達到了收斂,并且訓練曲線和測試曲線之間的方差較小,表明本文結果是真實有效的,模型沒有受到過擬合的影響。

(2)性能驗證

為了體現所提分類模型中所采用的Inception模塊的優勢,本文與未添加Inception模塊的傳統CNN分類模型進行了對比實驗。實驗結果如表2所示。由表中數據可以看出,5種應用程序類別在添加了Inception模塊的網絡上各項性能指標均優于未添加Inception模塊的普通CNN,其中樣本數量較少的Browsing和Chat流量效果提升明顯,5種應用類別分別提高了1.8%、1.5%、1.6%、4.2%和4.8%。由實驗結果可知,添加Inception模塊幫助模型提取到了更豐富的特征,實現了更優的分類性能,特別是面對少樣本數據時,效果提升明顯。

圖4 準確率增長曲線

Figure 4Accuracy growth curve

表2 兩種CNN模型準確率比較

(3)泛用性驗證

本文提出的方法針對加密流量與非加密流量具有普適性,為證明模型的普適性,設計了對比實驗。根據流量是否使用了加密技術,將流量數據分為兩個數據集,對于每一個應用類別,使用模型在一個訓練集上進行訓練,并分別在兩個測試集上進行測試,每個測試集都包含特定類別的樣本,實驗結果如表3所示:對角線上的值(加粗部分)顯示了當測試集由與訓練集相同的流量類別和加密技術組成時的準確率。

從表3的實驗結果可以看出(對角線加粗部分),在訓練集和測試集具有相同的流量類別的情況下,模型具有良好的分類效果,分類準確率均高于90%,最好效果達到99.4%。

從實驗結果可知(未加粗部分),在訓練集和測試集分別由使用了加密技術和未使用加密技術的流量數據組成時,模型依然具有良好的分類效果,多數類別的分類準確率高于90%。只在Chat這一類別上出現了差異。這可能是因為加密技術改變了Chat流量類別的獨特特征,其與Browsing流量類別特征在一定程度上具有相似性。在實驗過程中發現,模型將一部分Chat流量誤識別為Browsing流量,難以區分Chat流量和Browsing流量是模型準確率下降的主要原因。

表3 不同種類流量在加密與非加密數據集上的準確率比較

同時,本文設計了與部分相近研究工作[7,9]的對比實驗。實驗結果基于相同的“UNB ISCX VPN-nonVPN 2016”數據集,如表4所示:在訓練集和測試集類型相同時,本文提出的方法準確率為97.6%,高于端到端加密流量分類模型[7]的96.8%和基于多種構圖的分類模型[9]的95.4%;且本文所提模型在訓練集和測試集類型不同時依然可以對網絡流量進行識別,而其余兩種模型均出現了顯著的精度下降乃至失效(準確率在50%左右波動),這是本文模型相比其他模型獨有的優勢。

表4 不同模型實驗結果比較

通過上述實驗,證明所提方法在面對單一流量分類問題上有著極高的準確率,且同時普適于加密流量與非加密流量,這是所提方法的優勢。值得一提的是,本文并沒有對數據集進行平衡化處理,所有實驗均是在不平衡數據集上進行的。如果對數據集進行平衡處理,實驗結果可能會進一步提升。

3 結束語

本文針對網絡流量傳統識別方法準確率較低、泛用性不強、侵犯隱私且不具備普適性等問題,提出了基于卷積神經網絡的加密流量分類方法,利用網絡流量中時間和數據大小相關信息,將網絡流量轉換為二維直方圖,設計了一個嵌入Inception模塊的改進CNN模型,通過添加Inception模塊實現多特征融合,提高了模型的分類精度,相比普通CNN,最大提升效果達到了4.8%。該方法不會過擬合于某一特定應用程序流量,避免了侵犯隱私,可以同時普適用于加密流量與非加密流量,實驗結果驗證了所提方法的有效性,在應用程序分類問題上準確率達到了95%以上。未來將考慮在模型設計中引入注意力模塊,增加流量特征的表征能力,進一步提高分類性能。

[1] 李艷霞, 柴毅, 胡友強,等. 不平衡數據分類方法綜述[J]. 控制與決策, 2019, 34(4): 673-688.

LI Y X, CAI Y, HU Y Q, et al. A summary of the classification methods of unbalanced data[J]. Control and decision-making, 2019, 34(4): 673-688.

[2] 王攀, 陳雪嬌. 基于堆棧式自動編碼器的加密流量識別方法[J]. 計算機工程, 2018, 44(11): 140-147.

WANG P, CHEN X J. Encrypted traffic identification method based on stack automatic encoder[J]. Computer Engineering, 2018, 44 (11): 140-147.

[3] FINSTERBUSCH M, RICHTER C, ROCHA E, et al. A survey of payload-based traffic classification approaches[J]. IEEE Communications Surveys & Tutorials, 2014, 16(2): 1135-1156.

[4] DAINOTTI A, PESCAPE A, CLAFFY K C. Issues and future directions in traffic classification[J]. Network IEEE, 2012, 26(1): 35-40.

[5] 駱子銘, 許書彬, 劉曉東. 基于機器學習的TLS惡意加密流量檢測方案[J]. 網絡與信息安全學報, 2020, 6(1): 77-83.

LUO Z M, XU S B, LIU X D. TLS malicious encryption traffic detection scheme based on machinelearning[J]. Journal of Network and Information Security, 2020, 6 (1): 77-83.

[6] REZAEI S, LIU X. Deep learning for encrypted traffic classification: an overview[J]. IEEE Communications Magazine, 2019, 57(5): 76-81.

[7] WEI W, MING Z, WANG J, et al. End-to-end encrypted traffic classification with one-dimensional convolution neural networks[C]//2017 IEEE International Conference on Intelligence and Security Informatics (ISI). 2017: 43-48.

[8] XIAO X, XIAO W, LI R, et al. EBSNN: extended byte segment neural network for network traffic classification[J]. IEEE Transactions on Dependable and Secure Computing, 2021, 10(1).

[9] 朱文斌, 馬秀麗. 多種構圖方式下的加密流量分類[J]. 電子測量技術, 2021, 44(12): 87-92.

ZHU W B, MA X l. Classification of encrypted traffic under multiple composition methods[J]. Electronic Measurement Technology, 2021, 44 (12): 87-92.

[10] REZAEI S, LIU X. How to achieve high classification accuracy with just a few labels: a semi-supervised approach using sampled packets[J]. arXiv preprint arXiv:1812.09761, 2018.

[11] LOTFOLLAHI M, JAFARI SIAVOSHANI M, SHIRALI HOSSEIN ZADE R, et al. Deep packet: a novel approach for encrypted traffic classification using deep learning[J]. Soft Computing, 2020, 24(3): 1999-2012.

[12] CHEN Z, HE K, LI J, et al. Seq2img: a sequence-to-image based approach towards ip traffic classification using convolutional neural networks[C]//2017 IEEE International Conference on Big Data. 2017: 1271-1276.

[13] ERTAM F, AVCI E. A new approach for internet traffic classification: GA-WK-ELM[J]. Measurement, 2017, 95:135-142.

[14] LOPEZ-MARTIN M, CARRO B, SANCHEZ-ESGUEVILLAS A, et al. Network traffic classifier with convolutional and recurrent neural networks for internet of things[J]. IEEE Access, 2017, (99): 1-1.

[15] WANG W, ZHU M, ZENG X, et al. Malware traffic classification using convolutional neural network for representation learning[C]//2017 International conference on information networking (ICOIN). 2017: 712-717.

[16] DRAPER-GIL G, LASHKARI A H, MAMUN M S I, et al. Characterization of encrypted and VPN traffic using time-related[C]// Proceedings of the 2nd International Conference on Information Systems Security and Privacy (ICISSP). 2016: 407-414.

[17] SZEGEDY C, TOSHEV A, ERHAN D. Deep neural networks for object detection[J]. Advances in Neural Information Processing Systems, 2013: 26.

Encrypted traffic classification method based on convolutional neural network

XIE Rongna, MA Zhuhong, LI Zongyu, TIAN Ye

Beijing Electronic Science and Technology Institute, Beijing 100070, China

Aiming at the problems of low accuracy, weak generality, and easy privacy violation of traditional encrypted network traffic classification methods, an encrypted traffic classification method based on convolutional neural network was proposed, which avoided relying on original traffic data and prevented overfitting of specific byte structure of the application. According to the data packet size and arrival time information of network traffic, a method to convert the original traffic into a two-dimensional picture was designed.Each cell in the histogram represented the number of packets with corresponding size that arrive at the corresponding time interval, avoiding reliance on packet payloads and privacy violations. The LeNet-5 convolutional neural network model was optimized to improve the classification accuracy. The inception module was embedded for multi-dimensional feature extraction and feature fusion. And the 1*1 convolution was used to control the feature dimension of the output. Besides, the average pooling layer and the convolutional layer were used to replace the fully connected layer to increase the calculation speed and avoid overfitting. The sliding window method was used in the object detection task, and each network unidirectional flow was divided into equal-sized blocks, ensuring that the blocks in the training set and the blocks in the test set in a single session do not overlap and expanding the dataset samples. The classification experiment results on the ISCX dataset show that for the application traffic classification task, the average accuracy rate reaches more than 95%.The comparative experimental results show that the traditional classification method has a significant decrease in accuracy or even fails when the types of training set and test set are different. However, the accuracy rate of the proposed method still reaches 89.2%, which proves that the method is universally suitable for encrypted traffic and non-encrypted traffic. All experiments are based on imbalanced datasets, and the experimental results may be further improved if balanced processing is performed.

encrypted traffic, convolution neural network, deep learning, feature fusion, model optimization

TP393

A

10.11959/j.issn.2096?109x.2022077

2021?12?27;

2022?08?14

田野,674600206@qq.com

國家重點研發計劃(2017YFB0801803)

The National Key R&D Program of China(2017YFB0801803)

謝絨娜, 馬鑄鴻, 李宗俞, 等. 基于卷積神經網絡的加密流量分類方法[J]. 網絡與信息安全學報, 2022, 8(6): 84-91.

XIE R N, MA Z H, LI Z Y, et al. Encrypted traffic classification method based on convolutional neural network[J]. Chinese Journal of Network and Information Security, 2022, 8(6): 84-91.

謝絨娜(1976?),女,山西永濟人,北京電子科技學院教授,主要研究方向為網絡與系統安全、訪問控制、密碼工程。

馬鑄鴻(1999? ),男,河南鄧州人,北京電子科技學院碩士生,主要研究方向為信息安全。

李宗俞(1999? ),女,河南上蔡縣人,北京電子科技學院碩士生,主要研究方向為信息安全。

田野(1997? ),男,內蒙古赤峰人,北京電子科技學院碩士生,主要研究方向為信息安全。

猜你喜歡
網絡流量數據包加密
基于多元高斯分布的網絡流量異常識別方法
大數據驅動和分析的艦船通信網絡流量智能估計
二維隱蔽時間信道構建的研究*
一種新型離散憶阻混沌系統及其圖像加密應用
民用飛機飛行模擬機數據包試飛任務優化結合方法研究
一種基于熵的混沌加密小波變換水印算法
C#串口高效可靠的接收方案設計
AVB網絡流量整形幀模型端到端延遲計算
加密與解密
3月CERNET網絡流量同比略高
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合