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