?

基于IM-GA-BPNN的網絡入侵檢測算法設計

2019-11-04 08:58周麗娟
關鍵詞:個數遺傳算法神經元

周麗娟

(山西財經大學實驗教學中心,山西太原030006)

隨著互聯網的飛速發展和網絡費用的進一步降低,網絡已經深入幾乎每個家庭和社會的每個角落,直接影響了人們生活的健康和社會的安全[1]。網絡入侵檢測技術即通過對網絡進行實時監控,通過從網絡節點處收集信息,來發現網絡中是否存在著違反安全策略以及攻擊的行為。

網絡入侵檢測方法根據檢測方法的不同可以誤用入侵檢測和異常入侵檢測兩類方法[2]。誤用入侵檢測方法主要是通過對知識庫的檢測來匹配網絡入侵檢測行為,其缺點是當知識庫中的知識存儲不完備時,會存在一些無法被檢測的行為。異常入侵檢測是一種通過對可接受行為的描述來判斷其是否與正常行為存在偏差,當該行為與正常行為存在較大偏差時,就將該行為檢測為入侵行為[3]。異常入侵檢測方法能實現未知網絡的實時有效檢測,目前已經成為了網絡入侵檢測的研究熱點[4]。網絡入侵檢測的主要方法有:人工智能方法、統計類方法和計算機免疫方法。劉珊珊等[5]提出了一種基于PCA 的PSO-BP 入侵檢測方法,能結合PCA 理論和BP 局部搜索理論和PSO 的全局搜索能力,并通過PCA來實現特征提取,作為BP網絡的輸入,以提高檢測的準確率。高妮等[6]提出了一種基于自編碼網絡并基于支持向量機的入侵檢測模型,該模型采用多層無監督的限制玻爾茲曼機來對原始數據進行降維,建立高維空間和低維空間的網結構,實現低維數據的高維表示。張永良等[7]提出了一種基于改進的卷積神經網絡的周界的入侵檢測方法,在深層特征的基礎上融入淺層的特征,并利用softmax 進行分類,并通過實驗表明了改進后的卷積神經網絡能具有較高的魯棒性。沈夏炯等[8]設計了一種基于人工蜂群優化的BP 神經網絡入侵檢測方法,在初始化神經網絡參數時,尤其是在權值和閾值的選擇上,盡量選擇適應度更高的參數,避免陷入局部最優或者導致整個網絡的收斂速度過慢。

在以上工作的基礎上,提出了一種基于IMGA-BPNN 的網絡入侵監測算法,能有效實現網絡的入侵檢測,并能克服經典神經網絡的不足,并通過實驗證明了文中方法的有效性。

1 BP神經網絡

BP 神經網絡是 1986年由 Rumelhart 和 McCelland 提出的前饋型網絡,它基于梯度下降算法,可以分為正向傳播和反向傳播兩個部分組成。BP 神經網絡是由1 個輸入層、多個隱含層和1 個輸出層組成。三層的BP神經網絡如圖1所示:

圖1 三層BP神經網絡模型

BP 神經網絡在進行正向傳遞的過程中,將輸入信息輸入到輸入層,然后經過若干隱含層的非線性變換,最后通過輸出層得到輸出結果。在反向傳遞的過程中,網絡的真實輸出值與標簽值之間的差距為誤差信號,將誤差信號經過計算得到目標函數,并通過目標函數對網絡權值和閾值進行調整,直到誤差接近于0。

2 基于神經網絡入侵檢測

2.1 網絡入侵檢測總體模型

網絡設計的入侵檢測模型原理為:首先獲取訓練樣本集,即在網絡上采集能對網絡入侵檢測的數據,然后根據這些數據的種類來確定神經網絡輸入層神經元的數量,同理,根據網絡可能產生的入侵類型來確定網絡的輸出神經元的個數,而隱含層神經元的數量以及層次則決定于樣本集的大小,當樣本集很大時,要設計較大的隱含層數量以及較多的神經元數量,以使得網絡不容易陷入過擬合;同理,如果訓練樣本集數量較少,網絡的隱含層神經元的層次不宜過多,同時隱含層神經元的個數不能太多,以防止網絡陷入欠擬合。

對于網絡的權值和閾值,除了采用訓練樣本對該網絡進行訓練,獲得一組訓練后的最優值,然后,再通過免疫遺傳算法對這些參數再次訓練,得到一組最優值,最后用于對整個網絡進行初始化。

在網絡經過訓練,并采用免疫遺傳算法優化后就得到了訓練后的模型,將測試樣本輸入到訓練后的模型后就能實現網絡入侵檢測。

2.2 權值和閾值的訓練

采用訓練數據對神經網絡的參數訓練的過程就是:

(1) 建立網絡模型,根據訓練數據來確定網絡的輸入層神經元個數、隱含層神經元層數以及對應的神經元個數以及輸出層的神經元個數;

(2)隨機初始化網絡的權值和閾值;

(3)根據訓練數據得到網絡的輸出結果,計算輸出結果和標簽值的差異來計算網絡的誤差平方和:

其中,訓練樣本個數為N,網絡輸出的第i個樣本的第j個輸出值yij和真實值^yij;

