謝偉增
(河南司法警官職業(yè)學(xué)院信息技術(shù)系, 鄭州 450046)
人工蜂群算法優(yōu)化支持向量機(jī)的網(wǎng)絡(luò)入侵檢測(cè)
謝偉增
(河南司法警官職業(yè)學(xué)院信息技術(shù)系, 鄭州 450046)
支持向量機(jī)參數(shù)直接影響網(wǎng)絡(luò)入侵檢測(cè)效果,為了提高入侵檢測(cè)的正確率,提出了基于人工蜂群算法優(yōu)化支持向量機(jī)的網(wǎng)絡(luò)入侵檢測(cè)模型。將支持向量機(jī)參數(shù)組合在一起,編碼成為人工蜂群算法的蜜源,并將最高網(wǎng)絡(luò)入侵檢測(cè)率作為蜂群的搜索方向,不斷模擬蜂群尋找最優(yōu)蜜源的過(guò)程實(shí)現(xiàn)參數(shù)優(yōu)化,并根據(jù)最優(yōu)參數(shù)設(shè)計(jì)網(wǎng)絡(luò)入侵檢測(cè)的分類器,選擇KDD CUP 99數(shù)據(jù)集作為實(shí)驗(yàn)對(duì)象,結(jié)果表明,模型可以提高網(wǎng)絡(luò)入侵檢測(cè)的正確率,降低誤報(bào)率,獲得較優(yōu)的網(wǎng)絡(luò)入侵檢測(cè)效果。
網(wǎng)絡(luò)安全; 入侵行為; 支持向量機(jī)參數(shù); 人工蜂群算法; 分類器
隨著信息技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已經(jīng)進(jìn)了人們生活和工作的各個(gè)領(lǐng)域,由于網(wǎng)絡(luò)攻擊手段的增多和惡意軟件的增加,傳統(tǒng)網(wǎng)絡(luò)防范技術(shù)如防火墻,數(shù)據(jù)加密等已經(jīng)不能滿足現(xiàn)代網(wǎng)絡(luò)安全的要求[1]。網(wǎng)絡(luò)入侵檢測(cè)作為一種主動(dòng)網(wǎng)絡(luò)安全防范技術(shù),引起了人們的高度重視[2]。
當(dāng)前網(wǎng)絡(luò)入侵檢測(cè)技術(shù)分為:簽名檢測(cè)和異常檢測(cè)兩種,簽名檢測(cè)只能檢測(cè)已知的網(wǎng)絡(luò)入侵行為,不能發(fā)現(xiàn)新型、變異的入侵行為,實(shí)際應(yīng)用價(jià)值低,而異常檢測(cè)可以發(fā)現(xiàn)新型的入侵行為,實(shí)際應(yīng)用范圍更廣[3]。網(wǎng)絡(luò)入侵檢測(cè)本質(zhì)是一種分類問題,當(dāng)前主要基于統(tǒng)計(jì)學(xué),機(jī)器學(xué)習(xí)算法設(shè)計(jì)網(wǎng)絡(luò)入侵檢測(cè)模型,其中統(tǒng)計(jì)學(xué)方法如模式匹配算法等[3],誤報(bào)率高,難以適應(yīng)動(dòng)態(tài)環(huán)境下的網(wǎng)絡(luò)入侵檢測(cè);機(jī)器學(xué)習(xí)算法如神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(support vector machine,SVM)具有較強(qiáng)的魯棒性及容錯(cuò)性[4-6],尤其是SVM可以在有限樣本條件下得到問題最優(yōu)解,在網(wǎng)絡(luò)入侵檢測(cè)得到了成功的應(yīng)用。然而SVM的入侵檢測(cè)效果受懲罰參數(shù)以及核函數(shù)的參數(shù)影響,如何選擇最優(yōu)參數(shù)以獲取最優(yōu)入侵檢測(cè)結(jié)果,成為基于SVM的入侵檢測(cè)研究領(lǐng)域必須解決的難題,當(dāng)前參數(shù)優(yōu)算法主要有遺傳算法(GA)、蟻群優(yōu)化 (ACO)算法、粒子群優(yōu)化(PSO)算法等[7-9]。相關(guān)研究表明,SVM的分類效果與懲罰因子以及核函數(shù)參數(shù)間存在多峰值函數(shù)關(guān)系,這些算法尋優(yōu)過(guò)程中會(huì)不同程度陷入局部最優(yōu)解,難以得到最優(yōu)分類效果[10]。
人工蜂群優(yōu)化(artificial bee colony algorithm,ABC)算法[11]是一種模擬蜂群采蜜的智能優(yōu)化算法,控制參數(shù)少、收斂速度快,很大程度上避免了陷人局部最優(yōu)解難題,為了進(jìn)一步提高網(wǎng)絡(luò)入侵檢測(cè)正確率,提出ABC算法優(yōu)化SVM的網(wǎng)絡(luò)入侵檢測(cè)模型(ABC-SVM),并采用KDD CUP 99數(shù)據(jù)集對(duì)其性能進(jìn)行測(cè)試和分析。
1.1 支持向量機(jī)
對(duì)于訓(xùn)練集{(xi,yi)},SVM通過(guò)非線性函數(shù)φ(x)將其映射到高維特征空間進(jìn)行分類,即有式(1)。
(1)
式中,ω和b為權(quán)值和偏置向量。
s.t.
(2)
式中,C表示懲罰參數(shù)。
引入拉格朗日乘子(αi)將式(2)變成為對(duì)偶優(yōu)化問題,得到式(3)。
(3)
(4)
采用K(xi,xj)=φ(xi)Tφ(xj)得到SVM的非線性分類函數(shù)為式(5)。
(5)
本文選擇徑向基函數(shù),定義如式(6)。
(6)
式中,σ為徑向基核的寬度。1.2 人工蜂群算法
設(shè)第i個(gè)蜜源為:xi=(xi1,xi2,…,xiD),i=1,2,…N,N表示蜜源數(shù),蜜蜂工作方式如下。
(1) 雇傭蜂根據(jù)局部信息找到新蜜源位置,并估計(jì)蜜量,若蜜量更多,雇傭蜂記憶新蜜源的位置。
(2) 雇傭蜂將蜜源信息傳遞給觀察蜂,觀察蜜源搜索鄰域內(nèi)的蜜源,并估計(jì)新蜜源的蜜量,若蜜量更多,記憶新蜜源的位置,觀察蜂選擇蜜源的概率為式(7)。
(7)
式中,fiti為第i個(gè)解的適應(yīng)度值;SN為蜜蜂的個(gè)數(shù)。
設(shè)vij是候選蜜源,雇傭蜂和觀察蜂搜索新蜜源的方式為式(8)。
(8)
式中,xij為位置向量;j為隨機(jī)數(shù);φij是[-1,1]間的隨機(jī)數(shù)。
(3) 若經(jīng)過(guò)多N次循環(huán)后,蜜源沒有發(fā)生改變,則該雇傭蜂成為偵察蜂,并尋找新的蜜源,具體為公式(9):
(9)
2.1 ABC優(yōu)化SVM參數(shù)的過(guò)程
參數(shù)C和σ影響SVM的網(wǎng)絡(luò)入侵檢測(cè)效果,采用網(wǎng)絡(luò)入侵檢測(cè)正確率作為C、σ尋優(yōu)的目標(biāo),那么SVM參數(shù)優(yōu)化數(shù)學(xué)模型為式(10)。
maxP(C,σ)
(10)
ABC算法的優(yōu)化SVM參數(shù)如下:
(1) 隨機(jī)產(chǎn)生SN人工蜂和食物源,每一個(gè)解為:Xi=[xi1,xi2,…,xiD]T,i=1, 2, …,n,其中D表示參數(shù)的個(gè)數(shù)。
(2) 將每個(gè)解Xi的反編碼得到SVM的參數(shù)C、σ值,并計(jì)算其適應(yīng)度值。
(3) 雇傭蜂以一定概率對(duì)記憶中的食物源位置進(jìn)行改變,找到一個(gè)新的食物源,并估計(jì)新食物源的蜜量,即計(jì)算新解的適應(yīng)度,若新解更優(yōu),則雇傭蜂將記憶新解。
(4) 當(dāng)雇傭蜂回到蜂巢后,將食物源信息與觀察蜂共享,觀察蜂根據(jù)概率選擇一個(gè)食物源位置,并改變記憶位置和估計(jì)新食物源的花蜜量,若新食物源的適應(yīng)度高于記憶值,則用新解替代原始解。
(5) 連續(xù)N次循環(huán)后,解仍然沒有得到改善,此時(shí)雇傭蜂變?yōu)閭刹旆洹?/p>
(6) 達(dá)到終止條件后,得到參數(shù)C和σ的最優(yōu)解。
(7) SVM根據(jù)最優(yōu)C和σ值對(duì)訓(xùn)練集重新學(xué)習(xí),建立最優(yōu)的網(wǎng)絡(luò)入侵檢測(cè)模型。
2.2 ABC-SVM的網(wǎng)絡(luò)入侵檢測(cè)
網(wǎng)絡(luò)入侵檢測(cè)實(shí)質(zhì)上一個(gè)多分類問題,但SVM只能求解兩分類問題,必須通過(guò)組合策略構(gòu)建網(wǎng)絡(luò)入侵檢測(cè)器,本文采用構(gòu)造網(wǎng)絡(luò)入侵檢測(cè)器,如圖1所示。
圖1 網(wǎng)絡(luò)入侵檢測(cè)的多分類器
基于ABC-SVM的網(wǎng)絡(luò)入侵檢測(cè)步驟為:
Step1:選擇實(shí)驗(yàn)數(shù)據(jù)集,對(duì)網(wǎng)絡(luò)狀態(tài)特征進(jìn)行歸一化處理,即式(11)。
(11)
式中,xi為原始值特征,min()和max()為取最大值和最小值。
Step2:采用ABC算法對(duì)SVM參數(shù){C,σ}進(jìn)行優(yōu)化和選擇。
Step3:根據(jù)最優(yōu)參數(shù){C,σ}建立網(wǎng)絡(luò)入侵檢測(cè)模型,并對(duì)模型的性能進(jìn)行分析。
3.1 源數(shù)據(jù)
采用KDD CUP 99的數(shù)據(jù)集作為實(shí)驗(yàn)對(duì)象,將網(wǎng)絡(luò)狀態(tài)分為4種入侵行為:Probe,DOS,U2R,R2L,每一個(gè)數(shù)據(jù)集包含41個(gè)特征屬性。選擇遺傳算法優(yōu)化SVM(GA-SVM)和粒子群算法優(yōu)化SVM(PSO-SVM)作為對(duì)比模型,對(duì)網(wǎng)絡(luò)入侵的檢測(cè)正確率、誤報(bào)率和執(zhí)行速度進(jìn)行分析。
3.2 結(jié)果與分析
3.2.1 檢測(cè)結(jié)果對(duì)比
采用GA、PSO、ABC算法對(duì)SVM參數(shù)C和σ進(jìn)行優(yōu)化,結(jié)果,如表1所示。
表1 SVM的參數(shù)
根據(jù)表1參數(shù)建立的網(wǎng)絡(luò)入侵檢測(cè)模型,GA-SVM、PSO-SVM和ABC-SVM的網(wǎng)絡(luò)入侵檢測(cè)正確率和誤報(bào)率,如圖2和圖3所示。
圖2 檢測(cè)率對(duì)比
圖3 誤報(bào)率對(duì)比
從表3可知,與GA-SVM、PSO-SVM的入侵檢測(cè)結(jié)果相比,ABC-SVM的網(wǎng)絡(luò)入侵檢測(cè)率更高,有效降低了網(wǎng)絡(luò)入侵檢測(cè)的誤報(bào)率,這是由于ABC找到了比GA、PSO更優(yōu)參數(shù)C,σ,建立了更加理想的網(wǎng)絡(luò)入侵檢測(cè)模型。
3.2.2 執(zhí)行速度對(duì)比
采用平均檢測(cè)時(shí)間(秒,s)對(duì)網(wǎng)絡(luò)入侵檢測(cè)模型的速度進(jìn)行衡量,結(jié)果,如圖4所示。
圖4 檢測(cè)時(shí)間對(duì)比
從圖4可知,ABC-SVM的網(wǎng)絡(luò)入侵檢測(cè)速度要快于對(duì)比模型,這主要是因?yàn)锳BC-SVM找到的支持向量更少,減少了計(jì)算的復(fù)雜度,加快了算法執(zhí)行速度,更加適合于網(wǎng)絡(luò)入侵的實(shí)時(shí)性要求。
為了解決SVM在網(wǎng)絡(luò)入侵檢測(cè)中的參數(shù)優(yōu)化難題,提出了基于ABC-SVM的網(wǎng)絡(luò)入侵檢測(cè)模型,首先將SVM參數(shù)編碼成為一個(gè)蜜源,將網(wǎng)絡(luò)入侵檢測(cè)率作為參數(shù)優(yōu)化目標(biāo),然后模擬蜂群搜索最優(yōu)蜜源過(guò)程找SVM的最優(yōu)參數(shù),并根據(jù)最優(yōu)參數(shù)建立網(wǎng)絡(luò)入侵檢測(cè)模型,最后采用KDD CUP 99數(shù)據(jù)集進(jìn)行仿真測(cè)試,結(jié)果表明,ABC-SVM加快網(wǎng)絡(luò)入侵檢測(cè)速度,提高了網(wǎng)絡(luò)入侵的檢測(cè)正確率,大幅度降低了入侵檢測(cè)的誤報(bào)率,具有一定的實(shí)際應(yīng)用價(jià)值。
[1] Denning D.E. An Intrusion Detection Model [J]. IEEE Transaction on Software Engineering, 2010,13(2): 222-232
[2] 田志宏,王佰玲,張偉哲,等. 基于上下文驗(yàn)證的網(wǎng)絡(luò)入侵檢測(cè)模型[J]. 計(jì)算機(jī)研究與發(fā)展,2013, 50(3): 498-508.
[3] 李晶皎,許哲萬(wàn),王愛俠,等. 基于移動(dòng)模糊推理的DoS攻擊檢測(cè)方法[J]. 東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2012, 33(10):1394-1398.
[4] 馬勇.遺傳模糊系統(tǒng)結(jié)合迭代規(guī)則學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)方案[J]. 微型電腦應(yīng)用, 2016, 32(6): 25-28.
[5] 陶琳, 郭春璐. 改進(jìn)粒子群算法和支持向量機(jī)的網(wǎng)絡(luò)入侵檢測(cè)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2016, 25(6): 269-273.
[6] 姜春茂,張國(guó)印,李志聰. 基于遺傳算法優(yōu)化SVM的嵌入式網(wǎng)絡(luò)系統(tǒng)異常入侵檢測(cè)[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2011, 28(2): 287-289.
[7] 李振剛,甘泉. 改進(jìn)蟻群算法優(yōu)化 SVM 參數(shù)的網(wǎng)絡(luò)入侵檢測(cè)模型研究[J]. 重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 26(6): 785-789.
[8] 張拓,王建平. 基于CQPSO-SVM 的網(wǎng)絡(luò)入侵檢測(cè)模型[J]. 計(jì)算機(jī)工程與應(yīng)用, 2015,51(2): 113-116.
[9] 劉春波,王鮮芳,潘豐. 基于蟻群優(yōu)化算法的支持向量機(jī)參數(shù)選擇及仿真[J]. 中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2008, 39(6):1309-1313.
[10] 劉霞, 張姍姍, 胡銘鑒, 龐永貴. 基于混沌機(jī)制的人工蜂群算法優(yōu)化的支持向量機(jī)分類器[J]. 計(jì)算技術(shù)與自動(dòng)化, 2015, 34(2): 11-14.
[11] 張新有,曾華燊,賈磊. 入侵檢測(cè)數(shù)據(jù)集KDD CUP99研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2010,31(22): 4809-4816.
Network Intrusion Detection Based on Support Vector Machine Optimized by Artificial Bee Colony Algorithm
Xie Weizeng
(Department of Information Technology,Henan Judicial Police Vocational College,Zhengzhou 450046,China)
Parameters of support vector machine directly affect the effect of network intrusion detection. In order to improve correct rate of network intrusion detection, a network intrusion detection model based on support vector machine optimized by artificial bee colony algorithm is proposed. Firstly, the parameters of support vector machine are combined together and encoded to be a source of artificial bee colony algorithm. Secondly the highest network intrusion detection rate is taken as search direction of bee colony, and optimum parameters are obtained by simulating bee colony searching nectar source. Network intrusion detection classifier is designed according to the optimal parameters. Finally, KDD CUP 99 data set is used as research object and the simulation experiment is carried out. The results show that the proposed model can improve the correct rate of network intrusion detection and reduce false detection rate, so it can obtain better network intrusion detection effect.
Network security; Intrusion behavior; Support vector machine parameters; Artificial bee colony algorithm; Classifier
謝偉增(1975-),男,河南鄢陵人,學(xué)士,講師,研究方向:信息安全,網(wǎng)絡(luò)技術(shù)。鄭州 450046
1007-757X(2017)01-0071-03
TP391
A
2016.05.10)