蔣彤彤,尹魏昕,蔡 冰,張 琨
(1.南京理工大學計算機科學與工程學院,南京210094;2.國家計算機網(wǎng)絡(luò)與信息安全管理中心江蘇分中心網(wǎng)絡(luò)安全處,南京210019;3.國家計算機網(wǎng)絡(luò)與信息安全管理中心江蘇分中心技術(shù)保障處,南京210019)
近年來,信息安全問題日益成為國家、企業(yè)和個人所關(guān)注的熱點,公眾對個人隱私信息保護意識的提高促進了信息加密技術(shù)的發(fā)展,從2019年起互聯(lián)網(wǎng)中HTTPS 加密流量占比已超過HTTP 流量。TLS、IPSec、SSH 等流量加密和認證技術(shù)一方面加強了信息通信的保密性和可靠性,另一方面越來越多的攻擊者通過加密信道和流量加密技術(shù)隱藏自己的惡意行為[1],規(guī)避防火墻的檢測,給網(wǎng)絡(luò)安全監(jiān)測帶來了巨大考驗。例如,木馬、廣告軟件、勒索軟件等惡意軟件通過與命令和控制服務(wù)器之間的通信,即C&C 通信方式來接收與執(zhí)行命令進行惡意活動。在傳統(tǒng)情況下根據(jù)明文流量模式,C&C 服務(wù)器的域名、URL 等威脅情報信息可以被直接檢測并及時制止[2],然而流量加密技術(shù)使得這些信息難以被正確解析提取,且解密將消耗大量計算資源。文獻[3]指出,截至2020年,超過六成的企業(yè)將無法直接解密HTTPS 來識別隱藏在流量中的惡意軟件。為避開解密并精確識別惡意加密軟件流量,本文以HTTPS 加密協(xié)議流量為研究對象,利用網(wǎng)絡(luò)流量的“網(wǎng)絡(luò)流-數(shù)據(jù)包-字節(jié)”分層結(jié)構(gòu)特征和動態(tài)時序性,提出一種基于層次時空特征與多頭注意力(Hierarchical Spatiotemporal feature and Multi-Head Self-Attention,HST-MHSA)模型的惡意加密流量識別方法,并基于公開數(shù)據(jù)集CICAndMal2017 驗證HST-MHSA 模型的有效性。
目前,越來越多的惡意軟件使用TLS 協(xié)議通過C&C 通道加密交換數(shù)據(jù),傳統(tǒng)基于端口或者DPI 的方法不再適用于識別此類威脅,因為流量加密時所有上層信息為不可見,加密技術(shù)改變了原本明文流量規(guī)則和可解析模式與特征。然而,加密技術(shù)的濫用對網(wǎng)絡(luò)管理和安全帶來了新的挑戰(zhàn),學術(shù)界和工業(yè)界將研究重點轉(zhuǎn)移到基于機器學習的惡意加密流量監(jiān)測研究方式上并取得了一些研究成果[4]。ANDERSON 等[5]經(jīng)過深入分析提取流量元數(shù)據(jù)和TLS 頭部大量特征進行惡意軟件分類。LIU 等[6]提取了流行為、TLS 明文信息、證書這3 個維度的特征,結(jié)合在線隨機森林模型實時區(qū)分惡意加密流量。YU 等[7]提取TLS 握手與驗證階段的特征,并引入層次聚類方法壓縮數(shù)據(jù)運算,加快系統(tǒng)檢測效率。BAZUHAIR 等[8]采用平均不純度減少算法篩選出24 個流量特征,并加入柏林噪聲增強特征圖像,加強卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)模型的泛化能力。胡斌等[9]提出一種不依賴五元組信息的加密惡意流量檢測方法,聯(lián)合報文負載特征和流指紋特征來提高復雜環(huán)境下加密惡意流量的檢測率。然而,這些方法多數(shù)依賴專家知識,將重點放在優(yōu)化特征工程方面,需要花費大量的人力、時間等資源,且所提取的特征通常普適性較差。
深度學習技術(shù)作為一種端到端的學習框架,近年來在圖像識別、自然語言處理等領(lǐng)域得到廣泛應(yīng)用,而流量識別領(lǐng)域的研究人員也開始基于深度學習模型自動提取流量特征。WANG 等[10]將流量轉(zhuǎn)換為灰度圖,并使用二維CNN 提取流量空間特征,但該方法僅利用了整條流量的前784 個字節(jié),未充分結(jié)合流量的其他信息且缺乏對IP 地址的匿名化處理。王攀等[11]通過堆棧式自動編碼器提取流量特征進行加密流量識別。程華等[12]將流量負載通過Word2vec 模型轉(zhuǎn)換為句子向量,并利用CNN 實現(xiàn)惡意加密C&C流量識別。此外,ILIYASU 等[13]和GUO 等[14]利用半監(jiān)督和無監(jiān)督方法有效解決標簽樣本量不足時加密流量的識別問題。
為了避免繁瑣的特征工程并且更好地表征加密流量的深層特性,本文在已有研究的基礎(chǔ)上,結(jié)合CNN、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和多頭注意力機制[15]進一步挖掘流量分層的關(guān)鍵時空特征,從而更準確地識別惡意加密流量。
本文提出的惡意加密流量識別方法主要包括流量預處理、網(wǎng)絡(luò)流量分層表征、流量分類檢測這3 個階段,各階段主要操作如下:
1)預處理階段。篩選存在噪音的原始流量,轉(zhuǎn)化為網(wǎng)絡(luò)流量字節(jié),并以十進制形式表示。
2)網(wǎng)絡(luò)流量分層表征階段。首先,在數(shù)據(jù)包層,利用詞嵌入(Embedding)技術(shù)將字節(jié)轉(zhuǎn)換為稠密向量表示并將其作為流量原始信息,同時利用雙向長短時記憶(Bidirectional Long Short-Term Memory,BiLSTM)網(wǎng)絡(luò)提取流量前后的依賴信息,并將兩者相融合以增強流量表征。然后,使用多尺寸卷積核的并行CNN 模型提取多視野的局部信息,整合得到數(shù)據(jù)包內(nèi)部時空關(guān)聯(lián)特征。接著,在流量會話層通過BiLSTM 捕捉多數(shù)據(jù)包之間的時序關(guān)系,并基于多頭注意力機制改進重要數(shù)據(jù)包特征的提取能力,減輕噪音特征的影響。
3)流量分類檢測。通過Softmax 分類器實現(xiàn)惡意加密流量識別。
HST-MHSA 模型總體框架如圖1所示。
圖1 HST-MHSA 模型總體框架Fig.1 Overall framework of HST-MHSA model
數(shù)據(jù)包是網(wǎng)絡(luò)流的基本傳輸單元,每個數(shù)據(jù)包由具有固定格式的數(shù)據(jù)包頭部字節(jié)和有效荷載字節(jié)組成,因此網(wǎng)絡(luò)流具有“網(wǎng)絡(luò)流-數(shù)據(jù)包-字節(jié)”的分層結(jié)構(gòu)。相比單向流,由通信雙方數(shù)據(jù)包組成的會話流含有更多交互信息[10],因此本文選擇會話作為流量分類粒度,會話表示如式(1)所示:
其中:pi為按時間ti排序的數(shù)據(jù)包;b為源S 和目的端D 可互換的五元組信息;為會話中各數(shù)據(jù)包的長度和;t為首數(shù)據(jù)包的開始時間;d=tn-t為會話持續(xù)時間。因此,原始流量可表示為F={Session1,Session2,…,Sessionm},m為會話流總數(shù)。
預處理階段完成從原始網(wǎng)絡(luò)流量pcap 文件向適合深度學習處理的字節(jié)序列csv 文件的轉(zhuǎn)換,主要流程如圖2所示。首先,根據(jù)式(1)進行原始網(wǎng)絡(luò)流量切割,重組為多個會話流文件;接著,刪除空流和重復文件,過濾非HTTPS 的流量以及數(shù)據(jù)包數(shù)目小于3 的無效會話;然后,去除MAC 地址、IP 地址等對分類結(jié)果產(chǎn)生干擾的特定信息;最后,根據(jù)網(wǎng)絡(luò)流量傳輸?shù)淖止?jié)范圍為[0,255]的特點,提取每條會話中前N個數(shù)據(jù)包的前M個字節(jié),若超出長度則截斷,否則補充256 并標記該會話。
圖2 流量預處理流程Fig.2 Procedure of traffic preprocessing
經(jīng)過預處理后,每條會話表示為N×M個字節(jié)的一維形式。文獻[16]采用One-hot 編碼將每個數(shù)據(jù)包轉(zhuǎn)換為二維圖像,但生成的數(shù)據(jù)過于稀疏而導致模型訓練速率低下。本文采用Embedding 方式,將每個數(shù)據(jù)包由M×1 的一維序列,轉(zhuǎn)換為M×J的二維稠密向量,其中第i個字節(jié)表示為一維向量則M個字節(jié)表示為a1:M=a1⊕a2⊕…⊕aM,作為數(shù)據(jù)包原始信息編碼。
數(shù)據(jù)包內(nèi)部字節(jié)具有前后關(guān)聯(lián)性,類似于句子中詞語之間的關(guān)系,RNN 擅長捕獲句子上下文特征,雙向RNN 可以從前后兩個方向捕捉前后順序聯(lián)系,避免后文信息的丟失。本文選用雙向LSTM 挖掘數(shù)據(jù)包內(nèi)部前后依賴信息,LSTM 基于RNN 引入選擇性機制,可以避免RNN 梯度消失問題。在時間步t上基于3 種門結(jié)構(gòu)完成對前一步的輸出ht-1和當前輸入xt的計算,分別為輸入門it決定需要被保留的新輸入信息,經(jīng)過tanh 層的計算得出一個新的候選值?,進一步得到細胞狀態(tài)Ct,遺忘門ft決定是否保留數(shù)據(jù),輸出門ot決定輸出的信息ht。更新當前隱藏狀態(tài)需要將當前細胞狀態(tài)向量Ct中每個元素經(jīng)過tanh 函數(shù)并與輸出門ot的值進行元素層面的乘積,具體計算如式(2)~式(7)所示:
通過將Embedding 處理后的數(shù)據(jù)包字節(jié)向量輸入雙向LSTM 層提取數(shù)據(jù)包內(nèi)部全局依賴關(guān)系,作為數(shù)據(jù)包全局時序特征表示H=hforward⊕hbackward,與原始信息編碼a1:M拼接得到數(shù)據(jù)包的時序拓展信息E=[eij],以增強數(shù)據(jù)包內(nèi)部時序特征的表征能力。
利用TextCNN 模塊[17]進一步提取數(shù)據(jù)包內(nèi)部的局部空間特征。該模塊的核心是多通道卷積和池化操作,采用多種尺寸的一維卷積核提取多視野的空間特征,并且卷積操作可以并行進行,大幅加快了模型的訓練速度。通過第r個尺寸為d的卷積核對拓展數(shù)據(jù)包編碼E進行卷積操作,如式(8)所示:
其中:F為Relu 函數(shù);Wr和br分別為第r個卷積核和偏置;為卷積后的特征。本文選用的3 種卷積核尺寸分別為3、4、5,并對每個卷積操作后得到的特征圖進行最大池化操作(如式(9)所示),以簡化計算復雜度,抽取主要數(shù)據(jù)包的時空特征。
在合并多粒度局部特征后,為了減少參數(shù)規(guī)模,加快模型訓練速度,使用全局最大池化替代文獻[17]中的全連接層,最終輸出數(shù)據(jù)包的內(nèi)部時空特征向量。數(shù)據(jù)包層混合時空特征提取模型結(jié)構(gòu)如圖3所示。
圖3 數(shù)據(jù)包層混合時空特征提取模型結(jié)構(gòu)Fig.3 Structure of hybrid spatiotemporal feature extraction model for packet layer
網(wǎng)絡(luò)流量傳播過程中數(shù)據(jù)包具有明顯的先后順序關(guān)系,且前幾個TLS 握手階段的數(shù)據(jù)包對流量識別具有重要作用。因此,在經(jīng)過底層模型處理得到多個獨立數(shù)據(jù)包的時空特征向量后,使用BiLSTM層同時處理同一個會話中的N個數(shù)據(jù)包特征向量,捕獲不同數(shù)據(jù)包之間的時間序列關(guān)系。然而,LSTM在長距離傳播中損失較多信息且對特征重要度不敏感,因此采用多頭注意力機制改進會話層對數(shù)據(jù)包重要特征的提取過程。多頭注意力機制進行多次自注意力計算,自注意力是一般注意力的改進,利用查詢(Q)=鍵(K)=值(V)的特征能充分捕捉序列內(nèi)部數(shù)據(jù)的長距離依賴關(guān)系,并賦予不同屬性不同權(quán)重。本文采用縮放點積注意力機制,多頭注意力對Q、K、V使用不同的權(quán)重矩陣并行進行h次線性變換,得到不同的數(shù)據(jù)包向量注意力,最終合并輸出全局特征,可以高效學習到不同的表示子空間中的關(guān)鍵信息,具體計算如式(10)~式(12)所示:
其中:dk為K矩陣的維度;Softmax 函數(shù)將Q與K進行點積運算并歸一化的結(jié)果轉(zhuǎn)換為概率分布,與矩陣V相乘得到注意力權(quán)重求和結(jié)果。
圖4 為基于多頭注意力機制的會話層關(guān)鍵時序特征提取模型結(jié)構(gòu)。將多頭注意力層輸出的會話層全局特征經(jīng)過全局平均池化處理得到會話流時空特征向量,輸入到Softmax 分類器,進行惡意加密流量識別。
圖4 基于多頭注意力機制的會話層關(guān)鍵特征提取模型結(jié)構(gòu)Fig.4 Structure of key feature extraction model based on multi-head attention mechanism for session layer
本文提出的基于HST-MHSA 模型的惡意加密流量識別算法的具體步驟為:1)基于LSTM 和TextCNN 的數(shù)據(jù)包內(nèi)的時空特征提取;2)基于多頭注意力機制的會話層時序特征提?。?)Softmax 分類;4)模型訓練與驗證;5)模型測試與評估。
算法1基于HST-MHSA 模型的惡意加密流量識別算法
實驗環(huán)境根據(jù)流量預處理節(jié)點及模型構(gòu)建與訓練階段分別進行設(shè)置:1)在流量預處理階段,實驗運行在配置為Windows10 操作系統(tǒng)、Python2.7 環(huán)境的計算機上,利用開源Scapy 庫進行流量提?。?)在模型構(gòu)建與訓練過程中,實驗運行在配置為Windows10 操作系統(tǒng)、Python3.6 環(huán)境、CPU 為12 核i7-8700k、內(nèi)存為32 GB 的計算機上,采用GTX1080Ti顯卡加速,基于Tensorflow 2.1 完成模型的構(gòu)建以及訓練調(diào)優(yōu)。
HST-MHSA 模型的參數(shù)設(shè)置如下:在Embedding層中,嵌入維度為128;在BiLSTM 層中,隱藏神經(jīng)元個數(shù)為128,返回整個序列的輸出,激活函數(shù)為tanh;在CNN 層中,卷積核尺寸分別為3、4、5,卷積核個數(shù)為128,步長為1,激活函數(shù)為Relu;在最大池化層中,池化的窗口大小為2;在多頭注意力層中,并行頭數(shù)量為2;在Softmax 層中,隱藏神經(jīng)元個數(shù)分別為2和4;在EarlyStopping 層中,觀察值設(shè)為驗證集的loss 值,監(jiān)控的最小變化量為0.01,迭代次數(shù)為10。對比實驗采用同層同參數(shù)值。實驗使用早停機制動態(tài)控制訓練次數(shù),若連續(xù)迭代10 次后驗證集的loss值仍在上升則停止訓練,避免過擬合的同時提高魯棒性。通過十折交叉驗證防止實驗偶然性,采用交叉熵損失函數(shù)及Adam 優(yōu)化算法,平均訓練迭代次數(shù)為15,批大小為50,訓練集、驗證集和測試集的比例分別設(shè)置為8∶1∶1。
CICAndMal2017 數(shù)據(jù)集[18]是由加拿大網(wǎng)絡(luò)安全研究所整理的數(shù)據(jù)集,收集了運行于智能手機上的惡意和良性應(yīng)用程序的真實流量,格式為pcap。本文選取其中C&C 通信的3 種惡意應(yīng)用流量以及com.asiandate、com.askfm、com.asos.app 等多種正常應(yīng)用流量(統(tǒng)稱為Benign),具體數(shù)據(jù)情況如表1所示。
表1 數(shù)據(jù)集選取情況Table 1 Dataset selection
經(jīng)過數(shù)據(jù)分析發(fā)現(xiàn),超過50%的會話流所含數(shù)據(jù)包數(shù)量(N)不超過21,數(shù)據(jù)包平均長度約為300 Byte,最小長度約為40 Byte,為縮減計算規(guī)模并保留流量頭部關(guān)鍵信息,本文選取數(shù)據(jù)包數(shù)量為21,每個數(shù)據(jù)包長度(M)為100 Byte。
為從多方面評價本文HST-MHSA 模型對惡意加密流量的分類效果,選取F1 值(F)、漏報率(Missed Alarm Rate,MAR)和誤報率(False Alarm Rate,F(xiàn)AR)這3 個評價指標,計算過程中涉及精確率(P)和召回率(R)指標,具體計算公式如式(13)~式(17)所示:
其中,TTP表示正確預測為c 類的c 類加密流數(shù)量,TTN表示正確預測為非c 的非c 類加密流數(shù)量,F(xiàn)FP表示錯誤預測為c 類的非c 類加密流數(shù)量,F(xiàn)FN為錯誤預測為非c 類的c 類加密流數(shù)量。在二分類實驗中,c 類指惡意類別,F(xiàn)1 值取加權(quán)平均值。
3.4.1 并行頭數(shù)量確定實驗與結(jié)果分析
在多頭注意力層,超參數(shù)并行頭數(shù)量會影響不同特征的關(guān)注度,合適的并行頭數(shù)量能更準確地提取數(shù)據(jù)包關(guān)鍵時空特征,過多或過少并行頭數(shù)量均有可能造成有效特征的缺失或被干擾,從而影響模型分類效果。本文設(shè)置并行頭數(shù)量分別為1、2、4 和8,實驗結(jié)果如圖5所示??梢钥闯?,當并行頭數(shù)量為2 時的分類結(jié)果F1 值和漏報率均優(yōu)于其他并行頭數(shù)目,誤報率也較低。當并行頭數(shù)量為1,即單頭自注意力時,HST-MHSA 模型對多維特征信息的挖掘能力差于多頭注意力,但并行頭數(shù)量過多可能會造成噪聲信息的增加,反而不利于關(guān)鍵特征的提取。
圖5 并行頭數(shù)量對模型分類效果的影響Fig.5 The influence of the number of parallel heads on the effect of model classification
3.4.2 變體模型對比實驗與結(jié)果分析
為評估HST-MHSA 模型關(guān)鍵模塊的有效性,設(shè)計以下3 種變體模型,模型各層參數(shù)設(shè)置一致:
1)HST-MHSA_neLSTM:基于HST-MHSA 模型,去除了嵌入層和TextCNN 層之間的用于提取數(shù)據(jù)包內(nèi)部前后依賴關(guān)系的BiLSTM 層。
2)HST-MH:基于HST-MHSA 模型,去除了多頭注意力層。
3)HST-MHSA_GRU:基于HST-MHSA 模型,將兩層LSTM 均替換為RNN 門控循環(huán)單元(Gated Recurrent Unit,GRU)。GRU 是LSTM 的變體,將LSTM 的遺忘門和輸入門合并為更新門。
表2 給出了HST-MHSA 模型與變體模型的對比實驗結(jié)果??梢钥闯觯篐ST-MHSA_neLSTM 模型在數(shù)據(jù)包層缺少了對數(shù)據(jù)包內(nèi)字節(jié)的全局時序特征的提取,底層特征表示向量誤差較大,因此識別性能最差;HST-MHSA 模型在HST-MH 模型的基礎(chǔ)上引入了多頭注意力機制,可以捕捉到會話層更豐富且更關(guān)鍵的時序特征,因此識別性能更佳。
表2 變體模型對比實驗結(jié)果Table 2 Experimental results of variant models
HST-MHSA_GRU 模型與HST-MHSA 模型的分類效果較佳,說明本文層次時空特征提取與分類模型的總體結(jié)構(gòu)設(shè)計合理,盡管前者比后者簡化了模型復雜度,但后者在漏報率、誤報率和F1 值上均達到了最優(yōu),可見GRU 對加密流量的時序特征提取能力略遜于LSTM。當檢測10 000 條加密流量時,HST-MHSA_GRU 模型比HST-MHSA 模型少識別3 500 條惡意加密流量,因此本文選擇LSTM 作為流量時序特征提取網(wǎng)絡(luò)。
3.4.3 識別模型性能對比實驗與結(jié)果分析
為了進一步驗證HST-MHSA 模型的有效性,本文基于3 種已有基準模型(H-BiLSTM、HABBiLSTM和HAST-Ⅱ)和3 種簡化模型(1D-CNN、BiLSTM 和TextCNN)進行對比實驗,實驗結(jié)果如表3所示,其中:1D-CNN 模型[19]將流量前(N×M)個字節(jié)的一維序列同時輸入串聯(lián)的兩層卷積層,提取局部空間特征;BiLSTM 模型將流量前(N×M)個字節(jié)整體經(jīng)過嵌入層處理后,利用一層BiLSTM 提取會話流全局時序特征;TextCNN 使用3 種尺寸的卷積核提取前(N×M)個字節(jié)的會話流多視角空間特征;H-BiLSTM模型在數(shù)據(jù)包層和會話層均采用BiLSTM 提取時序特征;HABBiLSTM 模型[20]在H-BiLSTM 模型的基礎(chǔ)上引入分層注意力機制,分別計算兩層重要時序特征;HAST-Ⅱ模型[16]首先在數(shù)據(jù)包層將字節(jié)數(shù)據(jù)獨熱編碼,利用卷積層提取空間特征,再在會話層采用雙向LSTM 提取時序特征完成分類。
表3 7 種模型的識別性能對比實驗結(jié)果Table 3 Experimental results of comparison among recognition performance of seven models %
由表3 可以看出,HST-MHSA 模型漏報率最低,相比HAST-Ⅱ和HABBiLSTM 模型分別降低了3.19和2.18 個百分點,F(xiàn)1 值達到93.49%,在所有模型中總體分類性能最好,比1D-CNN 模型和HAST-Ⅱ模型分別提高了16.77 和1.20 個百分點,而誤報率僅次于HAST-Ⅱ模型,比后者高了0.85 個百分點,說明HSTMHSA 模型在數(shù)據(jù)包層的BiLSTM 和會話層的多頭注意力機制的作用下提高了對于惡意加密流量的關(guān)注度和識別能力。通過進一步分析得出以下結(jié)論:
1)前3 種模型將流量字節(jié)視為整體處理,分類效果不佳,而后4種模型將流量分層處理,F(xiàn)1值均高于90%,說明分層網(wǎng)絡(luò)模型充分利用了流量所具有的“網(wǎng)絡(luò)流-數(shù)據(jù)包-字節(jié)”的結(jié)構(gòu)特征,更有利于流量分類。
2)HAST-Ⅱ和HST-MHSA 模型混合使用CNN 和LSTM 共同挖掘流量的時空特征,相比其他單獨使用LSTM 或CNN 的模型表現(xiàn)更好。
3)HABBiLSTM 和HST-MHSA 均引入了注意力機制,因此相比無注意力層的簡化模型能獲得更重要的流量特征信息,而多頭注意力相比普通注意力能夠捕獲更多維的關(guān)鍵特征。
表4 給出了各模型的參數(shù)量及訓練情況,可以看出HST-MHSA 模型較復雜,訓練時間較長,但是特征提取能力強,可以較快達到擬合狀態(tài),僅需訓練15 次即可停止訓練。為更直觀地看出模型訓練情況,圖6 給出了各模型前15 次訓練的驗證集準確率變化情況,可以看出HAST-Ⅱ和HST-MHSA 模型的初始驗證集準確率高,擬合能力強,隨著訓練次數(shù)的增加,后者達到最高的準確率。
表4 各模型參數(shù)量及訓練情況Table 4 The number of parameters and training situation of each model
圖6 7 種模型前15 次訓練過程中驗證集的準確率變化情況Fig.6 Changes of the accuracy of the verification set during the first fifteen training sessions of seven models
HABBiLSTM、HAST-Ⅱ、HST-MHSA 這3 種分層模型進行加密流量四分類實驗時,對各類加密流量識別的F1 值,如圖7所示。HST-MHSA 模型總體識別效果最好,尤其是對數(shù)量最少的AndroidSpy.277流量識別的F1 值比HAST-Ⅱ模型高出2.05 個百分點,說明HST-MHSA 模型提高了對少數(shù)惡意加密流量的特征提取與識別能力。
圖7 3 種模型的四分類實驗結(jié)果Fig.7 Results of four classification experiment of three models
本文提出一種基于層次時空特征與多頭注意力模型的惡意加密流量識別方法。在數(shù)據(jù)包層引入雙向LSTM 通過層,通過融合多通道CNN 加強對流量底層時空特征的表征能力,并利用多頭注意力機制改進雙向LSTM 在會話層對多維度高判別性會話特征的提取能力。實驗結(jié)果表明,該方法在F1 值、漏報率和誤報率方面相比其他方法均有明顯的性能提升,并且在一定程度上提高了對少數(shù)惡意加密流量的識別率,有效加強了惡意加密流量的識別效果。但本文僅從算法層面對不平衡數(shù)據(jù)分類效果進行改進,因此后續(xù)將考慮從數(shù)據(jù)層面出發(fā),使用GAN 生成少數(shù)樣本處理不平衡數(shù)據(jù)分類問題,并結(jié)合深度學習和集成學習技術(shù)實現(xiàn)大數(shù)據(jù)平臺下的加密流量精細化分類。