周立軍 張杰 呂海燕
摘 要: 在此對基于數(shù)據(jù)挖掘技術(shù)的網(wǎng)絡(luò)入侵檢測技術(shù)進行研究??紤]到常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立的網(wǎng)絡(luò)入侵檢測技術(shù)存在由于BP神經(jīng)網(wǎng)絡(luò)容易陷入最小值導(dǎo)致檢測效率和準確率低下等問題,使用粒子群算法對BP神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化,使用動態(tài)慣性權(quán)重系數(shù)以確定BP神經(jīng)網(wǎng)絡(luò)的參數(shù),并將網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)組合并編碼成一個粒子以實現(xiàn)網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)的同步選取。通過使用KDD CUP99數(shù)據(jù)庫的入侵流量數(shù)據(jù)對使用該方法以及常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立的檢測模型進行訓(xùn)練和測試,結(jié)果表明,研究算法建立的檢測模型具有更高的檢測效率以及檢測準確率。
關(guān)鍵詞: 數(shù)據(jù)挖掘; BP神經(jīng)網(wǎng)絡(luò); 網(wǎng)絡(luò)入侵檢測; 粒子群優(yōu)化算法
中圖分類號: TN915?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2016)06?0010?04
Research on network intrusion detection technology based on data mining technology
ZHOU Lijun, ZHANG Jie, L? Haiyan
(Naval Aeronautical and Astronautical University, Yantai 264001, China)
Abstract: The network intrusion detection technology based on data mining technology is studied in this paper. On account of low detection accuracy and efficiency of the network intrusion detection technology established by the common BP natural network which is easy to fall into least value, the particle swarm algorithm is used to optimize the BP natural network model, the dynamical inertia weight coefficient is adopted to define the parameters of BP natural network, and the parameter of BP neural network are integrated with the characteristics of network intrusion rate, and encoded to a particle in order to realize the synchronous selection of the characteristics of network intrusion rate and parameter of BP neural network. The detection model established with this method and the common BP natural network are trained and tested by using the intrusion flow data in CUP99 KDD database. The results show that the detection model established with this algorithm has advantages of high detection efficiency and accuracy.
Keywords: data mining; BP neural network; network intrusion detection; particle swarm optimization algorithm
0 引 言
隨著計算機互聯(lián)網(wǎng)環(huán)境的日益復(fù)雜化,以及網(wǎng)絡(luò)技術(shù)的日益普遍化,使得互聯(lián)網(wǎng)入侵攻擊方法日益多樣化、智能化以及復(fù)雜化,因此使用傳統(tǒng)的防火墻以及操作系統(tǒng)加固的方式無法抵擋現(xiàn)如今的入侵攻擊,無法滿足網(wǎng)絡(luò)安全的要求,故入侵檢測系統(tǒng)應(yīng)運而生[1?2]。入侵檢測系統(tǒng)能夠針對網(wǎng)絡(luò)流量數(shù)據(jù)進行檢測分析,從中分辨出異常流量,檢測入侵等危害計算機安全的行為。然而網(wǎng)絡(luò)流量數(shù)據(jù)龐大,導(dǎo)致了檢測系統(tǒng)在需要數(shù)據(jù)對決策進行支撐時,往往對海量數(shù)據(jù)無從下手,不能快速而有效率地從中提取出需要的信息和有價值的知識。順應(yīng)此需求,數(shù)據(jù)挖掘技術(shù)在近年來發(fā)展十分迅速。作為一種高端的數(shù)據(jù)分析工具,數(shù)據(jù)挖掘技術(shù)具有強大的數(shù)據(jù)處理和分析能力,而目前通信、計算機和網(wǎng)絡(luò)等技術(shù)的合并使得數(shù)據(jù)量進一步擴大,所以數(shù)據(jù)挖掘技術(shù)在信息化管理中的地位進一步提升[3?4]。
BP神經(jīng)網(wǎng)絡(luò)等機器學(xué)習(xí)算法屬于數(shù)據(jù)挖掘技術(shù)中常用的技術(shù)手段,能在大量樣本集訓(xùn)練和學(xué)習(xí)后自動找出運算需要的參數(shù)和模式,有極好的數(shù)據(jù)處理能力和自組織學(xué)習(xí)能力,并且能準確進行識別,但是常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立的網(wǎng)絡(luò)入侵檢測技術(shù)存在由于BP神經(jīng)網(wǎng)絡(luò)容易陷入最小值導(dǎo)致檢測效率和準確率低下等問題,本文使用粒子群算法對BP神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化,使用動態(tài)慣性權(quán)重系數(shù)以確定BP神經(jīng)網(wǎng)絡(luò)的參數(shù),并將網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)組合并編碼成一個粒子以實現(xiàn)網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)的同步選取[5]。
1 改進型BP神經(jīng)網(wǎng)絡(luò)
1.1 BP神經(jīng)網(wǎng)絡(luò)
訓(xùn)練樣本設(shè)定為[xk,yk],其中[xk]為輸入向量,[yk]為期望的輸出向量,即實際類型。則BP神經(jīng)網(wǎng)絡(luò)的輸出和實際類型[yk]的誤差之和表示為:
[E=k=1mEk] (1)
式中:[Ek]表示為:
[Ek=i=1n?(eik)=12i=1n(yik-y)2=12i=1neik2] (2)
BP神經(jīng)網(wǎng)絡(luò)的輸出和實際類型[yk]的誤差通過對權(quán)值的調(diào)整而改變。設(shè)定BP神經(jīng)網(wǎng)絡(luò)隱層中第[i]個輸出表示為:
[yik=σ0(yik),yik=Wik(o)TH(l)k=j=1nlw(0)ijh(l)jk] (3)
BP神經(jīng)網(wǎng)絡(luò)調(diào)整權(quán)值方法如下:
[?Ek?Wpk(0)=?Ek?epk??epk?ypk??ypk?ypk??ypk?y(0)pk =-epk?σ0′(ypk)?H(l)pk] (4)
[ΔW(0)pk=W(0)pk-W(0)pk-1=-α?Ek?W(0)pk] (5)
BP神經(jīng)網(wǎng)絡(luò)中第[r]層的進行權(quán)值調(diào)整方法如下:
[ΔW(r)pk=W(r)pk-W(r)pk-1=α?ε(r)pk?H(r+1)pkε(r)pk=σr′(h(r)pk)?i=1nr-1εik(r-1)w(r-1)ip] (6)
由于使用BP神經(jīng)網(wǎng)絡(luò)建立的網(wǎng)絡(luò)入侵檢測模型在實際應(yīng)用中,會由于BP神經(jīng)網(wǎng)絡(luò)的梯度下降算法優(yōu)化權(quán)值而導(dǎo)致陷入局部最優(yōu)解等問題,使得網(wǎng)絡(luò)入侵檢測模型的誤差逐漸增加,降低檢測準確率,因此本文使用粒子群優(yōu)化算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值進行優(yōu)化[6]。
1.2 改進粒子群算法
粒子群優(yōu)化算法是人們受到鳥類覓食行為啟發(fā)而演化出來的。設(shè)定粒子群優(yōu)化算法中第i個粒子的位置為[Xi=xi1,xi2,…,xin],第i個粒子的飛行速度為[Vi=vi1,vi2,…,vin],粒子最優(yōu)位置向量表示為[Pi=pi1,pi2,…,pin],整個粒子群的最優(yōu)位置向量表示為[Gi=gi1,gi2,…,gin],則粒子群更新速度和更新位置方法表示為:
[Vk+1id=wVkid+c1r1(pbkid-xkid)+c2r2(gbkd-xkid)Xk+1id=Xkid+Vk+1id] (7)
由于粒子群優(yōu)化算法的搜索效率和準確率取決于粒子群優(yōu)化算法中的慣性權(quán)值,因此本文使用動態(tài)慣性權(quán)重系數(shù)以確定BP神經(jīng)網(wǎng)絡(luò)的參數(shù):
[w=wmin-(wmax-wmin)*(f-fmin)(favg-fmin), f≥favgwmax, f 式中:[wmax]表示慣性權(quán)值的最大值;[wmin]表示慣性權(quán)值的最小值;[favg]表示適應(yīng)度函數(shù)的平均值;[fmin]表示適應(yīng)度函數(shù)的最小值[7?8]。 本文將網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)組合并編碼成一個粒子以實現(xiàn)網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)的同步選取。粒子的位置向量表示為: (1) 入侵流量特征,“1”表示特征被選擇,“0”表示特征沒有被選擇; (2) BP神經(jīng)網(wǎng)絡(luò)參數(shù)。 粒子的適應(yīng)度函數(shù)表示為: [f=w×precison+(1-w)i=1Nffi-1] (9) 式中:[fi]為特征狀態(tài);[w]為檢測率權(quán)值。 本文研究的網(wǎng)絡(luò)入侵檢測方法步驟如下: 步驟1:對網(wǎng)絡(luò)入侵流量數(shù)據(jù)進行采集,提出特征,并對入侵流量特征進行歸一化處理; 步驟2:對BP神經(jīng)網(wǎng)絡(luò)以及粒子群優(yōu)化算法的模型進行設(shè)置,對粒子群進行初始化,粒子群的粒子是由網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)組合并編碼而成; 步驟3:對各個粒子適應(yīng)度值進行計算,更新粒子歷史及粒子群的最優(yōu)位置; 步驟4:自適應(yīng)調(diào)節(jié)粒子群算法的慣性權(quán)重以及對粒子的速度和位置進行更新; 步驟5:如果更新迭代滿足終止條件,則由粒子群最優(yōu)位置得到BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù);若不滿足終止條件,則從步驟3繼續(xù)進行迭代更新; 步驟6:根據(jù)得到的BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù)建立網(wǎng)絡(luò)入侵檢測模型。 本文研究的網(wǎng)絡(luò)入侵檢測方法工作流程如圖1所示。 2 實驗研究 本文使用KDD CUP99數(shù)據(jù)庫數(shù)據(jù)對本文研究的網(wǎng)絡(luò)入侵檢測技術(shù)進行實驗研究,使用Matlab建立上述研究的入侵檢測模型。KDD CUP99數(shù)據(jù)庫包含了各類入侵流量數(shù)據(jù),選取較為經(jīng)典的Probe(掃描攻擊)、DOS(拒絕服務(wù)攻擊)、U2L(未授權(quán)使用本地超級權(quán)限訪問攻擊)以及U2R(遠程用戶未授權(quán)訪問攻擊)這4類入侵類型。針對4類入侵類型各選取200條數(shù)據(jù)流,其中隨即抽取100條用于對檢測模型進行訓(xùn)練,另外100條用于對檢測模型的檢測性能進行測試。針對數(shù)據(jù)流進行歸一化處理以簡化模型數(shù)據(jù)處理[9]: [S*=0.9(S-Smin)Smax-Smin+0.05] (10) 式中:[S]為歸一化處理之前的值;[Smax]為歸一化處理的最大值;[Smin]為歸一化處理的最小值。 為了對比研究本文提出的粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法的網(wǎng)絡(luò)入侵檢測模型的檢測性能,使用常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立同樣的檢測模型,并使用同樣的訓(xùn)練和測試數(shù)據(jù)進行模型訓(xùn)練和性能測試。 基于兩種算法建立的檢測模型的檢測結(jié)果如圖2,圖3所示。 其中橫縱坐標表示的含義如表1所示。 通常使用誤報率、檢測率以及檢測時間對網(wǎng)絡(luò)入侵檢測方法的檢測性能進行評價[10]: [誤報率=被誤報為入侵的正常樣本數(shù)量正常樣本總數(shù)×100%] (11) [檢測率=檢測出入侵樣本數(shù)量入侵樣本總數(shù)×100%] (12) 則兩種方法的檢測率和誤報率結(jié)果如表2所示。 使用本文研究的算法以及使用常規(guī)BP神經(jīng)網(wǎng)絡(luò)算法建立的檢測模型的檢測效率對比如表3所示。
從實驗數(shù)據(jù)可以看出,使用本文改進的粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法建立的網(wǎng)絡(luò)入侵檢測模型相比于常規(guī)BP神經(jīng)網(wǎng)絡(luò)算法建立的網(wǎng)絡(luò)入侵檢測模型,其準確率明顯提高。針對4種入侵類型的平均檢測率為91.9%,平均誤報率為僅8.1%,而常規(guī)算法的平均檢測率為80.975%,平均誤報率為18.95%。同時,本文研究的算法的檢測效率也要高于常規(guī)算法,針對4種入侵類型,平均訓(xùn)練時間僅為13.98 s,檢測時間僅為8.3 s,而常規(guī)算法的平均訓(xùn)練時間為37.6 s,檢測時間為16.67 s。
3 結(jié) 語
本文針對使用傳統(tǒng)的防火墻以及操作系統(tǒng)加固的方式無法抵擋現(xiàn)如今的入侵攻擊,無法滿足網(wǎng)絡(luò)安全的要求等問題,本文對基于數(shù)據(jù)挖掘技術(shù)的網(wǎng)絡(luò)入侵檢測技術(shù)進行了研究。BP神經(jīng)網(wǎng)絡(luò)等機器學(xué)習(xí)算法屬于數(shù)據(jù)挖掘技術(shù)中常用的技術(shù)手段,能在大量樣本集訓(xùn)練和學(xué)習(xí)后自動找出運算需要的參數(shù)和模式,有極好的數(shù)據(jù)處理能力和自組織學(xué)習(xí)能力,并且能準確進行識別,但是常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立的網(wǎng)絡(luò)入侵檢測技術(shù)存在由于BP神經(jīng)網(wǎng)絡(luò)容易陷入最小值導(dǎo)致檢測效率和準確率低下等問題,本文使用粒子群算法對BP神經(jīng)網(wǎng)絡(luò)模型進行優(yōu)化,使用動態(tài)慣性權(quán)重系數(shù)以確定BP神經(jīng)網(wǎng)絡(luò)的參數(shù),并將網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)組合并編碼成一個粒子以實現(xiàn)網(wǎng)絡(luò)入侵流量特征與BP神經(jīng)網(wǎng)絡(luò)的參數(shù)的同步選取。通過使用KDD CUP99數(shù)據(jù)庫的入侵流量數(shù)據(jù)對使用本文方法以及常規(guī)BP神經(jīng)網(wǎng)絡(luò)建立的檢測模型進行訓(xùn)練和測試,結(jié)果表明,本文研究的算法建立的檢測模型具有更高的檢測效率以及檢測準確率。
參考文獻
[1] 左申正.基于機器學(xué)習(xí)的網(wǎng)絡(luò)異常分析及響應(yīng)研究[D].北京:北京郵電大學(xué),2010.
[2] 呂曼.基于數(shù)據(jù)挖掘的入侵檢測方法的研究[D].大慶:大慶石油學(xué)院,2007.
[3] 胡秀.基于Web的數(shù)據(jù)挖掘技術(shù)研究[J].軟件導(dǎo)刊,2015(1):149?150.
[4] 李仕瓊.數(shù)據(jù)挖掘中關(guān)聯(lián)規(guī)則挖掘算法的分析研究[J].電子技術(shù)與軟件工程,2015(4):200.
[5] 宋國峰,梁昌勇,梁焱,等.改進遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的旅游景區(qū)日客流量預(yù)測[J].小型微型計算機系統(tǒng),2014(9):2136?2141.
[6] 胡天騏,單劍鋒,宋曉濤.基于改進PSO?LSSVM的模擬電路診斷方法[J].計算機技術(shù)與發(fā)展,2015(6):193?196.
[7] 孫衛(wèi)紅,童曉,李強.改進PSO優(yōu)化參數(shù)的LSSVM燃煤鍋爐NO_X排放預(yù)測[J].數(shù)據(jù)采集與處理,2015,30(1):231?238.
[8] 郭通.基于自適應(yīng)流抽樣測量的網(wǎng)絡(luò)異常檢測技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2013.
[9] 張磊.三種神經(jīng)網(wǎng)絡(luò)識別P2P流量的方法比較[D].重慶:重慶大學(xué),2010.
[10] 彭皎龍.改進蟻群聚類算法優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)控制研究及其應(yīng)用[D].鄭州:鄭州大學(xué),2013.