周立軍 張杰 呂海燕



摘 要: 在此對基于數據挖掘技術的網絡入侵檢測技術進行研究??紤]到常規BP神經網絡建立的網絡入侵檢測技術存在由于BP神經網絡容易陷入最小值導致檢測效率和準確率低下等問題,使用粒子群算法對BP神經網絡模型進行優化,使用動態慣性權重系數以確定BP神經網絡的參數,并將網絡入侵流量特征與BP神經網絡的參數組合并編碼成一個粒子以實現網絡入侵流量特征與BP神經網絡的參數的同步選取。通過使用KDD CUP99數據庫的入侵流量數據對使用該方法以及常規BP神經網絡建立的檢測模型進行訓練和測試,結果表明,研究算法建立的檢測模型具有更高的檢測效率以及檢測準確率。
關鍵詞: 數據挖掘; BP神經網絡; 網絡入侵檢測; 粒子群優化算法
中圖分類號: 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 引 言
隨著計算機互聯網環境的日益復雜化,以及網絡技術的日益普遍化,使得互聯網入侵攻擊方法日益多樣化、智能化以及復雜化,因此使用傳統的防火墻以及操作系統加固的方式無法抵擋現如今的入侵攻擊,無法滿足網絡安全的要求,故入侵檢測系統應運而生[1?2]。入侵檢測系統能夠針對網絡流量數據進行檢測分析,從中分辨出異常流量,檢測入侵等危害計算機安全的行為。然而網絡流量數據龐大,導致了檢測系統在需要數據對決策進行支撐時,往往對海量數據無從下手,不能快速而有效率地從中提取出需要的信息和有價值的知識。順應此需求,數據挖掘技術在近年來發展十分迅速。作為一種高端的數據分析工具,數據挖掘技術具有強大的數據處理和分析能力,而目前通信、計算機和網絡等技術的合并使得數據量進一步擴大,所以數據挖掘技術在信息化管理中的地位進一步提升[3?4]。
BP神經網絡等機器學習算法屬于數據挖掘技術中常用的技術手段,能在大量樣本集訓練和學習后自動找出運算需要的參數和模式,有極好的數據處理能力和自組織學習能力,并且能準確進行識別,但是常規BP神經網絡建立的網絡入侵檢測技術存在由于BP神經網絡容易陷入最小值導致檢測效率和準確率低下等問題,本文使用粒子群算法對BP神經網絡模型進行優化,使用動態慣性權重系數以確定BP神經網絡的參數,并將網絡入侵流量特征與BP神經網絡的參數組合并編碼成一個粒子以實現網絡入侵流量特征與BP神經網絡的參數的同步選取[5]。
1 改進型BP神經網絡
1.1 BP神經網絡
訓練樣本設定為[xk,yk],其中[xk]為輸入向量,[yk]為期望的輸出向量,即實際類型。則BP神經網絡的輸出和實際類型[yk]的誤差之和表示為:
[E=k=1mEk] (1)
式中:[Ek]表示為:
[Ek=i=1n?(eik)=12i=1n(yik-y)2=12i=1neik2] (2)
BP神經網絡的輸出和實際類型[yk]的誤差通過對權值的調整而改變。設定BP神經網絡隱層中第[i]個輸出表示為:
[yik=σ0(yik),yik=Wik(o)TH(l)k=j=1nlw(0)ijh(l)jk] (3)
BP神經網絡調整權值方法如下:
[?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神經網絡中第[r]層的進行權值調整方法如下:
[Δ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神經網絡建立的網絡入侵檢測模型在實際應用中,會由于BP神經網絡的梯度下降算法優化權值而導致陷入局部最優解等問題,使得網絡入侵檢測模型的誤差逐漸增加,降低檢測準確率,因此本文使用粒子群優化算法對BP神經網絡的權值進行優化[6]。
1.2 改進粒子群算法
粒子群優化算法是人們受到鳥類覓食行為啟發而演化出來的。設定粒子群優化算法中第i個粒子的位置為[Xi=xi1,xi2,…,xin],第i個粒子的飛行速度為[Vi=vi1,vi2,…,vin],粒子最優位置向量表示為[Pi=pi1,pi2,…,pin],整個粒子群的最優位置向量表示為[Gi=gi1,gi2,…,gin],則粒子群更新速度和更新位置方法表示為:
[Vk+1id=wVkid+c1r1(pbkid-xkid)+c2r2(gbkd-xkid)Xk+1id=Xkid+Vk+1id] (7)
由于粒子群優化算法的搜索效率和準確率取決于粒子群優化算法中的慣性權值,因此本文使用動態慣性權重系數以確定BP神經網絡的參數:
[w=wmin-(wmax-wmin)*(f-fmin)(favg-fmin), f≥favgwmax, f 式中:[wmax]表示慣性權值的最大值;[wmin]表示慣性權值的最小值;[favg]表示適應度函數的平均值;[fmin]表示適應度函數的最小值[7?8]。 本文將網絡入侵流量特征與BP神經網絡的參數組合并編碼成一個粒子以實現網絡入侵流量特征與BP神經網絡的參數的同步選取。粒子的位置向量表示為: (1) 入侵流量特征,“1”表示特征被選擇,“0”表示特征沒有被選擇; (2) BP神經網絡參數。 粒子的適應度函數表示為: [f=w×precison+(1-w)i=1Nffi-1] (9) 式中:[fi]為特征狀態;[w]為檢測率權值。 本文研究的網絡入侵檢測方法步驟如下: 步驟1:對網絡入侵流量數據進行采集,提出特征,并對入侵流量特征進行歸一化處理; 步驟2:對BP神經網絡以及粒子群優化算法的模型進行設置,對粒子群進行初始化,粒子群的粒子是由網絡入侵流量特征與BP神經網絡的參數組合并編碼而成; 步驟3:對各個粒子適應度值進行計算,更新粒子歷史及粒子群的最優位置; 步驟4:自適應調節粒子群算法的慣性權重以及對粒子的速度和位置進行更新; 步驟5:如果更新迭代滿足終止條件,則由粒子群最優位置得到BP神經網絡的最優參數;若不滿足終止條件,則從步驟3繼續進行迭代更新; 步驟6:根據得到的BP神經網絡的最優參數建立網絡入侵檢測模型。 本文研究的網絡入侵檢測方法工作流程如圖1所示。 2 實驗研究 本文使用KDD CUP99數據庫數據對本文研究的網絡入侵檢測技術進行實驗研究,使用Matlab建立上述研究的入侵檢測模型。KDD CUP99數據庫包含了各類入侵流量數據,選取較為經典的Probe(掃描攻擊)、DOS(拒絕服務攻擊)、U2L(未授權使用本地超級權限訪問攻擊)以及U2R(遠程用戶未授權訪問攻擊)這4類入侵類型。針對4類入侵類型各選取200條數據流,其中隨即抽取100條用于對檢測模型進行訓練,另外100條用于對檢測模型的檢測性能進行測試。針對數據流進行歸一化處理以簡化模型數據處理[9]: [S*=0.9(S-Smin)Smax-Smin+0.05] (10) 式中:[S]為歸一化處理之前的值;[Smax]為歸一化處理的最大值;[Smin]為歸一化處理的最小值。 為了對比研究本文提出的粒子群優化BP神經網絡算法的網絡入侵檢測模型的檢測性能,使用常規BP神經網絡建立同樣的檢測模型,并使用同樣的訓練和測試數據進行模型訓練和性能測試。 基于兩種算法建立的檢測模型的檢測結果如圖2,圖3所示。 其中橫縱坐標表示的含義如表1所示。 通常使用誤報率、檢測率以及檢測時間對網絡入侵檢測方法的檢測性能進行評價[10]: [誤報率=被誤報為入侵的正常樣本數量正常樣本總數×100%] (11) [檢測率=檢測出入侵樣本數量入侵樣本總數×100%] (12) 則兩種方法的檢測率和誤報率結果如表2所示。 使用本文研究的算法以及使用常規BP神經網絡算法建立的檢測模型的檢測效率對比如表3所示。
從實驗數據可以看出,使用本文改進的粒子群優化BP神經網絡算法建立的網絡入侵檢測模型相比于常規BP神經網絡算法建立的網絡入侵檢測模型,其準確率明顯提高。針對4種入侵類型的平均檢測率為91.9%,平均誤報率為僅8.1%,而常規算法的平均檢測率為80.975%,平均誤報率為18.95%。同時,本文研究的算法的檢測效率也要高于常規算法,針對4種入侵類型,平均訓練時間僅為13.98 s,檢測時間僅為8.3 s,而常規算法的平均訓練時間為37.6 s,檢測時間為16.67 s。
3 結 語
本文針對使用傳統的防火墻以及操作系統加固的方式無法抵擋現如今的入侵攻擊,無法滿足網絡安全的要求等問題,本文對基于數據挖掘技術的網絡入侵檢測技術進行了研究。BP神經網絡等機器學習算法屬于數據挖掘技術中常用的技術手段,能在大量樣本集訓練和學習后自動找出運算需要的參數和模式,有極好的數據處理能力和自組織學習能力,并且能準確進行識別,但是常規BP神經網絡建立的網絡入侵檢測技術存在由于BP神經網絡容易陷入最小值導致檢測效率和準確率低下等問題,本文使用粒子群算法對BP神經網絡模型進行優化,使用動態慣性權重系數以確定BP神經網絡的參數,并將網絡入侵流量特征與BP神經網絡的參數組合并編碼成一個粒子以實現網絡入侵流量特征與BP神經網絡的參數的同步選取。通過使用KDD CUP99數據庫的入侵流量數據對使用本文方法以及常規BP神經網絡建立的檢測模型進行訓練和測試,結果表明,本文研究的算法建立的檢測模型具有更高的檢測效率以及檢測準確率。
參考文獻
[1] 左申正.基于機器學習的網絡異常分析及響應研究[D].北京:北京郵電大學,2010.
[2] 呂曼.基于數據挖掘的入侵檢測方法的研究[D].大慶:大慶石油學院,2007.
[3] 胡秀.基于Web的數據挖掘技術研究[J].軟件導刊,2015(1):149?150.
[4] 李仕瓊.數據挖掘中關聯規則挖掘算法的分析研究[J].電子技術與軟件工程,2015(4):200.
[5] 宋國峰,梁昌勇,梁焱,等.改進遺傳算法優化BP神經網絡的旅游景區日客流量預測[J].小型微型計算機系統,2014(9):2136?2141.
[6] 胡天騏,單劍鋒,宋曉濤.基于改進PSO?LSSVM的模擬電路診斷方法[J].計算機技術與發展,2015(6):193?196.
[7] 孫衛紅,童曉,李強.改進PSO優化參數的LSSVM燃煤鍋爐NO_X排放預測[J].數據采集與處理,2015,30(1):231?238.
[8] 郭通.基于自適應流抽樣測量的網絡異常檢測技術研究[D].鄭州:解放軍信息工程大學,2013.
[9] 張磊.三種神經網絡識別P2P流量的方法比較[D].重慶:重慶大學,2010.
[10] 彭皎龍.改進蟻群聚類算法優化的RBF神經網絡控制研究及其應用[D].鄭州:鄭州大學,2013.