孟獻(xiàn)軻 張 碩 熊 詩(shī) 王 波
1(中國(guó)電子科技集團(tuán)公司第二十八研究所 江蘇 南京 210000) 2(解放軍信息工程大學(xué)信息系統(tǒng)工程學(xué)院 河南 鄭州 450002)
近年來(lái),世界見(jiàn)證了互聯(lián)技術(shù)在不同領(lǐng)域的重大發(fā)展,例如:物聯(lián)網(wǎng)、智能電網(wǎng)、車(chē)輛互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)。據(jù)思科發(fā)布的《視覺(jué)網(wǎng)絡(luò)指數(shù)》(VNI)報(bào)告預(yù)測(cè),2022年的全球網(wǎng)絡(luò)流量將超過(guò)之前的所有年份,IP連接設(shè)備的數(shù)量將是全球人口的三倍,每年將產(chǎn)生4.8 ZB IP流量。如此規(guī)模的流量信息通過(guò)各種設(shè)備和通信協(xié)議在互聯(lián)網(wǎng)上交換,會(huì)引起嚴(yán)重的安全問(wèn)題。網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)是網(wǎng)絡(luò)的一線安全系統(tǒng),用于監(jiān)視網(wǎng)絡(luò)流量中的惡意活動(dòng),及時(shí)產(chǎn)生預(yù)警,從而采取相應(yīng)安全措施。
按照檢測(cè)方法,IDS可以分為基于簽名的IDS(Signature-based IDS,SIDS)和基于異常的IDS(Anomaly-based IDS,AIDS)[1]。SIDS通過(guò)將被監(jiān)控的行為與預(yù)先定義的入侵規(guī)則庫(kù)快速匹配來(lái)實(shí)現(xiàn)檢測(cè),但在面對(duì)陌生攻擊時(shí),檢測(cè)性能通常很差;AIDS為“正?!本W(wǎng)絡(luò)流量建立模型,檢測(cè)到偏差時(shí)發(fā)出異常報(bào)警,性能取決于對(duì)網(wǎng)絡(luò)流量正常行為建模的程度,該方法在檢測(cè)未知異常攻擊中具有巨大應(yīng)用潛力。在眾多AIDS的研究中,基于機(jī)器學(xué)習(xí)(例如人工神經(jīng)網(wǎng)絡(luò)[2]、樸素貝葉斯[3-4]、k近鄰[5]和支持向量機(jī)[6-9])的AIDS研究最為廣泛。例如Aburomman[7]和Natesan[10]通過(guò)構(gòu)造多分類(lèi)器對(duì)DoS、Probe、U2R和R2L等流量進(jìn)行檢測(cè)。Rastegari等[11]使用遺傳算法(GA)改進(jìn)了基于時(shí)間間隔的簡(jiǎn)單規(guī)則,進(jìn)而提高異常流量檢測(cè)性能。Kuang等[9]將基于內(nèi)核主成分分析和遺傳算法的支持向量機(jī)來(lái)檢測(cè)網(wǎng)絡(luò)入侵。然而,基于機(jī)器學(xué)習(xí)的AIDS方法嚴(yán)重依賴(lài)于人工設(shè)計(jì)的流量特征,限制了這種方法的通用性和準(zhǔn)確性。
近年來(lái),深度學(xué)習(xí)在圖像識(shí)別、語(yǔ)音識(shí)別和自然語(yǔ)言處理等各大領(lǐng)域迅猛發(fā)展,不斷刷新各領(lǐng)域的最優(yōu)紀(jì)錄。深度學(xué)習(xí)技術(shù)可以通過(guò)訓(xùn)練數(shù)據(jù)自動(dòng)提取和選擇特征,避免人工選擇特征的繁瑣工作,此特性使基于深度學(xué)習(xí)的方法成為流量建模領(lǐng)域的理想方法,引來(lái)了學(xué)術(shù)界的廣泛關(guān)注。
由于基于深度學(xué)習(xí)的異常流量檢測(cè)方法尚處于起步階段,研究主要集中于基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[12-14]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[15-17]、自動(dòng)編碼器(Auto Encoder,AE)[18-20]、多種神經(jīng)網(wǎng)絡(luò)模型混合[21-22]的檢測(cè)方法。基于CNN的AIDS方法通常將流量數(shù)據(jù)轉(zhuǎn)換為灰度圖,在灰度圖上采用卷積、池化等操作提取流量空間特征進(jìn)行異常檢測(cè)?;赗NN的AIDS檢測(cè)方法將流量序列依次輸入長(zhǎng)短期記憶網(wǎng)絡(luò)(Long-Short Term Memory,LSTM)、門(mén)控循環(huán)單元(Gated Recurrent Unit,GRU)等,通過(guò)計(jì)算各流量元素之間的時(shí)序特征識(shí)別異常?;贏E的AIDS方法利用將流量數(shù)據(jù)壓縮再恢復(fù)的訓(xùn)練過(guò)程,提取流量最顯著的特征進(jìn)行異常檢測(cè)。以上三種方法單純基于一種神經(jīng)網(wǎng)絡(luò)模型對(duì)流量特征的維度提取不足,因此Wang等[21]和Kim等[22]均將CNN和LSTM進(jìn)行組合,同時(shí)提取空間和時(shí)序特征,雖然二者屬于同一類(lèi)模型框架,但Kim等[22]以單個(gè)數(shù)據(jù)包為處理單位,Wang等[21]則以網(wǎng)絡(luò)流為處理單位,使得CNN和LSTM的層次模型真正合理地利用了流量結(jié)構(gòu)信息。
然而,LSTM在當(dāng)前狀態(tài)的計(jì)算時(shí)需要依賴(lài)上一個(gè)狀態(tài)的輸出,不具備高效的并行計(jì)算能力;另一方面,整個(gè)LSTM模型(包括其他的RNN模型,如GRU)總體上類(lèi)似于一個(gè)馬爾可夫決策過(guò)程,難以提取全局信息,并且RNN模型以最后一個(gè)時(shí)刻的隱狀態(tài)或者各時(shí)刻隱狀態(tài)的拼接作為提取的時(shí)序特征,無(wú)法著重突出流量中某些數(shù)據(jù)包之間的關(guān)聯(lián)關(guān)系。
Transformer[23]是機(jī)器翻譯領(lǐng)域的前沿模型,包括編碼器和解碼器兩大部分。Transformer編碼器無(wú)循環(huán)結(jié)構(gòu),廣泛應(yīng)用了自注意力機(jī)制,可以并行處理序列中的所有元素,將序列某一位置的元素與全局元素結(jié)合起來(lái),用于挖掘與當(dāng)前預(yù)測(cè)元素關(guān)系緊密的全局上下文元素,Transformer編碼器具有更強(qiáng)的特征提取能力。
考慮到Transformer以上優(yōu)點(diǎn),本文提出一種基于時(shí)空注意力特征的異常流量檢測(cè)框架,該框架由卷積網(wǎng)絡(luò)層、位置編碼層、時(shí)序注意力編碼層、全連接層和Softmax層串聯(lián)而成。首先將網(wǎng)絡(luò)流的數(shù)據(jù)包均轉(zhuǎn)換為數(shù)據(jù)包灰度圖,利用卷積網(wǎng)絡(luò)層提取數(shù)據(jù)包灰度圖的空間特征;然后,利用Transformer編碼器對(duì)數(shù)據(jù)包空間特征的整體時(shí)序進(jìn)行建模,通過(guò)多頭自注意力機(jī)制計(jì)算各數(shù)據(jù)包的長(zhǎng)距離依賴(lài)關(guān)系,挖掘網(wǎng)絡(luò)流中的數(shù)據(jù)包之間顯著的關(guān)聯(lián)特征表示。最后,將該特征表示輸入到全連接神經(jīng)網(wǎng)絡(luò)層和Softmax層,輸出識(shí)別概率。
注意力機(jī)制的本質(zhì)是將一個(gè)查詢(xún)向量和一組鍵值向量對(duì)映射到輸出,查詢(xún)向量與鍵向量用于計(jì)算每個(gè)值向量對(duì)應(yīng)的權(quán)重,值向量的加權(quán)和為注意力輸出。點(diǎn)積注意力[24]利用矩陣乘法運(yùn)算,既高效又節(jié)省空間,計(jì)算流程如圖1所示。
圖1 放縮點(diǎn)積注意力計(jì)算流程
(1)
本文根據(jù)網(wǎng)絡(luò)流的結(jié)構(gòu)特點(diǎn),構(gòu)建了基于時(shí)空注意力特征的異常流量檢測(cè)框架,其結(jié)構(gòu)如圖2所示。該框架主要由卷積網(wǎng)絡(luò)層、位置編碼層、時(shí)序注意力編碼層、全連接層和Softmax層串聯(lián)而成,[CLS]是網(wǎng)絡(luò)流的標(biāo)簽符,表示網(wǎng)絡(luò)流中是否有異常流量攻擊。
圖2 基于時(shí)空注意力特征的異常流量檢測(cè)框架
卷積網(wǎng)絡(luò)層由相同結(jié)構(gòu)的卷積單元組成,訓(xùn)練參數(shù)共享。卷積單元的具體結(jié)構(gòu)如圖3所示。
圖3 卷積單元結(jié)構(gòu)
(2)
(3)
式中:hl-1為第l-1層數(shù)據(jù)包特征圖的大小;zl表示第l層卷積核的大小;λl是卷積核移動(dòng)步長(zhǎng);ρl表示前一層特征圖邊緣補(bǔ)零的列數(shù)。在子采樣層,采用重疊采樣方法對(duì)特征圖進(jìn)行最大值采樣,既提高特征的準(zhǔn)確性,又防止訓(xùn)練過(guò)擬合。
Transformer編碼器沒(méi)有循環(huán)或者卷積結(jié)構(gòu),無(wú)法使用網(wǎng)絡(luò)流中數(shù)據(jù)包的位置信息,因此需要位置編碼層添加位置信息,即圖2中的Pos操作,其過(guò)程如圖4所示。
圖4 位置編碼層添加位置信息的過(guò)程
圖4中,Epkt表示卷積網(wǎng)絡(luò)層提取的數(shù)據(jù)包空間特征向量,Epos表示數(shù)據(jù)包相對(duì)位置向量。位置編碼層的Pos操作將二者求和,相對(duì)位置向量的計(jì)算如式(4)、式(5)所示。
E(p,2i)=sin(p/10 0002i/dmodel)
(4)
E(p,2i+1)=cos(p/10 0002i/dmodel)
(5)
式中:p代表位置;dmodel表示特征向量的維度;i代表dmodel中的某一維度。
時(shí)序注意力編碼層由三層的雙向Transformer編碼器構(gòu)成,具體結(jié)構(gòu)如圖5所示。
圖5 時(shí)序注意力編碼層
圖5中,每個(gè)Trm均代表一個(gè)Transformer編碼器;Ti表示Ei在經(jīng)過(guò)時(shí)序注意力編碼層處理之后得到的特征向量。Transformer編碼器結(jié)構(gòu)如圖6所示。
圖6 Transformer編碼器
Transformer編碼器由6個(gè)相同的編碼層堆疊而成,每個(gè)編碼層又包括多頭自注意力層和位置全連接層兩個(gè)子層,殘差連接和層歸一化用于優(yōu)化網(wǎng)絡(luò)訓(xùn)練深度。每個(gè)編碼層和所有子層的輸出維度均相同,記為dmodel。
(1) 多頭注意力機(jī)制。網(wǎng)絡(luò)流中數(shù)據(jù)包之間的時(shí)序特征關(guān)系多樣,因此需要多頭注意力使編碼器同時(shí)關(guān)注來(lái)自不同數(shù)據(jù)包的不同表示子空間的信息,其具體計(jì)算流程如圖7所示。
圖7 多頭注意力機(jī)制計(jì)算流程
首先將Q、K和V線性變換后進(jìn)行h次放縮點(diǎn)積注意力計(jì)算,h為多頭注意力的頭數(shù)。然后將h次的注意力計(jì)算結(jié)果通過(guò)拼接和線性變換得到多頭注意力的結(jié)果,如式(6)和式(7)所示。
Multihead(Q,K,V)=Concat(head1,head2,…,
headh)WO
(6)
(7)
(2) 位置全連接前饋網(wǎng)絡(luò)。位置全連接前饋網(wǎng)絡(luò)(FFN)分兩層,用于處理每個(gè)位置的多頭注意力計(jì)算結(jié)果,其輸入和輸出的維度相同。第一層的激活函數(shù)是ReLU,第二層是線性激活函數(shù),如果多頭注意力層輸出表示為M,則FFN可表示為式(8)。
FFN(x)=max(0,MW1+b1)W2+b2
(8)
式中:W1、b1和W2、b2分別是兩個(gè)激活函數(shù)的參數(shù)。Transformer編碼器利用多頭注意力層和位置全連接層不斷交疊得到最終的輸入序列表示。
對(duì)于訓(xùn)練集C,給定一個(gè)輸入網(wǎng)絡(luò)流x1,x2,…,xN和對(duì)應(yīng)標(biāo)簽y,[CLS]在最后一個(gè)Transformer編碼器的隱藏層輸出記為T(mén)[C]∈Rdmodel,經(jīng)過(guò)全連接層和Softmax層后對(duì)y進(jìn)行預(yù)測(cè),如式(9)所示。
P(y|x1,x2,…,xN)=softmax(CWf+b)
(9)
式中:Wf是全連接層的權(quán)重矩陣;b為偏置;P(y|x1,x2,…,xN)是Softmax層計(jì)算的概率結(jié)果,記為y′。則模型訓(xùn)練的目標(biāo)為最小化交叉熵?fù)p耗函數(shù)L(C),如式(10)所示。
(10)
UNSW-NB15數(shù)據(jù)集由澳大利亞網(wǎng)絡(luò)安全中心(ACCS)2015年利用IXIA PerfectStorm工具創(chuàng)建,包含真實(shí)正?;顒?dòng)和合成的當(dāng)代攻擊行為,原始流量數(shù)據(jù)為約100 GB的.pcap格式文件,共有記錄2 540 044條,包含九種類(lèi)型的攻擊,即Fuzzers、Worms、Backdoors、Analysis、DoS、Generic、Exploits、Reconnaissance和Shellcode。由于網(wǎng)絡(luò)攻擊更新變化較快,該數(shù)據(jù)集較DARPA、KDDCUP 1999和NSL-KDD等傳統(tǒng)數(shù)據(jù)集更具研究?jī)r(jià)值,數(shù)據(jù)集的具體分布如表1所示。
表1 UNSW-NB15數(shù)據(jù)集類(lèi)別分布
利用以上數(shù)據(jù)設(shè)置兩類(lèi)實(shí)驗(yàn),(1) 將所有異常流量看作一類(lèi),對(duì)正常和異常流量進(jìn)行二分類(lèi),記為A實(shí)驗(yàn);(2) 將所有異常流量分為九類(lèi),對(duì)正常異常流量進(jìn)行十分類(lèi),記為B實(shí)驗(yàn)。
首先進(jìn)行數(shù)據(jù)切分,使用pkt2flow和Wireshark工具將原始pcap流量數(shù)據(jù)集以會(huì)話為單位切分為多個(gè)流,以下統(tǒng)稱(chēng)為網(wǎng)絡(luò)流。每個(gè)網(wǎng)絡(luò)流中的數(shù)據(jù)包按照通信時(shí)間的先后排序,其組成結(jié)構(gòu)如圖8所示。
圖8 網(wǎng)絡(luò)流組成結(jié)構(gòu)
假設(shè)一個(gè)網(wǎng)絡(luò)流中有r個(gè)數(shù)據(jù)包,每個(gè)數(shù)據(jù)包取前p字節(jié),獨(dú)熱編碼為q維,則該網(wǎng)絡(luò)流向量化為r個(gè)p×q的二維圖像。
然后進(jìn)行流量清理,舍棄網(wǎng)絡(luò)流中只有頭信息而無(wú)載荷的數(shù)據(jù)包,將每個(gè)數(shù)據(jù)包的IP地址以及MAC地址進(jìn)行匿名化處理,消除無(wú)用信息對(duì)特征學(xué)習(xí)的干擾。
最后進(jìn)行歸一化處理,每個(gè)字節(jié)都由8 bit組成,轉(zhuǎn)化為十進(jìn)制數(shù)的取值范圍為[0,255],除以255將每個(gè)十進(jìn)制數(shù)歸一化到[0,1]的范圍內(nèi),從而提高模型收斂速度。
本文采用準(zhǔn)確率(Accuracy,Acc)、精度(Precision,P)和誤報(bào)率(False Alarm Rate,FAR)三個(gè)常用評(píng)測(cè)指標(biāo)驗(yàn)證本文方法的可行性和有效性,準(zhǔn)確率用于評(píng)價(jià)整體性能,精度用于評(píng)價(jià)對(duì)異常行為檢測(cè)性能,誤報(bào)率用于評(píng)價(jià)對(duì)正常行為的誤判情況。首先定義以下變量:
真負(fù)類(lèi)(Ture Negative)表示將正常網(wǎng)絡(luò)流正確地識(shí)別成正常網(wǎng)絡(luò)流的數(shù)量,記為T(mén)n。假負(fù)類(lèi)(False Negative)表示將異常網(wǎng)絡(luò)流誤識(shí)別成正常網(wǎng)絡(luò)流的數(shù)量,記為Fn。真正類(lèi)(Ture Positive)表示將異常網(wǎng)絡(luò)流正確地識(shí)別成異常網(wǎng)絡(luò)流的數(shù)量,記為T(mén)p。假正類(lèi)(False Positive)表示將正常網(wǎng)絡(luò)流誤識(shí)別成異常網(wǎng)絡(luò)流的數(shù)量,記為Fp。
(1) 準(zhǔn)確率(Acc)計(jì)算表達(dá)式為:
(11)
(2) 精度(P)計(jì)算表達(dá)式為:
(12)
(3) 誤報(bào)率(FAR)計(jì)算表達(dá)式為:
(13)
本文選取文獻(xiàn)[12]和文獻(xiàn)[21]的方法作為對(duì)比方法,文獻(xiàn)[12]僅采用卷積神經(jīng)網(wǎng)絡(luò)以數(shù)據(jù)包為單位提取空間特征進(jìn)行檢測(cè),測(cè)試結(jié)果記為CNN。文獻(xiàn)[21]采用CNN提取每個(gè)數(shù)據(jù)包的空間特征,LSTM模型提取數(shù)據(jù)包之間的時(shí)序特征進(jìn)行檢測(cè),測(cè)試結(jié)果記為CNN-LSTM。本文的卷積網(wǎng)絡(luò)層使用四個(gè)卷積層、四個(gè)池化層和一個(gè)全連接層,訓(xùn)練參數(shù)參考文獻(xiàn)[21]的最優(yōu)值,具體如表2所示。
表2 卷積網(wǎng)絡(luò)層各層訓(xùn)練參數(shù)列表
時(shí)序注意力編碼層由三層的雙向Transformer編碼器構(gòu)成,按照文獻(xiàn)[23]中的訓(xùn)練經(jīng)驗(yàn)選擇超參數(shù),多頭注意力的頭數(shù)為8,dmodel=512,dk=dv=dmodel/h=64,全連接層的隱藏節(jié)點(diǎn)數(shù)量為768。優(yōu)化算法選取Adam[25],令β1=0.9,β2=0.98,ε=10-9,epochs設(shè)置為200,每批數(shù)據(jù)batch_size大小為128,學(xué)習(xí)速率為1E-3。本文方法檢測(cè)結(jié)果記為CNN-TRAN。
實(shí)驗(yàn)軟硬件配置如下:軟件框架為Keras和TensorFlow,操作系統(tǒng)Centos7.5 64位操作系統(tǒng)。硬件方面,CPU為16核Intel Xeon E5-2680 2.7 GHz,內(nèi)存為128 GB,顯卡為32 GB顯存的Nvidia Tesla V100。
3.4.1 網(wǎng)絡(luò)流數(shù)據(jù)包長(zhǎng)度的影響分析
網(wǎng)絡(luò)流中數(shù)據(jù)包的大小各不相同,卷積網(wǎng)絡(luò)層以數(shù)據(jù)包為單位提取空間特征,需要將每個(gè)數(shù)據(jù)包截至固定長(zhǎng)度,因此需要研究數(shù)據(jù)包長(zhǎng)度對(duì)模型性能的影響,通過(guò)實(shí)驗(yàn)確定合適的數(shù)據(jù)包長(zhǎng)度值。經(jīng)統(tǒng)計(jì),預(yù)處理后的網(wǎng)絡(luò)流中,數(shù)據(jù)包的平均長(zhǎng)度為698字節(jié),網(wǎng)絡(luò)流中所有數(shù)據(jù)包的中位數(shù)為22,令數(shù)據(jù)包長(zhǎng)度在[100,1 200]內(nèi)取值,數(shù)據(jù)包數(shù)量為22,以100為步長(zhǎng)訓(xùn)練模型進(jìn)行實(shí)驗(yàn)B,十類(lèi)流量的綜合Acc、P和FAR結(jié)果如圖9所示。
圖9 數(shù)據(jù)包長(zhǎng)度對(duì)檢測(cè)性能的影響評(píng)測(cè)
可以看出,三個(gè)指標(biāo)在數(shù)據(jù)包長(zhǎng)度為200、500和800時(shí)取得了相近的較好結(jié)果,數(shù)據(jù)包長(zhǎng)度的增加不會(huì)明顯提高檢測(cè)結(jié)果,800字節(jié)后甚至出現(xiàn)檢測(cè)性能明顯降低的現(xiàn)象。由此可以推斷流量重要的異常特征信息包含于數(shù)據(jù)包前200字節(jié)的頭信息和少量數(shù)據(jù)中,通過(guò)查看數(shù)據(jù)集開(kāi)源的特征類(lèi)型分布可知,流量的內(nèi)容特征(swin、dwin、stcpb、dtcpb等)、基本特征(state、dur、sbytes、dbytes等)和時(shí)間特征(sjit、djit、sintpkg、dintpkt等)基本都包含于前200字節(jié)中。800字節(jié)后的數(shù)據(jù)內(nèi)容會(huì)引入噪聲數(shù)據(jù),降低檢測(cè)效果。綜合考慮訓(xùn)練效率和效果,統(tǒng)一將網(wǎng)絡(luò)流中的數(shù)據(jù)包截至200字節(jié)。
3.4.2 網(wǎng)絡(luò)流數(shù)據(jù)包個(gè)數(shù)的影響分析
每個(gè)網(wǎng)絡(luò)流中數(shù)據(jù)包數(shù)量不相同,而時(shí)序注意力編碼層對(duì)網(wǎng)絡(luò)流的時(shí)序特征學(xué)習(xí)時(shí),要求輸入的網(wǎng)絡(luò)流數(shù)據(jù)包個(gè)數(shù)必須是固定的。經(jīng)統(tǒng)計(jì),單個(gè)網(wǎng)絡(luò)流中的數(shù)據(jù)包個(gè)數(shù)最多為183 259,平均值為95,最少為1,中位數(shù)為22。令數(shù)據(jù)包個(gè)數(shù)在[3,30]內(nèi)取值,以3為步長(zhǎng)訓(xùn)練模型進(jìn)行實(shí)驗(yàn)B,數(shù)據(jù)包長(zhǎng)度取200,十類(lèi)流量的綜合Acc、P和FAR結(jié)果如圖10所示。
圖10 數(shù)據(jù)包個(gè)數(shù)對(duì)檢測(cè)性能的影響評(píng)測(cè)
可以看出,在[3,15]內(nèi),各項(xiàng)指標(biāo)隨著數(shù)據(jù)包數(shù)量增多而變優(yōu),當(dāng)數(shù)量取15時(shí)各項(xiàng)指標(biāo)最優(yōu)。數(shù)據(jù)包繼續(xù)增加時(shí),各指標(biāo)小幅震蕩。由此可以推斷,網(wǎng)絡(luò)流前15個(gè)連續(xù)的數(shù)據(jù)包足以體現(xiàn)時(shí)間特征和連接特征。
3.4.3 綜合實(shí)驗(yàn)分析
令網(wǎng)絡(luò)流中數(shù)據(jù)包長(zhǎng)度截至200字節(jié),數(shù)據(jù)包選取15個(gè),本文和兩種對(duì)比方法進(jìn)行A實(shí)驗(yàn)和B實(shí)驗(yàn),測(cè)試結(jié)果如表3和表4所示。
表3 三種方法實(shí)驗(yàn)A的評(píng)測(cè)結(jié)果(%)
表4 三種方法實(shí)驗(yàn)B的評(píng)測(cè)結(jié)果(%)
在表3和表4評(píng)測(cè)結(jié)果中本文方法均取得了最優(yōu)結(jié)果,說(shuō)明了本文方法的合理性和有效性。CNN-TRAN和CNN-LSTM較CNN的三項(xiàng)指標(biāo)均有很大程度的提升,表明時(shí)序特征對(duì)流量的特征提取至關(guān)重要,結(jié)構(gòu)化抽取網(wǎng)絡(luò)流的空間和時(shí)序的綜合特征更能代表網(wǎng)絡(luò)流量特征。實(shí)驗(yàn)A中,CNN-TRAN較CNN-LSTM的Acc提高3.05%,P提高1.78%,FAR降低44.55%。實(shí)驗(yàn)B中,CNN-TRAN較CNN-LSTM的Acc提高7.64%,P提高9.64%,FAR降低55.04%。這是由于在時(shí)序注意力編碼層中,注意力機(jī)制可以對(duì)輸入的網(wǎng)絡(luò)流中所有的數(shù)據(jù)包在不考慮距離的前提下進(jìn)行全局建模,比LSTM的順序建模更加有效,可以有效地挖掘網(wǎng)絡(luò)流數(shù)據(jù)包之間顯著的時(shí)序特征。尤其在實(shí)驗(yàn)B中檢測(cè)Analysis、Backdoors、DoS和Worms這四類(lèi)數(shù)量相對(duì)稀少的異常流量時(shí)性能提升比較明顯。另外,實(shí)驗(yàn)A中CNN-LSTM較實(shí)驗(yàn)B中CNN-LSTM的三項(xiàng)指標(biāo)變化率大于實(shí)驗(yàn)A中CNN-TRAN較實(shí)驗(yàn)B中CNN-TRAN的三項(xiàng)指標(biāo)變化率,說(shuō)明本文方法的魯棒性較強(qiáng)。
為了進(jìn)一步直觀地對(duì)比三種方法,以實(shí)驗(yàn)B中對(duì)Fuzzers檢測(cè)為例,對(duì)照各方法的檢測(cè)結(jié)果,找到了兩個(gè)Fuzzers的會(huì)話流樣本,如圖11和圖12所示。
圖11 被三種方法正確檢測(cè)的會(huì)話流樣本
圖12 僅被CNN-TRAN正確檢測(cè)的會(huì)話流樣本
每個(gè)會(huì)話流包括15個(gè)Fuzzers數(shù)據(jù)包圖片,IP地址為184.82.139.38和192.168.0.251。第二個(gè)會(huì)話流的每個(gè)數(shù)據(jù)包圖最后黑色圖像是填充的0,比第一個(gè)會(huì)話流的有效數(shù)據(jù)少,第一個(gè)會(huì)話流被三種方法正確檢測(cè),第二個(gè)會(huì)話流僅被CNN-TRAN正確檢測(cè)。CNN-TRAN在空間特征較少的情況下,利用多頭注意力機(jī)制著重挖掘了數(shù)據(jù)包之間的時(shí)序特征,在一定程度上說(shuō)明了多頭注意力機(jī)制的全局建模能力優(yōu)于LSTM。
本文提出一種基于時(shí)空自注意力特征的異常流量檢測(cè)方法,通過(guò)引入Transformer編碼器,解決了當(dāng)前包含RNN結(jié)構(gòu)的異常流量檢測(cè)框架無(wú)法并行利用全局流量數(shù)據(jù)包挖掘時(shí)序特征的問(wèn)題。該框架利用卷積網(wǎng)絡(luò)層提取網(wǎng)絡(luò)流中單個(gè)數(shù)據(jù)包的空間特征,時(shí)序注意力編碼層利用自注意力機(jī)制提取數(shù)據(jù)包之間的顯著時(shí)序關(guān)聯(lián)特征,有效地提高了異常流量檢測(cè)性能。雖然本文方法較對(duì)比方法有提升,但是個(gè)別異常流量類(lèi)別的檢測(cè)性能依然受到樣本數(shù)量少的影響,下一步準(zhǔn)備在該檢測(cè)框架中引入條件生成對(duì)抗網(wǎng)絡(luò),生成小類(lèi)別異常流量的對(duì)抗樣本,豐富訓(xùn)練樣本,進(jìn)一步提高檢測(cè)性能。