張穌榮,卜佑軍,陳 博,孫重鑫,王 涵,胡先君
(1.中國人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué)信息技術(shù)研究所,鄭州 450000;2.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室內(nèi)生安全研究中心,南京 211100)
流量分類是網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全領(lǐng)域的一項(xiàng)重要任務(wù),在服務(wù)質(zhì)量保證、網(wǎng)絡(luò)規(guī)劃、入侵檢測、網(wǎng)絡(luò)監(jiān)控、流量趨勢分析等領(lǐng)域發(fā)揮著重要作用[1]。隨著互聯(lián)網(wǎng)用戶對隱私和安全的日益關(guān)注,非加密的數(shù)據(jù)傳輸方式逐漸被加密傳輸方式所取代,加密網(wǎng)絡(luò)流量在互聯(lián)網(wǎng)中所占的比例逐年上升[2]。但是,加密流量在保護(hù)用戶隱私與安全的同時(shí),給網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全帶來了巨大的挑戰(zhàn),原因是加密后所有的通信內(nèi)容都是隨機(jī)的,導(dǎo)致深度數(shù)據(jù)包檢測(Deep Packet Inspection,DPI)[3]等傳統(tǒng)流量分類方法失效[4]。因此,對加密流量進(jìn)行有效分類成為工業(yè)界和學(xué)術(shù)界關(guān)注的焦點(diǎn)問題。
將特征工程與機(jī)器學(xué)習(xí)算法相結(jié)合,一度成為加密流量分類的主流方法。特征工程是指人工提取和選擇加密流量的統(tǒng)計(jì)特征,如最大數(shù)據(jù)包長度、平均傳輸時(shí)間等,將其作為機(jī)器學(xué)習(xí)模型的輸入。這種方法在很大程度上依賴于專家經(jīng)驗(yàn),耗時(shí)耗力,且往往不能產(chǎn)生令人滿意的分類結(jié)果[5]。相比于這種步驟分散的處理方法,將加密流量分類的所有過程集成于一體的深度學(xué)習(xí)方法受到了研究人員的青睞。深度學(xué)習(xí)方法將特征提取與模型訓(xùn)練結(jié)合成一個(gè)統(tǒng)一的端到端模型[6],直接從原始流量中自動學(xué)習(xí)特征并進(jìn)行分類。雖然基于深度學(xué)習(xí)的加密流量分類能夠避免繁雜的人工操作,但是大多數(shù)常用的模型較少考慮效率問題,它們使用復(fù)雜的神經(jīng)網(wǎng)絡(luò)來保證結(jié)果的高精度,導(dǎo)致模型訓(xùn)練和測試時(shí)間較長。如何在保證分類精度的同時(shí)盡可能提高模型的運(yùn)行速度以提升其分類效率,是一個(gè)值得關(guān)注的問題。
本文提出一種基于多層雙向簡單循環(huán)單元[7]與注意力(Multi-Layer Bidirectional Simple Recurrent Unit and Attention,MLBSRU-A)模型的加密流量分類方法,并基于公開數(shù)據(jù)集ISCX VPN-nonVPN 和USTC-TFC 2016 來驗(yàn)證MLBSRU-A 模型的有效性。
近年來,傳統(tǒng)的機(jī)器學(xué)習(xí)方法在加密流量分類領(lǐng)域取得了突出的成果[8-10],但是其核心步驟(即特征提取和特征選擇)嚴(yán)重依賴于專家經(jīng)驗(yàn),不僅成本較高,而且容易出錯(cuò)。為解決基于機(jī)器學(xué)習(xí)模型的加密流量分類方法中存在的問題,研究人員提出基于深度學(xué)習(xí)的加密流量分類方法。王偉等[6]提出一種基于一維卷積神經(jīng)網(wǎng)絡(luò)(One-Dimensional Convolutional Neural Network,1D-CNN)的端到端加密流量分類方法,其將特征提取、特征選擇和分類器集成到一個(gè)統(tǒng)一的框架中,從而自動學(xué)習(xí)原始輸入和期望輸出之間的非線性關(guān)系。隨后,基于CNN[11-13]、堆疊自動編碼器(Stacked Auto-Encoder,SAE)[11]等深度學(xué)習(xí)模型的加密流量分類方法陸續(xù)被提出。
網(wǎng)絡(luò)流量數(shù)據(jù)具有時(shí)間序列屬性,因此,除CNN外,具有強(qiáng)大序列建模能力的RNN[14]也受到學(xué)者們的關(guān)注。ZOU 等[15]提出一種新的深度神經(jīng)網(wǎng)絡(luò),將CNN和長短期記憶(Long Short-Term Memory,LSTM)模型相結(jié)合,以提高分類結(jié)果的準(zhǔn)確性,其中CNN 用于學(xué)習(xí)網(wǎng)絡(luò)流量的低層次空間特征,LSTM 網(wǎng)絡(luò)用于學(xué)習(xí)高層次時(shí)間特征。文獻(xiàn)[16-18]都將LSTM 與其他深度學(xué)習(xí)模型相結(jié)合,從而更全面地提取流量特征。
目前,在加密流量分類領(lǐng)域,計(jì)算量更小的門控循環(huán)單元(Gated Recurrent Unit,GRU)[19]逐漸替代LSTM。文獻(xiàn)[20]提出一種用于加密流量分類的流序列網(wǎng)絡(luò),稱為FS-Net,其使用雙向GRU(Bidirectional-GRU,Bi-GRU)網(wǎng)絡(luò)來提取報(bào)文長度序列中的隱藏信息。隨著注意力機(jī)制在自然語言處理領(lǐng)域的成功應(yīng)用,越來越多的學(xué)者將GRU 和注意力機(jī)制相結(jié)合以進(jìn)行加密流量分類。LIU 等[21]利用Bi-GRU 和注意力機(jī)制構(gòu)建一個(gè)用于HTTPs 流量分類的深度學(xué)習(xí)模型,稱為BGRUA。其中,Bi-GRU 用于提取會話中字節(jié)序列的前向和后向特征,并采用注意力機(jī)制根據(jù)特征對分類的貢獻(xiàn)大小來分配權(quán)重。實(shí)驗(yàn)結(jié)果表明,BGRUA 在準(zhǔn)確率、精確率、召回率和F1 分?jǐn)?shù)上都有較好的表現(xiàn)。類似地,文獻(xiàn)[22-23]也使用GRU 模型與注意力機(jī)制進(jìn)行加密流量檢測。
盡管上述研究都取得了較好的結(jié)果,但是大多沒有考慮RNN 模型普遍存在的梯度消失、并行性差等問題,這些缺陷將導(dǎo)致RNN 模型效率較低、準(zhǔn)確率下降以及訓(xùn)練速度減慢,從而限制了它們對加密流量的分類能力。
RNN 模型通過引入記憶單元來處理序列之間的時(shí)序關(guān)聯(lián)性,它是序列信息分析中最常用的模型之一[20]。但是,傳統(tǒng)RNN 模型(如LSTM[24]、GRU[19]等)必須等待對上一時(shí)刻輸出狀態(tài)全部完成計(jì)算后才能對當(dāng)前時(shí)刻輸出狀態(tài)進(jìn)行計(jì)算,即無法實(shí)現(xiàn)并行計(jì)算,這種前后時(shí)間步之間的依賴性使得循環(huán)網(wǎng)絡(luò)的運(yùn)行效率低于其他模型。
為了提高RNN 的訓(xùn)練速度,LEI 等[7]在LSTM和GRU 的基礎(chǔ)上提出SRU,如圖1 所示。SRU 單元包含遺忘門ft和重置門rt,利用單元狀態(tài)ct在所有時(shí)間步上傳遞信息,最終輸出隱藏狀態(tài)ht。在時(shí)間步t處,SRU 結(jié)構(gòu)涉及的所有計(jì)算如式(1)~式(4)所示:
圖1 SRU 結(jié)構(gòu)Fig.1 SRU structure
其中:σ為Sigmoid 函 數(shù);Wf、W和Wr是需要學(xué)習(xí)的權(quán)重矩陣;xt是時(shí)間步t處的輸入數(shù)據(jù);vf、vr、br和bf是訓(xùn)練期間要學(xué)習(xí)的參數(shù)向量;⊙表示Hadamard 乘積,即元素對應(yīng)乘積而非矩陣乘積。
與常見的RNN 模型相比,SRU 最大的不同之處在于其具有高度并行化的序列建模能力,且兼具改善梯度消失問題的能力。SRU 具有如下特點(diǎn):
1)將門控計(jì)算中常用的參數(shù)矩陣替換為參數(shù)向量,同時(shí)將矩陣乘法替換為Hadamard 乘積,通過這種簡化,ct和ft的每個(gè)維度都變得獨(dú)立,即使只知道ct-1中的一個(gè)維度值,也可以直接算出ct和ft這一個(gè)對應(yīng)維度上的值,無須等待ct-1全部計(jì)算完畢。因此,可以實(shí)現(xiàn)維度上的并行化,且并不影響RNN 模型在時(shí)間上串行計(jì)算的本質(zhì)。
2)對于式(1)~式(3)中存在的矩陣乘法Wf xt、Wxt和Wr xt,在所有時(shí)間步上進(jìn)行批量處理。假設(shè)輸入序列維度為D,長度為L,隱藏層維度為d,則批處理乘法如式(5)所示:
其中:W,Wf,Wr∈Rd×D;U∈RL×3d。那么對于一個(gè)批次中的B個(gè)樣本,可以先計(jì)算得到張量U(L,B,3d),在之后每個(gè)時(shí)間步的計(jì)算中只需查表就可以完成,這樣操作能夠顯著提高計(jì)算效率。
3)在計(jì)算隱藏狀態(tài)ht時(shí)采用跳躍連接方式,直接將輸入xt納入計(jì)算,類似于殘差連接,可以改善反向傳播過程中的梯度消失問題,打破網(wǎng)絡(luò)的對稱性[25],從而提升網(wǎng)絡(luò)的表征能力。
上述特點(diǎn)使得SRU 能夠快速處理序列信息,符合網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全領(lǐng)域中各項(xiàng)工作對加密流量準(zhǔn)確快速分類的要求。因此,本文選擇SRU 網(wǎng)絡(luò)對加密流量進(jìn)行特征提取。在下文中,使用如式(6)所示的方程來簡要表達(dá)SRU 中隱藏狀態(tài)的更新:
其中:ct-1表示上一時(shí)刻的單元狀態(tài);xt表示當(dāng)前時(shí)刻的輸入數(shù)據(jù)。
本文基于MLBSRU-A 模型的加密流量分類方法使用端到端的模型架構(gòu),如圖2 所示,該方法將特征學(xué)習(xí)和分類統(tǒng)一到同一模型中,無需人工進(jìn)行額外的特征提取。首先,對原始流量數(shù)據(jù)集進(jìn)行預(yù)處理,包括流量分割、數(shù)據(jù)清洗、長度統(tǒng)一、數(shù)據(jù)歸一化、矩陣變換等步驟;然后,將預(yù)處理后的數(shù)據(jù)輸入到特征提取層中,輸出每個(gè)時(shí)間步上隱藏狀態(tài)的集合作為特征向量;之后,將特征向量輸入到注意力層中,計(jì)算每個(gè)特征的權(quán)重值,并輸出加權(quán)后的流特征向量;最后,將注意力層輸出的加權(quán)流特征向量輸入到全連接層中,得到該輸入數(shù)據(jù)屬于各類標(biāo)簽的概率,概率值最高的類別即為模型產(chǎn)生的分類結(jié)果。
圖2 基于MLBSRU-A 模型的加密流量分類方法整體架構(gòu)Fig.2 Overall architecture of encrypted traffic classification method based on MLBSRU-A model
以pcap 格式存儲的原始流量數(shù)據(jù)作為數(shù)據(jù)預(yù)處理層的輸入,經(jīng)過流量分割、數(shù)據(jù)清洗等步驟后,得到包含可用信息的流矩陣。具體步驟如下:
1)流量分割。為了區(qū)分不同應(yīng)用程序或網(wǎng)站產(chǎn)生的流量,需要按照五元組信息將原始流量分為不同的雙向流。其中,流定義為一組具有相同五元組(源IP、目的IP、源端口、目的端口、傳輸層協(xié)議)的數(shù)據(jù)包,而雙向流中數(shù)據(jù)包五元組的源IP 和目的IP、源端口和目的端口可以交換。在下文中將雙向流簡稱為流。
2)數(shù)據(jù)清洗。刪除數(shù)據(jù)包中對于流量分類而言有效信息較少的以太網(wǎng)報(bào)頭;將數(shù)據(jù)包中的IP 地址用零來代替,以消除由隨機(jī)端口分配、網(wǎng)絡(luò)地址轉(zhuǎn)換等技術(shù)造成的混淆。此外,還需刪除流中包含的空數(shù)據(jù)包和重復(fù)數(shù)據(jù)包,以避免它們對模型學(xué)習(xí)過程造成干擾。
3)長度統(tǒng)一。由于模型要求所有輸入數(shù)據(jù)的長度相同,因此取每條流的前n字節(jié)(本文規(guī)定n為50的倍數(shù))作為輸入。如果流長度大于n,則截?cái)?;反之,則補(bǔ)零(0x00)至n字節(jié)。
4)數(shù)據(jù)歸一化。為了減小輸入數(shù)據(jù)數(shù)值范圍對模型訓(xùn)練的影響,將流數(shù)據(jù)進(jìn)行歸一化處理,流的每一字節(jié)都被轉(zhuǎn)換成一個(gè)[0,1]范圍內(nèi)的整數(shù),此時(shí)流數(shù)據(jù)被轉(zhuǎn)換為長度為n的向量f。
5)矩陣變換。SRU網(wǎng)絡(luò)在每一時(shí)間步處輸入的維度是固定的,本文將其設(shè)置為50,這意味著在每一時(shí)間步將有50個(gè)字節(jié)的流數(shù)據(jù)輸入到SRU網(wǎng)絡(luò)中。為此,需要將流向量f進(jìn)行維度變換,轉(zhuǎn)換成流矩陣x=[x1,x2,…,xN],其中,N=,xi∈R50,i∈[1,N],x∈R50×N。
經(jīng)過M層雙向SRU 網(wǎng)絡(luò)的特征提取過程,特征向量hN高度聚合了整條流的雙向上下文信息,能夠使模型更準(zhǔn)確地對流量進(jìn)行分類。
對于一條流而言,并非所有字節(jié)都對分類起到同樣重要的作用。為了使流中相對重要的信息能對分類結(jié)果產(chǎn)生較大的影響,本文引入注意力機(jī)制[26],如圖3所示。
圖3 注意力層計(jì)算過程Fig.3 Attention layer calculation process
在注意力機(jī)制中,核心操作是各元素的權(quán)重計(jì)算。本文將特征提取層輸出的特征向量hN作為注意力層的輸入,通過將每個(gè)時(shí)間步上的隱藏狀態(tài)進(jìn)行加權(quán)求和,得到流特征向量s,如式(12)所示:
αt是的權(quán)重系數(shù),計(jì)算方法如式(13)所示:
et是通過一個(gè)前饋神經(jīng)網(wǎng)絡(luò)層生成的隱藏表示,計(jì)算如下:
其中:Wh和bh分別為權(quán)重矩陣和偏差。
全連接層以注意力層輸出的特征向量s作為輸入,通過線性變換將其映射到樣本標(biāo)記空間Rc中,以獲得向量v∈Rc,其中,c是流量類別總數(shù)。向量v輸入到Softmax 函數(shù)中,得到該條流屬于各類別的概率值,取概率值最大的類別作為最終的分類結(jié)果。Softmax 函數(shù)如式(15)所示:
其中:pi是輸入樣本屬于類別i的概率;vi∈v為(-∞,+∞)范圍內(nèi)的實(shí)數(shù),又稱該條數(shù)據(jù)對應(yīng)于各個(gè)類別的分?jǐn)?shù)。
為了使實(shí)驗(yàn)具有更高的可信度,本文基于2 個(gè)公共流量數(shù)據(jù)集進(jìn)行實(shí)驗(yàn):
1)數(shù)據(jù)集A 是基于ISCX VPN-nonVPN 數(shù)據(jù)集[27]所生成,ISCX VPN-nonVPN 數(shù)據(jù)集有7 種常規(guī)加密流量和7 種協(xié)議封裝流量,但是其中6 種加密流量都與網(wǎng)頁瀏覽有關(guān),因此,本文參照文獻(xiàn)[6]放棄網(wǎng)頁瀏覽這類流量。數(shù)據(jù)集A 的具體信息如表1 所示。
表1 數(shù)據(jù)集A 具體信息Table 1 Specific information of dataset A
2)數(shù)據(jù)集B 是USTC-TFC 2016 數(shù)據(jù)集,由王偉等[28]創(chuàng)建,包含10 類正常加密流量和10 類惡意加密流量,具體信息如表2 所示。
表2 數(shù)據(jù)集B 具體信息Table 2 Specific information of dataset B
為了對MLBSRU-A 模型的性能進(jìn)行驗(yàn)證,本文選擇4 個(gè)關(guān)聯(lián)性較強(qiáng)的模型進(jìn)行對比:
1)BLSTMA 模型[29],通過將Bi-LSTM 與注意力機(jī)制相結(jié)合,提取流中的數(shù)據(jù)包序列信息,并通過注意力機(jī)制,根據(jù)每個(gè)數(shù)據(jù)包特征對分類的貢獻(xiàn)大小來對其分配權(quán)重。
2)BGRUA 模型[21],采用Bi-GRU 網(wǎng)絡(luò)提取會話中的雙向字節(jié)序列信息,同時(shí)結(jié)合注意力機(jī)制來提高HTTPS 流量分類的準(zhǔn)確性。
3)1D-CNN 模型[6],將特征選擇、特征提取、分類器與1D-CNN 整合到一個(gè)統(tǒng)一的端到端框架中,旨在自動學(xué)習(xí)原始輸入和期望輸出之間的非線性關(guān)系,該模型也是第一次將端到端方法應(yīng)用于加密流量分類領(lǐng)域。
4)CNN+LSTM 模型[15],將卷積網(wǎng)絡(luò)和遞歸網(wǎng)絡(luò)相結(jié)合,以提高流量分類的準(zhǔn)確性。其中,CNN 用于提取單個(gè)數(shù)據(jù)包的特征,LSTM 以流中任意3 個(gè)連續(xù)數(shù)據(jù)包的包特征作為輸入來提取流特征。
本文采用4 個(gè)指標(biāo)對模型進(jìn)行性能評估,分別為準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)以及F1 分?jǐn)?shù)(F1_score)。對于多分類問題,將每個(gè)類和剩余類樣本視為一個(gè)二元分類,即可直接計(jì)算出每種類型的精確率和召回率。4 個(gè)評價(jià)指標(biāo)的計(jì)算公式分別如下:
其中:TP、FP、TN和FN分別為真陽性、假陽性、真陰性及假陰性;準(zhǔn)確率表示樣本被正確分類的比例;精確率表示在所有被預(yù)測為正的樣本中實(shí)際為正的樣本所占的比例;召回率表示在實(shí)際為正的樣本中被預(yù)測為正的樣本所占的比例;F1 分?jǐn)?shù)是精確率和召回率的調(diào)和平均,能夠同時(shí)兼顧這2 種指標(biāo)。
本文實(shí)驗(yàn)環(huán)境與配置具體如表3 所示。
表3 實(shí)驗(yàn)環(huán)境與配置Table 3 Experimental environment and configuration
4.4.1 MLBSRU-A 模型參數(shù)選擇與分析
調(diào)參是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的一個(gè)重要步驟,在訓(xùn)練階段,通過改變每個(gè)超參數(shù)來估計(jì)參數(shù)梯度,并根據(jù)準(zhǔn)確率的變化來決定超參數(shù)數(shù)值的增大或減小,使得模型達(dá)到最優(yōu)性能。本節(jié)基于數(shù)據(jù)集A 中的6 類常規(guī)加密流量分別進(jìn)行實(shí)驗(yàn),使用準(zhǔn)確率作為度量標(biāo)準(zhǔn)以確定最佳超參數(shù)值,從而實(shí)現(xiàn)分類精度和效率之間的權(quán)衡。
1)每條流的字節(jié)數(shù)n和SRU 網(wǎng)絡(luò)的堆疊層數(shù)M
在3.1 節(jié)提到,本文將每條流的長度固定為n字節(jié)(設(shè)置n為50 的倍數(shù)),以滿足模型對輸入數(shù)據(jù)的要求,同時(shí)將SRU 網(wǎng)絡(luò)堆疊M層,以提取流量的高階特征。本文將n的取值范圍設(shè)置為[50,1 000],步長為50,同時(shí)將M的取值范圍設(shè)置為[1,5],分別進(jìn)行實(shí)驗(yàn)以觀察不同n值及M值對模型分類結(jié)果的影響,從而確定兩者的最佳取值。在該實(shí)驗(yàn)中,使用準(zhǔn)確率作為性能評估指標(biāo),實(shí)驗(yàn)結(jié)果如圖4 所示。
圖4 不同n 值對應(yīng)的模型分類準(zhǔn)確率Fig.4 Model classification accuracy corresponding to different n values
每條流包含的字節(jié)數(shù)和SRU 網(wǎng)絡(luò)堆疊層數(shù)對模型分類性能有重要影響,從圖4 可以看出,隨著每條流中包含字節(jié)數(shù)n的增加,模型的準(zhǔn)確率不斷提高,直至n=500 左右模型收斂,準(zhǔn)確率達(dá)到最高后幾乎不再變化,因此,本文將每條流中包含的字節(jié)數(shù)n確定為500。此外,可以看到,當(dāng)M=1(即模型中Bi-SRU 網(wǎng)絡(luò)只有一層)時(shí),模型分類準(zhǔn)確率較低,最終只能達(dá)到0.92 左右;當(dāng)M≥2(即模型中Bi-SRU 網(wǎng)絡(luò)大于等于兩層)時(shí),準(zhǔn)確率較M=1 時(shí)有明顯提升。但是,值得注意的是,當(dāng)M≥2 時(shí),更多的堆疊層數(shù)并不會帶來模型性能的更大提升,這表明兩層Bi-SRU網(wǎng)絡(luò)能夠提取充分的加密流量特征,因此,本文最終將SRU 網(wǎng)絡(luò)堆疊層數(shù)M確定為2。
2)學(xué)習(xí)率lr
依照上一節(jié)的實(shí)驗(yàn)結(jié)果,本文將每條流的字節(jié)數(shù)n設(shè)置為500,SRU 網(wǎng)絡(luò)堆疊層數(shù)M設(shè)置為2。另外,設(shè)置epoch=100,lr取值范圍設(shè)置為[0.000 1,0.001,0.01],然后基于數(shù)據(jù)集A 中的6 類常規(guī)加密流量再次進(jìn)行實(shí)驗(yàn),以觀察模型準(zhǔn)確率隨訓(xùn)練輪次epoch 和學(xué)習(xí)率lr的變化情況,從而確定學(xué)習(xí)率的最佳取值。圖5 所示為不同學(xué)習(xí)率下模型的準(zhǔn)確率變化情況。從圖5 可以看出,當(dāng)學(xué)習(xí)率為0.000 1 時(shí),模型收斂速度最慢,在訓(xùn)練100 個(gè)epoch 后模型的準(zhǔn)確率仍然沒有達(dá)到穩(wěn)定,這是因?yàn)閷W(xué)習(xí)率是根據(jù)損失函數(shù)調(diào)整網(wǎng)絡(luò)權(quán)重程度的超參數(shù),當(dāng)學(xué)習(xí)率較低時(shí),損失函數(shù)的調(diào)整幅度較小,能夠確保模型不會錯(cuò)過局部最小值,但也意味著模型需要花費(fèi)很長時(shí)間才能達(dá)到收斂,當(dāng)學(xué)習(xí)率設(shè)置為0.01 時(shí),學(xué)習(xí)率曲線出現(xiàn)較大幅度的震蕩,這說明該學(xué)習(xí)率過大,導(dǎo)致在訓(xùn)練過程中梯度在最小值附近的一個(gè)區(qū)域內(nèi)擺動,模型難以收斂。在圖5 中,lr=0.001 時(shí)模型收斂最快,且準(zhǔn)確率曲線震蕩幅度很小,收斂后準(zhǔn)確率最高,因此,本文將學(xué)習(xí)率設(shè)置為0.001。
圖5 不同學(xué)習(xí)率下模型的準(zhǔn)確率Fig.5 Model accuracy with different learning rates
4.4.2 不同模型的加密流量分類性能對比與分析
為了驗(yàn)證MLBSRU-A模型的分類性能,本文基于數(shù)據(jù)集A設(shè)置4種實(shí)驗(yàn)場景,如表4所示。場景1為協(xié)議封裝流量與常規(guī)加密流量識別,這是一個(gè)二分類問題;場景2是協(xié)議封裝流量分類,包含6類以VPN協(xié)議封裝的加密流量;場景3是常規(guī)加密流量分類,也是一個(gè)六分類問題;場景4是加密流量分類,包含場景2和場景3中所涉及的12種加密流量,是一個(gè)十二分類問題。
表4 基于數(shù)據(jù)集A 的實(shí)驗(yàn)場景設(shè)置Table 4 Experimental scenes setting based on dataset A
基于上述場景將MLBSRU-A 模型與4.2 節(jié)所述的4 種模型進(jìn)行對比,在實(shí)驗(yàn)過程中,將MLBSRU-A模型的超參數(shù)分別設(shè)置為:每條流中包含的字節(jié)數(shù)n=500;SRU 網(wǎng)絡(luò)堆疊層數(shù)M=2;學(xué)習(xí)率lr=0.001;訓(xùn)練輪次epoch=50。
圖6 所示為上述4 種實(shí)驗(yàn)場景下各模型的準(zhǔn)確率、精確率、召回率和F1 分?jǐn)?shù)。從圖6 可以看出,在場景1 中,所有模型均可以有效解決二分類問題,且各模型在VPN 數(shù)據(jù)集上的效果都優(yōu)于nonVPN 數(shù)據(jù)集,造成該現(xiàn)象的一個(gè)合理解釋是,不同應(yīng)用類型的流量在協(xié)議封裝后產(chǎn)生了不同的分布,如文獻(xiàn)[6]中所述,這些類型間的分布差異為深度學(xué)習(xí)模型提供了更多可以學(xué)習(xí)和提取的有效特征,從而更準(zhǔn)確地對加密流量進(jìn)行分類。在所有場景中,1D-CNN 模型的性能最差,這是因?yàn)槠浣Y(jié)構(gòu)過于簡單,無法提取足夠的特征來進(jìn)行分類,文獻(xiàn)[6]首次將深度學(xué)習(xí)用于加密流量分類領(lǐng)域,為該領(lǐng)域的后續(xù)研究工作提供了新的思路。
圖6 在4 種實(shí)驗(yàn)場景下各模型的分類性能Fig.6 Classification performance of each model under four experimental scenes
在場景2~場景4 中,本文MLBSRU-A 模型在所有指標(biāo)上都明顯優(yōu)于對比模型。在場景3 中,MLBSRU-A 模型的準(zhǔn)確率、精確率、召回率和F1 分?jǐn)?shù)分別達(dá)到99.33%、99.80%、99.75%和98.77%。值得注意的是,在更為復(fù)雜的十二分類場景中,MLBSRU-A 模型的準(zhǔn)確率依舊能達(dá)到99.08%,相比于BLSTMA 模型、BGRUA 模型、1D-CNN 模型及CNN+LSTM 模型分別提高了8.47%、4.34%、13.73%和10.17%。此外,在該場景中,本文模型的精確率、召回率和F1 分?jǐn)?shù)分別為98.8%、98.4%、98.6%,相比于其他對比模型有明顯提升,這可能是因?yàn)橄噍^于傳統(tǒng)的RNN 網(wǎng)絡(luò),MLBSRU-A 模型通過門控機(jī)制及SRU 模塊中使用的跳躍連接有效地緩解了梯度消失問題,同時(shí)通過多層SRU 網(wǎng)絡(luò)堆疊有效且全面地提取加密流量的高階特征,然后利用注意力機(jī)制為重要的特征賦予更大的權(quán)重,從而提高了模型的整體分類性能。
為了更直觀地體現(xiàn)各場景下MLBSRU-A 模型對流量分類的準(zhǔn)確率,圖7 展示出4 個(gè)實(shí)驗(yàn)場景下模型的混淆矩陣。從混淆矩陣熱力圖可以看出,MLBSRU-A模型可以實(shí)現(xiàn)精準(zhǔn)無誤的二分類,在場景3中針對VPN數(shù)據(jù)集的六分類準(zhǔn)確率略高于場景2 中針對nonVPN數(shù)據(jù)集的六分類準(zhǔn)確率,這是因?yàn)樵趎onVPN 數(shù)據(jù)集中,模型在Email和Chat流量之間發(fā)生了混淆,即有4%的Chat 流量被錯(cuò)誤地識別為Email,而在VPN 數(shù)據(jù)集中流量之間的混淆程度很低,這也可以解釋各模型在VPN 數(shù)據(jù)集上的分類效果都優(yōu)于nonVPN 數(shù)據(jù)集這一現(xiàn)象??傮w而言,無論是簡單還是復(fù)雜的場景,本文MLBSRU-A 模型的性能均優(yōu)于其他模型,其在實(shí)現(xiàn)最佳分類效果的同時(shí)也具有一定的魯棒性。
圖7 不同場景下MLBSRU-A 模型的混淆矩陣Fig.7 Confusion matrix of MLBSRU-A model under different scenes
4.4.3 不同模型的效率對比與分析
本文從訓(xùn)練時(shí)間和測試時(shí)間2 個(gè)方面來評估模型的時(shí)間開銷。訓(xùn)練時(shí)間即模型基于訓(xùn)練集進(jìn)行訓(xùn)練的時(shí)間,其與迭代次數(shù)、模型規(guī)模以及實(shí)驗(yàn)硬件環(huán)境有關(guān)。測試時(shí)間是指用測試集對訓(xùn)練好的模型進(jìn)行測試的時(shí)長,其與測試集大小、模型規(guī)模以及實(shí)驗(yàn)硬件環(huán)境有關(guān)。表5 所示為各模型在場景4 中完成50 個(gè)epoch 所需的訓(xùn)練時(shí)間、基于同一測試集的測試時(shí)間以及模型達(dá)到收斂狀態(tài)所用的時(shí)長。從表5 可以看出,本文MLBSRU-A 模型基于數(shù)據(jù)集A 完成50 個(gè)epoch 所需的訓(xùn)練時(shí)間為492.29 s,是BLSTMA模型的65.64%、BGRUA 模型的71.62%、CNN+LSTM模型的18.83%,與結(jié)構(gòu)最簡單的1D-CNN 模型所用時(shí)間幾乎相同,但其準(zhǔn)確率比1D-CNN 模型提升13.73%。從模型的收斂時(shí)長來看,MLBSRU-A 模型收斂速度最快,所用時(shí)長僅為BLSTMA 模型的38.69%、BGRUA 模型的44.62%、1D-CNN 模型的67.24%、CNN+LSTM 模型的9.28%。相較BLSTMA、BGRUA 等模型,MLBSRU-A 模型具有較快的收斂和測試速度,原因是其采用的SRU 模塊將矩陣乘積替換為Hadamard 乘積,能夠?qū)崿F(xiàn)維度上的并行化計(jì)算。此外,SRU 模塊中采用類似于殘差鏈接的跳躍鏈接,能夠有效緩解梯度消失問題,同時(shí)相較CNN模型其可訓(xùn)練參數(shù)較少,因此,MLBSRU-A 模型在保證分類準(zhǔn)確率的同時(shí)具有更高的運(yùn)行效率。
表5 不同模型的運(yùn)行效率對比Table 5 Operation efficiency comparison of different models單位:s
4.4.4 MLBSRU-A 的加密惡意流量檢測性能分析
為了驗(yàn)證MLBSRU-A 模型在加密惡意流量檢測與分類任務(wù)中的有效性,本文基于數(shù)據(jù)集B 進(jìn)行實(shí)驗(yàn)。如4.1 節(jié)所述,數(shù)據(jù)集B 中包含10 類正常流量和10 類惡意流量,本文基于該數(shù)據(jù)集設(shè)置與4.4.2 節(jié)類似的實(shí)驗(yàn)場景,詳情如表6 所示:場景1 為已知的加密惡意流量檢測,即測試集和訓(xùn)練集中的惡意流量均包含全部的10 類加密惡意流量,是一個(gè)二分類問題;場景2 與場景1 的區(qū)別在于其測試集中的部分惡意流量沒有經(jīng)過訓(xùn)練,對模型來說是未知的,即訓(xùn)練集中只有5 類加密惡意流量,而測試集中包含所有類別,這一場景旨在測試模型對未知加密惡意流量的敏感性,詳細(xì)設(shè)置如表7 所示;場景3 為10 類正常流量分類;場景4 為10 類惡意流量分類;場景5 是對全部流量進(jìn)行二十分類。
表6 基于數(shù)據(jù)集B 的實(shí)驗(yàn)場景設(shè)置Table 6 Experimental scenes setting based on dataset B
表7 實(shí)驗(yàn)場景2 中數(shù)據(jù)集的具體設(shè)置Table 7 Specific setting of the dataset in experiment scene 2
表8 所示為MLBSRU-A 模型在各實(shí)驗(yàn)場景下的準(zhǔn)確率、精確率、召回率和F1 分?jǐn)?shù)。從中可以看出,MLBSRU-A 模型在5 個(gè)不同的實(shí)驗(yàn)場景下均達(dá)到了較高的分類性能,尤其是在已知加密惡意流量檢測場景下,各指標(biāo)均達(dá)到了100%。值得注意的是,在場景2 中,MLBSRU-A 模型展現(xiàn)出了對未知加密惡意流量的高度敏感性,能夠準(zhǔn)確識別訓(xùn)練集中沒有出現(xiàn)過的加密惡意流量,準(zhǔn)確率達(dá)到99.50%。此外,在最復(fù)雜的二十分類場景(即場景5)中,MLBSRUA 模型依舊表現(xiàn)突出,平均準(zhǔn)確率達(dá)到99.38%,精確率、召回率和F1 分?jǐn)?shù)分別達(dá)到99.43%、99.24% 及99.33%。因此,本文MLBSRU-A 模型不僅可以實(shí)現(xiàn)高效的加密流量應(yīng)用類型分類,而且具有對未知加密惡意流量的高精度檢測能力以及對加密惡意流量的細(xì)粒度分類能力。
表8 MLBSRU-A 模型的加密惡意流量檢測結(jié)果Table 8 Encrypted malicious traffic detection results of MLBSRU-A model %
本文提出一種基于MLBSRU-A 模型的加密流量分類方法,利用具有高度并行化序列建模能力的SRU 網(wǎng)絡(luò)對加密流量進(jìn)行高效特征提取,通過注意力機(jī)制進(jìn)一步提高模型的分類精度。實(shí)驗(yàn)結(jié)果表明,MLBSRU-A 模型的準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)相比BLSTMA、BGRUA 等模型均有明顯提升,其在保證分類準(zhǔn)確率的同時(shí)具有更高的運(yùn)行效率,并且能夠適用于不同復(fù)雜度的場景,具有一定的魯棒性。此外,本文方法不僅可以實(shí)現(xiàn)高效的加密流量應(yīng)用類型分類,而且具有對未知加密惡意流量的高精度檢測能力以及對加密惡意流量的細(xì)粒度分類能力。但是,目前該方法只在實(shí)驗(yàn)室環(huán)境下進(jìn)行了測試,下一步將在實(shí)際網(wǎng)絡(luò)環(huán)境中對本文方法進(jìn)行部署,以驗(yàn)證其對真實(shí)流量的檢測和分類性能。