劉芳芳
摘 要: 為了解決網(wǎng)絡(luò)入侵檢測率低的難題,提出蟻群算法選擇神經(jīng)網(wǎng)絡(luò)參數(shù)的網(wǎng)絡(luò)入侵檢測模型(ACO?NN)。首先收集網(wǎng)絡(luò)入侵檢測數(shù)據(jù),然后采用神經(jīng)網(wǎng)絡(luò)對入侵檢測數(shù)據(jù)進行學習,通過蟻群算法解決神經(jīng)網(wǎng)絡(luò)參數(shù)選擇問題,最后采用標準入侵檢測數(shù)據(jù)進行驗證性測試,并與其他模型進行對比分析。結(jié)果表明,所提模型解決了神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化難題,降低了網(wǎng)絡(luò)入侵檢測的錯誤率,改善了網(wǎng)絡(luò)入侵檢測的正確率,有助于保證網(wǎng)絡(luò)的安全性。
關(guān)鍵詞: 網(wǎng)絡(luò)安全; 非法用戶; 入侵檢測; 蟻群算法
中圖分類號: 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 引 言
隨著網(wǎng)絡(luò)規(guī)模的不斷擴大,網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,再加上網(wǎng)絡(luò)的開放性等特點,網(wǎng)絡(luò)入侵數(shù)量相當多,網(wǎng)絡(luò)入侵檢測引起了學術(shù)界的高度關(guān)注[1?2]。
網(wǎng)絡(luò)入侵檢測將網(wǎng)絡(luò)行為劃分為相應(yīng)的入侵類型,實現(xiàn)網(wǎng)絡(luò)入侵行為的識別[3]。在網(wǎng)絡(luò)入侵檢測過程中,首先要提取網(wǎng)絡(luò)入侵行為的特征,該特征可以表達網(wǎng)絡(luò)信息,刻畫網(wǎng)絡(luò)入侵行為,是網(wǎng)絡(luò)入侵檢測中最為關(guān)鍵的一步。由于網(wǎng)絡(luò)入侵行為的復(fù)雜性,再加上其他因素的作用,網(wǎng)絡(luò)入侵的行為特征相當多,當前主要有主成分分析、灰色關(guān)聯(lián)分析等特征提取方法,獲得較好的網(wǎng)絡(luò)入侵行為特征。提取網(wǎng)絡(luò)入侵行為特征后,需要建立網(wǎng)絡(luò)入侵檢測的分類器[4?6]。當前網(wǎng)絡(luò)入侵檢測分類器的建立方法很多,傳統(tǒng)方法采用灰色理論建立網(wǎng)絡(luò)入侵檢測分類器,面對復(fù)雜多變的互聯(lián)網(wǎng),該方法難以建立高正確率的網(wǎng)絡(luò)入侵檢測分類器,檢測結(jié)果的可靠性低[7?8]。隨后出現(xiàn)基于支持向量機的網(wǎng)絡(luò)入侵檢測分類器,該分類器的效果要優(yōu)于傳統(tǒng)灰色理論,但學習速度慢,當網(wǎng)絡(luò)入侵檢測的數(shù)據(jù)比較大時,如大規(guī)模網(wǎng)絡(luò),那么其網(wǎng)絡(luò)入侵檢測的實時性差[9]。最近出現(xiàn)了基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測分類器,通過神經(jīng)網(wǎng)絡(luò)的非線性建模能力,得到了較高的網(wǎng)絡(luò)入侵檢測正確率,成為當前網(wǎng)絡(luò)入侵檢測的主要工具[10?11]。BP神經(jīng)網(wǎng)絡(luò)(BPNN)是一種網(wǎng)絡(luò)入侵檢測應(yīng)用最為廣泛的機器學習算法,但參數(shù)直接影響網(wǎng)絡(luò)入侵檢測效果,當前有許多神經(jīng)網(wǎng)絡(luò)參數(shù)確定方法,但是它們?nèi)匀淮嬖诓蛔?。蟻群?yōu)化(ACO)算法具有搜索速度快、搜索精度高等優(yōu)點,廣泛應(yīng)用于模式識別、多參數(shù)約束優(yōu)化等問題[12]。
為了解決網(wǎng)絡(luò)入侵檢測率低的難題,提出了ACO算法選擇BPNN參數(shù)的網(wǎng)絡(luò)入侵檢測模型(ACO?NN),該模型首先收集網(wǎng)絡(luò)入侵檢測數(shù)據(jù),然后采用神經(jīng)網(wǎng)絡(luò)對入侵檢測數(shù)據(jù)進行學習,通過蟻群算法解決神經(jīng)網(wǎng)絡(luò)參數(shù)選擇問題,最后采用標準入侵檢測數(shù)據(jù)進行驗證性測試。
1 神經(jīng)網(wǎng)絡(luò)和蟻群算法
1.1 神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)是一種采用梯度下降算法進行學習的神經(jīng)網(wǎng)絡(luò),最典型的網(wǎng)絡(luò)結(jié)構(gòu)為三層,同層之間沒有關(guān)聯(lián),不同層之間通過節(jié)點連接。設(shè)輸入層、隱含層和輸出層的節(jié)點分別為[N,L]和[M,]輸入向量為[X=[x1,x2,…,xN],]隱含層輸出向量為[H=[h1,h2,…,hL],]輸出層的輸出為[Y=[y1,y2,…,yM],]其期望輸出為[D=[d1,d2,…,dM],]輸入層和隱含層節(jié)點的連接權(quán)值和閾值分別為[V]和[θ,]隱含層和輸出層節(jié)點的連接權(quán)值和閾值分別為[W]和[?]。endprint
(1) 設(shè)隱含層擬合函數(shù)為[f(a)=11+e-a],那么隱含層輸出為:
[hj=fi=1NVijxi-?j] (1)
相應(yīng)地,輸出層的輸出為:
[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) 對權(quán)重進行更新,具體如下:
[ΔWjk(n)=ηδkhj] (5)
[ΔVij(n)=ηδ*jxi] (6)
式中[η]為學習速率。
(4) 對網(wǎng)絡(luò)權(quán)重值進行調(diào)整,具體為:
[Wjk(n+1)=Wjk(n)+ΔWjk(n)+μΔWjk(n-1)] (7)
[Vij(n+1)=Vij(n)+ΔVij(n)+μΔVij(n-1)] (8)
(5) 不斷重復(fù)上述步驟,直至預(yù)測誤差滿足實際要求。
1.2 蟻群算法
在螞蟻覓食過程中,在爬行路徑上釋放信息素,信息素具有一定的濃度,其作用為指導螞蟻移動方向,信息素濃度高的路徑,爬行的螞蟻就越多。設(shè)有[N]個節(jié)點,[N=1,2,…,n,][dij]為節(jié)點[i]和[j]間的距離,共有[m]只螞蟻,[τijt]為第[t]時刻節(jié)點[i]和[j]在路徑上的信息量,[tabuk]保存螞蟻[k]爬行過的節(jié)點。下一節(jié)點的選擇常通過信息素強度決定,[pkij]為螞蟻[k]由節(jié)點[i]轉(zhuǎn)移至節(jié)點[j]的概率,則有:
[pkij=ταijtηβijts∈allowedkταistηβist,j∈allowedk0,otherwise] (9)
式中:[allowedk]為螞蟻[k]沒有經(jīng)過的節(jié)點集合;[α]為信息素啟發(fā)因子;[β]為期望啟發(fā)式因子;[ηijt]為啟發(fā)函數(shù),計算公式為:
[ηijt=1dij] (10)
每只螞蟻路徑上信息素更新方式為:
[τijt+n=1-ρτijt+Δτijt] (11)
[Δτijt=k=1mΔτkijt] (12)
式中:[ρ]為信息素揮發(fā)因子;[Δτkijt]為螞蟻[k]在節(jié)點[i]和[j]上留下的信息量;[Δτijt]為節(jié)點[i]和[j]上信息素的增量,具體為:
[Δτkijt=QLk,ant k pass i and j0, otherwise] (13)
式中:[Q]為常數(shù);[Lk]為螞蟻[k]所走路徑長度。
2 蟻群算法選擇神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測模型
蟻群算法選擇神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測模型的工作過程中,神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的確定十分關(guān)鍵,本文采用蟻群算法確定權(quán)值和閾值,該模型的工作步驟具體如下:
(1) 對網(wǎng)絡(luò)系統(tǒng)中的狀態(tài)信息進行采集,并從中提取描述網(wǎng)絡(luò)內(nèi)容的主要特征。
(2) 網(wǎng)絡(luò)行為特征之間差別很多,尤其是單位不同給網(wǎng)絡(luò)入侵建模帶來一定的干擾,為此對特征值進行處理,即:
[x′i=ximax(xi)] (14)
式中:[xi]和[x′i]為處理前后的特征值;max表示取最大值函數(shù)。
(3) 通過專家對網(wǎng)絡(luò)入侵行為進行分類,建立網(wǎng)絡(luò)入侵檢測學習樣本。
(4) 根據(jù)網(wǎng)絡(luò)入侵檢測的特征數(shù)量確定BP神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點數(shù),并根據(jù)網(wǎng)絡(luò)入侵行為的種類確定輸出節(jié)點數(shù),然后確定隱含層節(jié)點數(shù),從而確定BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)。
(5) 確定蟻群優(yōu)化算法的參數(shù),如種群規(guī)模、最大迭代次數(shù)等。
(6) 隨機初始化蟻群,每一只螞蟻經(jīng)過的路徑為神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的組合。
(7) 對每一條路徑上的信息素進行初始化,信息素的起始濃度相同。
(8) 將網(wǎng)絡(luò)入侵檢測學習樣本輸入到BP神經(jīng)網(wǎng)絡(luò)進行訓練,并計算每一種參數(shù)的網(wǎng)絡(luò)入侵檢測結(jié)果。
(9) 計算每一只螞蟻移動到下一個節(jié)點的概率,并根據(jù)最優(yōu)概率得到下一節(jié)點。
(10) 當一只螞蟻移動完所有節(jié)點后,對其爬行過的路徑的信息濃度進行更新。
(11) 當全部螞蟻完成所有節(jié)點的移動后,對所有路徑上的信息濃度進行更新。
(12) 判斷迭代次數(shù)是否達到最大,如果達到最大,則根據(jù)蟻群爬行的最優(yōu)路徑上的節(jié)點得到BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
(13) 根據(jù)權(quán)值和閾值,BP神經(jīng)網(wǎng)絡(luò)對網(wǎng)絡(luò)入侵訓練進行學習,建立網(wǎng)絡(luò)入侵檢測模型。
ACO?NN的工作流程圖如圖1所示。
3 網(wǎng)絡(luò)入侵檢測效果測試
3.1 測試環(huán)境
測試對象為KDD CUP 99,其是網(wǎng)絡(luò)入侵檢測的標準數(shù)據(jù),采用VC++ 6.0編程實現(xiàn)網(wǎng)絡(luò)入侵檢測模型,各種不同類型入侵行為的樣本數(shù)量如表1所示。
采用網(wǎng)絡(luò)入侵檢測正確率(Pright)、檢測錯誤率(Perror)和模型的執(zhí)行速度等對實驗結(jié)果進行評價。其中檢測正確率和誤報率定義如下:
[Pright=正確檢測到的入侵樣本數(shù)入侵樣本總數(shù) ×100% ] (15)
[Perror=被誤報為入侵的正常樣本數(shù)正常樣本總數(shù)×100%] (16)
3.2 結(jié)果與分析
為了使ACO?NN的網(wǎng)絡(luò)入侵結(jié)果的可信度更高,選擇傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)(BPNN)、遺傳算法優(yōu)化選擇神經(jīng)網(wǎng)絡(luò)參數(shù)模型(GA?NN)建立相應(yīng)的網(wǎng)絡(luò)入侵檢測模型,它們的[Pright]和[Perror]如圖2和圖3所示。從圖中可知:endprint
(1) BPNN的網(wǎng)絡(luò)入侵檢測結(jié)果的[Pright]最低,而[Perror]最高,這表明其網(wǎng)絡(luò)入侵檢測效果最差,這是由于隨機方式確定BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,無法獲得性能優(yōu)異的神經(jīng)網(wǎng)絡(luò),建立的網(wǎng)絡(luò)入侵檢測模型的正確率低,獲得了大量的錯誤檢測結(jié)果。
(2) 相對BPNN,GA?NN的[Pright]得到了提高,同時[Perror]相對較低,這說明采用遺傳算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行確定,克服了隨機確定參數(shù)的不足,提高了網(wǎng)絡(luò)入侵檢測正確率。
(3) 相對其他兩種網(wǎng)絡(luò)入侵檢測模型,ACO?NN的[Pright]最高,[Perror]最低,這是由于ACO算法確定了最合理的BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,克服了遺傳算法獲得局部最優(yōu)參數(shù)的缺陷,同時解決了隨機確定BP神經(jīng)網(wǎng)絡(luò)的局限性。
對于互聯(lián)網(wǎng)絡(luò),其規(guī)模十分龐大,網(wǎng)絡(luò)入侵檢測數(shù)據(jù)相當多,檢測率十分重要,統(tǒng)計網(wǎng)絡(luò)入侵檢測模型的平均執(zhí)行時間,結(jié)果如表2所示,對表2的時間進行對比,對于所有網(wǎng)絡(luò)入侵類型,ACO?NN的執(zhí)行時間最少,網(wǎng)絡(luò)入侵檢測速度最快,解決了當前其他網(wǎng)絡(luò)入侵檢測模型實時性差的局限性,具有更高的應(yīng)用價值。
4 結(jié) 語
為了提升網(wǎng)絡(luò)入侵檢測效果,提出基于ACO?NN的網(wǎng)絡(luò)入侵檢測模型。該模型通過神經(jīng)網(wǎng)絡(luò)對網(wǎng)絡(luò)入侵數(shù)據(jù)進行學習,擬合網(wǎng)絡(luò)入侵的類別,實現(xiàn)對網(wǎng)絡(luò)入侵類別的識別和檢測,并采用ACO算法解決神經(jīng)網(wǎng)絡(luò)參數(shù)選擇問題,與其他入侵檢測模型的對比測試結(jié)果表明,ACO?NN克服了當前神經(jīng)網(wǎng)絡(luò)在入侵檢測中存在的缺陷,網(wǎng)絡(luò)入侵檢測率結(jié)果更好,也改善了網(wǎng)絡(luò)入侵的速度,具有廣泛的應(yīng)用前景。
參考文獻
[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的網(wǎng)絡(luò)入侵檢測算法[J].計算機工程,2009,35(23):166?167.
[4] 李輝,管曉宏,昝鑫,等.基于支持向量機的網(wǎng)絡(luò)入侵檢測[J].計算機研究與發(fā)展,2003,40(6):799?807.
[5] 李旭芳,王士同.基于QPSO訓練支持向量機的網(wǎng)絡(luò)入侵檢測[J].計算機工程與設(shè)計,2008,29(1):34?36.
[6] 唐少先,蔡文君.基于無監(jiān)督聚類混合遺傳算法的入侵檢測方法[J].計算機應(yīng)用,2008,28(2):409?411.
[7] 田俊峰,趙衛(wèi)東,杜瑞忠,等.新的入侵檢測數(shù)據(jù)融合模型IDSFP[J].通信學報,2006,27(6):115?120.
[8] 張宗飛.基于量子進化算法的網(wǎng)絡(luò)入侵檢測特征選擇[J].計算機應(yīng)用,2013,33(5):1357?1361.
[9] 向昌盛,張林峰.PSO?SVM在網(wǎng)絡(luò)入侵檢測中的應(yīng)用[J].計算機工程與設(shè)計,2013,34(4):1222?1225.
[10] 欒慶林,盧輝斌.自適應(yīng)遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的入侵檢測研究[J].計算機工程與設(shè)計,2008,29(12):3022?3024.
[11] 劉玉玲,杜瑞忠.基于模糊積分的多神經(jīng)網(wǎng)絡(luò)融合在入侵檢測中的應(yīng)用[J].河北大學學報(自然科學版),2008,28(3):312?317.
[12] 龍文,梁昔明,龍祖強,等.基于改進蟻群算法優(yōu)化參數(shù)的LSSVM短期負荷預(yù)測[J].中南大學學報(自然科學版),2011,42(11):3408?3414.
[13] 嚴岳松,倪桂強,繆志敏,等.基于SVDD的半監(jiān)督入侵檢測研究[J].微電子學與計算機,2012,26(10):128?130.endprint