李玉霞,劉麗,沈桂蘭
1.北京聯合大學商務學院,北京 100025
2.北京聯合大學生物化學工程學院,北京 100023
基于AFSA-SVM的網絡入侵檢測模型
李玉霞1,劉麗2,沈桂蘭1
1.北京聯合大學商務學院,北京 100025
2.北京聯合大學生物化學工程學院,北京 100023
隨著Internet規模不斷壯大,網絡攻擊在數量和危害程度上均呈上升趨勢,網絡安全問題日益突出。傳統防火墻、數據加密等被動防御措施無法滿足現代網絡安全性要求,入侵檢測作為一種主動防御技術,成為現代網絡安全研究中的熱點問題[1]。
網絡入侵檢測是指從網絡中收集數據,然后對數據特征進行分析,最后檢測出入侵行為,并給出入侵警報[2]。網絡入侵檢測實質上是一種多分類問題,主要包括特征選擇、分類器設計等步驟[3]。原始網絡特征中包含大量冗余信息和對檢測結果起“反作用”的噪聲特征,如果不加選擇直接使用,不僅大大削弱了分類器的分類性能,而且增加“維數災難”出現概率,對入侵檢測結果產生不利影響[4]。當前網絡特征選擇算法主要有:窮舉算法、遺傳算法、粒子群優化算法、免疫算法以及相關的改進算法[5-9]。窮舉算法計算量大,搜索效率低,不能滿足網絡入侵檢測的實時性;遺傳算法、粒子群優化算法、免疫算法等存在收斂速度慢、極易陷入局部極值等缺陷,難以找到全局最優的網絡狀態特征[10]。當前入侵檢測分類器主要基于機器學習算法進行設計,有神經網絡、支持向量機(Support Vector Machine,SVM)等[11-12]。神經網絡基于經驗風險最小化原則和“大樣本”理論,當不能滿足“大樣本”要求時,易出現過擬合、分類能力差等缺陷;SVM是一種專門針對小樣本、高維、非線性問題的機器學習算法,較好地克服了神經網絡過擬合、“維數災”等缺陷,泛化能力優異,成為網絡入侵檢測的主要分類器,因此本研究選擇SVM建立入侵檢測分類器。
人工魚群算法(Artificial Fish Swarm Algorithm,AFSA)是一種模擬魚群的覓食和生存活動的智能仿生算法,具有對初值和參數選擇不敏感、魯棒性強、簡單、易實現等優點,在組合優化領域取得了不錯的應用效果[13]。網絡入侵特征選擇實質上是一個大規模空間搜索的組合優化問題,因此可借助于AFSA進行求解。為了提高網絡入侵檢測效果,針對當前網絡入侵檢測特征選擇問題,提出一種AFSA和SVM相融合的網絡入侵檢測模型(AFSA-SVM),并采用KDD CUP 99數據集對AFSA-SVM進行仿真測試,驗證其有效性。
基于AFSA-SVM的網絡入侵模型工作原理為:首先對訓練集數據進行預處理,采用AFSA產生初始特征子集,利用SVM建立入侵檢測分類器對特征子集的優劣進行評估,然后通過魚群的覓食、聚群及追尾行為,快速找到最優特征子集,并根據選擇的最優特征子集對訓練集和測試集進行特征約簡,最后將特征約簡后的訓練集送到SVM進行訓練,建立網絡入侵檢測模型,并對特征約簡后的測試集進行檢測。AFSA-SVM的框架如圖1所示。

圖1 AFSA-SVM入侵檢測框架
2.1 基本人工魚群算法
人工魚群算法(AFSA)模仿魚群的覓食和追尾行為,搜索能力強,且搜索速度快,魚群的幾種典型行為如下:
(1)覓食行為。設人工魚當前狀態為Xi,隨機在其視野范圍內選擇一個狀態Xj,如果食物密度Yi<Yj,則向此方向前進一步,否則,重新隨機選擇狀態Xj,判斷是否滿足前進條件;反復試探nj次后,如果仍然不能滿足前進條件,那么就隨機移動一步。用數學表達式表示為:

