陳 虹,萬(wàn)廣雪,肖振久
(遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105)
基于優(yōu)化數(shù)據(jù)處理的深度信念網(wǎng)絡(luò)模型的入侵檢測(cè)方法
陳 虹,萬(wàn)廣雪*,肖振久
(遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105)
(*通信作者電子郵箱avril_snow@foxmail.com)
針對(duì)目前網(wǎng)絡(luò)中存在的對(duì)已知攻擊類(lèi)型的入侵檢測(cè)具有較高的檢測(cè)率,但對(duì)新出現(xiàn)的攻擊類(lèi)型難以識(shí)別的缺陷問(wèn)題,提出了一種基于優(yōu)化數(shù)據(jù)處理的深度信念網(wǎng)絡(luò)(DBN)模型的入侵檢測(cè)方法。該方法在不破壞已學(xué)習(xí)過(guò)的知識(shí)和不嚴(yán)重影響檢測(cè)實(shí)時(shí)性的基礎(chǔ)上,分別對(duì)數(shù)據(jù)處理和方法模型進(jìn)行改進(jìn),以解決上述問(wèn)題。首先,將經(jīng)過(guò)概率質(zhì)量函數(shù)(PMF)編碼和MaxMin歸一化處理的數(shù)據(jù)應(yīng)用于DBN模型中;然后,通過(guò)固定其他參數(shù)不變而變化一種參數(shù)和交叉驗(yàn)證的方式選擇相對(duì)最優(yōu)的DBN結(jié)構(gòu)對(duì)未知攻擊類(lèi)型進(jìn)行檢測(cè);最后,在NSL-KDD數(shù)據(jù)集上進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,數(shù)據(jù)的優(yōu)化處理能夠使DBN模型提高分類(lèi)精度,基于DBN的入侵檢測(cè)方法具有良好的自適應(yīng)性,對(duì)未知樣本具有較高的識(shí)別能力。在檢測(cè)實(shí)時(shí)性上,所提方法與支持向量機(jī)(SVM)算法和反向傳播(BP)網(wǎng)絡(luò)算法相當(dāng)。
入侵檢測(cè);優(yōu)化數(shù)據(jù)處理;深度學(xué)習(xí);深度信念網(wǎng)絡(luò);未知攻擊檢測(cè)
近年來(lái),國(guó)內(nèi)外網(wǎng)絡(luò)安全事件層出不窮,僅在2015年度發(fā)生的信息泄漏事件就不勝枚舉,越來(lái)越多的企業(yè)和用戶成為網(wǎng)絡(luò)攻擊的受害者,因此,如何保護(hù)隱私信息,使其免受或少受來(lái)自互聯(lián)網(wǎng)惡意用戶的攻擊,已經(jīng)成為當(dāng)今網(wǎng)絡(luò)技術(shù)人員和業(yè)界密切關(guān)注的問(wèn)題。
入侵檢測(cè)系統(tǒng)是信息安全綜合防御系統(tǒng)的重要組成部分,其核心技術(shù)是通過(guò)分析網(wǎng)絡(luò)節(jié)點(diǎn)采集的流量數(shù)據(jù)來(lái)發(fā)現(xiàn)違反安全策略的入侵行為,在發(fā)現(xiàn)可疑通信時(shí)發(fā)出警報(bào)或者采取主動(dòng)反應(yīng)措施,是一種積極主動(dòng)的安全防護(hù)技術(shù)。
入侵檢測(cè)技術(shù)一般分為基于標(biāo)志和基于異常兩類(lèi)[1],傳統(tǒng)檢測(cè)方式都是以離線數(shù)據(jù)庫(kù)的方式實(shí)現(xiàn)的,通過(guò)和本地樣本庫(kù)的已知攻擊樣本進(jìn)行模式匹配來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)上的攻擊檢測(cè)。顯而易見(jiàn),這種方式的缺陷是只能檢測(cè)出樣本庫(kù)中已經(jīng)存在的類(lèi)型攻擊,檢測(cè)過(guò)程中自適應(yīng)能力差,無(wú)法保證能夠應(yīng)對(duì)當(dāng)今日益擴(kuò)大的網(wǎng)絡(luò)規(guī)模和層出不窮的攻擊手段。針對(duì)上述問(wèn)題,則需要設(shè)計(jì)更加智能化方法來(lái)構(gòu)造自適應(yīng)的、對(duì)未知攻擊類(lèi)型識(shí)別率高的、快速的入侵檢測(cè)模型。
在已經(jīng)成功應(yīng)用于入侵檢測(cè)領(lǐng)域的方法中,神經(jīng)網(wǎng)絡(luò)(Neural Network, NN)算法具有自適應(yīng)、自學(xué)習(xí)、較好的容錯(cuò)性,以及能夠進(jìn)行大規(guī)模并行計(jì)算和非線性映射等優(yōu)點(diǎn),非常適用于變化多端的網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù),在一定程度上克服了上述缺陷[2-5]。文獻(xiàn)[5]提出了將增量式生長(zhǎng)型分層自組織映射(Growing Hierarchical Self-Organizing Map, GHSOM)神經(jīng)網(wǎng)絡(luò)模型用于對(duì)未知攻擊類(lèi)型進(jìn)行檢測(cè),取得了較高檢測(cè)率;但在遇到不同類(lèi)型的未知攻擊時(shí),新增子網(wǎng)數(shù)不確定,模型存在著不穩(wěn)定的缺陷。正是由于不同類(lèi)型網(wǎng)絡(luò)攻擊產(chǎn)生的數(shù)據(jù)分布規(guī)律往往難以知道,因此,其他非參數(shù)化方法也廣泛地被應(yīng)用到入侵?jǐn)?shù)據(jù)的分類(lèi)中,包括數(shù)據(jù)挖掘[6-7]、支持向量機(jī)(Support Vector Machine, SVM)[8]和聚類(lèi)方法[9]等。
2006年,文獻(xiàn)[10]提出了利用無(wú)監(jiān)督的、分層訓(xùn)練的深度信念網(wǎng)絡(luò)(Deep Belief Network, DBN)實(shí)現(xiàn)對(duì)數(shù)據(jù)特征提取和分類(lèi),為圖像分類(lèi)、語(yǔ)音識(shí)別等諸多疑難問(wèn)題帶來(lái)了突破性進(jìn)展[11-12]。深度學(xué)習(xí)是對(duì)NN的進(jìn)一步發(fā)展,對(duì)輸入的數(shù)據(jù)進(jìn)行多層特征提取,得到更適合分類(lèi)的特征集,使機(jī)器能更好地學(xué)習(xí)數(shù)據(jù)之間規(guī)律,從而提高對(duì)新樣本的預(yù)測(cè)或分類(lèi)的準(zhǔn)確性。近年來(lái),一些研究人員將DBN應(yīng)用于入侵檢測(cè)領(lǐng)域,逯玉婧[13]提出采用基于DBN模型和隨機(jī)森林(Random Forest, RF)結(jié)合的方式進(jìn)行入侵檢測(cè);Atom等[14]將DBN模型僅用于特征提取,而采用SVM算法對(duì)提取后的特征進(jìn)行分類(lèi)。但在前期數(shù)據(jù)處理上,上述研究都是在將41維原始數(shù)據(jù)映射為122維的基礎(chǔ)上,建立DBN模型進(jìn)行特征提取和分類(lèi)[15-17]。以上方法都是在選用的訓(xùn)練集和測(cè)試集存在相當(dāng)一部分重復(fù)數(shù)據(jù)的前提下,取得較高的檢測(cè)率,但沒(méi)有考慮到如何提高對(duì)未知攻擊類(lèi)型檢測(cè)的問(wèn)題;同時(shí),由于在數(shù)據(jù)處理上大幅增加了原始數(shù)據(jù)維度而導(dǎo)致模型結(jié)構(gòu)復(fù)雜,采用DBN方法和其他算法相結(jié)合增加了算法的復(fù)雜性等原因,可能無(wú)法滿足檢測(cè)的實(shí)時(shí)性,且沒(méi)有充分利用DBN模型強(qiáng)大特征提取能力的優(yōu)點(diǎn)。
針對(duì)上述的數(shù)據(jù)處理對(duì)DBN模型復(fù)雜性和檢測(cè)結(jié)果的影響,以及對(duì)未知攻擊類(lèi)型的檢測(cè)問(wèn)題,本文提出了一種基于優(yōu)化數(shù)據(jù)處理的DBN模型的入侵檢測(cè)方法,在不增加原始數(shù)據(jù)維度的前提下,選擇對(duì)DBN模型而言最優(yōu)的數(shù)據(jù)處理方式和網(wǎng)絡(luò)結(jié)構(gòu),主要解決對(duì)未知類(lèi)型攻擊的檢測(cè)問(wèn)題,同時(shí)盡量不破壞已經(jīng)學(xué)習(xí)到的知識(shí),不降低檢測(cè)實(shí)時(shí)性,并基于NSL-KDD數(shù)據(jù)集設(shè)計(jì)實(shí)驗(yàn)進(jìn)行驗(yàn)證。
DBN作為一種深度模型在學(xué)術(shù)界受到了廣泛的關(guān)注,隨后被成功應(yīng)用到圖像識(shí)別、自然語(yǔ)言處理等領(lǐng)域。結(jié)構(gòu)上,DBN是由若干層無(wú)監(jiān)督的受限玻爾茲曼機(jī)(Restricted Boltzmann Machine, RBM)網(wǎng)絡(luò)和一層有監(jiān)督的反向傳播(Back Propagation, BP)網(wǎng)絡(luò)組成的一種深層神經(jīng)網(wǎng)絡(luò),以包含兩層RBM結(jié)構(gòu)的DBN模型為例,其結(jié)構(gòu)如圖1所示。
DBN的學(xué)習(xí)過(guò)程可分為預(yù)訓(xùn)練(pre-training)和微調(diào)(fine-tuning)兩個(gè)階段。預(yù)訓(xùn)練(pre-training)階段通過(guò)將低一層的RBM輸出作為高一層RBM的輸入,完成對(duì)RBM逐層無(wú)監(jiān)督訓(xùn)練的方式。微調(diào)(fine-tuning)階段將實(shí)際輸出與期望輸出的誤差進(jìn)行反向傳播,采用有監(jiān)督的學(xué)習(xí)方式完成對(duì)頂層的BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而達(dá)到對(duì)pre-training階段初始化的模型參數(shù)調(diào)優(yōu)的目的。因此,RBM 的pre-training過(guò)程可以認(rèn)為是對(duì)一個(gè)深層 BP 網(wǎng)絡(luò)權(quán)值參數(shù)的初始化,這樣就使得DBN克服了 BP 網(wǎng)絡(luò)因隨機(jī)初始化權(quán)值參數(shù)而容易陷入局部最優(yōu)和訓(xùn)練時(shí)間長(zhǎng)的缺點(diǎn)。
1.1 RBM模型
RBM是DBN的基本組成部件,在結(jié)構(gòu)上是具有兩層的淺層神經(jīng)網(wǎng)絡(luò):第一層稱(chēng)為可見(jiàn)層(Visible Layer),也稱(chēng)為輸入層;第二層是隱含層(Hidden Layer),或稱(chēng)為特征提取層。RBM結(jié)構(gòu)如圖2所示,其中:v和h分別代表隱含層和可見(jiàn)層;a和b為隱含層和可見(jiàn)層的偏置(bias);w表示兩層之間的連接權(quán)值。這種結(jié)構(gòu)的特點(diǎn)是層內(nèi)無(wú)連接,層與層之間全連接,因此RBM結(jié)構(gòu)是一個(gè)有向無(wú)環(huán)圖。
圖2 RBM結(jié)構(gòu)
在計(jì)算過(guò)程中,可見(jiàn)層與隱含層的變量取值存在著多樣性,為了方便描述,假設(shè)兩者均為二值變量{0,1}。設(shè)可見(jiàn)層與隱含層節(jié)點(diǎn)數(shù)目分別為m和n,vi和hj分別代表可見(jiàn)層第i個(gè)節(jié)點(diǎn)與隱含層第j個(gè)節(jié)點(diǎn)的狀態(tài)。而RBM是一種典型的基于能量的模型,RBM的能量函數(shù)可描述如下:
(1)
式中:θ=(wij,ai,bj)是RBM的參數(shù),wij表示可見(jiàn)層節(jié)點(diǎn)vi與隱含層節(jié)點(diǎn)hj之間的連接權(quán)值,ai和bj分別表示vi和hj節(jié)點(diǎn)所對(duì)應(yīng)的偏置?;谏鲜龅哪芰亢瘮?shù),(v,h)的聯(lián)合分布概率為:
P(v,h|θ)=e-E(v,h|θ)/Z(θ)
(2)
(3)
由于RBM模型結(jié)構(gòu)特征(層內(nèi)無(wú)連接),因此在給定可見(jiàn)層節(jié)點(diǎn)vi值(經(jīng)過(guò)處理的樣本數(shù)據(jù))時(shí),得到的各個(gè)隱層節(jié)點(diǎn)hj之間狀態(tài)相互獨(dú)立。此時(shí),hj的激活值為:
(4)
式中,σ(x)=1/(1+e-x)為sigmoid函數(shù),是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過(guò)程中典型的非線性激活函數(shù)。經(jīng)過(guò)式(4)計(jì)算出hj的激活值后,將其作為反向傳遞中的輸入值,來(lái)達(dá)到對(duì)可見(jiàn)層節(jié)點(diǎn)vi值的重構(gòu),從而得到原始的vi近似值:
(5)
由此可見(jiàn),RBM在學(xué)習(xí)過(guò)程中采用反復(fù)迭代的方式,目標(biāo)在于經(jīng)過(guò)學(xué)習(xí)得到最優(yōu)參數(shù)θ來(lái)盡可能地?cái)M合樣本數(shù)據(jù)。假設(shè)在訓(xùn)練過(guò)程中,樣本數(shù)目為T(mén),當(dāng)前的樣本為t,則參數(shù)θ通過(guò)求訓(xùn)練樣本的極大似然函數(shù)得到:
(6)
為了得到最優(yōu)θ值θ*,在RBM中釆用隨機(jī)梯度上升的方法求得l(θ)的最大值,在這里假設(shè)θ僅為一個(gè)具體參數(shù),就轉(zhuǎn)化為l(θ)的偏導(dǎo)函數(shù)的求解。
(7)
同理,可以展開(kāi)對(duì)θ的每個(gè)分量進(jìn)行求偏導(dǎo)數(shù),可分別得到w、a和b的最優(yōu)值。
基于對(duì)比散度(Contrastive Divergence, CD)算法[18],將訓(xùn)練數(shù)據(jù)作為RBM的可見(jiàn)層的輸入值,經(jīng)過(guò)式(4)的計(jì)算得到隱含層節(jié)點(diǎn)(隱含層節(jié)點(diǎn)數(shù)目需要根據(jù)需要事先設(shè)定)的激活狀態(tài)值,經(jīng)過(guò)式(5),再次計(jì)算得到可見(jiàn)層節(jié)點(diǎn)的重構(gòu)值(訓(xùn)練數(shù)據(jù)的近似值),從而得到訓(xùn)練數(shù)據(jù)的重構(gòu)誤差,經(jīng)過(guò)完整的CD算法后,得到參數(shù)的更新準(zhǔn)則為:
(8)
式中:ε為訓(xùn)練過(guò)程中的學(xué)習(xí)率;〈·〉data為訓(xùn)練數(shù)據(jù)集所定義的分布上的數(shù)學(xué)期望;〈·〉recon為重構(gòu)后模型所定義的分布之上的期望。
1.2BP網(wǎng)絡(luò)
在DBN模型中,最上層的BP網(wǎng)絡(luò),是以一種有監(jiān)督的方式對(duì)多層RBM經(jīng)過(guò)pre-training提取的特征向量進(jìn)行分類(lèi),在實(shí)際輸出值和期望輸出值不符時(shí),承擔(dān)著對(duì)pre-training階段初始化的參數(shù)進(jìn)行調(diào)優(yōu)的作用。
傳統(tǒng)的BP網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練樣本的多層前饋網(wǎng)絡(luò),分為信息正向傳播和誤差反向傳播兩個(gè)階段。但DBN模型頂層的BP網(wǎng)絡(luò)的信息正向傳播階段被多層RBM的pre-training代替,直接由BP層得到對(duì)RBM的提取特征進(jìn)行分類(lèi)輸出結(jié)果。通過(guò)計(jì)算實(shí)際輸出值和期望輸出值間的誤差判斷兩者是否相符,如果誤差過(guò)大,進(jìn)入BP網(wǎng)絡(luò)的誤差反向傳播階段。誤差通過(guò)DBN的BP輸出層,按誤差梯度下降的方式修正各層權(quán)值,向多層RBM層、輸入層逐層反傳。經(jīng)過(guò)反復(fù)的信息正向傳播和誤差反向傳播過(guò)程,是RBM各層權(quán)值不斷調(diào)整的過(guò)程,也是DBN模型學(xué)習(xí)樣本的過(guò)程,這個(gè)過(guò)程一直進(jìn)行到BP層輸出值和期望輸出值的誤差減小到可以接受的程度,或者完成預(yù)先設(shè)定的迭代次數(shù)為止,以此完成對(duì)模型參數(shù)的調(diào)整。
對(duì)于上述反向傳播過(guò)程,需要計(jì)算每層的下降梯度δ,通過(guò)δ實(shí)現(xiàn)自頂向下的網(wǎng)絡(luò)權(quán)值修正。對(duì)于輸出層,如果第i個(gè)節(jié)點(diǎn)的實(shí)際輸出值為oi,而期望輸出值為di,δ的表達(dá)式為:
δi=oi(1-oi)(di-oi)
(9)
對(duì)于第l個(gè)隱含層,δ的計(jì)算表達(dá)式為:
(10)
由此,可以根據(jù)式(10)中的δ值對(duì)DBN的連接權(quán)值和偏置進(jìn)行如下更新:
(11)
其中,εfine-tuning為fine-tuning階段的學(xué)習(xí)率,在模型的設(shè)計(jì)中,需要多次實(shí)驗(yàn)確定最優(yōu)值。
與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)相比,基于BP的DBN的權(quán)值微調(diào)算法克服了因隨機(jī)初始化權(quán)值參數(shù)而容易陷入局部最優(yōu)和訓(xùn)練時(shí)間過(guò)長(zhǎng)的缺點(diǎn),只需要對(duì)RBM的pre-training獲得的權(quán)值空間進(jìn)行微調(diào),大大縮減了參數(shù)尋優(yōu)的收斂時(shí)間。
為了更好地理解本文提出的思想,首先將算法的流程和算法的優(yōu)勢(shì)描述如圖3所示。在本文的研究中,算法的兩個(gè)優(yōu)勢(shì)分別在數(shù)據(jù)處理階段和選用的DBN模型設(shè)計(jì)階段,如圖3虛線框中標(biāo)注內(nèi)容。數(shù)據(jù)處理階段將不同類(lèi)型的數(shù)據(jù)分開(kāi)處理,并將經(jīng)過(guò)不同數(shù)據(jù)處理方法產(chǎn)生的數(shù)據(jù)集在后續(xù)的內(nèi)容中設(shè)置了仿真實(shí)驗(yàn)對(duì)比,闡明了數(shù)據(jù)處理對(duì)于數(shù)據(jù)之間的規(guī)律和DBN模型分類(lèi)結(jié)果的影響,最后確定一種能夠顯著提高基于DBN模型分類(lèi)效果的數(shù)據(jù)處理方式;DBN模型設(shè)計(jì)階段主要完成的工作為經(jīng)過(guò)控制其他參數(shù)不變而改變一個(gè)參數(shù)的大量實(shí)驗(yàn)交叉驗(yàn)證和分析已有文獻(xiàn),最終確定了一種最優(yōu)的DBN網(wǎng)絡(luò)結(jié)構(gòu),使得對(duì)未知攻擊類(lèi)型的識(shí)別率最高。
圖3 本文算法流程和改進(jìn)點(diǎn)
2.1 數(shù)據(jù)處理
適當(dāng)?shù)臄?shù)據(jù)處理能夠較好地描述數(shù)據(jù)之間的規(guī)律,是提高分類(lèi)精度的第一步,由于實(shí)際問(wèn)題產(chǎn)生的原始數(shù)據(jù)中數(shù)據(jù)類(lèi)型不符合條件或數(shù)量級(jí)的差異等原因,往往不能直接用于訓(xùn)練,需要經(jīng)過(guò)處理后才能作為分類(lèi)器的訓(xùn)練輸入數(shù)據(jù),而通過(guò)相關(guān)研究人員對(duì)入侵檢測(cè)的研究[19-20]發(fā)現(xiàn),數(shù)據(jù)分類(lèi)器的分類(lèi)結(jié)果好壞除了和方法的選擇有關(guān),還與數(shù)據(jù)的處理方式有關(guān),對(duì)于選定一種分類(lèi)方法,適合的數(shù)據(jù)處理方式能夠給分類(lèi)結(jié)果帶來(lái)可觀的提升,不當(dāng)?shù)臄?shù)據(jù)處理也能導(dǎo)致數(shù)據(jù)收斂慢甚至不收斂,從而降低數(shù)據(jù)的分類(lèi)精度。
在選定的入侵檢測(cè)數(shù)據(jù)集中,本文將41維特征數(shù)據(jù)分為字符(nominal)類(lèi)型和數(shù)值(numeric)類(lèi)型,對(duì)其分別進(jìn)行如下處理。
2.1.1Nominal類(lèi)型PMF編碼
入侵檢測(cè)的輸入數(shù)據(jù)來(lái)源于網(wǎng)絡(luò)的信息流,每條數(shù)據(jù)中包含多個(gè)信息特征,這些特征除了基本的numeric類(lèi)型,也包括nominal類(lèi)型,這些數(shù)據(jù)和數(shù)據(jù)特征共同構(gòu)成了整個(gè)數(shù)據(jù)集用于訓(xùn)練分類(lèi)器和檢測(cè)異常數(shù)據(jù)。但是在實(shí)際的檢測(cè)過(guò)程中,包括DBN模型等分類(lèi)器輸入的訓(xùn)練數(shù)據(jù)只能是numeric類(lèi)型,然而nominal類(lèi)型的數(shù)據(jù)對(duì)于分類(lèi)結(jié)果可能起到關(guān)鍵性作用,比如網(wǎng)絡(luò)數(shù)據(jù)包中的字段protocoltype和servicetype都是nominal類(lèi)型,也是網(wǎng)絡(luò)數(shù)據(jù)包的分類(lèi)的重要標(biāo)準(zhǔn),不能輕易忽略,需要將其轉(zhuǎn)換為numeric類(lèi)型。
對(duì)于有n個(gè)特征的數(shù)據(jù)集,將其映射為M個(gè)特征矢量,每個(gè)特征矢量表示為x=(x1,x2,…,xn)(n∈N),假設(shè)xj=(x1j,x2j,…,xMj)(j∈{1,2,…,n})表示每條數(shù)據(jù)的第j個(gè)特征為nominal類(lèi)型,xj中包含K種nominal值分別為nom1j,nom2j,…,nomKj,將rkj∈N記為在xj中值nomkj出現(xiàn)的次數(shù),可得:
rkj=|{i∈N|xij=nomkj,i=1,2,…,M}|;k=1,2,…,K
(12)
根據(jù)式(12),nomkj在xj中出現(xiàn)的頻率值fkj可以表示為:
fkj=rkj/M;k=1,2,…,K
(13)
(14)
s.t. 0≤rkj/M≤1,k=1,2,…,K
對(duì)于數(shù)據(jù)集中的nominal類(lèi)型數(shù)據(jù)xkj:一些研究人員的處理方式是對(duì)其進(jìn)行數(shù)字編碼(Number)方法[21],根據(jù)字段可能取值的個(gè)數(shù)將對(duì)應(yīng)字段編碼為0,1,…,N,這種處理方式也能實(shí)現(xiàn)nominal類(lèi)型向numeric類(lèi)型的轉(zhuǎn)換,但還需要對(duì)轉(zhuǎn)換后的數(shù)據(jù)再次進(jìn)行歸一化;而在文獻(xiàn)[13-17]中采用的是二進(jìn)制編碼(Binary)方式,轉(zhuǎn)換后的數(shù)據(jù)雖然都處于[0,1],但是這種方式會(huì)嚴(yán)重增加原始數(shù)據(jù)的維度,從而導(dǎo)致需要多層復(fù)雜DBN的模型結(jié)構(gòu)來(lái)提取分類(lèi)有效特征,也可能需要對(duì)處理后的數(shù)據(jù)再進(jìn)行降維步驟。
針對(duì)上述問(wèn)題,本文通過(guò)概率質(zhì)量函數(shù)(ProbabilityMassFunction,PMF)的計(jì)算方式將nominal類(lèi)型的xkj轉(zhuǎn)化為numeric類(lèi)型的xkj=fkj后,轉(zhuǎn)換后的數(shù)據(jù)維度沒(méi)有發(fā)生變化,且能夠保證所有的轉(zhuǎn)化后的值為[0,1],相當(dāng)于同時(shí)進(jìn)行了類(lèi)型轉(zhuǎn)化和數(shù)據(jù)歸一化兩個(gè)操作。
2.1.2numeric類(lèi)型歸一化處理
在一個(gè)數(shù)據(jù)集中,各個(gè)特征數(shù)據(jù)往往不在同一數(shù)量級(jí)下,例如在入侵檢測(cè)標(biāo)準(zhǔn)數(shù)據(jù)集KDD中,“dst_bytes”字段的取值可能為14 421,“dst_host_rerror_rate”字段的取值為0.02,這就導(dǎo)致在學(xué)習(xí)數(shù)據(jù)規(guī)律的時(shí)候,降低了梯度下降求最優(yōu)解的速度,也有可能由于收斂速度慢甚至不能收斂導(dǎo)致影響分類(lèi)精度,因此需要將數(shù)據(jù)歸一化處理為[0,1]的數(shù)據(jù)。
假設(shè)選定的數(shù)據(jù)集共包含N個(gè)樣本,可以將所有樣本的每個(gè)特征屬性列映射為x=(x1,x2,…,xN)T,如果xi是第i個(gè)樣本對(duì)應(yīng)的屬性值為numeric類(lèi)型數(shù)據(jù),可以分別用MinimumMaximum歸一化、Statistical歸一化和Decimal歸一化這三種廣泛的歸一化方式,具體形式如下:
1)MinimumMaximum歸一化(本文簡(jiǎn)稱(chēng)Maxmin)。其計(jì)算式如下:
f1(xi)=(xi-min(x))/(max(x)-min(x))
其中:min(x)和max(x)分別為x可取值中的最小值和最大值。
2)Statistical歸一化。其計(jì)算式如下:
f2(xi)=(xi-μ)/σ
其中:μ的取值為所有x取值的平均值;σ為x的標(biāo)準(zhǔn)差。
3)Decimal歸一化。其計(jì)算式如下:
f3(xi)=xi/10e
其中:e的取值為能使x中的最大值經(jīng)過(guò)處理后處于[0,1]的最小值。
2.2 基于DBN的入侵檢測(cè)
采用DBN方法對(duì)未知攻擊類(lèi)型進(jìn)行檢測(cè)的方式主要是利用DBN模型包含多層RBM進(jìn)行特征提取和CD學(xué)習(xí)方法的反向更新來(lái)反復(fù)優(yōu)化網(wǎng)絡(luò)權(quán)值,從而達(dá)到通過(guò)已知的訓(xùn)練樣本對(duì)未知檢測(cè)樣本的良好學(xué)習(xí)能力與適應(yīng)能力。
一般來(lái)說(shuō),入侵檢測(cè)數(shù)據(jù)維度相對(duì)較高,部分特征的存在不僅無(wú)法標(biāo)識(shí)攻擊的類(lèi)型,反而會(huì)因?yàn)槠涓蓴_降低分類(lèi)的精度。為了得到更好的檢測(cè)結(jié)果,往往需要選用能夠合理標(biāo)識(shí)類(lèi)別特征的數(shù)據(jù),因此,進(jìn)行特征提取的DBN模型一般會(huì)包括多層RBM結(jié)構(gòu),多層RBM的學(xué)習(xí)過(guò)程可通過(guò)圖4來(lái)描述。
圖4 多層RBM的學(xué)習(xí)過(guò)程
處理好的數(shù)據(jù)x作為DBN模型的第一個(gè)RBM的可見(jiàn)層輸入數(shù)據(jù)(一般來(lái)說(shuō)第一個(gè)RBM可見(jiàn)層單元數(shù)一般等于訓(xùn)練數(shù)據(jù)的特征維數(shù)),采用CD算法對(duì)RBM進(jìn)行逐層訓(xùn)練,前一層的RBM輸出值作為下一層的輸入值,直至多層RBM訓(xùn)練結(jié)束。CD算法逐層訓(xùn)練RBM模型步驟如下:
輸入 一個(gè)訓(xùn)練樣本x,隱含層單元個(gè)數(shù)n,學(xué)習(xí)率ε,最大訓(xùn)練周期T;
輸出 連接權(quán)重矩陣w,可見(jiàn)單元的偏置a,隱藏單元的偏置b。
End for
End for
End for
按照下式更新參數(shù):
a←a+ε(v1-v2)
b←b+ε(P(h1=1|v1)-P(h2=1|v2))
Endfor
對(duì)多層RBM訓(xùn)練結(jié)束后,頂層BP層通過(guò)反向傳播,根據(jù)重構(gòu)誤差對(duì)訓(xùn)練RBM得到的參數(shù)進(jìn)行微調(diào),從而得到最優(yōu)θ=(wij,ai,bj)值。在這個(gè)過(guò)程中,由于在實(shí)際應(yīng)用的時(shí)候數(shù)據(jù)量往往較大,檢測(cè)需要滿足實(shí)時(shí)性,為了加快訓(xùn)練過(guò)程,一般采用批量訓(xùn)練的方式進(jìn)行,即每次對(duì)訓(xùn)練數(shù)據(jù)隨機(jī)采樣固定的數(shù)量輸入到DBN中,每次采樣的數(shù)量對(duì)應(yīng)程序中設(shè)定的min-batch的值,每訓(xùn)練一個(gè)min-batch的數(shù)量,網(wǎng)絡(luò)權(quán)值更新一次,直至全部樣本訓(xùn)練完畢。
檢測(cè)過(guò)程中,測(cè)試樣本的數(shù)據(jù)維度與訓(xùn)練數(shù)據(jù)相同,在已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)結(jié)構(gòu)中輸入測(cè)試數(shù)據(jù)和對(duì)應(yīng)的屬性標(biāo)簽,通過(guò)前向傳播計(jì)算得到對(duì)每條檢測(cè)數(shù)據(jù)的實(shí)際分類(lèi)結(jié)果,然后將分類(lèi)結(jié)果和輸入的屬性標(biāo)簽進(jìn)行比對(duì),得到對(duì)測(cè)試樣本檢測(cè)的正確檢測(cè)率。
3.1 實(shí)驗(yàn)數(shù)據(jù)
在本文中,實(shí)驗(yàn)采用的是NSL-KDD數(shù)據(jù)集[22],NSL-KDD是在KDD99數(shù)據(jù)集的基礎(chǔ)上去除了部分冗余數(shù)據(jù)的數(shù)據(jù)集,能更好地檢測(cè)出模型對(duì)未知數(shù)據(jù)的識(shí)別能力。
在數(shù)據(jù)集的每條數(shù)據(jù)中,共包括41個(gè)屬性特征和1個(gè)標(biāo)識(shí)攻擊類(lèi)別的屬性標(biāo)簽。41個(gè)屬性中分為3個(gè)nominal類(lèi)型和38個(gè)numeric類(lèi)型數(shù)據(jù)。屬性標(biāo)簽將數(shù)據(jù)分為4類(lèi)攻擊(Anormal)類(lèi)別和1類(lèi)正常(Normal)數(shù)據(jù),4類(lèi)攻擊數(shù)據(jù)又被劃分為39個(gè)詳細(xì)類(lèi)別。將41中屬性分為nominal和numeric類(lèi)型描述如表1所示,將4大類(lèi)攻擊類(lèi)型和1類(lèi)正常數(shù)據(jù)描述如表2所示。
大多數(shù)研究人員的工作都是基于NSL-KDD數(shù)據(jù)集的KDDTrain+_20Percent訓(xùn)練子集和KDDTest-21測(cè)試子集完成的,經(jīng)過(guò)統(tǒng)計(jì),在KDDTrain+_20Percent訓(xùn)練集中,Normal數(shù)據(jù)和拒絕服務(wù)攻擊(DenialofService,DoS)數(shù)據(jù)所占比例分別為53.39%和36.65%,在KDDTest-21中,Normal數(shù)據(jù)約占43.08%,而DoS類(lèi)別約為33.08%,由此可見(jiàn)這兩個(gè)數(shù)據(jù)集之間存在大量重復(fù)數(shù)據(jù)且屬于嚴(yán)重不平衡數(shù)據(jù)集,在一定程度上不能完全反映出本文要解決的對(duì)未知樣本的識(shí)別問(wèn)題,因此,根據(jù)NSL-KDD包括各類(lèi)數(shù)據(jù)的數(shù)量,選用的訓(xùn)練數(shù)據(jù)集、測(cè)試數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集如表3,其中驗(yàn)證數(shù)據(jù)集是為了驗(yàn)證所選模型對(duì)未知類(lèi)型檢測(cè)效果較好的同時(shí),是否破壞已學(xué)習(xí)到的知識(shí)。
表1 屬性特征
表2 攻擊類(lèi)型
表3 數(shù)據(jù)集選擇
為設(shè)置對(duì)比實(shí)驗(yàn),采用上述的基于PMF編碼nominal類(lèi)型數(shù)據(jù)和三種方式對(duì)numeric類(lèi)型數(shù)據(jù)歸一化后,形成三個(gè)不同的數(shù)據(jù)集。另外,設(shè)置一個(gè)未經(jīng)處理的數(shù)據(jù)集及根據(jù)文獻(xiàn)[15]和文獻(xiàn)[21]中分別使用的數(shù)據(jù)處理方式,共組成6個(gè)數(shù)據(jù)集,通過(guò)實(shí)驗(yàn)驗(yàn)證的方式,尋求一種對(duì)于DBN模型而言檢測(cè)率最高的數(shù)據(jù)處理方式。用于評(píng)估數(shù)據(jù)處理對(duì)正確檢測(cè)率影響的數(shù)據(jù)集如表4所示。
表4 評(píng)估數(shù)據(jù)集
3.2 實(shí)驗(yàn)環(huán)境與評(píng)價(jià)標(biāo)準(zhǔn)
在入侵檢測(cè)領(lǐng)域,對(duì)未知樣本的正確檢測(cè)率和檢測(cè)時(shí)間是評(píng)價(jià)檢測(cè)結(jié)果的重要指標(biāo),由此可以分辨將該方法應(yīng)用于入侵檢測(cè)領(lǐng)域是否可行和高效,此外,本文通過(guò)和應(yīng)用于入侵檢測(cè)領(lǐng)域的其他經(jīng)典算法相比較,通過(guò)對(duì)相同數(shù)據(jù)的訓(xùn)練和檢測(cè)的正確檢測(cè)率來(lái)驗(yàn)證本文提出方法的穩(wěn)定性。具體的實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)結(jié)果的評(píng)價(jià)標(biāo)準(zhǔn)設(shè)置如下:
1)實(shí)驗(yàn)環(huán)境。
Window7 操作系統(tǒng),MatlabR2014a,2.20GHzCPU,2.00GBRAM。
2)實(shí)驗(yàn)評(píng)價(jià)標(biāo)準(zhǔn)。
定義:N為測(cè)試數(shù)據(jù)集包含的Normal數(shù)據(jù)量,A表示Anormal(包含各種攻擊類(lèi)型)數(shù)據(jù)量,NF為Normal數(shù)據(jù)準(zhǔn)確地被識(shí)別為Normal類(lèi)型的數(shù)量,AF表示Anormal類(lèi)型被準(zhǔn)確識(shí)別出來(lái)的數(shù)量,T為檢測(cè)時(shí)間,則可以得出:
1)正確檢測(cè)率 =(NF+AF)/(N+A),表示被正確識(shí)別出來(lái)的樣本占總樣本的比例,檢測(cè)率越高,則選用的模型越高效。
2)檢測(cè)時(shí)間T,表示檢測(cè)測(cè)試樣本過(guò)程中消耗的時(shí)間,時(shí)間越短,證明模型可用性和實(shí)時(shí)性越好。
3.3 結(jié)果分析
本節(jié)內(nèi)容主要包括如下兩個(gè)方面:一是DBN模型結(jié)構(gòu)和參數(shù)選取對(duì)正確檢測(cè)率和實(shí)時(shí)性的影響;二是分析不同數(shù)據(jù)處理下的檢測(cè)結(jié)果,找到基于DBN模型的入侵檢測(cè)的最優(yōu)化數(shù)據(jù)處理方式。
3.3.1DBN模型結(jié)構(gòu)和參數(shù)選取。
以經(jīng)過(guò)處理的Train-PMF-Maxmin和Test-PMF-Maxmin數(shù)據(jù)集為例,共有41個(gè)數(shù)據(jù)特征,輸出的分類(lèi)數(shù)據(jù)共分為1類(lèi)Normal數(shù)據(jù)和4類(lèi)Anormal數(shù)據(jù),因此DBN輸入數(shù)據(jù)為41維,輸出的維數(shù)為5。由于目前DBN結(jié)構(gòu)的確定還沒(méi)有確切的理論支撐,需要通過(guò)相關(guān)文獻(xiàn)和大量的實(shí)驗(yàn)驗(yàn)證來(lái)確定相對(duì)較優(yōu)的結(jié)構(gòu)模型。為了易于觀察檢測(cè)結(jié)果隨DBN網(wǎng)絡(luò)結(jié)構(gòu)變化的情況,將DBN結(jié)構(gòu)的隱層數(shù)限制在5層以內(nèi)(包含5層),將各隱層節(jié)點(diǎn)數(shù)目分別在{10,20,40,60,80}中選取且各隱層節(jié)點(diǎn)數(shù)目相同,根據(jù)文獻(xiàn)[23-24]和反復(fù)實(shí)驗(yàn)的交叉驗(yàn)證[25-26]方式,將DBN模型其他參數(shù)設(shè)置如下:pre-training和fine-tuning階段的學(xué)習(xí)率設(shè)置為0.05,min-batch數(shù)量為100(可根據(jù)樣本數(shù)量和種類(lèi)進(jìn)行調(diào)整),pre-training階段迭代次數(shù)為5,fine-tuning階段迭代20次后檢測(cè)結(jié)果趨于穩(wěn)定。如圖5所示,通過(guò)固定其他參數(shù)不變(20節(jié)點(diǎn))時(shí),討論各隱層節(jié)點(diǎn)數(shù)目對(duì)正確檢測(cè)率的影響。
圖5 正確檢測(cè)率隨隱層數(shù)目變化(20節(jié)點(diǎn))
從圖5可知,當(dāng)隱層數(shù)目為2,即DBN模型深度為4時(shí),該模型在檢測(cè)過(guò)程中取得相對(duì)較高的檢測(cè)率,由此可以說(shuō)明,增加DBN的深度不一定能夠增強(qiáng)DBN的特征提取能力,反而會(huì)導(dǎo)致DBN的泛化能力降低,產(chǎn)生過(guò)擬合現(xiàn)象。因此,DBN的層數(shù)設(shè)置可能和數(shù)據(jù)處理后的維度相關(guān),并不是層數(shù)越多,分類(lèi)效果越好。
在固定隱層數(shù)為2,變化各隱層的節(jié)點(diǎn)數(shù)目時(shí),正確檢測(cè)率的變化趨勢(shì)如圖6所示。由圖6可知,在節(jié)點(diǎn)數(shù)目為10的時(shí)候,由于節(jié)點(diǎn)之間相互連接較少,不足以提取適合分類(lèi)的特征集,而節(jié)點(diǎn)的數(shù)目過(guò)大也出現(xiàn)了過(guò)擬合的問(wèn)題。本文實(shí)驗(yàn)中,當(dāng)各隱層節(jié)點(diǎn)數(shù)設(shè)置為20時(shí),正確檢測(cè)率相對(duì)最高。通過(guò)觀察DBN模型包含的隱層數(shù)目和各隱層節(jié)點(diǎn)數(shù)目對(duì)正確檢測(cè)的影響,綜合上述的分析,在后面選用DBN的隱層層數(shù)為2、各隱層節(jié)點(diǎn)均為20的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)討論數(shù)據(jù)處理對(duì)檢測(cè)率的影響和結(jié)構(gòu)的穩(wěn)定性。
圖6 正確檢測(cè)率隨隱層節(jié)點(diǎn)數(shù)目變化(隱層數(shù)2)
3.3.2 數(shù)據(jù)處理對(duì)檢測(cè)結(jié)果的影響
經(jīng)過(guò)3.1節(jié)的數(shù)據(jù)處理,得到6組測(cè)試數(shù)據(jù),將這6組數(shù)據(jù)分別用本文所選的模型和文獻(xiàn)[15]中的方法進(jìn)行訓(xùn)練和測(cè)試,不同數(shù)據(jù)處理下的正確檢測(cè)率如圖7所示。
圖7 不同數(shù)據(jù)處理方式下的未知樣本檢測(cè)率
由圖7可以看出,在未經(jīng)過(guò)處理的數(shù)據(jù)集PMF-Non上,檢測(cè)率僅達(dá)到57%,因此,未經(jīng)過(guò)處理的原始數(shù)據(jù)收斂性較差。經(jīng)過(guò)Maxmin歸一化處理的PMF-Maxmin和Num-Maxmin數(shù)據(jù)集上的檢測(cè)率均相對(duì)較高,高于Statistical歸一化和Decimal歸一化方式處理的數(shù)據(jù)集;但Bin-Maxmin數(shù)據(jù)由于經(jīng)過(guò)二進(jìn)制編碼后存在著維數(shù)高的缺點(diǎn),文獻(xiàn)[15]為了更好地降低數(shù)據(jù)維度和提取有效特征而采用的模型層數(shù)、節(jié)點(diǎn)數(shù)較多,對(duì)檢測(cè)率和檢測(cè)實(shí)時(shí)性將會(huì)存在一定影響。實(shí)驗(yàn)結(jié)果表明,樣本的正確檢測(cè)率和數(shù)據(jù)處理之間存在著不可忽略的關(guān)系,即數(shù)據(jù)處理能夠在一定程度上影響數(shù)據(jù)的分布規(guī)律,選擇合理的數(shù)據(jù)處理方式能夠提高對(duì)樣本的檢測(cè)率。
因此,針對(duì)基于DBN的入侵檢測(cè)問(wèn)題,通過(guò)實(shí)驗(yàn)選取了一種基于PMF編碼nominal類(lèi)型數(shù)據(jù)、Maxmin歸一化處理numeric類(lèi)型數(shù)據(jù)的優(yōu)化數(shù)據(jù)處理方式,確定了一種深度為4、2個(gè)隱層、節(jié)點(diǎn)數(shù)目均為20的DBN模型,對(duì)設(shè)定的測(cè)試數(shù)據(jù)集中的完全未知樣本的檢測(cè)率能夠達(dá)到87.76%。
3.3.3 選定模型的訓(xùn)練性能分析
對(duì)于選定的深度為4、各隱層節(jié)點(diǎn)均為20的DBN模型,在對(duì)表4中經(jīng)過(guò)PMF編碼和Maxmin歸一化處理的訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練的過(guò)程中,根據(jù)訓(xùn)練數(shù)據(jù)集包含的數(shù)據(jù)條數(shù)及大量的訓(xùn)練實(shí)驗(yàn)可知,10折交叉檢驗(yàn)是在本文實(shí)驗(yàn)已選用的數(shù)據(jù)集的前提下獲得最大正確率的恰當(dāng)選擇,通過(guò)10折交叉檢驗(yàn),將訓(xùn)練數(shù)據(jù)集的20 100條數(shù)據(jù)隨機(jī)分為10份,其中9份用作訓(xùn)練,而剩下的1份用來(lái)驗(yàn)證,則相當(dāng)于每條數(shù)據(jù)都有一個(gè)預(yù)報(bào)的正確檢測(cè)率,每次檢測(cè)的正確率及10次檢測(cè)的平均正確檢測(cè)率如表5所示。
表5 10折交叉檢驗(yàn)結(jié)果
在已經(jīng)進(jìn)行的大量實(shí)驗(yàn)中,10折交叉檢驗(yàn)是獲得相對(duì)較高的每個(gè)樣本的平均檢測(cè)率,能夠達(dá)到94.96%。除此之外,訓(xùn)練時(shí)間也是評(píng)價(jià)分類(lèi)器性能的一個(gè)重要標(biāo)準(zhǔn),如果將訓(xùn)練數(shù)據(jù)集的20 100條數(shù)據(jù)在上述模型中進(jìn)行訓(xùn)練,訓(xùn)練10次的每次平均用時(shí)為19.289 74s,而考慮到數(shù)據(jù)量和實(shí)驗(yàn)環(huán)境等因素,在訓(xùn)練上消耗的時(shí)間是可以接受的,因此下文可選用上述確定的模型來(lái)進(jìn)行實(shí)驗(yàn)。
3.4 驗(yàn)證選定的DBN模型識(shí)別性能
從表3中的訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集包含的攻擊類(lèi)型和數(shù)量來(lái)看,訓(xùn)練數(shù)據(jù)集中共包含normal類(lèi)型和12種攻擊類(lèi)型,則這12種攻擊類(lèi)型對(duì)分類(lèi)器而言可以看作已知類(lèi)型的攻擊,而測(cè)試數(shù)據(jù)集中包含了normal類(lèi)型和8種完全不同于訓(xùn)練數(shù)據(jù)集中的攻擊類(lèi)型,則對(duì)于分類(lèi)器而言,這8種攻擊類(lèi)型則是未知攻擊類(lèi)型,本文通過(guò)選定的DBN模型能夠?qū)y(cè)試數(shù)據(jù)集中的8種攻擊類(lèi)型具有較高的正確檢測(cè)率的方式來(lái)驗(yàn)證DBN模型對(duì)未知攻擊類(lèi)型的識(shí)別能力。
同時(shí),將本文的方法與已經(jīng)在入侵檢測(cè)取得較好檢測(cè)結(jié)果的BP神經(jīng)網(wǎng)絡(luò)和SVM算法進(jìn)行了對(duì)比。通過(guò)統(tǒng)計(jì)對(duì)各類(lèi)未知攻擊類(lèi)型的正確檢測(cè)率和檢測(cè)時(shí)間來(lái)驗(yàn)證本文選用的基于優(yōu)化數(shù)據(jù)處理的DBN模型的高效性和實(shí)時(shí)性。
對(duì)比算法中的BP神經(jīng)網(wǎng)絡(luò)參數(shù)與本文選取的DBN模型相似,隱層節(jié)點(diǎn)數(shù)為20,迭代次數(shù)為20次,SVM算法采用LibSVM開(kāi)源工具,核函數(shù)采用徑向基函數(shù)(RadialBasisFunction,RBF),根據(jù)文獻(xiàn)[27-28],錯(cuò)誤懲罰因子C=10 000,RBF核函數(shù)的控制因子為2。不同分類(lèi)算法對(duì)各類(lèi)未知類(lèi)型攻擊的正確檢測(cè)率如表6所示。
表6 不同分類(lèi)算法對(duì)未知樣本的正確檢測(cè)率對(duì)比 %
Tab. 6 Comparison of correct detection rate of differentclassification algorithms for unknown samples%
由于數(shù)據(jù)集中包含的buffer_overflow和rootkit類(lèi)別的數(shù)據(jù)較少,所以每條數(shù)據(jù)所占該類(lèi)數(shù)據(jù)總量的比例較大,因此各類(lèi)算法對(duì)這兩種攻擊的檢測(cè)效果差異較為明顯。從表6可以看出,基于DBN模型的正確檢測(cè)率比SVM算法和基于BP神經(jīng)網(wǎng)絡(luò)的算法均有所提高:DBN模型在Test-PMF-Maxmin上的整體檢測(cè)率相比SVM算法提高了4.43%,對(duì)應(yīng)到測(cè)試數(shù)據(jù)集中10 100條數(shù)據(jù),則DBN模型正確檢測(cè)出的數(shù)據(jù)量比SVM算法多376條;DBN模型在Test-PMF-Maxmin上的整體檢測(cè)率相比基于BP神經(jīng)網(wǎng)絡(luò)的算法提高了5.37%。
三種算法在Test-PMF-Maxmin數(shù)據(jù)集上的檢測(cè)時(shí)間如下:SVM算法為2.14s,基于BP神經(jīng)網(wǎng)絡(luò)的算法為1.97s,DBN算法為2.44s。由于DBN模型比BP網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,和BP網(wǎng)絡(luò)的檢測(cè)相比,有一定的延遲,但與SVM算法的檢測(cè)時(shí)間相當(dāng)。由此可知,本文所選擇的DBN模型對(duì)未知類(lèi)型攻擊具有較高檢測(cè)率的同時(shí),對(duì)檢測(cè)的實(shí)時(shí)性無(wú)嚴(yán)重影響。
3.5 驗(yàn)證選定的DBN模型的穩(wěn)定性
在對(duì)未知攻擊類(lèi)型具有較高的檢測(cè)率的DBN模型上,使用表3中的驗(yàn)證數(shù)據(jù)集作為已經(jīng)訓(xùn)練好的模型的輸入,統(tǒng)計(jì)其對(duì)已知類(lèi)型的正確檢測(cè)率,判斷是否對(duì)已學(xué)習(xí)到的知識(shí)造成影響。驗(yàn)證數(shù)據(jù)集上三種對(duì)比算法對(duì)于已知攻擊類(lèi)型的正確檢測(cè)率如下:SVM算法為93.87%,基于BP神經(jīng)網(wǎng)絡(luò)的算法為91.22%,DBN算法為97.10%。DBN模型對(duì)已知攻擊類(lèi)型的檢測(cè)率高于BP神經(jīng)網(wǎng)絡(luò)和SVM算法,表明對(duì)未知攻擊類(lèi)型具有較高的檢測(cè)率的DBN模型沒(méi)有破壞已學(xué)習(xí)的知識(shí),驗(yàn)證了本文選擇的DBN模型的穩(wěn)定性。
本文提出了一種基于優(yōu)化數(shù)據(jù)處理的DBN模型的入侵檢測(cè)方法,通過(guò)實(shí)驗(yàn)驗(yàn)證了不同數(shù)據(jù)處理能夠?qū)?shù)據(jù)的分布規(guī)律產(chǎn)生影響,采用經(jīng)過(guò)PMF編碼和Maxmin歸一化處理的數(shù)據(jù)應(yīng)用于DBN模型時(shí),取得了相對(duì)較高的檢測(cè)率。通過(guò)和SVM及BP神經(jīng)網(wǎng)絡(luò)算法的對(duì)比可驗(yàn)證,DBN對(duì)復(fù)雜數(shù)據(jù)具有良好的特征提取能力,能夠更好地發(fā)掘和學(xué)習(xí)數(shù)據(jù)之間的規(guī)律,在不影響對(duì)已知攻擊類(lèi)型識(shí)別和檢測(cè)實(shí)時(shí)性的前提下,能夠提高對(duì)未知攻擊類(lèi)型數(shù)據(jù)的識(shí)別率,目前可用于對(duì)變化多端的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行入侵檢測(cè)。但由于DBN網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的不確定性,檢測(cè)率會(huì)受到迭代次數(shù)和不同數(shù)據(jù)集等因素影響,因此如何確定高效的DBN模型參數(shù)和選擇合理的數(shù)據(jù)處理仍然是下一步有待解決的問(wèn)題。
)
[1] 卿斯?jié)h,蔣建春,馬恒太,等.入侵檢測(cè)技術(shù)研究綜述[J].通信學(xué)報(bào),2004,25(7):19-29.(QINGSH,JIANGJC,MAHT,etal.Researchonintrusiondetectiontechniques:asurvey[J].JournalofChinaInstituteofCommunications, 2004, 25(7): 19-29.)
[2] 潘志松.基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)研究[D].南京:南京航空航天大學(xué),2003:20-64.(PANZS.Researchonintrusiondetectionbasedonneuralnetwork[D].NanjingUniversityofAeronauticsandAstronautics, 2003:20-64.)
[3] 胡明霞.基于BP神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)算法[J].計(jì)算機(jī)工程,2012,38(6):148-150.(HUMX.IntrusiondetectionalgorithmbasedonBPneuralnetwork[J].ComputerEngineering, 2012, 38(6): 148-150.)
[4] 楊雅輝,姜電波,沈晴霓,等.基于改進(jìn)的GHSOM的入侵檢測(cè)研究[J].通信學(xué)報(bào),2011,32(1):121-126.(YANGYH,JIANGDB,SHENQN,etal.ResearchonintrusiondetectionbasedonanimprovedGHSOM[J].JournalonCommunications, 2011, 32(1): 121-126.)
[5] 楊雅輝,黃海珍,沈晴霓,等.基于增量式GHSOM神經(jīng)網(wǎng)絡(luò)模型的入侵檢測(cè)研究[J].計(jì)算機(jī)學(xué)報(bào),2014,37(5):1216-1224.(YANGYH,HUANGHZ,SHENQN,etal.ResearchonintrusiondetectionbasedonincrementalGHSOM[J].ChineseJournalofComputers, 2014, 37(5): 1216-1224.)
[6] 毛國(guó)君,宗東軍.基于多維數(shù)據(jù)流挖掘技術(shù)的入侵檢測(cè)模型與算法[J].計(jì)算機(jī)研究與發(fā)展,2009,46(4):602-609.(MAOGJ,ZONGDJ.Anintrusiondetectionmodelbasedonminingmulti-dimensiondatastreams[J].JournalofComputerResearchandDevelopment, 2009, 46(4): 602-609.)
[7] 郭春.基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)入侵檢測(cè)關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2014:89-106.(GUOC.Researchonkeytechnologiesofnetworkintrusiondetectionbasedondatamining[D].Beijing:BeijingUniversityofPostsandTelecommunications, 2014: 89-106.)
[8] 饒鮮,董春曦,楊紹全.基于支持向量機(jī)的入侵檢測(cè)系統(tǒng)[J].軟件學(xué)報(bào),2003,14(4):798-803.(RAOX,DONGCX,YANGSQ.Anintrusiondetectionsystembasedonsupportvectormachine[J].JournalofSoftware, 2003, 14(4): 798-803.)
[9] 羅敏,王麗娜,張煥國(guó).基于無(wú)監(jiān)督聚類(lèi)的入侵檢測(cè)方法[J].電子學(xué)報(bào),2003,31(11):1713-1716.(LUOM,WANGLN,ZHANGHG.Anunsupervisedclustering-basedintrusiondetectionmethod[J].ActaElectronicaSinica, 2003, 31(11): 1713-1716.)
[10]HINTONGE,SALAKHUTDINOVRR.Reducingthedimensionalityofdatawithneuralnetworks[J].Science, 2006, 313(5786): 504-507.
[11]DONGY,LID.Deeplearninganditsapplicationstosignalandinformationprocessing[J].IEEESignalProcessingMagazine, 2011, 28(1): 145-154.
[12]ARELI,ROSEDC,KARNOWSKITP.Deepmachinelearning—anewfrontierinartificialintelligenceresearch[J].IEEEComputationalIntelligenceMagazine, 2010, 5(4): 13-18.
[13] 逯玉婧.基于深度信念網(wǎng)絡(luò)的入侵檢測(cè)算法研究[D].石家莊:河北師范大學(xué),2016:26-46.(LUYJ.Researchonintrusiondetectionalgorithmbasedondeepbeliefnetwork[D].Shijiazhuang:HebeiNormalUniversity, 2016: 26-46.)
[14]ALOMMZ,BONTUPALLIVR,TAHATM.Intrusiondetectionusingdeepbeliefnetworks[C]//Proceedingsofthe2015NationalAerospaceandElectronicsConference.Piscataway,NJ:IEEE, 2015: 339-344.
[15]GAON,GAOL,HEYY,etal.Intrusiondetectionmodelbasedondeepbeliefnets[J].JournalofSoutheastUniversity(EnglishEdition), 2015, 31(3): 339-346.
[16] 楊昆朋.基于深度學(xué)習(xí)的入侵檢測(cè)[D].北京:北京交通大學(xué),2015:31-47.(YANGKP.Intrusiondetectionbasedondeeplearning[D].Beijing:BeijingJiaotongUniversity, 2015: 31-47.)
[17] 安琪.基于深度置信網(wǎng)絡(luò)的入侵檢測(cè)研究[D].蘭州:蘭州大學(xué),2016:20-50.(ANQ.Researchonintrusiondetectionbasedondepthconfidencenetwork[D].Lanzhou:LanzhouUniversity, 2016: 20-50.)
[18]HINTONGE.Trainingproductsofexpertsbyminimizingcontrastivedivergence[J].NeuralComputation, 2002, 14(8): 1771-800.
[19]SAIDD,STIRLINGL,FEDEROLFP,etal.Datapreprocessingfordistance-basedunsupervisedintrusiondetection[C]//Proceedingsofthe2011NinthAnnualInternationalConferenceonPrivacy,SecurityandTrust.Piscataway,NJ: 2011: 181-188.
[20]SALEMM,BUEHLERU.Miningtechniquesinnetworksecuritytoenhanceintrusiondetectionsystems[J].InternationalJournalofNetworkSecurity&ItsApplications, 2012, 4(6): 167-172.
[21] 白雪.基于DBN的網(wǎng)絡(luò)流量分類(lèi)的研究[D].呼和浩特:內(nèi)蒙古大學(xué),2015:18-30.(BAIX.ResearchonnetworktrafficclassificationbasedonDBN[D].Huhhot:InnerMongoliaUniversity, 2015: 18-30. )[22] DHANABAL L, SHANTHARAJAH S P. A study on NSL-KDD dataset for intrusion detection system based on classification algorithms [J]. International Journal of Advanced Research in Computer and Communication Engineering, 2015, 4(6): 446-452.
[23] HINTON G E. A practical guide to training restricted Boltzmann machines [M]// Neural Networks: Tricks of the Trade, LNCS 7700. Berlin: Springer, 2012: 599-619.
[24] 張春霞,姬楠楠,王冠偉.受限波爾茲曼機(jī)[J].工程數(shù)學(xué)學(xué)報(bào),2015, 32(2): 159-173.(ZHANG C X, JI N N, WANG G W, et al. Restricted Boltzmann machine [J]. Chinese Journal of Engineering Mathematics, 2015, 32(2): 159-173.)
[25] 邱龍金,賀昌政.神經(jīng)網(wǎng)絡(luò)穩(wěn)定性的交叉驗(yàn)證模型[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(34):43-45.(QIU J L, HE C Z. Cross validation model for stability of neural networks [J]. Computer Engineering and Applications, 2010, 46(34): 43-45.)
[26] 范永東.模型選擇中的交叉驗(yàn)證方法綜述[D].太原:山西大學(xué),2013:19-41.(FAN Y D. A summary of cross-validation in model selection [D]. Taiyuan: Shanxi University, 2013: 19-41.)
[27] CHANG C C, LIN C J. LIBSVM: a library for support vector machines [J]. ACM Transactions on Intelligent Systems and Technology, 2011, 2(3): 389-396.
[28] 賀其備.基于支持向量機(jī)的入侵檢測(cè)研究[D].長(zhǎng)春:東北師范大學(xué),2013:29-44.(HE Q B. Research on intrusion detection based on support vector machine [D]. Changchun: Northeast Normal University, 2013: 29-44.)
This work is partially supported by the Science and Technology Research Project of Liaoning Education Department (LJYL052).
CHEN Hong, born in 1967, M. S., associate professor. Her research interests include information security.
WAN Guangxue, born in 1992, M. S. candidate. Her research interests include information security, deep learning.
XIAO Zhenjiu, born in 1968, M. S., associate professor. His research interests include information security.
Intrusion detection method of deep belief network model based on optimization of data processing
CHEN Hong, WAN Guangxue*, XIAO Zhenjiu
(SchoolofSoftware,LiaoningTechnicalUniversity,HuludaoLiaoning125105,China)
Those well-known types of intrusions can be detected with higher detection rate in the network at present, but it is very difficult to detect those new unknown types of network intrusions. In order to solve the problem, a network intrusion detection method of Deep Belief Network (DBN) model based on optimization of data processing was proposed. The data processing and method model were improved respectively without destroying the existing knowledge and increasing detection time seriously to solve the above problem. Firstly, the data processed by Probability Mass Function (PMF) encoding and MaxMin normalization was applied to the DBN model. Then, the relatively optimal DBN structure was selected through fixing other parameters, changing a parameter and the cross validation. Finally, the proposed method was tested on the benchmark NSL-KDD dataset. The experimental results show that, the optimization of data processing can improve the classification accuracy of the DBN model, the proposed intrusion detection method based on DBN has good adaptability and higher recognition ability of unknown samples. The detection time of DBN algorithm is similar to that of Support Vector Machine (SVM) algorithm and Back Propagation (BP) neural network model.
intrusion detection; optimization of data processing; deep learning; Deep Belief Network (DBN); unknown attack detection
2016- 11- 04;
2016- 12- 26。 基金項(xiàng)目:遼寧省教育廳科學(xué)技術(shù)研究項(xiàng)目(LJYL052)。
陳虹(1967—),女,遼寧阜新人,副教授,碩士,CCF會(huì)員,主要研究方向:信息安全; 萬(wàn)廣雪(1992—),女,遼寧大連人,碩士研究生,主要研究方向:信息安全、深度學(xué)習(xí); 肖振久(1968—),男,內(nèi)蒙寧城人,副教授,碩士,CCF會(huì)員,主要研究方向:信息安全。
1001- 9081(2017)06- 1636- 08
10.11772/j.issn.1001- 9081.2017.06.1636
TP393.08
A