曹耀彬,王亞剛
(西安郵電大學 計算機學院,陜西 西安 710121)
免疫算法優化的RBF在入侵檢測中的應用
曹耀彬,王亞剛
(西安郵電大學 計算機學院,陜西 西安 710121)
RBF(Radical Basis Function)神經網絡是一種典型的三層前向神經網絡。雖然RBF神經網絡的非線性逼近能力、分類能力以及學習速度都要好于其他的神經網絡,但是RBF神經網絡在實際應用中隱含層中心點難求,不能被廣泛地應用于入侵檢測系統中。免疫算法是基于免疫系統的學習算法,免疫算法不僅對干擾具有較強維持系統平衡的能力,而且具有較強的模式分類能力。為了得到最優的RBF神經網絡并將其應用到入侵檢測系統中,提出了一種免疫算法優化的基于最小均方差的聯合RBF神經網絡,即IA-LMS-RBF算法。仿真實驗結果表明,與傳統的K-means和隨機法選取基函數中心點相比,基于免疫算法求取中心點的LMS-RBF神經網絡,不僅能明顯地提高對已知攻擊的檢測能力,并且對于未知的攻擊行為也能很好地進行識別。IA-LMS-RBF算法有效提高了入侵檢測系統的效率,保證了計算機系統的安全性。
入侵檢測;RBF神經網絡;中心點;K-means;免疫算法;最小均方差
入侵檢測系統[1-2](Intrusion Detection System,IDS)指的是用來對各種入侵行為進行檢測的系統,是網絡安全體系的重要組成部分,通過對網絡和計算機系統的運行狀態進行監視,發現各種攻擊企圖,然后及時發出報警并做出相應的反應,以保證系統資源的機密性、完整性與可用性。
入侵檢測的分析方法主要包括誤用檢測和異常檢測。誤用檢測是根據已知的入侵模式來檢測系統中的入侵行為,誤用檢測會提取已知的各種攻擊的行為特征,然后編寫為入侵模式存儲到異常行為數據庫中,如果入侵者的行為正好與數據庫中的某個模式匹配就判斷為攻擊。誤用檢測具有較高的檢測率和較低的誤報率,其缺點是一般只能檢測到已知攻擊模型,而對未知的攻擊行為不敏感[3-4]。而異常檢測恰恰相反,異常檢測會提取已知的用戶的正常行為特征,并存儲到正常行為數據庫中,如果用戶的行為和正常行為數據庫中的模式偏差太大,就判別為攻擊,所以異常檢測的誤報率較高。
為了解決上述兩個問題,目前已有很多先進技術應用于IDS中。文獻[5]采用基于模糊C均值與決策樹C4.5的雙過濾機制,充分發揮模糊C均值對未知攻擊的檢測能力和C4.5的低誤報率。針對傳統BP神經網絡存在容易陷入局部最優、收斂速度慢等缺點,文獻[6]提出了人工蜂群優化的BP神經網絡在入侵檢測中的應用,文獻[7]提出將粒子群優化的BP神經網絡應用到入侵檢測中。針對支持向量機,文獻[8]提出了網格搜索優化支持向量機參數的入侵檢測系統。
鑒于RBF神經網絡的許多優點,可以將其應用到入侵檢測中,但是其隱含層基函數的參數(寬度、中心點與數量)對網絡的性能有很大影響。目前傳統的RBF神經網絡采用聚類或者隨機的方法確定RBF神經網絡的中心點,不過由于隱含層的基函數是非線性的,文獻[9]充分描述了采用這些方法確定徑向基神經網絡中心點的位置與數量,不僅會造成局部極小值的出現,而且網絡的收斂速度也會放慢,造成網絡資源的浪費,從而降低RBF神經網路的性能。該文獻初步描述并證明了采用免疫類方法求取徑向基神經網絡中心點位置與數量的可能性及其優點。
針對這一問題,文中提出了一種基于免疫算法與最小均方差(Least Mean Square,LMS)算法[10]的混合訓練算法。該算法使用免疫算法計算隱含層基函數的中心點,并利用LMS算法對連接權值做進一步的學習,求解隱含層到輸出層的權值矩陣,這樣得到的RBF神經網絡模型具有較高的泛化能力。
1985年,Powell M.J.D提出多變量插值的徑向基函數,其方法在某種程度上利用了多維空間中傳統的嚴格插值法的研究成果。20世紀80年代末,J.Moody和C.Darken提出了RBF神經網絡。RBF神經網絡模擬了人腦中局部調整、相互覆蓋接受域的神經網絡結構,因此是一種局部逼近網絡,現已證明它能以任意的精度逼近任意連續函數。
RBF神經網絡是一種三層前饋神經網絡,其不同于多層感知器,不同層有著不同的功能,其結構如圖1所示。
第一層為輸入層,由感知器組成,其作用主要是將網絡和外部的環境連接起來;第二層為非線性的隱含層,采用徑向基函數將輸入層的數據映射到更高維的隱含層,使原來線性不可分的問題變得線性可分;第三層為輸出層,負責將隱含層的數據組合輸出。
對于一個p維的輸入向量,RBF神經網絡的輸入可用式(1)計算。