式中,Rand()為(0,1)范圍內的隨機數;Step為移動步長。
(2)聚群行為。設人工魚當前狀態為Xi,其視野范圍內的伙伴數目為nf、中心位置為Xc。若Yc/nf>δYi,δ為擁擠度因子,那么表明伙伴中心有較多的食物,并且不太擁擠,則朝伙伴中心移動一步,否則執行覓食行為。其數學表達式如下:

(3)追尾行為。設人工魚當前狀態為Xi,其視野范圍內食物濃度最高Yj的人工魚位置為Xmax。若Yj/nf>δYi,則表示伙伴Xmax具有較高的食物濃度并且其周圍不太擁擠,則朝伙伴Xj前進一步,否則執行覓食行為。

(4)隨機行為。人工魚在視野范圍內隨機選擇一個狀態,然后向該方向移動,屬于覓食行為的缺省行為。
(5)公告板。公告牌是用于記錄最優人工魚的狀態。
AFSA也是一種隨機搜索算法,對于復雜問題,同樣存在尋優后期搜索效率低、易陷入局部最優解等缺陷[14]。
2.2 人工魚群算法的改進
混沌現象是非線性動力學系統中特有的一種現象,具有隨機性、遍歷性和確定性,因此在AFSA中引入混沌,能夠有效地避免算法長時間位于局部極小附近,提高算法的全局收斂性和搜索效率。混沌變量的Tent映射為:

根據Tent映射,人工魚i按照如下的步驟在可行域中產生混沌點列:
(1)將人工魚狀態Xi的每一維Xik,k=1,2,…,n,按式(5)映射到[0,1]區間上:

式中,ak,bk分別表示第k維變量Xik的最小值與最大值。(2)式(5)迭代M次后,產生混沌序列
(3)根據式(6)將混沌序列中狀態值映射到原空間。

(4)由這些混沌序列可以得到Xi經過Tent映射后的混沌點序列為:

在AFSA優化后期,人工魚隨機行為降低了算法的優化精度和優化效率,為此引入反饋機制。反饋策略即為人工魚定義一個反饋行為:人工魚以一定的概率向公告牌記錄的最優狀態游動,因此讓人工魚以概率pf0執行隨機行為,而以概率1-pf0執行反饋行為,以保證新算法的優化后期可以得到更好的優化精度和效率。并使pf0按式(8)減小:

式中,θ為反饋概率的衰減因子。
3.1 編碼規則
對于給定含有m維特征的網絡狀態數據集D,特征選擇的目的是選擇出一個滿足目標函數最優的特征子集R,本研究采用二進制編碼規則,那么人工魚位置狀態x每一維的值用二進制表示,選中的特征取為1,否則為0。
3.2 食物密度
食物密度是人工魚位置優劣的評價依據,即特征子集性能評價標準,入侵特征選擇目標包括兩個方面:(1)網絡入侵檢測率更高;(2)特征維數盡量最少,則目標函數(食物密度)由所選特征子集的大小和檢測率兩部分組成。食物密度計算公式如下:

