徐科兵,陳贊波,鄒 翔,王則揚(yáng),王韜樾,5
(1.國(guó)網(wǎng)浙江省電力有限公司寧波供電公司,浙江 寧波 315000;2.寧波送變電建設(shè)有限公司永耀分公司,浙江 寧波 315000;3.國(guó)網(wǎng)浙江慈溪市供電有限公司,浙江 慈溪 315300;4.浙江華云信息科技有限公司,杭州 310000;5.天辰威科技(杭州)有限公司,杭州 310000)
隨著網(wǎng)絡(luò)流量多樣化和復(fù)雜化的日趨嚴(yán)重,網(wǎng)絡(luò)攻擊越來越難以實(shí)時(shí)監(jiān)測(cè)。近年來,安全事件頻繁發(fā)生。為了避免網(wǎng)絡(luò)攻擊所造成的嚴(yán)重?fù)p失,構(gòu)建一個(gè)有效的入侵檢測(cè)模型以發(fā)掘海量流量數(shù)據(jù)中的已有特征規(guī)律無疑是其首要問題。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個(gè)分支,可以通過訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)最大化地認(rèn)知某一類事物的內(nèi)在規(guī)律,對(duì)于發(fā)掘海量網(wǎng)絡(luò)流量數(shù)據(jù)中異常攻擊流量的內(nèi)在規(guī)律具有獨(dú)特優(yōu)勢(shì)。
在入侵檢測(cè)所涉及的諸多問題中,對(duì)于異常流量的檢測(cè)方法是其主要研究方向,而設(shè)計(jì)一個(gè)能夠準(zhǔn)確描述網(wǎng)絡(luò)流量的特征集則是提高檢測(cè)性能的關(guān)鍵點(diǎn)[1-2]。目前,已有的數(shù)據(jù)集包括KDD’99、NSL-KDD、UNSW-UB15等,具有較大的數(shù)據(jù)規(guī)模和豐富的特征集合,并且詳細(xì)地記錄了流量數(shù)據(jù)不同維度的屬性。利用神經(jīng)網(wǎng)絡(luò)可以挖掘上述數(shù)據(jù)集內(nèi)部規(guī)律,從而實(shí)現(xiàn)異常攻擊檢測(cè)。
文獻(xiàn)[3-9]的研究為將深度學(xué)習(xí)應(yīng)用于入侵檢測(cè)提供了廣闊的思路,但也存在以下一些問題:第一,鏈路層海量高速的流量性質(zhì)決定了其入侵檢測(cè)模塊不能過于復(fù)雜,而以往研究為了提高分類精度,往往基于高維數(shù)據(jù)集進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,即對(duì)于每一條會(huì)話包含大量屬性,從而導(dǎo)致當(dāng)一個(gè)數(shù)據(jù)包到來時(shí)需要獲取其訓(xùn)練時(shí)所需的詳細(xì)特征集,對(duì)實(shí)際應(yīng)用提出了巨大的計(jì)算要求;第二,以往研究均基于大量非鏈路層信息進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,而當(dāng)攻擊者對(duì)這些信息進(jìn)行偽裝時(shí),神經(jīng)網(wǎng)絡(luò)的分類精度會(huì)受較大的影響;第三,實(shí)際流量中異常流量規(guī)模相對(duì)正常流量往往偏小,而以往研究所使用的數(shù)據(jù)集在訓(xùn)練數(shù)據(jù)時(shí)則提供了大量的異常流量占比,例如NSL-KDD所提供的訓(xùn)練集中,異常流量占總流量的46.52%,而在實(shí)際流量中該異常流量占比幾乎不可能實(shí)現(xiàn)。
針對(duì)上述問題,本文重點(diǎn)探討端口互動(dòng)模式在鏈路層的映射(Port Interaction Mode in Data Link Layer,PIMDL)以實(shí)現(xiàn)對(duì)流量數(shù)據(jù)的量化表達(dá),并以數(shù)據(jù)包的到達(dá)時(shí)間分布作為一維特征,對(duì)傳統(tǒng)基于高維流量特征集的訓(xùn)練方法進(jìn)行改進(jìn),并通過仿真實(shí)驗(yàn)驗(yàn)證了所提出的量化模型和改進(jìn)算法的有效性。主要工作如下:
首先,提出了一種端口互動(dòng)模式在鏈路層映射的詳細(xì)定義和量化表示方法,并使用相空間重構(gòu)將PIMDL可視化以展示正常流量和異常流量的差異,從而證明其有效性。在此基礎(chǔ)上,使用自相關(guān)圖分別探究長(zhǎng)會(huì)話和短會(huì)話各自的特征,并通過平衡引入偏差和樣本豐富度來確定樣本選取范圍,以便于選取對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò),使其最大程度地發(fā)掘正常流量和異常流量之間的差異。其次,給出了異常流量數(shù)據(jù)增強(qiáng)的方法,并針對(duì)長(zhǎng)短會(huì)話各自特征設(shè)計(jì)了基于卷積層和長(zhǎng)短時(shí)記憶層的神經(jīng)網(wǎng)絡(luò),用來挖掘正常和異常流量端口互動(dòng)模式之間的差異。在此基礎(chǔ)上,提出了一種改進(jìn)入侵檢測(cè)算法,設(shè)計(jì)多模型評(píng)分機(jī)制對(duì)會(huì)話進(jìn)行評(píng)估,將會(huì)話映射到三維模型空間內(nèi),使用支持向量機(jī)(Support Vector Machine,SVM)對(duì)模型空間內(nèi)的會(huì)話完成流量分類。
在TCP/IP協(xié)議下的通信可以看作端口間的信息交互,即將一對(duì)端口間的信息交互過程稱為會(huì)話。在理想情況下該模式嚴(yán)格遵守TCP/IP協(xié)議規(guī)定,而在實(shí)際情況下由于高層協(xié)議、路由拓?fù)浣Y(jié)構(gòu)、不可控網(wǎng)絡(luò)延遲等影響,該模式在鏈路層會(huì)呈現(xiàn)出較為靈活的規(guī)律。從鏈路層的角度出發(fā),其數(shù)據(jù)包到達(dá)時(shí)間分布在一定程度上代表著端口間的互動(dòng)模式,如圖1所示。
圖1 PIMDL形成
基于原始流量構(gòu)建端口間會(huì)話的PIMDL模型如下:
首先,根據(jù)通信雙方的IP、端口號(hào)等信息,將網(wǎng)絡(luò)流量歸類為會(huì)話集C={c1,c2,…,cn},其中ci∈C為一對(duì)通信雙方間的會(huì)話。設(shè)tci表示ci的持續(xù)時(shí)間,并以ci的開始時(shí)刻為基準(zhǔn)(零時(shí)刻)。設(shè)Δt為步長(zhǎng),將ci劃分為ni個(gè)時(shí)間段,ni=tci/Δt,如圖2所示。
圖2 PIMDL量化模型
表1 PIMDL矩陣
基于上述量化模型,可以通過統(tǒng)計(jì)其特征集的分布情況,進(jìn)一步發(fā)掘其隱藏的高層互動(dòng)模式,從而判斷PIMDL是否異常,以實(shí)現(xiàn)鏈路層的流量入侵檢測(cè)。
混沌時(shí)間序列是一種確定系統(tǒng)中出現(xiàn)的無規(guī)則的運(yùn)動(dòng),而PIMDL受到網(wǎng)絡(luò)高層協(xié)議、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)等確定因素的影響呈現(xiàn)出較為復(fù)雜的表現(xiàn)形式,因此,可以在一定程度上將其近似為混沌時(shí)間序列。基于嵌入定理,從一維混沌時(shí)間序列中重構(gòu)一個(gè)與原動(dòng)力系統(tǒng)在拓?fù)湟饬x下一樣的相空間,其過程如下:
對(duì)于時(shí)間序列{xi|i=1,2,…,n},可以重構(gòu)出其對(duì)應(yīng)的高維相空間{yi|i=1,2,…,n-(dim-1)lag}。其中,lag為延遲時(shí)間位數(shù),dim為嵌入維度,yi={xi,xi+lag,…,xi+(dim-1)lag}。以下分別采用交互信息法和虛假鄰近法以確定lag和dim的取值。
1.2.1 lag取值確定
假設(shè)離散信息系統(tǒng)X={x1,x2,…,xn}。從系統(tǒng)中獲得的信息熵為
(1)
式中:Pr(xi)表示事件xi的概率。則隨機(jī)過程X、Y的交互信息為
I(X,Y)=H(X)+H(Y)-H(X,Y)。
(2)
式中:
(3)
式(3)中Pr(xi,yj)表示事件xi和yi的聯(lián)合概率。將xi根據(jù)lag分割成xi和xi+lag,且i=1,2,…,n-lag,則I(xi,xi+lag)等價(jià)于I(lag)。I(lag)=0表示xi+lag完全不可預(yù)測(cè),即兩者完全不相關(guān)。隨著lag的增加,I(lag)第一個(gè)極小值表示了xi和xi+lag不相關(guān)的最大概率,因此,重構(gòu)時(shí)選擇其前幾個(gè)極小值所對(duì)應(yīng)的lag[10]。
圖3 交互信息變化情況
圖3中的橫軸表示延遲時(shí)間lag,縱軸表示相應(yīng)lag取值下xi和xi+lag的互信息量I(lag)。圖中結(jié)果顯示,隨機(jī)抽取的樣本在交互信息到達(dá)第二個(gè)極小值時(shí),延遲時(shí)間lag集中在1.8 s附近。因此,根據(jù)上述結(jié)果,互動(dòng)模式相空間重構(gòu)的延遲時(shí)間選擇為1.8 s。
1.2.2 dim取值確定
基于虛假鄰近法和重構(gòu)相空間,在dim維相空間中,每一個(gè)矢量yi都有一個(gè)歐氏距離的最鄰近點(diǎn)(False Nearest Neighbors,FNN)。而對(duì)于實(shí)際的混沌時(shí)間序列,從dim的最小值2開始,計(jì)算虛假最鄰近點(diǎn)的比例,并逐漸增加dim取值,直到虛假最鄰近點(diǎn)的比例小于5%或其個(gè)數(shù)不再隨著dim的增加而減少時(shí),可以認(rèn)為混沌吸引子已經(jīng)完全打開,此時(shí)dim取值就是最終求得的嵌入維數(shù)[11]。
依據(jù)上述方法,為了確定重構(gòu)互動(dòng)模式下時(shí)序相空間的最佳嵌入維度,選取持續(xù)時(shí)間為500~600 s的會(huì)話,并將數(shù)據(jù)包個(gè)數(shù)取200~1 200,以125為間隔分成8組,對(duì)每組進(jìn)行隨機(jī)抽樣,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 FNN隨嵌入維度變化情況
圖4中橫軸表示嵌入維度dim,縱軸為在延遲時(shí)間lag=0.6 s時(shí)對(duì)應(yīng)dim的相空間FNN數(shù)目。由圖4可知,FNN在dim=160時(shí)基本完全收斂,即認(rèn)為在當(dāng)前數(shù)集下,dim≥160時(shí),混沌吸引子完全打開。
1.2.3 PIMDL有效性驗(yàn)證
為了驗(yàn)證提出的PIMDL模型有否有效,先對(duì)其進(jìn)行可視化。針對(duì)正常流量和異常流量,均獲取數(shù)據(jù)包個(gè)數(shù)大于200且持續(xù)時(shí)間500~600 s的會(huì)話,取時(shí)間間隔Δt=0.6 s,將所有會(huì)話量化為表1所示的PIMDL矩陣。
根據(jù)1.2.1和1.2.2中對(duì)延遲時(shí)間位數(shù)和嵌入維度分析,取lag=1.8 s,dim=160,并獲取CICIDS-2017數(shù)據(jù)集[12]和CTU-13數(shù)據(jù)集[13]作為異常攻擊流量數(shù)據(jù)來源,結(jié)果如圖5所示。
圖5 正常&異常流量會(huì)話
由圖5可以看出正常流量顏色較為單一,而異常流量顏色較為鮮艷,且呈現(xiàn)多樣化。實(shí)驗(yàn)結(jié)果與網(wǎng)絡(luò)環(huán)境的實(shí)際情況相符,即正常的端口間會(huì)話模式遵循嚴(yán)格的TCP/IP協(xié)議,有著一致的互動(dòng)模式,而異常端口間會(huì)話模式?jīng)]有明顯的規(guī)律,其互動(dòng)模式呈多樣化,且與正常模式保持較大差距。上述實(shí)驗(yàn)表明,表1所提出的PIMDL對(duì)網(wǎng)絡(luò)流量的量化表達(dá)是有效的。
PIMDL可以看作基于時(shí)間序列的特征集,基于網(wǎng)絡(luò)會(huì)話的長(zhǎng)度,可以將流量分為較長(zhǎng)和較短會(huì)話兩類。由于數(shù)據(jù)特征決定著其神經(jīng)網(wǎng)絡(luò)類型的選取,因此,針對(duì)兩類會(huì)話分別探究其時(shí)間序列的自相關(guān)性,從而依據(jù)其各自的屬性構(gòu)建神經(jīng)網(wǎng)絡(luò)。
對(duì)于每一組端口間會(huì)話的PIMDL矩陣,利用自相關(guān)圖對(duì)此狀態(tài)序列進(jìn)行一致性驗(yàn)證。自相關(guān)函數(shù)定義如下[14]:
(4)
式中:Xs、Xe表示從初始隨機(jī)過程X中分別截取開始時(shí)刻為ts和te(ts (5) 設(shè)延遲時(shí)間τ=te-ts,以ts為基準(zhǔn)時(shí)刻,即0時(shí)刻,則式(4)可以轉(zhuǎn)化為 (6) 式(6)中對(duì)于具有固定長(zhǎng)度的隨機(jī)過程X,當(dāng)延遲時(shí)間τ增加時(shí),為了保證Xs和Xe容量相同且連續(xù),兩者的容量都會(huì)減小。 此外,若兩個(gè)隨機(jī)過程的自相關(guān)函數(shù)值處在置信區(qū)間內(nèi)時(shí),則認(rèn)為兩個(gè)隨機(jī)過程在一定置信度下不相關(guān)。自相關(guān)函數(shù)置信區(qū)間的定義如下[15]: (7) 式中:acc表示置信度;L表示樣本容量;erf()為誤差函數(shù), (8) 圖6 短會(huì)話下的自相關(guān)圖 圖6中,橫軸表示延遲時(shí)間τ,縱軸表示Xs和Xe的皮爾遜相關(guān),淺藍(lán)色區(qū)域?yàn)閷?duì)應(yīng)τ下置信度為95%的置信區(qū)間。由圖6可以看出,隨著延遲時(shí)間的增加,自相關(guān)圖出現(xiàn)了“截尾”現(xiàn)象,即序列的自相關(guān)值收斂在了置信區(qū)間內(nèi)。實(shí)驗(yàn)結(jié)果說明τ增大到一定程度時(shí),Xs和Xe不再具有明顯的相關(guān)性,即序列不再表現(xiàn)出明顯的自相關(guān)性。這種現(xiàn)象下的時(shí)間序列稱為“平穩(wěn)時(shí)間序列”,表明時(shí)間序列中的前后狀態(tài)相互獨(dú)立。 與較短會(huì)話相比,獲取持續(xù)時(shí)間為3 500~3 600 s的較長(zhǎng)時(shí)間會(huì)話。為了避免圖像雜亂,取時(shí)間間隔為1s,重復(fù)上述自相關(guān)圖的繪制過程,實(shí)驗(yàn)結(jié)果如圖7所示。 為了突出兩類會(huì)話的區(qū)別,長(zhǎng)會(huì)話的自相關(guān)圖中每個(gè)數(shù)據(jù)點(diǎn)均與橫坐標(biāo)有一條連線。從圖7可以看出,隨著延遲時(shí)間的增加,序列自相關(guān)圖沒有出現(xiàn)“截尾”現(xiàn)象,即沒有呈現(xiàn)出較好的平穩(wěn)性。而自相關(guān)函數(shù)值周期性地出現(xiàn)在了置信區(qū)間以外,表明較長(zhǎng)會(huì)話序列可以近似為一段自相關(guān)序列,即時(shí)間序列的前后狀態(tài)相關(guān)。類似的其他屬性下的樣本均與圖7呈現(xiàn)了相似的性質(zhì)。 目前異常流量數(shù)據(jù)集對(duì)于端口間長(zhǎng)時(shí)間的互動(dòng)信息考慮較少,且無法全面地概括異?;?dòng)的時(shí)序特征,而深度學(xué)習(xí)的精度非常依賴訓(xùn)練集規(guī)模,如果輸入樣本無法概括本類別所有樣本的特征,則其會(huì)出現(xiàn)明顯的“過擬合”現(xiàn)象,即在訓(xùn)練集上的精度較好,但無法泛化到現(xiàn)實(shí)的預(yù)測(cè)中。此外,現(xiàn)有數(shù)據(jù)集(如CICIDS-2017)出現(xiàn)了大量的持續(xù)時(shí)間為24 h以上的長(zhǎng)時(shí)間異常會(huì)話,而較長(zhǎng)與較短會(huì)話包含的特征量不相同,統(tǒng)一處理容易造成數(shù)據(jù)浪費(fèi)。針對(duì)該問題,本文提出一種異常流量互動(dòng)模式數(shù)據(jù)增強(qiáng)方法,將較長(zhǎng)會(huì)話進(jìn)行時(shí)序切分以獲取其不同時(shí)間段的特征作為單獨(dú)樣本,即將長(zhǎng)會(huì)話增強(qiáng)為若干短會(huì)話,具體方法如圖8所示。 圖8 數(shù)據(jù)增強(qiáng) 獲取CICIDS-2017和CTU-13全部數(shù)據(jù),對(duì)其進(jìn)行60%的隨機(jī)采樣作為訓(xùn)練樣本,剩余40%作為后續(xù)模擬實(shí)驗(yàn)測(cè)試樣本。確定增強(qiáng)樣本的最大會(huì)話時(shí)間tmax,并對(duì)異常集Ca進(jìn)行數(shù)據(jù)增強(qiáng):若ci∈Ca的持續(xù)時(shí)間tci (a)增強(qiáng)前 (b)增強(qiáng)后圖9 數(shù)據(jù)增強(qiáng)前后的數(shù)據(jù)分布情況 由于卷積神經(jīng)網(wǎng)絡(luò)可以很好地獲取自相似數(shù)據(jù)中的特征,并能夠以較小的計(jì)算量進(jìn)行學(xué)習(xí),而長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)則是一種循環(huán)神經(jīng)網(wǎng)絡(luò),更適合于處理和預(yù)測(cè)時(shí)間序列中間隔和延遲相對(duì)較長(zhǎng)的事件[16]。因此,針對(duì)1.3節(jié)中較短會(huì)話的平穩(wěn)性和較長(zhǎng)會(huì)話的自相關(guān)性,分別基于卷積層和LSTM層構(gòu)建神經(jīng)網(wǎng)絡(luò),并在此基礎(chǔ)上驗(yàn)證正常流量和異常流量間互動(dòng)模式的差異。 根據(jù)1.3節(jié)中的最優(yōu)時(shí)間窗口范圍選取,以100 s為步長(zhǎng)分割樣本集。由于樣本容量差距較大,對(duì)于不同的樣本容量,對(duì)其較大的一方進(jìn)行隨機(jī)采樣,使其等于較小一方的容量值。而針對(duì)整體容量較小的問題,3組實(shí)驗(yàn)全部使用K折驗(yàn)證減小驗(yàn)證方差。實(shí)驗(yàn)CPU為 i7-6700,GPU加速器為NVIDIA Tesla K80,實(shí)驗(yàn)結(jié)果如圖10所示。 圖10 實(shí)驗(yàn)結(jié)果對(duì)比 2.3.1 改進(jìn)入侵檢測(cè)算法 對(duì)異常流量進(jìn)行分段式數(shù)據(jù)增強(qiáng),使得神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)大量的分段異常特征,從而3組神經(jīng)網(wǎng)絡(luò)分別可以擬合PIMDL持續(xù)時(shí)間在(10,110)、(110,210)、(210,310)的特征。但將其用于入侵檢測(cè)還需解決以下問題: 一是需要預(yù)知會(huì)話持續(xù)時(shí)間的最大值才能得到其完整信息。真實(shí)的流量產(chǎn)生中,會(huì)話的持續(xù)時(shí)間無法提前預(yù)知,造成了只有當(dāng)會(huì)話結(jié)束時(shí)才可以使用神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,大大降低了入侵檢測(cè)的實(shí)時(shí)性。 二是神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中,將異常流量進(jìn)行分段式的數(shù)據(jù)增強(qiáng),得到的3組神經(jīng)網(wǎng)絡(luò)均僅擬合了PIMDL的分段特征,而不是總體特征。如何將其用于實(shí)際需要進(jìn)一步處理。 針對(duì)上述問題,設(shè)計(jì)了一種神經(jīng)網(wǎng)絡(luò)間的協(xié)作機(jī)制,對(duì)網(wǎng)絡(luò)流量進(jìn)行綜合評(píng)估以確定異常流量。即通過3組神經(jīng)網(wǎng)絡(luò)給會(huì)話PIMDL依次評(píng)分(得分介于[0,1],由其sigmoid激活函數(shù)計(jì)算),根據(jù)會(huì)話PIMDL的3組模型評(píng)分將會(huì)話映射到三維空間,并通過預(yù)訓(xùn)練的SVM模型進(jìn)行流量分類,具體流程如圖11所示。 圖11所示的算法流程分為會(huì)話評(píng)分模塊和入侵檢測(cè)模塊兩個(gè)模塊。會(huì)話評(píng)分模塊的主要任務(wù):當(dāng)會(huì)話超過100 s、200 s、300 s時(shí),分別使用model_1、model_2、model_3進(jìn)行評(píng)分。如果會(huì)話數(shù)據(jù)包跳躍間隔過長(zhǎng)(如沒有出現(xiàn)100~200 s的數(shù)據(jù)包),則進(jìn)行進(jìn)一步的預(yù)測(cè)時(shí),需要重新使用較低模型(如model_1)進(jìn)行評(píng)估,以保證所有會(huì)話均按照model_1、model_2、model_3順序進(jìn)行模型評(píng)分。當(dāng)會(huì)話超過300 s時(shí),將此會(huì)話所有到達(dá)時(shí)間記錄清空,以保持會(huì)話持續(xù)時(shí)間始終保持在(0 s,300 s)區(qū)間內(nèi)。而對(duì)于長(zhǎng)會(huì)話,由于反復(fù)清空到達(dá)時(shí)間,其某一種模型評(píng)分可能多于一個(gè)。入侵檢測(cè)模塊的主要任務(wù):在時(shí)間周期末獲取所有擁有3個(gè)模型評(píng)分的會(huì)話,將3個(gè)評(píng)分(若某一評(píng)分多于一個(gè),則取其平均值)映射到三維坐標(biāo)系,并使用預(yù)訓(xùn)練的SVM模型進(jìn)行分類,以達(dá)到入侵檢測(cè)的目的。預(yù)訓(xùn)練的SVM模型的獲取方式:首先將上述訓(xùn)練數(shù)據(jù)(異常流量采用初始流量60%的訓(xùn)練流量注入到正常流量中)使用改進(jìn)入侵檢測(cè)算法進(jìn)行訓(xùn)練,周期性地得到三維空間上有標(biāo)注的正常會(huì)話和異常會(huì)話的映射,10 min、20 min、30 min、40 min的正常和異常會(huì)話如圖12所示。 圖11 入侵檢測(cè)具體流程 圖12中X、Y、Z軸分別表示3個(gè)模型的評(píng)分。由圖12可以看出,異常會(huì)話和正常會(huì)話保持了一定距離,使用SVM可以得到較好的分類效果。選擇2 400 s時(shí)的數(shù)據(jù)訓(xùn)練SVM模型,正常會(huì)話樣本個(gè)數(shù)為15 740,異常會(huì)話樣本個(gè)數(shù)為216。樣本按照7∶3的比例分割訓(xùn)練和測(cè)試集,并選取高斯核函數(shù)為其核函數(shù),令gamma=10,最終模型在訓(xùn)練集和測(cè)試集上的精度分別為98.69%和98.65%。 (a)10 min (b)20 min (c)30 min (d)40 min圖12 正常流量&異常流量PIMDL 2.3.2 實(shí)驗(yàn)結(jié)果分析 基于圖11中的改進(jìn)入侵檢測(cè)算法流程,設(shè)計(jì)模擬實(shí)驗(yàn)以驗(yàn)證其檢測(cè)指標(biāo)。實(shí)驗(yàn)采用將CICIDS-2017和CTU-13混合注入MAWI流量中,為了與訓(xùn)練數(shù)據(jù)保持差距,異常流量采用初始流量40%的測(cè)試流量,正常流量選擇MAWI 4月9日00∶00—02∶00的流量數(shù)據(jù)。依照該算法流程,在每個(gè)周期統(tǒng)計(jì)其精確度ACC、檢測(cè)率DR,以及虛警率FAR,三者定義分別如下: (9) (10) (11) 式中:TP表示被正確識(shí)別出的異常會(huì)話數(shù)目;TN表示被正確識(shí)別出的正常會(huì)話數(shù)目;FP表示被錯(cuò)誤識(shí)別出的正?;卦挃?shù)目;FN表示被錯(cuò)誤識(shí)別的異常會(huì)話數(shù)目。 系統(tǒng)運(yùn)行時(shí)間3 500 s,檢測(cè)周期100 s,并從500 s開始統(tǒng)計(jì),每個(gè)檢測(cè)周期統(tǒng)計(jì)上述3個(gè)指標(biāo)。圖13給出了ACC、DR、FAR隨運(yùn)行時(shí)間的變化情況,其均值分別為98.90%,90.13%,0.96%。而當(dāng)系統(tǒng)運(yùn)行結(jié)束時(shí),正常會(huì)話個(gè)數(shù)為16 442,異常會(huì)話個(gè)數(shù)為405,異常流量占總流量的2.4%,體現(xiàn)了該改進(jìn)算法在異常會(huì)話規(guī)模遠(yuǎn)小于正常會(huì)話規(guī)模的情況下,依舊可以具有較高的精度和檢測(cè)率,以及較低的虛警率。 圖13 注入實(shí)驗(yàn)結(jié)果 為了測(cè)試所提出的改進(jìn)算法在計(jì)算速率方面的提升,使用獲取KDD’99數(shù)據(jù)集作為基準(zhǔn),以MAWI數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),先根據(jù)基準(zhǔn)方法,在真實(shí)的流量產(chǎn)生過程中獲取其所有41維數(shù)據(jù)。而當(dāng)某一屬性無法獲取時(shí),則跳過該屬性。統(tǒng)計(jì)模擬流量產(chǎn)生過程中每過1 s算法的求解時(shí)間,結(jié)果如圖14所示。 圖14 處理時(shí)間變化情況 圖14中橫軸表示流量產(chǎn)生時(shí)間,縱軸表示上一緊前時(shí)間間隔0.1 s的算法求解時(shí)間。系統(tǒng)運(yùn)行900 s下的基準(zhǔn)算法和改進(jìn)算法的平均處理時(shí)間分別為每單位1.627 6 s和0.889 9 s,標(biāo)準(zhǔn)差分別為0.472 0和0.159 5。實(shí)驗(yàn)結(jié)果表明,基準(zhǔn)算法由于需要時(shí)刻維護(hù)持續(xù)2 s、包含100個(gè)連接的流量信息,且頻繁進(jìn)行查詢、計(jì)算等操作,導(dǎo)致其大量計(jì)算負(fù)擔(dān),而改進(jìn)算法僅獲取身份信息和到達(dá)時(shí)間,因此,其計(jì)算時(shí)間復(fù)雜度較低且波動(dòng)性較小。此外,在實(shí)驗(yàn)中跳過了一些屬性的獲取,因此,現(xiàn)實(shí)情況下的基準(zhǔn)算法會(huì)面臨更加復(fù)雜的計(jì)算。 由于基準(zhǔn)算法過于依賴鏈路層以上的協(xié)議數(shù)據(jù),導(dǎo)致其無法準(zhǔn)確識(shí)別偽裝協(xié)議等攻擊流量。為了驗(yàn)證這種局限性,采用隨機(jī)偽裝數(shù)據(jù)集中非鏈路層協(xié)議的方法。數(shù)據(jù)集中非鏈路協(xié)議屬性包括正常用戶的登錄數(shù)量等21個(gè)屬性,對(duì)這些屬性隨機(jī)偽裝,每偽裝一個(gè)屬性記錄一次基準(zhǔn)算法下的ACC。偽裝的流量占比分別為20%,40%,60%和80%,實(shí)驗(yàn)結(jié)果如圖15所示。 (a)20% (b)40% (c)60% (d)80% 圖15中橫軸表示偽裝協(xié)議的個(gè)數(shù),縱軸表示相應(yīng)的多種算法精確度。由于基準(zhǔn)算法大多依靠KDD’99等具有非鏈路層標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練,而當(dāng)這些數(shù)據(jù)被隨機(jī)替換時(shí),其預(yù)測(cè)精度會(huì)有不同程度的下降。從圖15可以看出,不同算法隨著偽裝程度越來越大,其精確度均在下降。表2給出了不同偽裝比例下算法的平均精確度。當(dāng)偽裝率達(dá)到80%時(shí),表2中4個(gè)算法平均精度和最小精度均出現(xiàn)了下降情況,而改進(jìn)算法由于沒有用到上述這些非鏈路層的協(xié)議進(jìn)行訓(xùn)練,其精確度不受偽裝協(xié)議的影響,即穩(wěn)定在98.90%。 表2 算法精確度比較 為了進(jìn)一步探討所提出的改進(jìn)算法在小樣本異常流量分類任務(wù)中精度的改善效果,同樣以上述基準(zhǔn)算法作為參照,降低異常流量規(guī)模,并采用ROC曲線和AUC評(píng)價(jià)其檢測(cè)精度。其中,ROC曲線是DR和FAR(它們?cè)跀?shù)值上等于TPR和FPR)在不同閾值下的表現(xiàn);AUC是ROC曲線下的面積,介于0.1和1之間,用以評(píng)價(jià)分類器的優(yōu)劣,值越大越優(yōu)。不同實(shí)驗(yàn)下各方法的AUC如表3所示。 表3 不同實(shí)驗(yàn)各個(gè)方法的AUC 實(shí)驗(yàn)對(duì)NSL-KDD數(shù)據(jù)集中的異常流量隨機(jī)采樣,將其規(guī)模縮小至上述實(shí)驗(yàn)中的2.4%,以評(píng)估基準(zhǔn)算法對(duì)于小樣本異常流量識(shí)別的準(zhǔn)確性。實(shí)驗(yàn)進(jìn)行10次,并保證隨機(jī)采樣不會(huì)引入新的偏差。10組實(shí)驗(yàn)結(jié)果如圖16所示,橫軸表示FAR,縱軸表示DR(為了簡(jiǎn)化篇幅,文中只展示了第一組實(shí)驗(yàn))。 圖16 小樣本下ROC對(duì)比 理想目標(biāo)為DR=1,FAR=0,即圖16中(0,1)點(diǎn),因此,ROC曲線越靠攏該點(diǎn)、越偏離45°對(duì)角線越優(yōu)。實(shí)驗(yàn)結(jié)果表明,在小樣本異常流量檢測(cè)任務(wù)中,基準(zhǔn)算法的AUC和ROC曲線表現(xiàn)均低于本文所提出的改進(jìn)算法。這是由于神經(jīng)網(wǎng)絡(luò)在訓(xùn)練小樣本時(shí),較小的容量無法概括該類的所有特征,當(dāng)需要對(duì)未標(biāo)注數(shù)據(jù)進(jìn)行分類時(shí),其特征可能沒有被神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),進(jìn)而造成較大誤差。 本文針對(duì)復(fù)雜網(wǎng)絡(luò)環(huán)境下流量端口間的互動(dòng)模式差異,提出了一種PIMDL模型以實(shí)現(xiàn)對(duì)其量化表達(dá),并在對(duì)端口間會(huì)話的一致性進(jìn)行驗(yàn)證的基礎(chǔ)上設(shè)計(jì)了一種基于卷積層和長(zhǎng)短時(shí)記憶層的神經(jīng)網(wǎng)絡(luò)構(gòu)建方法,以認(rèn)知異常流量互動(dòng)模式與其差異。相比以往需要獲取大量屬性進(jìn)行訓(xùn)練的神經(jīng)網(wǎng)絡(luò),重點(diǎn)提供了一種新的訓(xùn)練思路,即通過IP、端口等身份信息進(jìn)行歸類,并僅使用流量數(shù)據(jù)包的到達(dá)時(shí)間進(jìn)行訓(xùn)練,在提高了計(jì)算效率的同時(shí)降低了偽裝身份信息的成功率,降低了神經(jīng)網(wǎng)絡(luò)訓(xùn)練成本,提高了實(shí)際運(yùn)用的可能性。2 神經(jīng)網(wǎng)絡(luò)的構(gòu)建與入侵檢測(cè)算法流程
2.1 異常流量數(shù)據(jù)增強(qiáng)
2.2 基于長(zhǎng)短會(huì)話性質(zhì)的神經(jīng)網(wǎng)絡(luò)構(gòu)建
2.3 基于改進(jìn)入侵檢測(cè)的仿真實(shí)驗(yàn)
3 結(jié) 論