朱小華


摘 要: 為解決傳統入侵檢測算法存在的檢測正確率低、高誤播率和檢測效率低的問題,結合BP神經網絡算法在網絡入侵檢測中的優點,提出一種采用人工魚群算法優化BP神經網絡算法的方法。通過仿真實驗表明,采用優化的神經網絡對入侵數據進行學習和檢測,與傳統網絡入侵檢測算法相比,具有較高的檢測準確率和效率,可以很好地檢測各種網絡入侵類型,大大提高了網絡的安全性能。
關鍵詞: BP神經網絡; 人工魚群算法; 入侵檢測; 優化模型
中圖分類號: 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
隨著互聯網技術的迅速發展和網絡應用規模的不斷擴大,計算機網絡已經成為人們生產和生活的重要組成部分。但是,隨著當下各種網絡攻擊和病毒入侵事件頻發,傳統的防火墻和殺毒技術面對新型木馬和遠程探測攻擊等新型網絡攻擊手段顯得力不從心。對于傳統技術,入侵檢測技術在可防御入侵類型和效率等方面的優勢得到了人們的廣泛關注。但是,傳統的入侵檢測技術自身具有檢測效率低,維護性、系統更新能力低,漏報和誤報率較高等缺陷。因此,本文引入基于魚群算法優化的BP神經網絡這一智能算法構建入侵檢測模型,以提高其檢測效率和檢測性能[1?3]。
1 人工魚群算法
人工魚群算法(Artificial Fish Swarm Algorithm,AFSA)采用人工魚定義整個魚群中的各個個體,在其內部封裝了數據和一系列行為規則,然后將問題的解空間模擬成環境里的食物濃度;將問題的自變量模擬成人工魚的狀態。通過每條人工魚在其搜索空間中尋找最佳解決方案,實現全局的最優自適應搜索[4]。利用AFSA優化BP神經網絡,就是利用人工魚群算法在訓練中不斷調整網絡的權值和閾值,實現誤差最小的尋優目的,其優化的具體流程如圖1所示。
定義BP神經網絡節點和節點之間的輸入權值為輸出權值為輸出節點的閾值為人工魚群的狀態變量為設魚群規模為人工魚的狀態為維向量,是神經網絡權值和閾值的總和,初始化人工魚編碼,其后隨機產生人工魚初始群體。
定義向量為人工魚的狀態向量,其中是欲尋優的變量,定義為人工魚當下的食物濃度,其中,為目標函數值。用歐式距離表示各個個體之間的距離。此外,定義Visual為人工魚的感知范圍,Step為人工魚的最大移動步長,為魚群擁擠度因子。經過執行覓食、聚群、追尾三種方法對狀態變量進行反復優化后可以得到魚群最佳適應度值,即BP神經網絡的最佳結構參數。
2 模型的實驗過程及結果分析
2.1 實驗環境
本次實驗的硬件平臺為Intel i7 4.8 GHz,16 GB內存和2 TB硬盤的計算機,實驗在Windows 10平臺上用Matlab語言編程實現。
2.2 實驗數據源的選取
本文仿真實驗采用KDD 99數據集,該數據集為目前網絡入侵檢測研究中最常用的數據集。它包含了近500萬條虛擬攻擊和正常訪問記錄。其中包含的最常見的攻擊類型有以下幾種:拒絕服務攻擊(DoS)、本地用戶權限提升攻擊(U2R)、遠程攻擊(R2L)、探測攻擊(Probe)和新類型攻擊(Other)[5],在KDD 99數據集中,每條鏈接都包含41個特征,標志著這條鏈接記錄的各個屬性,這些屬性之間的取值范圍也有差異,在入侵檢測仿真實驗中必須先將這些原始數據進行預處理,再按照神經網絡建模的要求進行歸一化處理。本次實驗從數據集中隨機選取1萬條包含各種攻擊方法的實驗數據。
2.3 神經網絡模型的計算和結果分析
考慮到模型的收斂速度,本文的入侵檢測模型用三層BP神經網絡來實現,神經網絡的輸入層包含41個神經元,輸出層有6個神經元,隱含層神經元個數通過經驗公式選擇為17。
在Matlab 2015a中應用輸入和輸出樣本向量對網格進行訓練,定義期望誤差為10-4。在訓練過程中,BP神經網絡誤差的變化情形如圖2所示。
由圖2可知,該BP神經網絡通過164步運算后收斂到預定精度要求。
使用人工魚群算法優化該BP神經網絡,參考文獻[6?7]設定魚群規模人工魚移動最大步長人工魚的最大視野擁擠度因子采用優化后的神經網絡誤差變換情況如圖3所示。
對比圖2,圖3可知,BP神經網絡經過164步運算后才能達到預設精度,而魚群算法優化的BP神經網絡(ASFA?BP)只需要46步運算就能實現理想精度,采用ASFA?BP神經網絡的收斂速度大大提高。
為了進一步研究BP神經網絡和ASFA?BP神經網絡的入侵檢測性能,本文采用正確率、誤播率和檢測時間三個性能指標對其進行評價,其對五種網絡入侵方式的檢測結果如圖4所示。
由圖4可知,經過人工魚群算法優化的BP神經網絡相對于原BP網絡,在大大提高正確率,降低誤播率的同時,大幅度降低了入侵檢測所需要的時間,提高了網絡的入侵檢測效率。這是因為相對傳統的BP神經網絡算法,AFSA?BP網絡的搜索能力更強,可以找到最優的神經網絡連接權值和閾值,從而獲得更加理想的網絡入侵檢測結果。
3 結 論
本文針對BP神經網絡在入侵檢測中存在收斂速度較慢、收斂于局部最優值等問題,引入魚群算法優化BP神經網絡來快速獲得全局最優值。通過利用該優化模型進行的仿真實驗表明,采用AFSA?BP神經網絡的網絡入侵檢測系統具有較高的檢測精度,可以有效提高網絡的安全性。
參考文獻
[1] 彭沙沙,張紅梅,卞東亮.計算機網絡安全分析研究[J].現代電子技術,2012,35(4):109?112.
[2] 胡明霞.基于BP神經網絡的入侵檢測算法[J].計算機工程,2012,38(6):148?150.
[3] 周飛.人工魚群算法優化神經網絡的應用研究[J].系統工程學報,2014(2):328?335.
[4] 危勝軍,胡昌振,姜飛.基于BP神經網絡改進算法的入侵檢測方法[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] 楊淑霞,韓奇,徐琳茜,等.基于魚群算法優化BP神經網絡的電力客戶滿意度綜合評價方法[J].電網技術,2011,35(5):146?151.
[7] 李吉陽.基于人工魚群優化BP神經網絡的入侵檢測系統[J].計算機工程應用研究,2015,35(2):321?332.
[8] 付曉明,王福林,尚家杰.基于多子代遺傳算法優化BP神經網絡[J].計算機仿真,2016,33(3):258?263.