式中,d為選取特征子集的維數;D為入侵檢測原始特征維數;Perror表示5折交叉驗證SVM訓練模型的檢測率;λ為檢測正確率權重系數。
由于車體受到會車氣動流場的直接作用,且支撐車體的空氣彈簧對壓力變化較為敏感,因此需要首先研究車體在會車過程中的動態響應。車體的側滾角θ與橫移量Y在會車過程中的響應曲線分別如圖6和圖7所示。觀察圖6可知,車體側滾角的變化趨勢與會車流場壓力的變化趨勢相反,即當車體右側流場壓力增加時,車體發生逆時針側滾運動,同時導致了轉向架左側空氣彈簧內壓升高,而右側空氣彈簧內壓下降。由圖7可知,交會車速越高,車體橫移量越大;車體在交會初始正壓力波的推動下首先向左側橫移,此后壓力波出現兩個負峰值點,車體受吸引作用向右側橫移,最后在車尾通過觀測點時正壓力波的作用下,車體又逐漸回復至平衡位置。
3.3 視野范圍
若視野范圍(Fv)太小,易出現Fv內沒有人工魚伙伴,隨機性覓食概率太大,導致算法搜索盲目性增強,但是若Fv太大,聚群行為和追尾行為概率增大,不利于探索新的可行解空間區域。本研究通過人工魚狀態差異位的個數來表示兩個狀態之間的相似程度。如果兩個狀態間的相似度越高,表示人工魚位置間的差異就越小。人工魚當前位置Xi的可見域Fv定義為:

式中,xik表示人工魚當前位置Xi的第k維的值,

3.4 AFSA-SVM入侵檢測步驟
(1)收集網絡狀態信息,提取網絡狀態特征。
(2)初始化人工魚參數,主要有位置、移動步長Step、種群規模n、擁擠度因子δ、反饋概率Pfb、反饋概率的衰減因子θ、最大迭代次數max_iterate等。
(3)在可行域范圍內隨機生成n條人工魚,并設置初始迭代次數passed_iterate=0。
(4)對初始魚群的個體當前位置食物濃度值(FC)進行計算,然后對它們進行排序,選擇FC值最大的人工魚個體進入公告板。
(5)評價某條人工魚的覓食、追尾和聚群行為所得的結果,若執行某個行為后,人工魚的狀態優于當前狀態,則該人工魚向此方向前進一步,接著轉到(8)執行。
(6)產生一個隨機數r,若r<Pfb,則人工魚執行隨機行為,否則執行反饋行為,向公告牌中最優方向移動一步。
(7)根據式(5)~(7)對所有最優人工魚狀態進行混沌搜索,得到當前解域范圍內的最好的人工魚狀態。
(8)更新公告牌,將(7)中得到的最好人工魚狀態記入公告牌。
(9)根據式(8)更新反饋概率。
(10)判斷算法結束條件,如果達到最大迭代次數,則結束算法,并輸出公告牌中的人工魚狀態,即為最優特征子集,否則passed_iterate=passed_iterate+1,轉(6)執行。
(11)根據最優特征子集對訓練集和測試集進行特征約簡,得到約簡后的訓練集和測試集。
(12)將特征約簡后的訓練集送到SVM進行訓練,建立網絡入侵檢測模型。
(13)將約簡后的測試集輸入到網絡入侵檢測模型進行測試,以驗證模型的性能。
4.1 數據源
在P4雙核2.8 GHz CPU、2 GB內存,Windows XP環境下,采用Matlab 2009實現仿真實驗。數據來自網絡入侵標準測試集KDD CUP 99數據集,其包括四種入侵類型:DoS、Probe、U2R和R2L,同時包括正常樣本[15]。每一個樣本共有41個特征,7個符號型字段和34個數值型字段。將樣本分為“Normal”或是“Attack”,即將四種入侵都歸類為“Attack”,這樣可將多分類問題的網絡入侵檢測變為二值分類問題,從而能更好地關注特征選擇的效果。從KDD CUP 99數據集中隨機選取10 000個樣本,正常樣本和異常樣本各5 000個,并選擇8 000個作為訓練集,2 000個作為測試集。
4.2 對比模型及評價標準
選擇粒子群優化算法選擇特征的SVM模型(PSO-SVM),遺傳算法選擇特征的SVM模型(GA-SVM)、原始特征的SVM模型(SVM)作為對比模型。模型性能評價標準為:檢測率(TPR)、平均訓練時間和檢測時間。TPR定義如下:

