蘇攀西,石元兵,明 爽,張運(yùn)理,籍 帥
(1.中電科網(wǎng)絡(luò)安全科技股份有限公司,四川 成都 610095;2.可信云計(jì)算與大數(shù)據(jù)四川省重點(diǎn)實(shí)驗(yàn)室,四川 成都 610095)
2023 年6 月我國(guó)網(wǎng)民數(shù)量已達(dá)10.79 億人,較2022 年12 月增長(zhǎng)1 109 萬(wàn)人[1],但隨著互聯(lián)網(wǎng)的飛速普及,網(wǎng)絡(luò)安全問(wèn)題也日益嚴(yán)重。為了更好地保護(hù)個(gè)人隱私和數(shù)據(jù)不被竊取和篡改,已有大量的網(wǎng)絡(luò)應(yīng)用使用網(wǎng)絡(luò)加密協(xié)議對(duì)流量進(jìn)行加密處理?!痘ヂ?lián)網(wǎng)研究趨勢(shì)報(bào)告》[2]顯示互聯(lián)網(wǎng)的加密流量比例已經(jīng)近九成,主要采用TLS1.2 加密協(xié)議。網(wǎng)絡(luò)流量加密技術(shù)的普及也帶動(dòng)惡意流量進(jìn)入了加密時(shí)代,惡意流量可以通過(guò)加密技術(shù)隱藏自己的明文特征,以此降低惡意行為暴露的風(fēng)險(xiǎn)。Zscaler 威脅研究報(bào)告[3]顯示,在2020 年,對(duì)金融、醫(yī)療及制造業(yè)等五大行業(yè)的網(wǎng)絡(luò)攻擊中,基于安全套接層(Secure Socket Layer,SSL)加密的網(wǎng)絡(luò)攻擊占總數(shù)的17.95%,相比三個(gè)季度前增加了近260%,惡意加密流量的快速增長(zhǎng),使得對(duì)其的安全檢測(cè)能力的需求日益增加。
在網(wǎng)絡(luò)加密流量中,由于使用了加密協(xié)議,其報(bào)文載荷中的內(nèi)容從明文變成了密文,無(wú)法提取其相關(guān)字段進(jìn)行檢測(cè),使得基于深度包檢測(cè)[4](Deep Packet Inspection,DPI)的方法都無(wú)法有效識(shí)別惡意加密流量?;诹髁拷y(tǒng)計(jì)特征的機(jī)器學(xué)習(xí)方法可以解決密文無(wú)法解密的問(wèn)題,此方法通過(guò)統(tǒng)計(jì)流量中未加密的特征(如流持續(xù)時(shí)間、協(xié)議字段數(shù)量等)進(jìn)行惡意加密流量識(shí)別,但是針對(duì)不同識(shí)別場(chǎng)景需要人工設(shè)計(jì)不同的統(tǒng)計(jì)特征,非常依賴專家經(jīng)驗(yàn),且特征的好壞直接影響識(shí)別效果。深度學(xué)習(xí)利用復(fù)雜、多層的神經(jīng)網(wǎng)絡(luò),能夠自動(dòng)提取數(shù)據(jù)的抽象特征,無(wú)須進(jìn)行人工設(shè)計(jì)的特征工程廣泛應(yīng)用在圖像、語(yǔ)音等特征復(fù)雜的數(shù)據(jù)識(shí)別場(chǎng)景中。
為了更好地識(shí)別惡意加密流量,本文分別使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和門控循環(huán)單元(Gated Recurrent Unit,GRU)提取流量的空間和時(shí)序特征,并在GRU 上使用多頭注意力機(jī)制[5](Multi-head Attention),提出一種基于時(shí)空特征融合的惡意加密流量識(shí)別模型CNN-MHGRU。最后,在公開(kāi)數(shù)據(jù)集上進(jìn)行模型訓(xùn)練,并通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證其有效性。
目前對(duì)于惡意加密流量的識(shí)別方法主要分為基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)兩種,這兩種方法都屬于人工智能技術(shù)的子類。
機(jī)器學(xué)習(xí)需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練,適用的場(chǎng)景范圍比較廣,一般在訓(xùn)練之前需要先進(jìn)行特征工程,選擇適合應(yīng)用場(chǎng)景的數(shù)據(jù)特征。對(duì)于惡意加密流量的識(shí)別,需要在原始流量中提取可以區(qū)別正常流量和惡意加密流量的特征,如果需要進(jìn)行多分類,則需要提取可以區(qū)別各類惡意加密流量的特征。Shah[6]使用Bro 開(kāi)源流量分析軟件提取加密證書特征和流連接特征,提出了一種基于XGBoost 的惡意加密流量檢測(cè)模型。Liu 等人[7]通過(guò)提取每條流前8 個(gè)數(shù)據(jù)包的行為統(tǒng)計(jì)特征、協(xié)議特征和加密證書特征,實(shí)現(xiàn)了一種基于隨機(jī)森林的在線實(shí)時(shí)惡意加密流量檢測(cè)器。胡斌等人[8]結(jié)合報(bào)文負(fù)載特征和流指紋特征構(gòu)建數(shù)據(jù)集,提高了邏輯回歸模型在復(fù)雜網(wǎng)絡(luò)環(huán)境下對(duì)惡意加密流量的識(shí)別效果。
深度學(xué)習(xí)通常需要比機(jī)器學(xué)習(xí)更多的數(shù)據(jù)進(jìn)行更長(zhǎng)時(shí)間的模型訓(xùn)練,因?yàn)閺脑紨?shù)據(jù)進(jìn)行表征學(xué)習(xí)需要更多的函數(shù)進(jìn)行擬合,并且深度學(xué)習(xí)適用的范圍較機(jī)器學(xué)習(xí)而言更小,更適合復(fù)雜抽象、自然生成的數(shù)據(jù)場(chǎng)景,比如圖像(人臉識(shí)別、醫(yī)學(xué)影像分析等)、語(yǔ)言(語(yǔ)音識(shí)別、語(yǔ)言翻譯等)。Wang等人[9]首次在惡意加密流量識(shí)別方向提出將原始流量映射到灰度圖,利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)灰度圖進(jìn)行特征提取,從而進(jìn)行惡意加密流量識(shí)別。鄒源等人[10]利用流的前50 個(gè)數(shù)據(jù)包的原始數(shù)據(jù)對(duì)長(zhǎng)短時(shí)記憶(Long Short Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,對(duì)惡意加密流量的分類效果優(yōu)于傳統(tǒng)人工提取特征的機(jī)器學(xué)習(xí)算法。吳迪等人[11]提出了一種同時(shí)考慮時(shí)空特征的深度學(xué)習(xí)模型BotCatcher,使用CNN 和LSTM 對(duì)原始流量數(shù)據(jù)映射的灰度圖進(jìn)行時(shí)空特征提取,在對(duì)僵尸網(wǎng)絡(luò)流量的二分類實(shí)驗(yàn)上效果良好。李小劍等人[12]基于切片循環(huán)神經(jīng)網(wǎng)絡(luò)建立了SIndRNN 網(wǎng)絡(luò)模型,提出了一種基于CNNSIndRNN 的惡意加密流量快速識(shí)別方法,使用并行結(jié)構(gòu)的SIndRNN 代替?zhèn)鹘y(tǒng)串行結(jié)構(gòu)的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),訓(xùn)練和檢測(cè)用時(shí)大幅降低。
本文使用CNN 和雙向GRU 對(duì)原始流量數(shù)據(jù)進(jìn)行特征提取,不需要人工提取數(shù)據(jù)特征,利用深度學(xué)習(xí)的特征自動(dòng)提取特性。同時(shí),在GRU 上加入多頭注意力機(jī)制,能夠更好地捕獲長(zhǎng)序列數(shù)據(jù)的特征,減少長(zhǎng)距離傳播中的信息損失。綜上,本文在已有研究的基礎(chǔ)上,使用CNN、GRU 及多頭注意力機(jī)制更好地挖掘數(shù)據(jù)中的時(shí)空特征,提出了CNN-MHGRU 模型,通過(guò)模型對(duì)比實(shí)驗(yàn),驗(yàn)證了對(duì)惡意加密流量的識(shí)別能力。
本文提出的惡意加密流量識(shí)別方法主要包括數(shù)據(jù)預(yù)處理、深度學(xué)習(xí)模型訓(xùn)練及特征分類識(shí)別這3個(gè)部分,各部分的主要工作如下文所述。
(1)數(shù)據(jù)預(yù)處理部分:將數(shù)據(jù)集中的原始流量PCAP 文件進(jìn)行會(huì)話分割、過(guò)濾無(wú)效流、地址匿名化、大小標(biāo)準(zhǔn)化和灰度圖映射操作,形成會(huì)話到灰度圖一對(duì)一的映射關(guān)系。
(2)深度學(xué)習(xí)部分:選用CNN 進(jìn)行灰度圖的空間特征提取,用帶有多頭注意力機(jī)制的GRU 進(jìn)行時(shí)序特征提取,最后將兩者得到的抽象數(shù)據(jù)進(jìn)行特征融合,送入全連接神經(jīng)網(wǎng)絡(luò)得到固定大小的時(shí)空特征。
(3)特征分類部分:使用softmax 分類器對(duì)全連接層輸出的特征進(jìn)行流量分類。
惡意加密流量識(shí)別方法結(jié)構(gòu)如圖1 所示。
圖1 惡意加密流量識(shí)別方法結(jié)構(gòu)
數(shù)據(jù)預(yù)處理部分負(fù)責(zé)將PCAP 文件的流數(shù)據(jù)轉(zhuǎn)換為儲(chǔ)存784 字節(jié)內(nèi)容的灰度圖。首先按照流量的五元組信息(源和目的的IP 地址、源和目的的端口號(hào)及網(wǎng)絡(luò)協(xié)議)進(jìn)行分割,具有相同五元組信息的數(shù)據(jù)包按照時(shí)間排序構(gòu)成一個(gè)流(會(huì)話);其次將內(nèi)容為空的流刪除,并用“0”數(shù)據(jù)去替換流中數(shù)據(jù)包的目的IP 地址、源和目的端口號(hào)字段;最后截取流的前784 字節(jié)信息進(jìn)行灰度圖轉(zhuǎn)換,不足784 字節(jié)的流用“0”數(shù)據(jù)進(jìn)行填充。
生成的灰度圖如圖2 所示,每一個(gè)像素都有8 比特的數(shù)據(jù),值為0 到255,每一種惡意流量的傳播和攻擊特性可以通過(guò)灰度圖表現(xiàn)出來(lái),但是這種特征差異通過(guò)專家經(jīng)驗(yàn)很難解釋,需要借助CNN模型的圖像特征提取能力,提取灰度圖中的抽象特征。另外,由于流具有時(shí)序性(如先握手再傳數(shù)據(jù)),自左向右、從上至下將灰度圖數(shù)據(jù)分為28 組28 字節(jié)的數(shù)據(jù)送入GRU 中,依靠GRU 的時(shí)序特征提取能力,提取流中的時(shí)序特征。圖2 為隨機(jī)抽取的各類惡意流量灰度圖,可以看出每類之間都有一定的區(qū)別,這些區(qū)別可以被深度學(xué)習(xí)提取為抽象特征進(jìn)行分類。
圖2 各類惡意流量灰度圖
本文CNN 的結(jié)構(gòu)由卷積層、池化層、Dropout層、卷積層、池化層、Dropout 層、全連接層依次組成。兩個(gè)卷積層卷積核個(gè)數(shù)分別為32 和64,卷積核大小都為5×5,步長(zhǎng)都為1。池化層類型都為最大池化,大小為2×2,即在2×2 大小的感受野中選擇最大的值進(jìn)行下一步處理。Dropout 層通過(guò)在模型訓(xùn)練時(shí)隨機(jī)去掉一定比例的神經(jīng)元,不參與此次數(shù)據(jù)的訓(xùn)練,從而減小模型過(guò)擬合的程度,本文的Dropout 層隨機(jī)去掉神經(jīng)元的比例為0.5。全連接層由64 個(gè)神經(jīng)元組成,接收最后的Dropout 層的輸出,最后全連接層輸出64 維空間特征。
CNN 能夠提取空間特征,但是不善于提取時(shí)序上的變化特征。網(wǎng)絡(luò)流量由字節(jié)、數(shù)據(jù)包及會(huì)話組成,可以看成語(yǔ)言中的字、詞語(yǔ)和句子。流量和語(yǔ)言也都具有時(shí)序性,數(shù)據(jù)包和詞語(yǔ)都必須有著先后順序才能構(gòu)成合理的會(huì)話和句子。LSTM 和GRU 屬于RNN 的變種,可以緩解RNN 的梯度爆炸和梯度消失問(wèn)題,GRU 又比LSTM 結(jié)構(gòu)更簡(jiǎn)單,參數(shù)更少,并且雙向結(jié)構(gòu)可以同時(shí)考慮輸入在前向時(shí)序和反向時(shí)序的關(guān)系,因此本文選擇雙向GRU 作為時(shí)序特征提取模型。
注意力機(jī)制提取每個(gè)時(shí)序的輸出,通過(guò)查詢Q、鍵K 和值V 能夠捕獲整個(gè)輸入的全部時(shí)序關(guān)系,降低長(zhǎng)序列會(huì)出現(xiàn)的信息損失。多頭注意力機(jī)制有多組查詢Q、鍵K 和值V,每組參數(shù)學(xué)習(xí)不同的語(yǔ)義信息,從而增強(qiáng)模型的擬合能力和泛化能力。
本文時(shí)序特征提取使用兩層雙向GRU 進(jìn)行,結(jié)構(gòu)順序?yàn)镚RU 層、多頭注意力層、GRU 層,其中GRU 隱藏層的大小都為32,注意力層的并行頭數(shù)量為2,輸出64 維時(shí)序特征向量。
在進(jìn)行分類之前,需要將CNN 和GRU 輸出的時(shí)空特征進(jìn)行融合。為了保留全部的特征信息,本文對(duì)兩種特征進(jìn)行拼接處理,得到128 維時(shí)空特征,再分別輸入64 個(gè)神經(jīng)元的全連接層和分類數(shù)量個(gè)神經(jīng)元的全連接層,得到的維數(shù)就為待分類的數(shù)量,最后送入分類器進(jìn)行分類。
(1)分類器。本文選擇Softmax 作為模型的分類器,通過(guò)分類器得到最大值的類型,該輸入就被分類為此類型。Softmax 的公式為:
式中:xi為輸入的第i維值,i類型的分類值為Pi。在本文中進(jìn)行二分類實(shí)驗(yàn)時(shí),k為2,進(jìn)行多分類實(shí)驗(yàn)時(shí),k為17。
Softmax 的各個(gè)輸出總和為1,大小映射至[0,1],適用范圍廣,簡(jiǎn)單易用。
(2)損失函數(shù)。損失函數(shù)衡量模型輸出值和實(shí)際值之間的差距,再通過(guò)反向傳播機(jī)制對(duì)模型中每一個(gè)待訓(xùn)練的參數(shù)進(jìn)行優(yōu)化,損失函數(shù)輸出的值越大,代表和實(shí)際情況相差越大,優(yōu)化調(diào)整的幅度也越大。
在本文的二分類實(shí)驗(yàn)中,使用二元交叉熵(Binary Cross Entropy,BCE)作為損失函數(shù),二元交叉熵的公式為:
式中:y為真實(shí)標(biāo)簽,為預(yù)測(cè)標(biāo)簽,L為損失值Loss。
在本文的多分類實(shí)驗(yàn)中,使用交叉熵?fù)p失(Cross Entropy Loss)函數(shù),交叉熵?fù)p失函數(shù)的公式為:
(3)優(yōu)化函數(shù)。本文采用Adam 優(yōu)化算法根據(jù)損失函數(shù)得出的loss 值對(duì)模型可訓(xùn)練參數(shù)進(jìn)行更新。Adam 的學(xué)習(xí)率設(shè)為0.001,并加入值為0.000 1的權(quán)重衰退,限制更新幅度,防止過(guò)擬合并且避免梯度爆炸。Adam 優(yōu)化算法表示如下:
式中:θt為t時(shí)刻的參數(shù);gt為t時(shí)刻的梯度;mt為Adam 的一階動(dòng)量參數(shù);vt為Adam 的二階動(dòng)量參數(shù);α為學(xué)習(xí)率;λ為權(quán)重衰減值;ε默認(rèn)為10-8,避免除數(shù)為0。
數(shù)據(jù)預(yù)處理階段在Windows10 操作系統(tǒng)中完成。首先使用SplitCap 工具將原始PCAP 文件拆分成若干雙向會(huì)話;其次使用PowerShell 腳本對(duì)拆分后的雙向會(huì)話PCAP 文件進(jìn)行裁剪;最后使用Numpy 和PIL 等開(kāi)源第三方庫(kù)生成大小固定的灰度圖。
模型訓(xùn)練和驗(yàn)證階段在Ubuntu20.04 LTS 操作系統(tǒng)中完成,并使用PyTorch 進(jìn)行模型設(shè)計(jì)和優(yōu)化。Ubuntu 操作系統(tǒng)中,CPU 使用Inter 至強(qiáng)6226R,內(nèi)存為128 GB,顯卡為英偉達(dá) RTX4090。
翟明芳等人[13]進(jìn)行了大量的惡意流量檢測(cè)數(shù)據(jù)集比較,從中可以看出,能夠在惡意加密流量識(shí)別中使用的數(shù)據(jù)集非常少,其中提到的可用于加密的數(shù)據(jù)集也有不足,如按照惡意種類將原始CICIDS2017 數(shù)據(jù)集的PCAP 文件進(jìn)行分割較為困難,SSL Certificatres 數(shù)據(jù)集不適用于模型訓(xùn)練。因此,本文選擇在公開(kāi)數(shù)據(jù)中進(jìn)行選取,組建一個(gè)混合數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證。本文的惡意加密流量從MCFP[14]中選取,正常流量從ISCX VPN-nonVPN[15]和ISCX-Bot-2014[16]的正常流量中選取。
MCFP 是捷克理工大學(xué)創(chuàng)建的惡意軟件捕獲設(shè)施項(xiàng)目,負(fù)責(zé)用惡意流量抓取軟件長(zhǎng)期抓取,其中部分惡意流量存在加密數(shù)據(jù)。本文選取16 種惡意流量,其中11 種包含加密流量,會(huì)話數(shù)上限數(shù)為60 000,主要選取情況如表1 所示。
表1 惡意流量種類選取情況
ISCX VPN-nonVPN 含有常規(guī)加密和VPN 加密的正常應(yīng)用流量,本文從中選取的流量類型有email、video、ftps、chat 等。ISCX-Bot-2014 中包含16 種僵尸網(wǎng)絡(luò)家族產(chǎn)生的惡意流量以及非加密的正常應(yīng)用流量。由于本文不對(duì)正常流量做詳細(xì)分類,且正常流量種類較多,因此不對(duì)正常流量種類做詳細(xì)展示,主要選取情況如表2 所示。
表2 正常流量來(lái)源選取情況
由于惡意流量的會(huì)話數(shù)遠(yuǎn)大于正常流量,因此在訓(xùn)練集和測(cè)試集中每種惡意流量隨機(jī)取1 000條,正常流量按8 ∶2 來(lái)劃分訓(xùn)練集和測(cè)試集。
在二分類實(shí)驗(yàn)中,去除Miuref、Adware、Zbot、Wannacry、Razy、Artemis 這6 種惡意流量和aim_chat、email、facebook_chat、vpn_bittorrent、vpn_ftps、vpn_skype_audio、vpn_skype_files 等正常流量作為訓(xùn)練集進(jìn)行訓(xùn)練。在對(duì)未知流量進(jìn)行二分類實(shí)驗(yàn)時(shí),用以上種類流量作為測(cè)試集進(jìn)行測(cè)試。
本文采取二分類準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1 值(F1_score),多分類整體準(zhǔn)確率(Overall_ACC)作為模型識(shí)別效果的評(píng)價(jià)指標(biāo)。計(jì)算公式如下:
式中:TP為二分類中被正確識(shí)別為惡意流量的數(shù)量,TN為被正確識(shí)別為正常流量的數(shù)量,F(xiàn)P為被錯(cuò)誤識(shí)別為惡意流量的數(shù)量,F(xiàn)N為被錯(cuò)誤識(shí)別為正常流量的數(shù)量,TPk為正確識(shí)別為第k類流量的數(shù)量,TNk為正確識(shí)別為非第k類的流量的數(shù)量,F(xiàn)Pk為不屬于第k類的流量被識(shí)別為第k類的數(shù)量,F(xiàn)Nk為屬于第k類的流量被識(shí)別為第k類的數(shù)量。
通過(guò)在3×3、5×5、7×7 大小的卷積核進(jìn)行二分類對(duì)比實(shí)驗(yàn),選出最優(yōu)的卷積核參數(shù),實(shí)驗(yàn)結(jié)果如表3 所示,30 輪訓(xùn)練輪數(shù)可以保證模型收斂,準(zhǔn)確率和F1 值都為十折交叉驗(yàn)證中在驗(yàn)證集上的平均值。
表3 3 種卷積核大小模型的實(shí)驗(yàn)結(jié)果對(duì)比
圖3 為3 種不同的卷積核模型在十折交叉驗(yàn)證中的準(zhǔn)確率與迭代次數(shù)的關(guān)系??梢钥闯?,5×5 大小的卷積核模型雖然起始準(zhǔn)確率較低,但是準(zhǔn)確率迅速上升。此外,通過(guò)表3 可以看出,5×5 大小的卷積核模型的準(zhǔn)確率和F1 值分別為99.71%和99.78%,為3 種模型中結(jié)果最優(yōu)。
圖3 3 種卷積核大小模型的準(zhǔn)確率實(shí)驗(yàn)對(duì)比
本文將GRU 模型所接收的數(shù)據(jù)類型進(jìn)行了對(duì)比。類型1 為文獻(xiàn)[11]和文獻(xiàn)[17]中提到的提取流中的前8 個(gè)數(shù)據(jù)包,每個(gè)數(shù)據(jù)包中截取前100 個(gè)字節(jié),不足100 字節(jié)則補(bǔ)0 處理。類型2 為本文提出的將CNN 接收的784 字節(jié)數(shù)據(jù)分為28 組,每組包含28 個(gè)字節(jié)。將兩種類型數(shù)據(jù)進(jìn)行二分類實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4 所示,訓(xùn)練輪數(shù)同樣設(shè)為30 輪,準(zhǔn)確率和F1 值都為十折交叉驗(yàn)證中在驗(yàn)證集上的平均值。
同樣得到GRU 在兩種類型數(shù)據(jù)的準(zhǔn)確率與迭代次數(shù)的關(guān)系,如圖4 所示。從圖4 可以看出,無(wú)論是收斂速度還是識(shí)別準(zhǔn)確率,數(shù)據(jù)類型2 的表現(xiàn)相較于類型1 都更好。
圖4 兩種數(shù)據(jù)類型準(zhǔn)確率實(shí)驗(yàn)對(duì)比
綜上,為得到更好的檢測(cè)效果,本文CNN 選擇5×5 大小的卷積核進(jìn)行后續(xù)實(shí)驗(yàn),并選擇數(shù)據(jù)類型2 作為GRU 的后續(xù)實(shí)驗(yàn)數(shù)據(jù)輸入結(jié)構(gòu)。
3.4.1 二分類消融實(shí)驗(yàn)
為了檢測(cè)本文提出的時(shí)空特征提取模型CNNMHGRU 的效果,本節(jié)實(shí)驗(yàn)將通過(guò)5 種模型進(jìn)行二分類實(shí)驗(yàn),比較各個(gè)模型的實(shí)驗(yàn)結(jié)果并進(jìn)行分析。這5 種模型分別是CNN、GRU、MHGRU、CNN_GRU 和CNN-MHGRU。
表5 為5 種模型在十折交叉驗(yàn)證實(shí)驗(yàn)中,每種模型的評(píng)估指標(biāo)在驗(yàn)證集上的平均值。
表5 5 種模型十折交叉驗(yàn)證二分類結(jié)果的對(duì)比
從表5 可以看出,綜合表現(xiàn)CNN-MHGRU 最優(yōu),準(zhǔn)確率達(dá)到99.92%,F(xiàn)1 值達(dá)到99.94%,召回率相比沒(méi)有加多頭注意力機(jī)制的CNN-GRU 低了0.01%。從MHGRU 和GRU 的結(jié)果也可以看出,MHGRU 相比GRU 的準(zhǔn)確率和F1 值要高,但是召回率稍低。
由于在對(duì)已知數(shù)據(jù)進(jìn)行實(shí)驗(yàn)時(shí),模型的訓(xùn)練結(jié)果評(píng)估指標(biāo)相差不大,同時(shí)為了模擬真實(shí)環(huán)境,檢測(cè)模型對(duì)未知類型的惡意流量和正常流量進(jìn)行識(shí)別的能力,本節(jié)的測(cè)試集將選取訓(xùn)練集和驗(yàn)證集都未出現(xiàn)過(guò)的數(shù)據(jù)種類。選取Miuref、Adware、Zbot、Wannacry、Razy、Artemis 這6 種惡意流量和aim_chat、email、facebook_chat、vpn_bittorrent、vpn_ftps、vpn_skype_audio、vpn_skype_files 等正常流量作為測(cè)試集進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果如表6 所示。
表6 5 種模型對(duì)未知流量的二分類實(shí)驗(yàn)結(jié)果對(duì)比
從表6 可以看出,CNN-MHGRU 模型的準(zhǔn)確率、召回率及F1 值在檢測(cè)未知流量時(shí)表現(xiàn)最優(yōu)。MHGRU 與GRU 的結(jié)果對(duì)比可以看出,多頭注意力機(jī)制可以提升檢測(cè)未知流量的識(shí)別準(zhǔn)確率。從CNN_GRU 與CNN 和GRU 的結(jié)果對(duì)比可以看出,同時(shí)提取空間特征和時(shí)序特征的模型比單一模型的綜合表現(xiàn)更好,其中只考慮空間特征時(shí),表現(xiàn)較差。從CNN-MHGRU 和CNN_GRU 的結(jié)果對(duì)比可以看出,在時(shí)空特征上進(jìn)行結(jié)合時(shí),時(shí)序特征如果考慮多頭注意力機(jī)制,那么能夠在一定程度上提高對(duì)未知威脅的識(shí)別準(zhǔn)確率。
綜上,本文提出的基于時(shí)序特征的多頭注意力模型CNN-MHGRU 能夠提升一定的對(duì)惡意加密流量的識(shí)別能力。
3.4.2 多分類對(duì)比實(shí)驗(yàn)
在實(shí)際應(yīng)用場(chǎng)景中,不僅需要對(duì)網(wǎng)絡(luò)流量進(jìn)行惡意威脅識(shí)別,還需要對(duì)惡意流量進(jìn)行類別識(shí)別,這種對(duì)惡意類別的劃分能夠極大幫助網(wǎng)絡(luò)安全人員對(duì)網(wǎng)絡(luò)環(huán)境中出現(xiàn)的威脅進(jìn)行快速反應(yīng)。為了檢測(cè)本文提出的CNN-MHGRU 在多分類場(chǎng)景下的效果,本節(jié)對(duì)BiLSTM[18]、BotCatcher[11]和CNN-MHGRU模型進(jìn)行多分類實(shí)驗(yàn),對(duì)比并分析實(shí)驗(yàn)結(jié)果。其中,為了還原BotCatcher 模型的實(shí)驗(yàn)情況,BotCatcher使用的是3.4 節(jié)中類型2 的數(shù)據(jù)。
圖5 為3 種模型在十折交叉驗(yàn)證中的準(zhǔn)確率與迭代次數(shù)的關(guān)系,準(zhǔn)確率為十折交叉驗(yàn)證中在驗(yàn)證集上的平均值。在30 輪訓(xùn)練后,BiLSTM、BotCatchar、CNN-MHGRU 的準(zhǔn)確率分別達(dá)到94.89%、93.81%和95.05%。
圖5 3 種模型十折交叉驗(yàn)證多分類準(zhǔn)確率對(duì)比
從圖5 可以看出,3 種模型在20 輪左右基本已經(jīng)收斂,準(zhǔn)確率無(wú)較大變化。BiLSTM 和BotCatcher在開(kāi)始時(shí),準(zhǔn)確率高于本文提出的CNN-MHGRU,但在10 輪時(shí)CNN-MHGRU 超越前兩者,并從此一直保持領(lǐng)先,說(shuō)明CNN-MHGRU 能夠更好地?cái)M合數(shù)據(jù),在多分類識(shí)別時(shí)有更好的效果。
圖6 為3 種模型在測(cè)試集上多分類識(shí)別結(jié)果的混淆矩陣(保留3 位小數(shù),小于0.001 看作0 處理),混淆矩陣的橫向坐標(biāo)為實(shí)際類型,縱向坐標(biāo)為識(shí)別類型,其中的數(shù)值為被預(yù)測(cè)類型X(橫坐標(biāo)值)占實(shí)際類型Y(縱坐標(biāo)值)的比值,主對(duì)角線的值為此類被正確識(shí)別的比值。
圖6 CNN-MHGRU 模型在測(cè)試集上多分類識(shí)別結(jié)果的混淆矩陣
3 種模型的分類識(shí)別結(jié)果的F1 值和整體準(zhǔn)確率分別如表7 和表8 所示,其中表中粗體項(xiàng)代表此模型為三者中對(duì)此類惡意流量識(shí)別的最大數(shù)值??梢钥闯?,在整體準(zhǔn)確率上,本文提出的CNNMHGRU 模型表現(xiàn)最好,F(xiàn)1 值除了在Adware、TrickBot、Wannacry、Artemis、Virtu 這5 種類型的惡意流量稍低,其他類型都為最高。CNN-MHGRU整體準(zhǔn)確率為0.929 8(92.98%),分別比BiLSTM和BotCatcher 高出1.5%和2%左右。這說(shuō)明本文提出的CNN-MHGRU 模型能夠很好地對(duì)數(shù)據(jù)進(jìn)行時(shí)空特征抽象提取,并且在整體上能夠更好地對(duì)惡意流量進(jìn)行識(shí)別。
表7 3 種模型多分類實(shí)驗(yàn)的F1 值對(duì)比
表8 3 種模型多分類實(shí)驗(yàn)的整體準(zhǔn)確率對(duì)比
本文提出的CNN-MHGRU 和李小劍提出的CNN-SIndRNN[12]在相同種類的惡意流量下進(jìn)行對(duì)比實(shí)驗(yàn)的結(jié)果如表9 所示。
表9 本文模型與CNN-SIndRNN 實(shí)驗(yàn)結(jié)果對(duì)比
從表9 可以看出,在Dridex 的識(shí)別上,CNNSIndRNN 的F1 值比本文模型高0.144;在Zbot、Adware、TrickBot、Wannacry 和Benign 上CNNMHGRU 表現(xiàn)較好,分別比CNN-SIndRNN 高出15.96%、4.97%、7.7%、86.3% 和5.49%;本文模型相比CNN-SIndRNN 在Wannacry 識(shí)別上效果尤其突出。綜合比較,本文模型CNN-MHGRU 在實(shí)際環(huán)境能夠更好地識(shí)別惡意流量。
本文提出了一種基于時(shí)空特征和多頭注意力機(jī)制的惡意加密流量識(shí)別方法。該方法不依靠人工提取數(shù)據(jù)特征,通過(guò)深度學(xué)習(xí)的表征學(xué)習(xí)能力,直接輸入原始數(shù)據(jù)進(jìn)行模型訓(xùn)練。該方法分別利用CNN和GRU 提取空間和時(shí)序兩種維度特征,并在GRU中加入多頭注意力機(jī)制提高對(duì)長(zhǎng)序列數(shù)據(jù)的特征提取能力。通過(guò)對(duì)比實(shí)驗(yàn),本文從二分類和多分類角度對(duì)該方法訓(xùn)練的CNN-MHGRU 模型進(jìn)行分析。實(shí)驗(yàn)結(jié)果表明,CNN-MHGRU 模型在二分類和多分類中的準(zhǔn)確率、召回率和F1 值都有綜合提高,有效增強(qiáng)了對(duì)惡意加密流量的識(shí)別能力。然而,隨著參數(shù)的增加,模型的訓(xùn)練和檢測(cè)的時(shí)間也隨之增加,因此可以對(duì)模型結(jié)構(gòu)進(jìn)行進(jìn)一步研究,減少使用的資源并增加檢測(cè)的實(shí)時(shí)性。另外,本文數(shù)據(jù)特征僅來(lái)自一個(gè)會(huì)話,只能對(duì)單一會(huì)話進(jìn)行識(shí)別,而有些惡意攻擊會(huì)在整個(gè)局域網(wǎng)表現(xiàn)出惡意行為,可以結(jié)合多個(gè)會(huì)話的聯(lián)系進(jìn)行分析,識(shí)別網(wǎng)絡(luò)中新型、復(fù)雜的惡意加密攻擊。