(4) 采用反向傳播算法對網絡進行訓練,即從網絡的最后一層開始從輸出層開始向輸入層反向進行傳播,各層的權值和閥值調整如下:

其中,參數學習率η、訓練過程中的當前迭代次數t以及當前層r都需手動設置。

3 基于IM-GA-BPNN的神經網絡入侵檢測

3.1 免疫遺傳算法概述

免疫遺傳算法(GA)是將免疫算法和遺傳算法相結合的全局優化算法,該算法通過不斷提高適應度,即減少公式(1)對應的預測誤差。在調整解的過程中,通過引入遺傳操作中的復制、選擇、交叉和變異操作來增加解的多樣性,防止算法盡早陷入局部最優,從而盡早獲取全劇最優解。

基本的免疫遺傳算法的算法流程如圖2所示:

圖2 免役遺傳算法的算法流程

3.2 基于免疫遺傳算法的入侵檢測算法

采用基于免疫遺傳神經網絡(IM-GA-BPNN)算法的網絡入侵檢測算法,在傳統神經網絡訓練算法的基礎上再次訓練,而免疫算法和遺傳算法又利用各自的優勢來對神經網絡進行再次的訓練,因此,能更好地尋求到全局最優解。

基于IM-GA-BPNN神經網絡入侵檢測算法

初始化:初始化當前進化代數λ=1 和迭代次數的最大值λmax,交叉概率pc和變異概率pm。

步驟1:在采用訓練集訓練了神經網絡后得到的網絡參數來作為初始解,并在該初始解附近生成規模為M的初始抗體種群;

步驟2:種群中的每個個體的編碼方式為:編碼的長度為所有權值和閾值數量總和,而每個的編碼的初始值為實數,初始值為BP 算法訓練后得到的參數值;

步驟3:計算每個樣本的個體適應度,個體適應度為公式(1)的倒數即:

步驟4:計算各抗體的親和度,并按照親和度的大小來選擇相應數量的個體進行復制,復制的數量為:

步驟5:對個體進行交叉和變異,交叉和變異的概率分別為pc和pm,交叉操作即調整編碼中任意兩個位置的值,變異操作即隨機對某個位置的值進行增減一個很小的數;

步驟6:更新迭代次數λ=λ+1,直到迭代次數達到最大值λmax,此時將最優解作為最優的網絡結構。

4 仿真實驗

對方法進行驗證,將KDD99 CUP 入侵檢測數據庫中的數據作為仿真數據,該數據庫中的攻擊一共可以四種即使:

(1)拒絕服務攻擊(DOS);

(2)遠程用戶未授權訪問攻擊(R2L);

(3)本地用戶權限提升攻擊(U2R);

(4)探測攻擊(Probe)。

該數據庫中的數據一共有41 個特征。根據入侵的種類和數據的特征種類,設計BP 神經網絡的層數為4,輸入層的神經元個數為41,輸出神經元個數為4,第一層隱含層神經元個數為20,第二層隱含層神經元個數為8。選取KDD99 CUP 數據集中的2000 組數據作為訓練數據集,訓練的目標是誤差達到0.002,在訓練600 輪后,IM-GA-BPNN 模型得到的訓練誤差仿真情況如圖3 所示:

圖3 訓練結果

從圖3中可以看出,GA-BPNN 模型在大概300輪后,訓練誤差就急速下降,到第750 輪時,訓練誤差就降低到了目標值0.0001,而經典BP 神經網絡的訓練誤差為接近0.08。

為了驗證訓練的效果,從訓練的檢測率DR、誤檢率FPR和漏報率MR來進一步驗證本文所提方法的性能,它們的表達方式如下所示:

誤檢率FPR的計算為:

三種方法對應的迭代次數、訓練時間、檢測率DR和誤檢率FPR結果如表1所示:

表1 各類方法比較結果

從表1中可以看出,基于免疫遺傳優化BP神經網絡的入侵檢測模型具有最高的檢測率,即高達98.5%,而BP 神經網絡、PCA-NN、PCA-PSO-NN方法得到的檢測率分別為79.5%、90.6%和91.8%,顯然,所提的模型較另外三種方法在檢測率上分別提高了9%、7.9%和6.7%。

5 結語

為了實現對網絡進行有效的入侵檢測,設計了一種基于免疫遺傳算法和BP 神經網絡的網絡入侵檢測方法,首先采用訓練數據對BP 神經網絡進行訓練,然后采用免疫遺傳算法對BP 神經網絡進行參數優化,得到優化的BP 神經網絡。采用KDD99 CUP 入侵檢測數據庫中的數據作為仿真數據實驗,結果表明文中方法能有效實現網絡的入侵檢測,能達到較高的誤檢率,較其他方法相比,具有檢測率高和收斂速度快的優點。

猜你喜歡
個數遺傳算法神經元
怎樣數出小正方體的個數
等腰三角形個數探索
怎樣數出小木塊的個數
基于遺傳算法的智能交通燈控制研究
怎樣數出小正方體的個數
躍動的神經元——波蘭Brain Embassy聯合辦公
一種基于遺傳算法的聚類分析方法在DNA序列比較中的應用
基于改進的遺傳算法的模糊聚類算法
ERK1/2介導姜黃素抑制STS誘導神經元毒性損傷的作用
毫米波導引頭預定回路改進單神經元控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合