劉芳芳
摘 要: 為了解決網絡入侵檢測率低的難題,提出蟻群算法選擇神經網絡參數的網絡入侵檢測模型(ACO?NN)。首先收集網絡入侵檢測數據,然后采用神經網絡對入侵檢測數據進行學習,通過蟻群算法解決神經網絡參數選擇問題,最后采用標準入侵檢測數據進行驗證性測試,并與其他模型進行對比分析。結果表明,所提模型解決了神經網絡參數優化難題,降低了網絡入侵檢測的錯誤率,改善了網絡入侵檢測的正確率,有助于保證網絡的安全性。
關鍵詞: 網絡安全; 非法用戶; 入侵檢測; 蟻群算法
中圖分類號: TN915.08?34; TP391 文獻標識碼: A 文章編號: 1004?373X(2017)21?0080?04
Network intrusion detection based on ant colony optimization
algorithm selecting parameters of neural network
LIU Fangfang
(School of Information Engineering, College of Optical and Electronical Information, Changchun University of Science and Technology, Changchun 130000, China)
Abstract: In order to improve the precision of network intrusion detection, a network intrusion detection model based on ant colony optimization selecting parameters of neural network is proposed. The data of network intrusion detection is collected, and the neural network is used to learn the intrusion detection data. The ant colony optimization algorithm is employed to select the parameters of neural network, which is verified with the standard intrusion detection data. The contrastive analysis is performed for the intrusion detection model and other models. The results show that the model can solve the difficulty of neural network parameter optimization, reduce the error rate of network intrusion detection, improve the precision of network intrusion detection, and is conducive to ensuring the network security.
Keywords: network security; illegal user; intrusion detection; ant colony optimization
0 引 言
隨著網絡規模的不斷擴大,網絡結構越來越復雜,再加上網絡的開放性等特點,網絡入侵數量相當多,網絡入侵檢測引起了學術界的高度關注[1?2]。
網絡入侵檢測將網絡行為劃分為相應的入侵類型,實現網絡入侵行為的識別[3]。在網絡入侵檢測過程中,首先要提取網絡入侵行為的特征,該特征可以表達網絡信息,刻畫網絡入侵行為,是網絡入侵檢測中最為關鍵的一步。由于網絡入侵行為的復雜性,再加上其他因素的作用,網絡入侵的行為特征相當多,當前主要有主成分分析、灰色關聯分析等特征提取方法,獲得較好的網絡入侵行為特征。提取網絡入侵行為特征后,需要建立網絡入侵檢測的分類器[4?6]。當前網絡入侵檢測分類器的建立方法很多,傳統方法采用灰色理論建立網絡入侵檢測分類器,面對復雜多變的互聯網,該方法難以建立高正確率的網絡入侵檢測分類器,檢測結果的可靠性低[7?8]。隨后出現基于支持向量機的網絡入侵檢測分類器,該分類器的效果要優于傳統灰色理論,但學習速度慢,當網絡入侵檢測的數據比較大時,如大規模網絡,那么其網絡入侵檢測的實時性差[9]。最近出現了基于神經網絡的網絡入侵檢測分類器,通過神經網絡的非線性建模能力,得到了較高的網絡入侵檢測正確率,成為當前網絡入侵檢測的主要工具[10?11]。BP神經網絡(BPNN)是一種網絡入侵檢測應用最為廣泛的機器學習算法,但參數直接影響網絡入侵檢測效果,當前有許多神經網絡參數確定方法,但是它們仍然存在不足。蟻群優化(ACO)算法具有搜索速度快、搜索精度高等優點,廣泛應用于模式識別、多參數約束優化等問題[12]。
為了解決網絡入侵檢測率低的難題,提出了ACO算法選擇BPNN參數的網絡入侵檢測模型(ACO?NN),該模型首先收集網絡入侵檢測數據,然后采用神經網絡對入侵檢測數據進行學習,通過蟻群算法解決神經網絡參數選擇問題,最后采用標準入侵檢測數據進行驗證性測試。
1 神經網絡和蟻群算法
1.1 神經網絡
BP神經網絡是一種采用梯度下降算法進行學習的神經網絡,最典型的網絡結構為三層,同層之間沒有關聯,不同層之間通過節點連接。設輸入層、隱含層和輸出層的節點分別為[N,L]和[M,]輸入向量為[X=[x1,x2,…,xN],]隱含層輸出向量為[H=[h1,h2,…,hL],]輸出層的輸出為[Y=[y1,y2,…,yM],]其期望輸出為[D=[d1,d2,…,dM],]輸入層和隱含層節點的連接權值和閾值分別為[V]和[θ,]隱含層和輸出層節點的連接權值和閾值分別為[W]和[?]。endprint
(1) 設隱含層擬合函數為[f(a)=11+e-a],那么隱含層輸出為:
[hj=fi=1NVijxi-?j] (1)
相應地,輸出層的輸出為:
[yk=fi=1LWijhi-θk] (2)
(2) 計算輸出層的[yk]和[dk]誤差,同時計算隱含層的誤差,則可以得到:
[δk=(dk-yk)yk(1-yk)] (3)
[δ*k=hj(1-hj)k=0M-1δkWjk] (4)
(3) 對權重進行更新,具體如下:
[ΔWjk(n)=ηδkhj] (5)
[ΔVij(n)=ηδ*jxi] (6)
式中[η]為學習速率。
(4) 對網絡權重值進行調整,具體為:
[Wjk(n+1)=Wjk(n)+ΔWjk(n)+μΔWjk(n-1)] (7)
[Vij(n+1)=Vij(n)+ΔVij(n)+μΔVij(n-1)] (8)
(5) 不斷重復上述步驟,直至預測誤差滿足實際要求。
1.2 蟻群算法
在螞蟻覓食過程中,在爬行路徑上釋放信息素,信息素具有一定的濃度,其作用為指導螞蟻移動方向,信息素濃度高的路徑,爬行的螞蟻就越多。設有[N]個節點,[N=1,2,…,n,][dij]為節點[i]和[j]間的距離,共有[m]只螞蟻,[τijt]為第[t]時刻節點[i]和[j]在路徑上的信息量,[tabuk]保存螞蟻[k]爬行過的節點。下一節點的選擇常通過信息素強度決定,[pkij]為螞蟻[k]由節點[i]轉移至節點[j]的概率,則有:
[pkij=ταijtηβijts∈allowedkταistηβist,j∈allowedk0,otherwise] (9)
式中:[allowedk]為螞蟻[k]沒有經過的節點集合;[α]為信息素啟發因子;[β]為期望啟發式因子;[ηijt]為啟發函數,計算公式為:
[ηijt=1dij] (10)
每只螞蟻路徑上信息素更新方式為:
[τijt+n=1-ρτijt+Δτijt] (11)
[Δτijt=k=1mΔτkijt] (12)
式中:[ρ]為信息素揮發因子;[Δτkijt]為螞蟻[k]在節點[i]和[j]上留下的信息量;[Δτijt]為節點[i]和[j]上信息素的增量,具體為:
[Δτkijt=QLk,ant k pass i and j0, otherwise] (13)
式中:[Q]為常數;[Lk]為螞蟻[k]所走路徑長度。
2 蟻群算法選擇神經網絡的網絡入侵檢測模型
蟻群算法選擇神經網絡的網絡入侵檢測模型的工作過程中,神經網絡權值和閾值的確定十分關鍵,本文采用蟻群算法確定權值和閾值,該模型的工作步驟具體如下:
(1) 對網絡系統中的狀態信息進行采集,并從中提取描述網絡內容的主要特征。
(2) 網絡行為特征之間差別很多,尤其是單位不同給網絡入侵建模帶來一定的干擾,為此對特征值進行處理,即:
[x′i=ximax(xi)] (14)
式中:[xi]和[x′i]為處理前后的特征值;max表示取最大值函數。
(3) 通過專家對網絡入侵行為進行分類,建立網絡入侵檢測學習樣本。
(4) 根據網絡入侵檢測的特征數量確定BP神經網絡的輸入節點數,并根據網絡入侵行為的種類確定輸出節點數,然后確定隱含層節點數,從而確定BP神經網絡的網絡結構。
(5) 確定蟻群優化算法的參數,如種群規模、最大迭代次數等。
(6) 隨機初始化蟻群,每一只螞蟻經過的路徑為神經網絡權值和閾值的組合。
(7) 對每一條路徑上的信息素進行初始化,信息素的起始濃度相同。
(8) 將網絡入侵檢測學習樣本輸入到BP神經網絡進行訓練,并計算每一種參數的網絡入侵檢測結果。
(9) 計算每一只螞蟻移動到下一個節點的概率,并根據最優概率得到下一節點。
(10) 當一只螞蟻移動完所有節點后,對其爬行過的路徑的信息濃度進行更新。
(11) 當全部螞蟻完成所有節點的移動后,對所有路徑上的信息濃度進行更新。
(12) 判斷迭代次數是否達到最大,如果達到最大,則根據蟻群爬行的最優路徑上的節點得到BP神經網絡的權值和閾值。
(13) 根據權值和閾值,BP神經網絡對網絡入侵訓練進行學習,建立網絡入侵檢測模型。
ACO?NN的工作流程圖如圖1所示。
3 網絡入侵檢測效果測試
3.1 測試環境
測試對象為KDD CUP 99,其是網絡入侵檢測的標準數據,采用VC++ 6.0編程實現網絡入侵檢測模型,各種不同類型入侵行為的樣本數量如表1所示。
采用網絡入侵檢測正確率(Pright)、檢測錯誤率(Perror)和模型的執行速度等對實驗結果進行評價。其中檢測正確率和誤報率定義如下:
[Pright=正確檢測到的入侵樣本數入侵樣本總數 ×100% ] (15)
[Perror=被誤報為入侵的正常樣本數正常樣本總數×100%] (16)
3.2 結果與分析
為了使ACO?NN的網絡入侵結果的可信度更高,選擇傳統BP神經網絡(BPNN)、遺傳算法優化選擇神經網絡參數模型(GA?NN)建立相應的網絡入侵檢測模型,它們的[Pright]和[Perror]如圖2和圖3所示。從圖中可知:endprint
(1) BPNN的網絡入侵檢測結果的[Pright]最低,而[Perror]最高,這表明其網絡入侵檢測效果最差,這是由于隨機方式確定BP神經網絡的權值和閾值,無法獲得性能優異的神經網絡,建立的網絡入侵檢測模型的正確率低,獲得了大量的錯誤檢測結果。
(2) 相對BPNN,GA?NN的[Pright]得到了提高,同時[Perror]相對較低,這說明采用遺傳算法對BP神經網絡的權值和閾值進行確定,克服了隨機確定參數的不足,提高了網絡入侵檢測正確率。
(3) 相對其他兩種網絡入侵檢測模型,ACO?NN的[Pright]最高,[Perror]最低,這是由于ACO算法確定了最合理的BP神經網絡的權值和閾值,克服了遺傳算法獲得局部最優參數的缺陷,同時解決了隨機確定BP神經網絡的局限性。
對于互聯網絡,其規模十分龐大,網絡入侵檢測數據相當多,檢測率十分重要,統計網絡入侵檢測模型的平均執行時間,結果如表2所示,對表2的時間進行對比,對于所有網絡入侵類型,ACO?NN的執行時間最少,網絡入侵檢測速度最快,解決了當前其他網絡入侵檢測模型實時性差的局限性,具有更高的應用價值。
4 結 語
為了提升網絡入侵檢測效果,提出基于ACO?NN的網絡入侵檢測模型。該模型通過神經網絡對網絡入侵數據進行學習,擬合網絡入侵的類別,實現對網絡入侵類別的識別和檢測,并采用ACO算法解決神經網絡參數選擇問題,與其他入侵檢測模型的對比測試結果表明,ACO?NN克服了當前神經網絡在入侵檢測中存在的缺陷,網絡入侵檢測率結果更好,也改善了網絡入侵的速度,具有廣泛的應用前景。
參考文獻
[1] DENNING D E. An intrusion detection model [J]. IEEE transaction on software engineering, 2010, 13(2): 222?232.
[2] ALOMO E J, DOMINGUES E, LUQUE R M, et al. An intrusion detection system based on hierarchical self?organization [J]. Journal of information assurance and security, 2009, 4(3): 209?216.
[3] 趙軍.基于CEGA?SVM的網絡入侵檢測算法[J].計算機工程,2009,35(23):166?167.
[4] 李輝,管曉宏,昝鑫,等.基于支持向量機的網絡入侵檢測[J].計算機研究與發展,2003,40(6):799?807.
[5] 李旭芳,王士同.基于QPSO訓練支持向量機的網絡入侵檢測[J].計算機工程與設計,2008,29(1):34?36.
[6] 唐少先,蔡文君.基于無監督聚類混合遺傳算法的入侵檢測方法[J].計算機應用,2008,28(2):409?411.
[7] 田俊峰,趙衛東,杜瑞忠,等.新的入侵檢測數據融合模型IDSFP[J].通信學報,2006,27(6):115?120.
[8] 張宗飛.基于量子進化算法的網絡入侵檢測特征選擇[J].計算機應用,2013,33(5):1357?1361.
[9] 向昌盛,張林峰.PSO?SVM在網絡入侵檢測中的應用[J].計算機工程與設計,2013,34(4):1222?1225.
[10] 欒慶林,盧輝斌.自適應遺傳算法優化神經網絡的入侵檢測研究[J].計算機工程與設計,2008,29(12):3022?3024.
[11] 劉玉玲,杜瑞忠.基于模糊積分的多神經網絡融合在入侵檢測中的應用[J].河北大學學報(自然科學版),2008,28(3):312?317.
[12] 龍文,梁昔明,龍祖強,等.基于改進蟻群算法優化參數的LSSVM短期負荷預測[J].中南大學學報(自然科學版),2011,42(11):3408?3414.
[13] 嚴岳松,倪桂強,繆志敏,等.基于SVDD的半監督入侵檢測研究[J].微電子學與計算機,2012,26(10):128?130.endprint