4.3 各模型選擇的特征子集
采用SVM、PSO-SVM、GA-SVM、AFSA-SVM進行特征子集選擇,得到最優特征子集見表1。從表1可知,采用特征選擇方法,有效消除了冗余或無用特征,可以降低特征維數,大大地壓縮了特征空間,因此在訓練集和測試集輸入到分類器進行學習之前,對特征進行選擇是必須的。

表1 各模型選擇的特征數
4.4 特征歸一化處理
由于網絡入侵特征值采用不同度量單位,在SVM訓練過程,如果某些特征占了主導地位,就會掩蓋其他一些特征對檢測結果的貢獻,為了消除該現象的出現,對特征值進行歸一化處理。數據歸一化的Matlab代碼為:

4.5 檢測率對比
根據選擇最優特征子集對訓練集和測試集進行約簡處理,然后將訓練集輸入到SVM進行學習和建模,最后采用建立的模型對測試集進行檢測,得到的結果見表2。

表2 各模型的檢測率對比
從表2可知,相對沒有進行特征選擇的SVM,特征選擇模型(AFSA-SVM、GA-SVM、PSO-SVM)的檢測率得到了顯著提高,主要是因為特征選擇可以剔除冗余和不重要的特征,獲得一些對檢測結果起至關重要的關鍵特征,提高了檢測率。同時從表2可知,相對于GA-SVM、PSO-SVM,AFSA-SVM檢測率更高,這歸結于AFSA能夠更加有助于特征選擇,獲得的特征子集可以更加準確描述網絡狀態變化趨勢,對比結果表明,將AFSA-SVM用于網絡入侵檢測是可行的,可以獲得更優的檢測結果。
4.6 訓練時間和檢測時間比較
PSO-SVM、GA-SVM、AFSA-SVM、SVM的訓練時間和測試時間見表3。從表3可知,AFSA-SVM的訓練時間和檢測時間均少于對比模型,檢測效率最高,這說明AFSA有效地提高了尋找最優特征子集的能力,加快了算法收斂速度,AFSA-SVM可以更好地滿足網絡入侵檢測的實時性要求。