圖1 RBF神經網絡結構
(1)

因為RBF神經網絡的輸出為線性神經元,因此只要確定了隱含層基函數的三個參數,就能通過線性優化方法構造出隱含層到輸出的權值矩陣。因此RBF學習算法的主要任務是確定隱含層的這三個參數,其中傳統的隱含層中心點的確定方法有無監督的聚類算法(如K-means[11])與隨機選取法,但是這兩種方法都需要事先人為指定中心點,很難得到全局最優值。
免疫算法(Immune Algorithm,IA)是一種基于生物免疫系統的進化算法,它模擬了免疫系統獨有的學習、記憶、識別等功能,主要借鑒免疫學中的克隆選擇學說[12]和免疫網絡理論[13]。其中克隆選擇學說解釋了免疫系統是如何響應抗原入侵的,免疫網絡理論說明了抗原、抗體與記憶細胞(抗原的映射)之間的相互作用關系。
3.1 免疫原理
在免疫系統中,抗原-抗體相互作用的強度用它們的親和力表示。設第i個輸入數據xi與第j個數據中心cj之間的親和力為aij,即
(2)
其中,‖xi-cj‖為xi與cj之間的歐氏距離。當xi=cj時,aij=1為最大。
而抗體與抗體之間的相互作用由它們的相似度來描述:設第i個數據中心ci與第j個數據中心cj之間的相似度為sij,即
(3)
其中,‖ci-cj‖為ci與cj之間的歐氏距離。當ci=cj時,sij=1為最大。
假設n個輸入數據x=[x1,x2,…,xn],每個輸入xi=[xi1,xi2,…,xiI],i=1,2,…,n。確定RBF的數據中心就是要尋找一個新的數據集c=[c1,c2,…,cj],其中cj=[cj1,cj2,…,cjI],j=1,2,…,m,m 3.2 算法步驟 基于IA的RBF神經網絡隱含層基函數的中心點確定主要分為三個步驟:隨機選擇一個中心點集合,中心點的個數與位置無關緊要;應用克隆選擇理論控制數據中心點的選擇與更新;采用免疫網絡理論確認并消除那些自我識別的中心點,控制中心點的數量。算法的具體步驟如下: (1)對于每一個輸入數據xi,隨機初始化C中心點數據集合,包含所有可選的中心點。 (2)計算C中所有可選的中心點與xi的親和力aij,選擇n個親和力最大的中心點并進行復制,aij越大,復制得越多,此時產生一個中心點數量為m的復制集合L。 (3)應用式(4)對這m個相同的中心點進行變異處理,形成變異集合D,βk為變異率。這一過程實際上是在有最大親和力的中心點附近搜索更具親和力的數據中心。 ck=ck-βk(ck-xi) (4) (4)重新計算xi與D中每個中心點之間的親和力,并選擇出%ξ(為成熟抗體細胞,即中心點數量的選擇比例)親和力最大的中心點,創建記憶細胞的集合Mi。 (5)在Mi中刪除那些相似度大于閾值σ1(表示免疫細胞自然死亡閾值)的中心點,獲得一個壓縮的Ms。 (6)計算Ms中各記憶細胞之間的相似度sij,除去那些相似度小于閾值σ2(表示抑制閾值)的網絡中心點,這一過程體現了免疫系統中的克隆抑制,然后將Ms合并到M。 (7)所有的輸入xi處理完后,計算M中各中心點的相似度sij,刪除掉相似度小于σ2的中心點,這一步體現了遺傳算法中的網絡抑制。 (8)用新的中心點替換C中親和力較低的數據中心,這些新增加的數據中心可以隨機選取,這一過程體現了免疫系統的自組織性。 (9)判斷C中心點集合是否不再變化,若成立則整個確定中心的遞推過程結束,C即為所求的RBF中心點集合。 (10)否則判斷遞推步數是否達到預定步數,若達到則整個遞推過程結束,C即為所求的RBF中心點集合,若沒有則轉向步驟(2)。 對于RBF神經網絡,采用固定徑向基函數作為隱含層的訓練函數,采用標準差固定的高斯函數作為隱含層的基函數: (5) (6) 其中,j=1,2,…,m1,為隱含層中心點的個數;dmax為中心點之間的最大距離;xi為輸入數據;cj為第j個中心點;σj的選擇必須保證徑向基函數不能太尖或太平。 通過IA求得隱含層基函數的中心點以及標準差后,學習過程的下一步就是采用LMS算法來訓練RBF神經網絡,其中網絡的目標函數為: (7) (8) 式(9)為LMS算法的權值矩陣修正公式。 (9) 式(10)為LMS算法的隱含層中心點修正公式。 (10) 式(11)為LMS算法的標準差修正公式。 (11) 其中,cj(n)為徑向基函數在第n次迭代時的第j個中心點;xj為第j個訓練樣本;dj為第j個訓練樣本的期望輸出;η為學習率。 如圖2所示,基于IA-LMS-RBF算法的入侵檢測系統主要分為兩個部分。第一部分(虛線箭頭)利用從KDD CUP數據集中選取的訓練數據對基于IA求取中心點的RBF神經網絡采用LMS算法進行訓練,求取全局最優參數。第二部分(實線箭頭)利用從KDD CUP數據集中選取的測試數據,對參數確定的RBF神經網絡模型進行測試,判斷測試的數據是否為入侵行為,其主要步驟如下: (1)將隨機初始化的中心點送入IA算法中,即采用3.2節的算法步驟求取全局最優的中心點集合。 (2)應用式(6)計算RBF標準差。 (3)用小的隨機數初始化權值矩陣。 (4)對于每一個訓練數據xi,應用式(1)計算RBF神經網絡的相應輸出yo。 (5)應用LMS算法對訓練樣本進行訓練,即按式(9)~(11)調整權值矩陣、中心點位置與標準差。如果網絡收斂則停止迭代,否則轉向步驟(4)繼續迭代,如果迭代次數超過預定值大小,則停止。 (6)對于每一個測試數據xj,應用式(1)計算輸出,判斷測試結果。 圖2 IA-LMS-RBF入侵檢測流程圖 6.1 數據預處理 實驗數據采用KDD CUP 99數據集[14](是由美國麻省理工學院林肯實驗室提供),通常采用該數據集對設計的IDS模型進行各種性能測試。其中所有數據都是在實際運行的互聯網環境下模擬真實攻擊的情景得到的,該數據集大約有500萬條數據,39種攻擊類型,每一條數據由42個屬性值組成,前41個屬性表示其特征,唯一標識一條數據,第42個屬性標識該數據是正常行為產生的,還是入侵行為產生的,數據樣例如下: 0,tcp,http,SF,241,1857,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,13,13,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,255,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,normal 0,udp,private,SF,105,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,normal 該數據集的42個屬性值中有數值型屬性,也有非數值型屬性,因為RBF算法不能處理文字,所以這里需要對數據進行歸一化處理,即用數值型的數據代替基于符號串的數據,其中需要修改的有數據的第2、3、4和42維共四種: 協議類型(protocol_type)編碼:tcp編碼1,udp編碼2,icmp編碼3。 目標主機的網絡服務(service)類型:因為網絡服務類型一共有70種,所以這里使用數字1~70分別對其進行編碼。 連接正常或錯誤的狀態(flag),離散類型,共11種:OTH REJ RSTO RSTOS0 RSTR S0 S1 S2 S3 SF SH,用數字1~11對其進行編碼。 KDD CUP 99數據集中每條連接記錄的第42個屬性標識了這條數據攻擊類型,具體可以分為五大類:Normal DOS Probing R2L U2R,分別用數字1~5對其進行標識。 6.2 實驗設計 為了評價入侵檢測算法的性能,選取了入侵檢測性能好壞的兩個標準:檢測率和誤報率。 檢測率=(檢測出的入侵樣本數/入侵樣本總數)* 100% 誤報率=(被誤報為入侵行為的正常樣本數/正常樣本總數)*100% 實驗選用10%KDD CUP 99數據集,其中包含494 021條數據。不過其中normal與DOS類型的數據太多,大約占了數據總數的99%左右,如果將該數據集作為訓練樣本,重復太多,浪費了訓練時間,所以在這里對這兩種數據按比例刪減,使數據分布更加合理。表1為原始數據與刪減后數據的數量對比。 表1 數據集的刪減 將刪減后數據集中的每種攻擊類型的數據按1∶2∶3∶1的比例分成四組,其中前三組數據作為訓練數據,第四組數據作為測試樣本,然后再從corrected數據集[14]中選取1 000條未知類型的攻擊行為作為第五組數據,用于測試模型對于未知類型攻擊的敏感程度。 6.3 實驗仿真 分別采用隨機法、基于K-means和基于免疫算法選取中心點的RBF神經網絡的入侵檢測系統模型進行仿真實驗,主要測試了系統對于正常數據的誤報率、對已知類型的攻擊行為的檢測率和對未知類型的攻擊行為的敏感程度。使用三組訓練樣本分別訓練模型后,對兩組測試樣本的測試結果見表2~4。 表2 隨機選取法的測試結果 % 表3 基于K-means算法的測試結果 % 表4 基于免疫算法的測試結果 % 從表中可以明顯看出,隨著訓練樣本數的提高,準確率也相應提高。隨機選取法和K-means對未知類型攻擊的檢測率要比已知類型攻擊的檢測率平均低20%左右,而基于IA選取中心點的RBF對未知類型的攻擊與已知類型的攻擊的檢測率基本一致,所以和傳統的中心點確定方法相比,基于免疫算法的RBF神經網絡入侵檢測模型不論是整體檢測能力,還是對未知攻擊類型的泛化能力都要好于其他兩種,由此可見IA能夠選取最優中心點優化RBF神經網絡。 針對RBF神經網絡中基函數的中心點及其數量很難確定這一問題,探討了傳統的K-means和隨機法選取RBF神經網絡基函數中心點的不足,提出了基于免疫算法優化的采用最小均方差訓練的RBF神經網絡并將其應用到入侵檢測系統中。仿真實驗結果表明,啟發式的免疫算法求取RBF神經網絡隱含層基函數的中心點即IA-LMS-RBF算法,與原有算法相比,提高了入侵檢測系統的檢測率,降低了誤檢率,使入侵檢測系統對于未知攻擊類型的入侵行為更加敏感,更加優化了入侵檢測系統的性能。 [1] Stalling W,Brown L.Computer security principles and practice[M].2nd ed.America:Pearson Education,Inc.,2012. [2] 李文明,陳 哲,李緒蓉.緩存區溢出研究與發展[J].計算機應用研究,2014,31(9):2651-2566. [3] Kim G,Lee S,Kim S.A novel hybrid intrusion detection method integrating anomaly detection with misuse detection[J].Expert Systems with Applications,2014,41(4):1690-1700. [4] Park N H,Oh S H,Lee W S.Anomaly intrusion detection by clustering transactional audit streams in a host computer[J].Information Sciences,2010,180(12):2375-2389. [5] 滕少華,嚴遠馳,劉冬寧,等.基于FCM-C4.5的雙過濾入侵檢測機制[J].計算機應用與軟件,2016,33(1):307-311. [6] 沈夏炯,王 龍,韓道軍.人工蜂群優化的BP神經網絡在入侵檢測中的應用[J].計算機工程,2016,42(2):190-194. [7] 傅德勝,張 媛.PSO優化BP神經網絡入侵檢測模型[J].通信技術,2010,43(1):81-83. [8] 張公讓,萬 飛.基于網格搜索的SVM在入侵檢測中的應用[J].計算機技術與發展,2016,26(1):97-100. [9] Nunes L,Zuben F J V.An immunological approach to initialize centers of radical basis function neural networks[C]//Proceedings of V Brazilian conference on neural network.[s.l.]:[s.n.],2001. [10] 林嘉宇,劉 熒.RBF神經網絡的梯度下降訓練方法中的學習步長優化[J].信號處理,2002,18(1):43-48. [11] 劉華春,候向寧,楊 忠.基于改進K均值算法的入侵檢測系統設計[J].計算機技術與發展,2016,26(1):101-105. [12] Brownlee J.A review of the clonal selection theory of acquired immunity[R].[s.l.]:[s.n.],2007. [13] Brownlee J.Antigen-antibody interaction[R].Melbourne,Australia:Swinburne University of Technology,2007. [14] University of California,Irvine.The KDD cup 1999 data[EB/OL].1999-10-28.http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html. Application of RBF Neural Network Optimized by Immune Algorithm in Intrusion Detection CAO Yao-bin,WANG Ya-gang (College of Computer Science,Xi’an University of Posts and Telecommunications,Xi’an 710121,China) RBF neural network is a typical three-layer feed forward neural network.Although approximation capacity,classification and learning speed of RBF neural network is superior to others,it is difficult to find the optimal value of the center point which is not used widely in intrusion detection system.Immune algorithm is a learning algorithm based on the immune system.It not only owns a strong ability to maintain system balance,but also has strong pattern classification.In order to get the optimal RBF neural network and apply it to the intrusion detection system,an immune algorithm has been proposed to optimize the LMS-RBF neural network,which is based on the minimum mean square,called as associated IA-LMS-RBF algorithm.Simulation results shows that compared with the traditionalK-means and randomly to select the basis function center,the immune algorithm to strike the center of the LMS-RBF neural network not only significantly improves the ability to detect the known attacks,but also has a good recognition to the unknown attacks,IA-LMS-RBF algorithm can effectively improve the efficiency of intrusion detection system and make sure computer system is becoming more secure. intrusion detection;RBF neural network;center point;K-means;immune algorithm;LMS 2016-06-12 2016-09-22 網絡出版時間:2017-03-13 國家自然科學基金資助項目(61136002);陜西省教育科研計劃項目(14JK1674) 曹耀彬(1990-),男,碩士生,研究方向為網絡安全;王亞剛,博士,副教授,CCF會員,研究方向為嵌入式系統、編譯器與并行計算。 http://kns.cnki.net/kcms/detail/61.1450.TP.20170313.1547.092.html TP301.6 A 1673-629X(2017)06-0114-05 10.3969/j.issn.1673-629X.2017.06.0244 LMS算法



5 IA-LMS-RBF算法

6 實 驗




7 結束語