朱小華


摘 要: 為解決傳統(tǒng)入侵檢測算法存在的檢測正確率低、高誤播率和檢測效率低的問題,結(jié)合BP神經(jīng)網(wǎng)絡算法在網(wǎng)絡入侵檢測中的優(yōu)點,提出一種采用人工魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡算法的方法。通過仿真實驗表明,采用優(yōu)化的神經(jīng)網(wǎng)絡對入侵數(shù)據(jù)進行學習和檢測,與傳統(tǒng)網(wǎng)絡入侵檢測算法相比,具有較高的檢測準確率和效率,可以很好地檢測各種網(wǎng)絡入侵類型,大大提高了網(wǎng)絡的安全性能。
關(guān)鍵詞: BP神經(jīng)網(wǎng)絡; 人工魚群算法; 入侵檢測; 優(yōu)化模型
中圖分類號: TN711?34 文獻標識碼: A 文章編號: 1004?373X(2017)01?0080?03
Abstract: In order to solve the problems of low detection accuracy, high false alarm rate and low detection efficiency exis?ting in the traditional intrusion detection algorithm, a method of using artificial fish swarm algorithm to optimize the BP neural network algorithm is proposed in combination with the advantages of BP neural network algorithm in network intrusion detection. The simulation experiment results show that, in comparison with the traditional intrusion detection algorithm, the optimized neural network has higher accuracy and efficiency while learning and detecting the intrusion data, can detect various network intrusion types better, and improve the network safety performance greatly.
Keywords: BP neural network; artificial fish swarm algorithm; intrusion detection; optimization model
隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展和網(wǎng)絡應用規(guī)模的不斷擴大,計算機網(wǎng)絡已經(jīng)成為人們生產(chǎn)和生活的重要組成部分。但是,隨著當下各種網(wǎng)絡攻擊和病毒入侵事件頻發(fā),傳統(tǒng)的防火墻和殺毒技術(shù)面對新型木馬和遠程探測攻擊等新型網(wǎng)絡攻擊手段顯得力不從心。對于傳統(tǒng)技術(shù),入侵檢測技術(shù)在可防御入侵類型和效率等方面的優(yōu)勢得到了人們的廣泛關(guān)注。但是,傳統(tǒng)的入侵檢測技術(shù)自身具有檢測效率低,維護性、系統(tǒng)更新能力低,漏報和誤報率較高等缺陷。因此,本文引入基于魚群算法優(yōu)化的BP神經(jīng)網(wǎng)絡這一智能算法構(gòu)建入侵檢測模型,以提高其檢測效率和檢測性能[1?3]。
1 人工魚群算法
人工魚群算法(Artificial Fish Swarm Algorithm,AFSA)采用人工魚定義整個魚群中的各個個體,在其內(nèi)部封裝了數(shù)據(jù)和一系列行為規(guī)則,然后將問題的解空間模擬成環(huán)境里的食物濃度;將問題的自變量模擬成人工魚的狀態(tài)。通過每條人工魚在其搜索空間中尋找最佳解決方案,實現(xiàn)全局的最優(yōu)自適應搜索[4]。利用AFSA優(yōu)化BP神經(jīng)網(wǎng)絡,就是利用人工魚群算法在訓練中不斷調(diào)整網(wǎng)絡的權(quán)值和閾值,實現(xiàn)誤差最小的尋優(yōu)目的,其優(yōu)化的具體流程如圖1所示。
定義BP神經(jīng)網(wǎng)絡節(jié)點和節(jié)點之間的輸入權(quán)值為輸出權(quán)值為輸出節(jié)點的閾值為人工魚群的狀態(tài)變量為設魚群規(guī)模為人工魚的狀態(tài)為維向量,是神經(jīng)網(wǎng)絡權(quán)值和閾值的總和,初始化人工魚編碼,其后隨機產(chǎn)生人工魚初始群體。
定義向量為人工魚的狀態(tài)向量,其中是欲尋優(yōu)的變量,定義為人工魚當下的食物濃度,其中,為目標函數(shù)值。用歐式距離表示各個個體之間的距離。此外,定義Visual為人工魚的感知范圍,Step為人工魚的最大移動步長,為魚群擁擠度因子。經(jīng)過執(zhí)行覓食、聚群、追尾三種方法對狀態(tài)變量進行反復優(yōu)化后可以得到魚群最佳適應度值,即BP神經(jīng)網(wǎng)絡的最佳結(jié)構(gòu)參數(shù)。
2 模型的實驗過程及結(jié)果分析
2.1 實驗環(huán)境
本次實驗的硬件平臺為Intel i7 4.8 GHz,16 GB內(nèi)存和2 TB硬盤的計算機,實驗在Windows 10平臺上用Matlab語言編程實現(xiàn)。
2.2 實驗數(shù)據(jù)源的選取
本文仿真實驗采用KDD 99數(shù)據(jù)集,該數(shù)據(jù)集為目前網(wǎng)絡入侵檢測研究中最常用的數(shù)據(jù)集。它包含了近500萬條虛擬攻擊和正常訪問記錄。其中包含的最常見的攻擊類型有以下幾種:拒絕服務攻擊(DoS)、本地用戶權(quán)限提升攻擊(U2R)、遠程攻擊(R2L)、探測攻擊(Probe)和新類型攻擊(Other)[5],在KDD 99數(shù)據(jù)集中,每條鏈接都包含41個特征,標志著這條鏈接記錄的各個屬性,這些屬性之間的取值范圍也有差異,在入侵檢測仿真實驗中必須先將這些原始數(shù)據(jù)進行預處理,再按照神經(jīng)網(wǎng)絡建模的要求進行歸一化處理。本次實驗從數(shù)據(jù)集中隨機選取1萬條包含各種攻擊方法的實驗數(shù)據(jù)。
2.3 神經(jīng)網(wǎng)絡模型的計算和結(jié)果分析
考慮到模型的收斂速度,本文的入侵檢測模型用三層BP神經(jīng)網(wǎng)絡來實現(xiàn),神經(jīng)網(wǎng)絡的輸入層包含41個神經(jīng)元,輸出層有6個神經(jīng)元,隱含層神經(jīng)元個數(shù)通過經(jīng)驗公式選擇為17。
在Matlab 2015a中應用輸入和輸出樣本向量對網(wǎng)格進行訓練,定義期望誤差為10-4。在訓練過程中,BP神經(jīng)網(wǎng)絡誤差的變化情形如圖2所示。
由圖2可知,該BP神經(jīng)網(wǎng)絡通過164步運算后收斂到預定精度要求。
使用人工魚群算法優(yōu)化該BP神經(jīng)網(wǎng)絡,參考文獻[6?7]設定魚群規(guī)模人工魚移動最大步長人工魚的最大視野擁擠度因子采用優(yōu)化后的神經(jīng)網(wǎng)絡誤差變換情況如圖3所示。
對比圖2,圖3可知,BP神經(jīng)網(wǎng)絡經(jīng)過164步運算后才能達到預設精度,而魚群算法優(yōu)化的BP神經(jīng)網(wǎng)絡(ASFA?BP)只需要46步運算就能實現(xiàn)理想精度,采用ASFA?BP神經(jīng)網(wǎng)絡的收斂速度大大提高。
為了進一步研究BP神經(jīng)網(wǎng)絡和ASFA?BP神經(jīng)網(wǎng)絡的入侵檢測性能,本文采用正確率、誤播率和檢測時間三個性能指標對其進行評價,其對五種網(wǎng)絡入侵方式的檢測結(jié)果如圖4所示。
由圖4可知,經(jīng)過人工魚群算法優(yōu)化的BP神經(jīng)網(wǎng)絡相對于原BP網(wǎng)絡,在大大提高正確率,降低誤播率的同時,大幅度降低了入侵檢測所需要的時間,提高了網(wǎng)絡的入侵檢測效率。這是因為相對傳統(tǒng)的BP神經(jīng)網(wǎng)絡算法,AFSA?BP網(wǎng)絡的搜索能力更強,可以找到最優(yōu)的神經(jīng)網(wǎng)絡連接權(quán)值和閾值,從而獲得更加理想的網(wǎng)絡入侵檢測結(jié)果。
3 結(jié) 論
本文針對BP神經(jīng)網(wǎng)絡在入侵檢測中存在收斂速度較慢、收斂于局部最優(yōu)值等問題,引入魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡來快速獲得全局最優(yōu)值。通過利用該優(yōu)化模型進行的仿真實驗表明,采用AFSA?BP神經(jīng)網(wǎng)絡的網(wǎng)絡入侵檢測系統(tǒng)具有較高的檢測精度,可以有效提高網(wǎng)絡的安全性。
參考文獻
[1] 彭沙沙,張紅梅,卞東亮.計算機網(wǎng)絡安全分析研究[J].現(xiàn)代電子技術(shù),2012,35(4):109?112.
[2] 胡明霞.基于BP神經(jīng)網(wǎng)絡的入侵檢測算法[J].計算機工程,2012,38(6):148?150.
[3] 周飛.人工魚群算法優(yōu)化神經(jīng)網(wǎng)絡的應用研究[J].系統(tǒng)工程學報,2014(2):328?335.
[4] 危勝軍,胡昌振,姜飛.基于BP神經(jīng)網(wǎng)絡改進算法的入侵檢測方法[J].計算機工程,2005(13):154?155.
[5] GHOSH A, SEHWARTZBARD A. A study in using neural networks for anomaly and misuse detection [C]// Proceeding of the 8th Conference on USENIX Security Symposium. Washington, D. C.: ACM, 1999: 914?922.
[6] 楊淑霞,韓奇,徐琳茜,等.基于魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡的電力客戶滿意度綜合評價方法[J].電網(wǎng)技術(shù),2011,35(5):146?151.
[7] 李吉陽.基于人工魚群優(yōu)化BP神經(jīng)網(wǎng)絡的入侵檢測系統(tǒng)[J].計算機工程應用研究,2015,35(2):321?332.
[8] 付曉明,王福林,尚家杰.基于多子代遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡[J].計算機仿真,2016,33(3):258?263.