表3 不同模型的訓練時間和檢測時間對比s
針對網絡數據中存在大量的無關特征、冗余特征,導致網絡入侵檢測出現檢測速度慢,檢測率低等難問題,提出一種基于AFSA-SVM的網絡入侵檢測模型。仿真結果表明,相對于其他入侵檢測模型,AFSA-SVM可以有效剔除網絡數據中的無關特征和冗余特征,選擇與檢測結果關聯程度較高的特征子集,降低了特征維數,進一步提高了入侵檢測效率和檢測率,可以滿足特征變化復雜和攻擊行為層出不窮的實時網絡入侵檢測。
[1]唐正軍,李建華.入侵檢測技術[M].北京:清華大學出版社,2004. [2]井小沛,汪厚祥,聶凱,等.面向入侵檢測的基于IMGA和MKSVM的特征選擇算法[J].計算機科學,2012,39(7):96-100.
[3]Yu L,Liu H.Efficient feature selection via analysis of relevance and redundancy[J].Journal of Machine Learning Research,2004,5:1205-1224.
[4]Denning D E.An intrusion detection model[J].IEEE Transactions on Software Engineering,2010,13(2):222-232.
[5]Hang C L,Wang C J.A GA-based feature selection and parameters optimization for support vector machines[J].Expert Systems with Applications,2009,31(2):231-240.
[6]何紹榮,梁金明,何志勇.基于互信息和關系積理論的特征選擇方法[J].計算機工程,2010,36(13):257-259.
[7]陳友,程學旗,李洋,等.基于特征選擇的輕量級入侵檢測系統[J].軟件學報,2007(7):1639-1651.
[8]郭文忠,陳國龍,陳慶良,等.基于粒子群優化算法和相關性分析的特征子集選擇[J].計算機科學,2008,35(2):144-146.
[9]高海華,楊輝華,王行愚.基于BPSO-SVM的網絡入侵特征選擇和檢測[J].計算機工程,2006,32(8):37-39.
[10]陳仕濤,陳國龍,郭文忠,等.基于粒子群優化和鄰域約簡的入侵檢測日志數據特征選擇[J].計算機研究與發展,2010,47(7):1261-1267.
[11]Hong J,Su M Y,Chen Y H,et a1.A novel intrusion detection system based on hierarchical clustering and support vector machines[J].Expert Systems with Applications,2011,38:306-313.
[12]Khan L,Awad M,Thuraisingham B.A new intrusion detection system using support vector machines and hierarchical clustering[J].The VLDB Journal,2007,16:507-521.
[13]Tan F,Fu X Z,Zhang Y Q,et a1.A genetic algorithm based method for feature subset selection[J].Soft Computing,2008,12(2):111-120.
[14]江銘炎,袁東風.人工魚群算法及其應用[M].北京:科學出版社,2012.
[15]陳友,沈華偉,李洋.一種高效的面向入侵檢測系統的特征選擇算法[J].計算機學報,2007,30(8):1398-1408.
LI Yuxia1,LIU Li2,SHEN Guilan1
1.Business College,Beijing Union University,Beijing 100025,China
2.College of Biochemical Engineering,Beijing Union University,Beijing 100023,China
Feature selection is a core problem for network intrusion detection,in order to improve the detection rate of network intrusion,a network intrusion detection model(AFSA-SVM)is proposed based on Artificial Fish Swarm Algorithm and Support Vector Machine.The feature subset is coded as the position of adult fish,and the detection rate of 5 cross validation for SVM training model is taken as evaluation criteria of the feature subset,and then the fish feeding,clustering and rear-end behavior are imitated to find the optimal feature subset.The intrusion detection model is built based on the optimal feature subset.The simulation experiment is carried out on the KDD CUP 99 data.The results show that,compared with the Particle Swarm Optimization algorithm,Genetic Algorithm and all features,the proposed algorithm has improved detection efficiency and the detection rate of the network intrusion,so it is an efficient intrusion detection model.
feature selection;Artificial Fish Swarm Algorithm(AFSA);Support Vector Machine(SVM);intrusion detection
特征選擇是網絡入侵檢測研究中的核心問題,為了提高網絡入侵檢測率,提出一種人工魚群算法(AFSA)和支持向量機(SVM)相融合的網絡入侵檢測模型(AFSA-SVM)。將網絡特征子集編碼成人工魚的位置,以5折交叉驗證SVM訓練模型檢測率作為特征子集優劣的評價標準,通過模擬魚群的覓食、聚群及追尾行為找到最優特征子集,SVM根據最優特征子集進行網絡入侵檢測,并采用KDD CUP 99數據集進行仿真測試。仿真結果表明,相對于粒子群優化算法、遺傳算法和原始特征法,AFSA-SVM提高了入侵檢測效率和檢測率,是一種有效的網絡入侵檢測模型。
特征選擇;人工魚群算法;支持向量機;網絡入侵檢測
A
TP181
10.3778/j.issn.1002-8331.1303-0046
LI Yuxia,LIU Li,SHEN Guilan.Network intrusion detection model based on improved Artificial Fish Swarm Algorithm and Support Vector Machine.Computer Engineering and Applications,2013,49(24):74-77.
李玉霞(1970—),女,副教授,研究方向為算法設計、計算機應用技術;劉麗(1960—),女,副教授,研究方向為算法設計、計算機應用技術;沈桂蘭(1979—),女,博士,副教授,研究方向為算法設計、電子商務、信息安全。
2013-03-06
2013-04-25
1002-8331(2013)24-0074-04
CNKI出版日期:2013-07-22http://www.cnki.net/kcms/detail/11.2127.TP.20130722.0920.001.html