摘 要 互聯(lián)網(wǎng)的發(fā)展,給用戶帶來了便利也給網(wǎng)絡安全帶來了威脅。網(wǎng)絡的規(guī)模增大,導致通信流量增多且復雜。本文提出對細菌覓食算法的改進,使細菌選擇最佳方向移動并自適應改變步長與步數(shù)。改進的細菌覓食算法優(yōu)化入侵檢測,仿真證明可以提高異常檢測率[1]。
關鍵詞 入侵檢測;細菌覓食算法;網(wǎng)絡安全
網(wǎng)絡入侵一般是由惡意代碼引發(fā)的,導致網(wǎng)絡癱瘓,數(shù)據(jù)泄露,入侵檢測是解決該問題的常用方法。常用的入侵檢測技術有神經(jīng)網(wǎng)絡、專家系統(tǒng)等,其中神經(jīng)網(wǎng)絡因性能更好而受歡迎。但是神經(jīng)網(wǎng)絡的初始參數(shù)影響了算法的檢測率,本文提出細菌覓食算法的改進,對神經(jīng)網(wǎng)絡的參數(shù)進行優(yōu)化[2]。
1細菌覓食算法簡介
1.1 細菌覓食算法
細菌覓食算法是進化算法,包含趨化、繁殖、遷移三種行為,趨化行為是核心,影響搜索精度,繁殖行為根據(jù)“優(yōu)勝劣汰”保證菌群質(zhì)量,遷移行為避免算法“早熟”。
算法更新公式:
代表細菌i經(jīng)過j次趨化、k次繁殖、l次遷移的位置,是一次趨化,代表趨化的方向。
(1)趨化。趨化過程中細菌在解空間移動,尋找營養(yǎng)富集的區(qū)域。趨化包含移動和翻滾,細菌按照設定的步數(shù)與步長移動,通過翻滾選擇方向。趨化過程反映細菌的覓食行為,實現(xiàn)位置的更新。
(2)繁殖。在執(zhí)行完一輪趨化操作之后進入繁殖階段。設菌群規(guī)模為N,繁殖階段要求菌群總數(shù)不變,將細菌按照適應度從大到小排序,淘汰后面的N/2,剩下的細菌二分裂繁殖。
(3)遷移。由于環(huán)境變化,菌群會從現(xiàn)在的生存環(huán)境向較好的遷移。算法會在每次繁殖后,按照概率p將細菌隨機分配到解空間,分配后的個體可能會獲得更高的適應度,有助于避免算法早熟[3]。
2細菌覓食算法的改進
2.1 原算法的不足
原算法中,趨化的步長與步數(shù)是固定值,降低菌群的多樣性,步長過大會降低尋優(yōu)精度,反之易陷入局部最優(yōu)。
2.2 趨化行為的改進
本文對趨化提出兩處改進。
改進方向的選擇。細菌移動時會記錄個體的最優(yōu)位置,種群的最優(yōu)位置是所有個體的最優(yōu)位置。原算法通過細菌“翻滾”隨機選擇方向移動,使正前往優(yōu)質(zhì)解的細菌變換方向,遠離優(yōu)質(zhì)解。改進算法使細菌在每次選擇方向時,都要計算適應度,當適應度單調(diào)不遞減時,方向不變,使細菌朝著優(yōu)質(zhì)解的方向移動,并且在移動過程中增大步長、步數(shù),加快算法收斂。
設置步長與步數(shù)根據(jù)密度變化。研究發(fā)現(xiàn),細菌移動步長的大小受到局部菌群密度的影響,密度大代表區(qū)域營養(yǎng)高吸引細菌,細菌活性增強;密度小表示區(qū)域營養(yǎng)貧瘠,細菌活性降低遠離區(qū)域,菌群越密集的地方越可能存在優(yōu)質(zhì)解,反之可能性越小。細菌i所在區(qū)域的密度用crowd表示,crowd的大小由搜索區(qū)間內(nèi)個體數(shù)量n和搜索區(qū)間長度len決定,crowd=n/len。當crowd大于閾值時,步長和步數(shù)同步減小,增強局部尋優(yōu)的能力;當crowd小于閾值時,步長和步數(shù)同步增大,快速離開當前區(qū)域[4]。
3改進細菌覓食算法優(yōu)化的神經(jīng)網(wǎng)絡入侵檢測
在已經(jīng)生成的神經(jīng)網(wǎng)絡中,初始參數(shù)不恰當會延長算法的運行時間,降低檢測的精度。本文中,神經(jīng)網(wǎng)絡隨機初始化神經(jīng)元的參數(shù)并采用細菌覓食算法調(diào)整參數(shù)。算法步驟:①初始化神經(jīng)網(wǎng)絡的連接參數(shù)并第一次訓練。如果訓練結(jié)果滿足檢測率則停止訓練,否則,根據(jù)權值生成菌群進行調(diào)整。②計算菌群的適應度。③執(zhí)行細菌覓食算法,尋找滿足需要的解。④當細菌覓食算法達到最大迭代次數(shù),算法停止。⑤再次訓練神經(jīng)網(wǎng)絡,如果訓練結(jié)果不滿足要求,則繼續(xù)優(yōu)化。
4仿真結(jié)果與分析
本文樣本數(shù)據(jù)采用CIC數(shù)據(jù)集,包含的特征有時間戳、源主機和目標主機的IP、源主機和目標主機的端口、協(xié)議號等。
分別對細菌覓食算法優(yōu)化的神經(jīng)網(wǎng)絡、改進細菌覓食算法優(yōu)化的神經(jīng)網(wǎng)絡仿真,對比分析。改進后算法在檢測率上有了提升,訓練時間也比之前更短。改進之前,算法在350s后穩(wěn)定,檢測率89.63%,改進之后,在200s后趨于穩(wěn)定,檢測率91.27%[5]。
5結(jié)束語
本文提出基于改進細菌覓食算法的入侵檢測方法,對算法的趨化行為提出改進,設置步長、步數(shù)動態(tài)變化。改進算法對神經(jīng)網(wǎng)絡的初始權值進行調(diào)整,提高了檢測率,縮短了訓練時間,一定程度上提升了入侵檢測的性能。
參考文獻
[1] 鎮(zhèn)方雄.基于改進遺傳算法的多層神經(jīng)網(wǎng)絡BP算法研究[D].武漢:湖北大學,2005.
[2] 閻平凡,張長水.人工神經(jīng)網(wǎng)絡與模擬進化計算[M].北京:清華大學出版社,2000:63.
[3] 王永全.入侵檢測系統(tǒng)(IDS)的研究現(xiàn)狀和展望[J].通信技術,2008,41(11):139-146.
[4] 欒慶林,盧輝斌.基于神經(jīng)網(wǎng)絡與遺傳算法的入侵檢測研究[J].電子測量技術,2008,31(5):70-74.
[5] 戴天虹.基于遺傳神經(jīng)網(wǎng)絡的入侵檢測研究[J].中國安全科學學報,2006,16(2):103-108.
作者簡介
李奇亮(1993年-),男,江蘇連云港市人,學歷:碩士研究生,沈陽理工大學在讀,研究方向:網(wǎng)絡計算與信息安全。