晁萍瑤+王小敏



摘 要:為了解決目前入侵檢測技術準確率低、誤報率高和無法檢測新攻擊類型等問題,研究了基于人工神經網絡(ANN)的入侵檢測技術,將徑向基函數(RBF)網絡應用于入侵檢測研究中,并利用蛙跳算法(SFLA)對其參數進行優化,提高了入侵檢測性能。
關鍵詞:入侵檢測技術;RBF神經網絡;蛙跳算法;網絡安全
DOIDOI:10.11907/rjdk.171313
中圖分類號:TP312
文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0050-03
0 引言
入侵檢測即檢測入侵,是指把網絡流量中入侵的記錄從正常記錄中檢測出來。研究證明RBF神經網絡能夠以任意精度逼近連續函數,特別適合解決分類問題。然而構建基于RBF神經網絡的入侵檢測模型,雖然可以提高入侵檢測的準確率和誤報率,但在參數選擇中存在問題。因為RBF神經網絡的隱層基函數一般是在輸入樣本集中選取,難以反映真正的輸入輸出關系,隱含層到輸出層的權值采用最小二乘法計算而得,訓練過于簡單。基于此,解男男[1]用粒子群(PSO)算法優化RBF神經網絡的入侵檢測技術,并通過實驗證明該算法的有效性和可行性,但其漏報率較高;單曉虹[2]利用遺傳算法(GA)對傳統RBF網絡的初始權重進行優化并用于系統辨識。實驗證明該神經網絡具有良好的泛化能力;蛙跳算法結合了基于模因遺傳的模因演算法 (MA)和基于群體覓食行為的粒子群算法特點,具有概念簡單、調整參數少、計算速度快、全局搜索尋優能力強、易于實現等優點,已應用于離散優化問題、連續優化問題和聚類問題[7]等多個領域。本文在解男男[1]研究的基礎上,用SFLA算法優化RBF神經網絡隱含層到輸出層的權值參數并用于入侵檢測模型中,通過實驗證明其性能優于基于PSO優化的RBF入侵檢測模型。
1 SFLA算法
SFLA是Eusuff和Lansey等為解決組合優化問題于2003年提出的一種基于群體的亞啟發式協同搜索群智能算法。該算法建立在群中個體具有模因進化和利用模因實現全局信息交換基礎上。
SFLA是通過使用一個啟發式函數來搜索問題的全局最優解,該算法主要應用于模式識別、函數優化等領域。SFLA算法圖解見圖1,它模擬了一群青蛙(解)在一片濕地(解空間)上跳動覓食的過程[3]。
SFLA算法涉及到的參數為:F:蛙群的數量;m:子群的數量;n:子群中青蛙的數量;Dmax:允許更新的最大跳動步長;Dmin:允許更新的最小跳動步長;Px:全局最優個體;Pb:子群中的最優個體;Pw:子群中的最差個體;LS:局部元進化次數;SF:全局思想交流次數等[3]。
每個子群分別進行局部深度搜索,更新蛙跳步長和青蛙個體位置。
蛙跳步長更新公式:
Di=rand()*(Pb-Pw)(1)
青蛙個體的位置更新公式:
Pw ′ = Pw + Di (||-Dmin ||≤||Di ||≤||Dmax ||)(2)
式(1)中,Di表示青蛙的更新步長,rand()表示0-1之間進行取值的隨機數;式(2)中,Pw′表示更新后的局部最差個體;如果Pw′所對應的適應值次于Pw所對應的適應值,則采用全局最優解Px代替式(1)中的Pb,并更新Pw。
蛙跳步長更新公式:
Di=rand()*(Px-Pw)(3)
青蛙個體的位置更新公式:
Pw ′ = Pw + Di (||-Dmin ||≤||Di ||≤||Dmax ||)(4)
如果Pw仍然沒有改進,則隨即產生一個新的蛙代替Pw[6]。
2 SFLA-RBF神經網絡算法
2.1 算法分析
針對傳統RBF神經網絡算法中的權值優化問題,本文提出一種基于SFLA優化的RBF神經網絡算法,即 SFLA-RBF算法,算法流程見圖2。
圖2中的算法流程由初始化、SFLA算法優化、分類輸出結果和計算準確率階段組成。
(1)RBF神經網絡初始化階段。首先,將準備好的數據集進行數值化和歸一化并導入到神經網絡中,作為神經網絡的輸入數據,并導入神經網絡的目標輸出數據;再通過函數初步構建RBF神經網絡net,并從構建好的網絡中提取出需要優化的隱含層參數。
(2)SFLA算法優化階段。首先將階段(1)中得到的隱含層權值參數表示成要優化的問題,并求出最大權值和最小權值,確定種群青蛙的數量以及子群數量等算法參數,每一只青蛙代表解空間中的一個候選解,并初始化種群;再將所有青蛙按照性能好壞依次排列,分別放在不同的子群中。不同子群的青蛙分別進行局部搜索,不斷跳躍,接近目標位置并重新匯合,排序構建下一代新種群;滿足停止條件則輸出全局最優解。
(3)RBF神經網絡分類階段。將階段(2)所得的全局最優解作為新的RBF網絡隱含層到輸出層的權值,重新帶入RBF神經網絡中,并輸出分類。
2.2 算法描述
對SFLA-RBF神經網絡算法描述如下:
輸入:樣本數據
輸出:分類結果
(1)構建RBF神經網絡,將歸一化后的訓練樣本數據導入到RBF神經網絡中,得到輸出結果后,從中提取出隱含層權值等參數。
center=net.iw{1,1} ;
b1=net.b{1};
w2=net.lw{2,1};
b2=net.b{2};
(2)初始化青蛙種群,隨機產生青蛙的總個數為F,青蛙子群數為m,每組青蛙的個數為n,那么F =m×n;種群迭代次數為SF,允許更新的最大蛙跳步長為Dmax,允許更新的最小蛙跳步長為Dmin。endprint
(3)計算適應度值,根據適應度值對所有青蛙進行排序[4]。這一階段,第一只青蛙進入第一個子群,第二只青蛙進入第二個子群,第m只青蛙進入第m個子群,依此類推[5-6]。
(4)對每一個青蛙子群進行局部深度搜索,根據更新策略對青蛙個體位置不斷更新。
(5)判斷是否滿足全局迭代次數,若滿足,則輸出全局最優值,進化結束;若不滿足,則將全部青蛙個體重新混合,轉至步驟(3)。
(6)(1)-(5)步得到的全局最優值即為通過SFLA算法優化后的RBF神經網絡權值向量w,根據優化后的權值重新構造RBF神經網絡。
(7)輸入入侵攻擊測試數據,執行RBF神經網絡算法,輸出分類結果。
(8)分別計算準確率、誤報率和漏報率。
上述步驟中,步驟(1)為RBF神經網絡的初始化階段,步驟(2)-(5)為SFLA算法的優化階段,步驟(6)-(8)為RBF神經網絡的重新構建并輸出分類結果階段。
2.3 實驗結果分析
采用兩組樣本來檢測SFLA-RBF神經網絡的入侵檢測性能。訓練數據采用KDD99中抽樣的train1和train2,測試數據采用test1和test2,見表1。
圖3、圖5所示為輸入test1的輸出結果,由于測試樣本數據較多,不能清晰反映實際輸出結果和期望輸出結果的關系。圖4、圖6為test1輸出結果的局部放大圖。紅色圓圈表示實際輸出,藍色線條表示期望的輸出結果。
當期望輸出結果為異常樣本時,藍色線條顯示;當期望輸出結果為正常時,藍色線條不顯示;當實際輸出結果為異常時,紅色圓圈位于縱坐標1的位置;當實際輸出結果為正常時,紅色圓圈位于縱坐標0的位置。實驗結果見表2。
觀察圖3、圖5和表1、表2可以看出:采用SFLA算法優化RBF網絡,準確率都在90%以上,誤差率在10%左右,漏報率低于2%。
3 算法比較
RBF神經網絡算法具有較高的精確度,并且訓練速度快,但其參數需要根據不同學習算法求解,且應用于入侵檢測中誤報率偏高。PSO-RBF神經網絡算法是一種用來改進RBF隱含層權值的優化算法。經過PSO改進后的RBF網絡用于入侵檢測性能有所提高。
如表3、表4、表5所示,使用train1、train2、test1和test2分別作為神經網絡模型的訓練樣本和測試樣本,通過實驗,對SFLA-RBF算法、傳統RBF算法和PSO-RBF算法的準確率、誤報率和漏報率進行分析對比并計算均值。圖7表示這3個指標平均值的對比情況,其中橫坐標表示不同算法,縱坐標表示對應的準確率、誤報率和漏報率。
從3個不同指標分析,SFLA-RBF算法較傳統的RBF算法和PSO_RBF算法性能更優。
4 結語
針對RBF網絡的參數優化問題,給出了一種基于SFLA-RBF神經網絡算法,并將其應用于入侵檢測中,將SFLA算法應用到神經網絡權值優化上。對兩組子集進行試驗表明:SFLA-RBF算法與RBF算法相比準確率基本一致,約為94%,但誤報率和漏報率都明顯降低。與解男男[1]的PSO-RBF算法相比,準確率和誤報率基本一致,但漏報率明顯降低。
參考文獻:
[1] 解男男.機器學習方法在入侵檢測中的應用研究[D].長春:吉林大學,2015.
[2] 單曉虹.基于遺傳算法的RBF神經網絡及其在系統辨識中的應用[D].青島:青島大學,2006.
[3] 韓毅,蔡建湖,周根貴,等.隨機蛙跳算法的研究進展[J].計算機科學,2010,37(7):16-19.
[4] 張瀟丹,包永強,奚吉,等.基于MD-CM-SFLA神經網絡的耳語音情感識別[J].東南大學學報:自然科學版,2012,42(5):848-853.
[5] PAN G,PAN F,LIU G.Path planning for mobile robots based on improved shuffled frog leaping algorithm[J].Journal of Computer Applications,2014,34(10):2850-2853.
[6] 王茜,張粒子,舒雋,等.基于閾值選擇策略的改進混合蛙跳算法在電網規劃中的應用[J].電力系統保護與控制,2011,39(3):34-39.
[7] TIAN J,GAO M,ZHANG F.Network intrusion detection method based on radial basic function neural network[C].International Conference on E-Business and Information System Security, IEEE,2009:1-4.
[8] AMIRI B,FATHIAN M,MAROOSI A.Application of shuffled frog-leaping algorithm on clustering[J].International Journal ofAdvanced Manufacturing Technology,2009(5):152-158.endprint