徐雪麗,段 娟,肖創(chuàng)柏,張 斌
(北京工業(yè)大學(xué) 信息學(xué)部,北京 100124)
面對(duì)互聯(lián)網(wǎng)帶來的便利,人們對(duì)網(wǎng)絡(luò)的依賴程度愈來愈高,互聯(lián)網(wǎng)技術(shù)正在逐步改變?nèi)藗兊纳?、工作和學(xué)習(xí)方式.作為一種信息傳遞的載體,顯然網(wǎng)絡(luò)已經(jīng)是人們現(xiàn)實(shí)生活中必不可少的組成部分.然而,我們也面臨著越來越多的網(wǎng)絡(luò)安全威脅問題,新型特征的網(wǎng)絡(luò)攻擊不斷出現(xiàn),因此,網(wǎng)絡(luò)異常檢測(cè)已經(jīng)成為當(dāng)前互聯(lián)網(wǎng)安全問題中一個(gè)亟待解決的問題[1].常用的異常檢測(cè)方法,例如防火墻技術(shù)和身份驗(yàn)證機(jī)制等,因其防護(hù)能力較弱,也僅能夠滿足最基礎(chǔ)的防護(hù)需求.一旦遭到黑客的破壞性攻擊,普通的防護(hù)技術(shù)基本不起作用[2],個(gè)人、公司甚至是國(guó)家的信息數(shù)據(jù)將面臨著泄露等致命的危險(xiǎn).近些年,國(guó)內(nèi)外學(xué)者對(duì)網(wǎng)絡(luò)流量異常檢測(cè)的研究也日益增多,并且他們的研究方法已經(jīng)取得了不錯(cuò)的效果,網(wǎng)絡(luò)異常檢測(cè)方法也已經(jīng)成為安全領(lǐng)域一項(xiàng)重要的研究[3,4],此類系統(tǒng)的目的是識(shí)別已經(jīng)發(fā)生或者正在進(jìn)行的入侵行為[5].
網(wǎng)絡(luò)異常檢測(cè)本質(zhì)上可以歸類為網(wǎng)絡(luò)數(shù)據(jù)報(bào)文的分類問題,即正常網(wǎng)絡(luò)數(shù)據(jù)報(bào)文和異常網(wǎng)絡(luò)數(shù)據(jù)報(bào)文.現(xiàn)有的主流文本分類有兩種類型:傳統(tǒng)的機(jī)器學(xué)習(xí)分類算法和深度學(xué)習(xí)分類算法.前者分類算法主要有K最近鄰算法[6],Boosting 算法[7],支持向量機(jī)[8],K 均值聚類算法[9],樸素貝葉斯模型[10],決策樹模型[11]等.大多數(shù)傳統(tǒng)的機(jī)器學(xué)習(xí)算法屬于淺層學(xué)習(xí),不適合超大批量的高維學(xué)習(xí)的預(yù)測(cè)要求,并不能很好的解決現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境中存在著的復(fù)雜入侵?jǐn)?shù)據(jù)分類問題,因此識(shí)別數(shù)據(jù)報(bào)文的準(zhǔn)確度較低,誤報(bào)率較高[5].相反,深度學(xué)習(xí)算法能夠應(yīng)對(duì)高維度特征的復(fù)雜數(shù)據(jù),與其它機(jī)器學(xué)習(xí)方法相比,采用基于深度學(xué)習(xí)的分類方法能夠從網(wǎng)絡(luò)數(shù)據(jù)中提取更好的特征,以創(chuàng)建較好的模型,在入侵檢測(cè)方面顯著提高了分類的準(zhǔn)確性[12].事實(shí)證明基于深度神經(jīng)網(wǎng)絡(luò)的研究方法在異常檢測(cè)分類問題上較傳統(tǒng)機(jī)器學(xué)習(xí)方法有較高的準(zhǔn)確率和較低的誤報(bào)率.深度學(xué)習(xí)算法的優(yōu)勢(shì)在于它并不依賴于特征工程,并能夠智能有效的識(shí)別入侵行為的異常特征[13].目前,深度學(xué)習(xí)在這一應(yīng)用的分類算法主要有:循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[14],深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)[15],卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[16].卷積神經(jīng)網(wǎng)絡(luò)(CNN)由于其學(xué)習(xí)高維數(shù)據(jù)特征的能力顯著,因此得到廣泛應(yīng)用.
目前,針對(duì)入侵檢測(cè)問題的方法已有大量的國(guó)內(nèi)外學(xué)者開展了相關(guān)方面的研究,近些年,隨著機(jī)器學(xué)習(xí)算法愈來愈受到科研人員的重視,眾多方法被運(yùn)用于網(wǎng)絡(luò)流量入侵異常檢測(cè)領(lǐng)域,相對(duì)于傳統(tǒng)的檢測(cè)機(jī)制檢測(cè)效果有了很大的提升,是當(dāng)前公認(rèn)的有效算法之一.
在無監(jiān)督學(xué)習(xí)方面,Wang Q[17]提出了一種新型的異常檢測(cè)聚類方法FCC,該方法引入了模糊連通性的概念用來計(jì)算不同數(shù)據(jù)類別的實(shí)例之間的相似性,算法不僅可以檢測(cè)已確定的入侵類型特征,還可以檢測(cè)它們的變體.Zhang J 等[18]將機(jī)器學(xué)習(xí)中的隨機(jī)森林算法RF 運(yùn)用于網(wǎng)絡(luò)入侵監(jiān)測(cè)系統(tǒng)上,檢測(cè)網(wǎng)絡(luò)傳輸流量中的異常值,并對(duì)隨機(jī)森林的離群值檢測(cè)算法進(jìn)行了修改,降低了算法的計(jì)算復(fù)雜度,提高了性能.但是該算法表明隨著網(wǎng)絡(luò)攻擊數(shù)量的逐步增加,其性能表現(xiàn)出下降趨勢(shì).Wang ZH 等[19]將基于粒子群的模糊C 均值的算法模型FCM 運(yùn)用到入侵檢測(cè)監(jiān)控系統(tǒng)上,并能夠讓系統(tǒng)檢測(cè)出未標(biāo)識(shí)的原始網(wǎng)絡(luò)流量數(shù)據(jù).該方法能夠克服普通入侵異常監(jiān)測(cè)系統(tǒng)較易陷于局部最優(yōu)問題的缺點(diǎn)和不足.使得檢測(cè)的準(zhǔn)確率有所提升并且該方法也擴(kuò)大了適用性.但該算法的需要耗費(fèi)較長(zhǎng)的時(shí)間,增加了時(shí)間成本,不能保證系統(tǒng)的實(shí)時(shí)性.
在有監(jiān)督學(xué)習(xí)方面,Kim J 等[20]將循環(huán)神經(jīng)網(wǎng)絡(luò)算法模型RNN-IDS 應(yīng)用到入侵檢測(cè)中,該模型將深度神經(jīng)網(wǎng)絡(luò)技術(shù)和ReLU 修正線性單元激活函數(shù)相結(jié)合,通過與隨機(jī)森林、支持向量機(jī)等一些常用的機(jī)器學(xué)習(xí)算法完成了對(duì)比實(shí)驗(yàn),驗(yàn)證了該方法在二分類以及多分類中具有較好的檢測(cè)效果.Dong B 等[21]歸納了普通的機(jī)器學(xué)習(xí)算法在入侵異常檢測(cè)領(lǐng)域中的效果,并給出了與深度學(xué)習(xí)的方法運(yùn)用于入侵檢測(cè)問題上的對(duì)比實(shí)驗(yàn),發(fā)現(xiàn)深度學(xué)習(xí)算法模型在準(zhǔn)確率和誤報(bào)率指標(biāo)上表現(xiàn)的更好,得出了深度學(xué)習(xí)技術(shù)改變了網(wǎng)絡(luò)面臨著的安全評(píng)估挑戰(zhàn)的結(jié)論.Kwon D 等[22]建立了淺層CNN,中層CNN,深層CNN 等3 種用于異常檢測(cè)問題的卷積神經(jīng)網(wǎng)絡(luò)模型,并對(duì)不同深度所帶來的影響作出了評(píng)價(jià).3 個(gè)模型在與傳統(tǒng)的機(jī)器學(xué)習(xí)分類器的比較上具有較高的檢測(cè)精度,但是這些模型在平衡和非平衡數(shù)據(jù)集的檢測(cè)精度方面具有差異.Roy SS 等[23]提出了一種運(yùn)用深度神經(jīng)網(wǎng)絡(luò)的入侵異常檢測(cè)的算法模型,并與支持向量機(jī)(SVM)方法在該領(lǐng)域種的應(yīng)用做了實(shí)驗(yàn)比對(duì),其結(jié)論表明與SVM 用于網(wǎng)絡(luò)入侵系統(tǒng)的效果相當(dāng),驗(yàn)證了深度神經(jīng)網(wǎng)絡(luò)作為入侵攻擊分類器的潛在能力.Yin CL 等在文獻(xiàn)[5]提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的用于入侵異常監(jiān)測(cè)(RNN-IDS)深度學(xué)習(xí)算法模型.并研究了該模型在二元分類和多元分類中的性能,以及所神經(jīng)元包含的數(shù)量和多個(gè)不相同的學(xué)習(xí)速率對(duì)訓(xùn)練模型性能產(chǎn)生的影響,表明了RNN-IDS 優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)算法,更適合于對(duì)分類模型的建模.但是該模型采用的循環(huán)神經(jīng)網(wǎng)絡(luò)存在著潛在的梯度消失和爆炸的風(fēng)險(xiǎn).
當(dāng)前,基于深度學(xué)習(xí)的流量異常檢測(cè)技術(shù)雖然得到眾多國(guó)內(nèi)外研究者的青睞,并表現(xiàn)出來不錯(cuò)的檢測(cè)效果,但是還有很多待改進(jìn)的空間,目前還面臨著以下問題:(1)保證檢測(cè)模型較高的準(zhǔn)確率和較低的誤報(bào)率一直以來都是國(guó)內(nèi)外學(xué)者研究的重點(diǎn),現(xiàn)有的異常檢測(cè)系統(tǒng)的大多數(shù)模型的準(zhǔn)確率還有待進(jìn)一步提高;(2)大多數(shù)異常檢測(cè)算法模型能夠很好的識(shí)別訓(xùn)練數(shù)據(jù),然而在測(cè)試數(shù)據(jù)上顯現(xiàn)出效果不佳的問題,普遍存在著模型過擬合的情況;(3)異常檢測(cè)系統(tǒng)是實(shí)時(shí)在線監(jiān)控?cái)?shù)據(jù)的系統(tǒng),網(wǎng)絡(luò)數(shù)據(jù)傳輸量巨大,保障檢測(cè)的實(shí)時(shí)性是目前在線監(jiān)測(cè)系統(tǒng)需解決的關(guān)鍵性問題,由于很多深度學(xué)習(xí)的模型復(fù)雜參數(shù)過多,導(dǎo)致訓(xùn)練難度加大,模型的訓(xùn)練速度變慢的問題,不能很好的保證實(shí)時(shí)性,因此,提高訓(xùn)練速度至關(guān)重要;(4)在大數(shù)據(jù)時(shí)代下,計(jì)算機(jī)技術(shù)在持續(xù)發(fā)展,網(wǎng)絡(luò)環(huán)境也在不停地產(chǎn)生著改變,對(duì)異常檢測(cè)算法模型的適用性也會(huì)具有更高的要求.
本文針對(duì)以上存在的問題提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)的網(wǎng)絡(luò)流量入侵檢測(cè)方法,考慮到為了適于卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)格式的要求,本研究將每條網(wǎng)絡(luò)數(shù)據(jù)報(bào)文處理成一個(gè)二維矩陣形式.為了防止大多數(shù)網(wǎng)絡(luò)模型存在的過擬合現(xiàn)象,本文采用permutation 將數(shù)據(jù)索引隨機(jī)化,然后將二維數(shù)據(jù)輸入到卷積神經(jīng)網(wǎng)絡(luò)中,從中學(xué)習(xí)數(shù)據(jù)的有效特征.并運(yùn)用支持向量機(jī)分類器做分類處理.最后,通過與本文所采用的數(shù)據(jù)集上其他兩個(gè)主流模型對(duì)比,驗(yàn)證了本模型有較高的準(zhǔn)確率,更適合處理網(wǎng)絡(luò)異常檢測(cè)問題.
本文運(yùn)用Google TensorFlow[23]來實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)模型的訓(xùn)練,本文模型包含了提出的模型和需要對(duì)比的兩種模型.在數(shù)據(jù)集的選擇上,本文使用2013年京都大學(xué)蜜罐系統(tǒng)的網(wǎng)絡(luò)流量數(shù)據(jù)集[24].它包含24 個(gè)統(tǒng)計(jì)特征,即來自1999年KDD CUP 數(shù)據(jù)集的14 個(gè)特征[25],以及10 個(gè)附加特征.在此基礎(chǔ)之上,為了適于本文所提出的算法模型CNN-SVM,通過以下步驟對(duì)數(shù)據(jù)集進(jìn)行了處理:(1)數(shù)據(jù)處理,為了與已有的模型作實(shí)驗(yàn)對(duì)比以及適應(yīng)本文算法模型,本文在原有數(shù)據(jù)集的基礎(chǔ)上對(duì)特征進(jìn)行了補(bǔ)充,但并不對(duì)原有數(shù)據(jù)集產(chǎn)生影響,然后將數(shù)據(jù)集中的每條數(shù)據(jù)處理成一個(gè)5×5 的二維矩陣;(2)標(biāo)簽處理,將原有數(shù)據(jù)集標(biāo)簽0 處理成[1,-1],標(biāo)簽1 處理成[-1,1];(3)數(shù)據(jù)打亂,由于數(shù)據(jù)集固定順序,會(huì)限制梯度優(yōu)化方向的可選擇性,導(dǎo)致收斂點(diǎn)選擇空間變少,以至于造成模型的過擬合.為了防止訓(xùn)練模型過擬合,在數(shù)據(jù)訓(xùn)練之前,對(duì)數(shù)據(jù)集的順序做隨機(jī)改變,從而打亂數(shù)據(jù)的順序.為了不改變?cè)瓟?shù)據(jù)集的順序,該處理方式選用permutation函數(shù)來完成.
隨著愈來愈多的學(xué)者深入到深度學(xué)習(xí)知識(shí)層面,推動(dòng)著深度學(xué)習(xí)廣泛應(yīng)用與各個(gè)領(lǐng)域.其中,卷積神經(jīng)網(wǎng)絡(luò)也是深度學(xué)習(xí)領(lǐng)域的一種非常突出的訓(xùn)練模型的方法,在圖像識(shí)別、圖像處理、人臉識(shí)別、音頻檢索、EGG 分析等應(yīng)用[26]中獲得了非常不錯(cuò)的效果.Agarap 等[27]提出了一種GRU-SVM 模型,并將其應(yīng)用到入侵檢測(cè)分類問題中,取得了較好的效果,受到該論文的啟發(fā),本文提出了一種CNN-SVM 處理模型,利用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù),并將卷積神經(jīng)網(wǎng)絡(luò)的輸出作為SVM 的輸入,模型架構(gòu)如圖1所示.
為適應(yīng)本文CNN-SVM 模型結(jié)構(gòu),將數(shù)據(jù)集進(jìn)行了預(yù)處理,已經(jīng)在數(shù)據(jù)預(yù)處理部分進(jìn)行了介紹,下面將會(huì)對(duì)本文算法過程進(jìn)行詳細(xì)介紹,主要分為兩大部分:卷積神經(jīng)網(wǎng)絡(luò)的處理和支持向量機(jī)的處理.
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積核是最為核心的一個(gè)部分,卷積核設(shè)計(jì)的好壞關(guān)系到數(shù)據(jù)特征提取效果的優(yōu)劣,它是一個(gè)需要特殊設(shè)計(jì)的帶權(quán)值矩陣,卷積核將輸入數(shù)據(jù)對(duì)應(yīng)部分作加權(quán)和,通過激活函數(shù)的處理產(chǎn)生輸出矩陣.為了讓模型學(xué)習(xí)到更多有效的特征,并且盡可能的減少時(shí)間消耗,本文模型采用兩個(gè)卷積層,同時(shí)考慮到本文從數(shù)據(jù)中提取到的特征數(shù)量,所以本文模型中第一個(gè)卷積層采用32 個(gè)卷積核,每個(gè)卷積核設(shè)計(jì)為一個(gè)4×4 的二維矩陣.第二個(gè)卷積層采用16 個(gè)卷積核,卷積核的大小是2×2,這樣經(jīng)過預(yù)處理后的輸入數(shù)據(jù),再經(jīng)過兩個(gè)卷積層的卷積處理,有效的采集了數(shù)據(jù)的局部特征,這些特征會(huì)按一定形式組合在一起,并以此作為卷積層部分的輸出,每經(jīng)過一個(gè)卷積層的處理都會(huì)跟隨一個(gè)用于特征處理的池化層,進(jìn)一步對(duì)數(shù)據(jù)進(jìn)行提取,本文使用的兩個(gè)池化層卷積核大小均為2×2.在經(jīng)過卷積層和池化層的兩次處理后,利用全連接層對(duì)數(shù)據(jù)進(jìn)行處理.另一方面,考慮到ReLU激活函數(shù)具有較好的性能,收斂速度快,減小了梯度消失的可能性,另一個(gè)優(yōu)點(diǎn)是ReLU激活函數(shù)可以將負(fù)值輸入轉(zhuǎn)換成零,如式(1)所示,其中x表示輸入信號(hào),因此小于零區(qū)域的輸入不會(huì)將神經(jīng)元激活,從而稀疏了網(wǎng)絡(luò)結(jié)構(gòu),使得計(jì)算效率較高,同時(shí)在結(jié)合本文模型實(shí)驗(yàn)過程中,表現(xiàn)出了很好的性能,因而使用ReLU作為了本文的激活函數(shù).本文模型的CNN 模型結(jié)構(gòu)參數(shù)如表1所示.
圖1 CNN-SVM 模型結(jié)構(gòu)圖
表1 CNN 模型結(jié)構(gòu)參數(shù)
深度學(xué)習(xí)是一個(gè)對(duì)輸入數(shù)據(jù)不斷迭代學(xué)習(xí),不斷優(yōu)化的過程,數(shù)據(jù)在經(jīng)過CNN 模型處理后,需要進(jìn)行反向傳播以便更新權(quán)重,從而達(dá)到更好的分類效果.因?yàn)榫W(wǎng)絡(luò)異常檢測(cè)屬于典型的二分類問題,同時(shí)支持向量機(jī)本質(zhì)上就是為解決二分類問題而設(shè)計(jì)的,所以本文采用了支持向量機(jī)(SVM)算法計(jì)算鉸鏈損失(hinge loss),然后使用Adam 優(yōu)化函數(shù)來改變梯度.支持向量機(jī)通過一定的映射準(zhǔn)則把非線性的低維空間中的數(shù)據(jù)樣本映射到高維空間,在高維空間中構(gòu)造一個(gè)最優(yōu)的超平面w·x+b=0 ,其中w為該超平面的法向量,b為偏值.對(duì)于卷積層和全連接層處理后的輸出,使用支持向量機(jī)能更好的將其劃分為兩類.
由于L2-SVM 算法相比于L1-SVM 具有更穩(wěn)定的性能,因此本文采用了L2-SVM 算法,其在一定程度上也降低了過擬合的風(fēng)險(xiǎn),數(shù)學(xué)表達(dá)式如式(2)所示.
其中,y′是 實(shí)際標(biāo)簽值,w為該超平面的法向量,b為偏值,n是每批次處理的數(shù)據(jù)量.通過設(shè)置適合于本文模型的懲罰參數(shù)C,使用L2-SVM 計(jì)算出鉸鏈損失,最后利用計(jì)算出的鉸鏈損失以及設(shè)置合理的學(xué)習(xí)率,使用Adam 優(yōu)化函數(shù)來優(yōu)化網(wǎng)絡(luò)參數(shù),這樣便達(dá)到了更好的訓(xùn)練效果.
總的來說,本文模型根據(jù)網(wǎng)絡(luò)異常檢測(cè)的特點(diǎn),使用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)輸入數(shù)據(jù)的有效特征,最后使用L2-SVM 算法計(jì)算出鉸鏈損失,從而根據(jù)損失來優(yōu)化網(wǎng)絡(luò)參數(shù),得到了更好的分類效果.
為了驗(yàn)證本文模型CNN-SVM 的檢測(cè)效果,實(shí)驗(yàn)在8 GB 內(nèi)存、Intel(R)Core(TM)i5-4590 CPU2@3.30 GHz的計(jì)算機(jī)上進(jìn)行.本文包含3 個(gè)實(shí)驗(yàn),分別是本文模型CNN-SVM、傳統(tǒng)的入侵檢測(cè)模型GRU-Softmax 和Agarap 等[27]提出的GRU-SVM 模型,實(shí)驗(yàn)將本文模型與其它兩個(gè)模型在多方面進(jìn)行了詳細(xì)對(duì)比.
為了更好的與另外兩個(gè)模型進(jìn)行實(shí)驗(yàn)對(duì)比,在評(píng)價(jià)指標(biāo)中使用了混淆矩陣,該評(píng)價(jià)矩陣是2×2 的情況分析表,它非常適宜于對(duì)二分類運(yùn)用情況的評(píng)價(jià),以矩陣形式匯總數(shù)據(jù)集中的真實(shí)值的類別和預(yù)測(cè)值的類別,然后根據(jù)此矩陣進(jìn)行判斷,模型評(píng)估的混淆矩陣如表2所示,橫向是預(yù)測(cè)的值,縱向是真實(shí)的值.其中,TP代表著真實(shí)值屬于正類,預(yù)測(cè)值屬于正類的數(shù)量;TN代表著真實(shí)值屬于負(fù)類,預(yù)測(cè)值屬于負(fù)類的數(shù)量;FP代表著真實(shí)值屬于負(fù)類,預(yù)測(cè)值屬于正類的數(shù)量;FN代表著真實(shí)值屬于正類,預(yù)測(cè)值屬于負(fù)類的數(shù)量.
表2 模型評(píng)估的混淆矩陣
結(jié)合混淆矩陣,本文對(duì)真陽性率、真陰性率、假陽性率以及假陰性率進(jìn)行實(shí)驗(yàn)了對(duì)比,其中,式(3)至式(6)表示的是實(shí)驗(yàn)結(jié)果中的真陽性率,真陰性率,假陽性率和假陰性率的計(jì)算方法,名詞含義如表3所示.
另外,本文實(shí)驗(yàn)在準(zhǔn)確率、召回率、精準(zhǔn)率以及誤報(bào)率4 個(gè)方面進(jìn)行了對(duì)比,各性能指標(biāo)的公式如式(7)至式(10)所示,各個(gè)公式的釋義如表4所示.
表3 名詞含義
表4 名詞釋義
為了更加真實(shí)、可靠的進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練,實(shí)驗(yàn)采用權(quán)威數(shù)據(jù)集—京都大學(xué)蜜罐系統(tǒng)的網(wǎng)絡(luò)流量數(shù)據(jù)[24]進(jìn)行實(shí)驗(yàn),其中,用于訓(xùn)練模型的數(shù)據(jù)集和用于測(cè)試的數(shù)據(jù)集的具體分布情況如表5所示.
表5 訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集的類別分布情況(單位:條)
在進(jìn)行實(shí)驗(yàn)過程中,會(huì)使用到較多預(yù)先設(shè)定的超參數(shù),CNN-SVM、GRU-Softmax 和GRU-SVM 這3 種網(wǎng)絡(luò)算法模型所采用的超參數(shù)如表6所示,其中,超參數(shù)分別是Batch_Size (每批處理的數(shù)據(jù)條數(shù))、EPOCHS(訓(xùn)練的輪次數(shù))、LEARNING_RATE (學(xué)習(xí)率)、CELL_SIZE (隱藏單元的個(gè)數(shù))、NUM_CLASS (類別數(shù)量)、KEEP_PROB (元素被保留的概率)、SVM_C (懲罰參數(shù)).
通過實(shí)驗(yàn),模型CNN-SVM、GRU-Softmax 和GRU-SVM 測(cè)試后TP、TN、FP、FN統(tǒng)計(jì)情況分布如表7所示.
通過計(jì)算CNN-SVM、GRU-Softmax 和GRUSVM 等3 種網(wǎng)絡(luò)模型的測(cè)試性能:真陽性率、真陰性率、假陽性率、假陰性率如表8所示.實(shí)驗(yàn)表明,本文模型CNN-SVM 通過上述4 個(gè)方面參數(shù)比較,誤判率較低,其性能都優(yōu)于另外兩個(gè)模型,從而提高了網(wǎng)絡(luò)異常檢測(cè)的準(zhǔn)確率.
表6 3 種模型實(shí)驗(yàn)超參數(shù)設(shè)置
表7 3 種模型測(cè)試的TP、TN、FP、FN數(shù)量分布
表8 3 種模型測(cè)試性能
另外,實(shí)驗(yàn)對(duì)CNN-SVM、GRU-Softmax 和GRUSVM 等3 種網(wǎng)絡(luò)模型測(cè)試數(shù)據(jù)的準(zhǔn)確率、召回率、精準(zhǔn)率以及誤報(bào)率進(jìn)行了統(tǒng)計(jì),結(jié)果如表9所示.實(shí)驗(yàn)統(tǒng)計(jì)表明,雖然GRU-SVM 的性能相比于GRU-Softmax有較大的提升,但本文模型相較于GRU-SVM 模型有更大的提升,從而證明了本文模型的可行性.
表9 3 種模型在測(cè)試集中表現(xiàn)的評(píng)價(jià)指標(biāo)的統(tǒng)計(jì)數(shù)據(jù)
3種模型的訓(xùn)練時(shí)間如表10所示,其中本文模型CNN-SVM 的訓(xùn)練和測(cè)試時(shí)間都優(yōu)于其它兩個(gè)模型.3 種模型的在訓(xùn)練數(shù)據(jù)集中的準(zhǔn)確率和測(cè)試數(shù)據(jù)集中的準(zhǔn)確率如圖2和圖3所示,從示意圖中能夠看出,本文模型在訓(xùn)練數(shù)據(jù)以及測(cè)試數(shù)據(jù)上準(zhǔn)確率都高于其它兩種模型.
表10 3 種模型所用的訓(xùn)練時(shí)間統(tǒng)計(jì)(單位:s)
圖2 3 種模型在訓(xùn)練數(shù)據(jù)集中的準(zhǔn)確率對(duì)比
圖3 3 種模型在測(cè)試數(shù)據(jù)集中的準(zhǔn)確率對(duì)比
3種模型訓(xùn)練時(shí)的損失變化曲線如圖4、圖5和圖6所示.
從圖4~圖6可以發(fā)現(xiàn),GRU-Softmax 模型損失變化波動(dòng)幅度較大,相比之下CNN-SVM 模型和GRUSVM 模型損失曲線相對(duì)平緩,但從曲線變化趨勢(shì)可以看出CNN-SVM 要優(yōu)于GRU-SVM 模型,因而可以看出本研究所提出的模型在收斂性方面表現(xiàn)最好.
圖4 CNN-SVM 模型訓(xùn)練的損失變化曲線
圖5 GRU-SVM 模型訓(xùn)練的損失變化曲線
圖6 GRU-Softmax 模型訓(xùn)練的損失變化曲線
本文提出了一種新型的網(wǎng)絡(luò)入侵異常檢測(cè)方法模型CNN-SVM,該模型首先利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行處理,通過多個(gè)卷積層和池化層,學(xué)習(xí)訓(xùn)練數(shù)據(jù)中的有效特征,然后將卷積神經(jīng)網(wǎng)絡(luò)的輸出作為支持向量機(jī)(SVM)的輸入.通過與傳統(tǒng)模型GRU-Softmax 和新模型GRU-SVM 進(jìn)行實(shí)驗(yàn)對(duì)比,本文模型在準(zhǔn)確率上分別提高了19.39%和12.83%,同時(shí)誤報(bào)率較低,本文模型也大大降低了訓(xùn)練時(shí)間和測(cè)試時(shí)間,從而驗(yàn)證了本文模型在網(wǎng)絡(luò)異常檢測(cè)中具有更好的檢測(cè)效果.但是,本文模型CNN-SVM 僅在當(dāng)前數(shù)據(jù)集上驗(yàn)證了模型的檢測(cè)效果,下一步將會(huì)把本文模型應(yīng)用到多種數(shù)據(jù)集上,并繼續(xù)優(yōu)化模型,進(jìn)一步提高檢測(cè)效果.