張公讓,萬 飛
(合肥工業大學 管理學院,安徽 合肥 230009)
基于網格搜索的SVM在入侵檢測中的應用
張公讓,萬 飛
(合肥工業大學 管理學院,安徽 合肥 230009)
隨著網絡的快速普及和發展,網絡安全問題日益突出,如何保障網絡安全已經成為一個國際化問題。在眾多方法中,入侵檢測技術是解決這一問題的有效手段。文中將支持向量機方法運用在入侵檢測中。首先,介紹了基于SVM的入侵檢測技術研究現狀;然后,將網格搜索算法應用在SVM參數尋優中;最后,通過實驗,將PSO算法、GA算法、網格搜索算法對SVM參數優化的結果進行比較。實驗結果表明,使用網格搜索法對SVM參數進行優化,具有最好的泛化精度,并且在此基礎上,對數據集進行歸一化處理,將大幅度減少構建分類器的迭代次數,從而減少預測時間。因此,可以認為基于網格搜索的支持向量機能夠很好地實現入侵檢測。
入侵檢測;網絡安全;支持向量機;網格搜索
網絡入侵檢測是指從計算機網絡的若干關鍵點收集信息并對其進行分析,從中查找網絡中是否有違反安全策略的行為或遭到入侵的跡象,并依據既定的策略采取一定的軟件與硬件的組合措施予以防治[1]。1980年,James Anderson為美國空軍做的技術報告《Computer Security Threat Monitoring and Surveillance》里面第一次提出入侵檢測的理念,他將入侵檢測類型劃分為外部入侵、內部用戶的越權限使用和授權用戶的權限濫用三種,并提出用審計蹤跡來檢測對文件的非授權訪問。1987年,Dorothy.E.Denning首次實現了一個實時入侵檢測系統的通用模型。但是在八十年代,這些理論和模型都沒有引起人們的關注。Internet普及全球之后,入侵檢測才真正得到重視,并快速地發展。
隨著人類社會步入飛速發展的互聯網時代,與此同時黑客和一些網絡上的惡意攻擊者利用計算機和網絡技術頻繁進行網絡入侵。如今的網絡安全技術,包括防火墻技術、VPN技術、PKI技術等都是著重于對網絡攻擊的防護,但是從網絡安全發展的趨勢來看,做好防護的同時,引入入侵檢測技術對網絡攻擊行為進行預測和阻止才是治標又治本的辦法。
網絡入侵檢測一直是人們研究的熱點問題,近年來相關人員針對這個問題提出了很多模型和方法,數據挖掘就是其中的一種。具體的、常用的有分類技術、聚類技術、關聯規則挖掘等[2]。支持向量機(Support Vector Machine,SVM)便是一種具有良好學習能力和推廣能力的分類技術。
SVM是俄羅斯統計學家和數學家Vapnic與其同事于1995年首先提出的[3],它在預測小樣本、非線性以及高維數據的訓練擬合中擁有很多特有的優勢。支持向量機方法以統計學習理論里的VC維理論和結構風險最小化原理為基礎,將訓練樣本映射到高維空間,并在這個空間里建立最大分類超平面,即最大間隔分類器,如圖1所示。通過最大間隔分類器對測試樣本進行預測。

圖1 使用安德森鳶尾花卉數據集 訓練得到的最大間隔分類器
基于支持向量機的網絡入侵檢測方法具有很好的泛化能力,在分類模型建立過程中,核函數的參數g和懲罰系數c對分類器的性能有很大的影響。但是對于SVM參數的優化選取,并沒有公認的最好的方法。通常基于SVM的網絡入侵檢測方法的參數選取,一般都采用默認參數或者根據經驗設置。實驗證明,使用網格搜索法對SVM參數進行優化,具有最好的泛化精度。在此基礎上,對數據集進行歸一化處理,將大幅度減少構建分類器的迭代次數,從而減少訓練和預測時間。
目前,SVM檢測技術在文本分類、車輛識別、工業生產等領域都有普遍的應用。張國梁等[4]提出了使用互信息特征選擇法結合GIGMOID核函數對新聞文本分類的研究,取得了不錯的分類準確率;周辰雨等[5]以遺傳算法為搜索模式,采用交叉驗證技術確定SVM的最佳參數組合;賈存良等[6]通過對三種核函數的計算結果對比,選擇合適的核函數并應用于煤炭需求預測;張琨等[7]通過實驗對比的方式來確定核函數并進行參數選擇。上述理論只是單純比較核函數或者僅采用某一種參數優化算法,預測結果并未達到最優。近年來,王健峰等[8]提出使用改進的網格搜索法對SVM參數進行優化,在確定最優參數區間之后,再進行小步距精搜索。該方法適用于樣本屬性值在同一數量級且無量綱的數據。網絡連接數據的屬性值變化很大,在參數優化之前,若不采用數據歸一化處理,會降低對樣本的預測成功率且極大地增加迭代計算量。另外,還有一些學者專注于樣本數據集的屬性選擇。朱文杰等[9]通過信息熵理論對樣本數據進行處理,剝離下行屬性集,從而降低樣本的特征維數,有效減少檢測的計算規模;徐永華等[10]提出K-means與屬性信息熵相結合,對訓練樣本集進行約簡。傳統屬性約簡方法有Relief[11]算法、K-means算法、粗糙集理論[12]等。
2.1 交叉驗證
交叉驗證(Cross Validation[13],CV)是一種檢驗分類器泛化能力的統計方法。交叉驗證的基本思想是將訓練數據切割成K個較小的子集,每次迭代,使用一個子集做測試集,其余K-1個子集作為訓練集進行分析。這種分組方法,被稱為K折交叉驗證(K-foldCV)。K折交叉驗證可以有效選取支持向量機的最優核參數和最優懲罰系數,同時避免出現過度擬合的發生,因此,實驗結果具有很強的說服力。實驗中采用10折交叉驗證,將數據集分為10份,依次將其中9份作為訓練數據,另外1份作為測試數據進行試驗。每次試驗都會得到相對應的迭代次數和檢測準確率(CVAccuracy)。
2.2 網格搜索法
網格搜索法的基本原理是讓c和g在一定的范圍劃分網絡并遍歷網格內所有點進行取值,對于取定的c和g利用K-CV方法得到此組c和g下訓練集驗證分類準確率,最終取使得訓練集驗證分類準確率最高的那組c和g作為最佳的參數[8]。網格搜索法參數優化的結果如圖2所示,其中c的取值范圍設置為[2-8,28],g的取值范圍設置為[2-8,28],參數c和g的步進大小范圍設置為1。
由圖2可以看出,c和g在一定的區間上分類準確率較低,造成這一結果的原因是,訓練數據中某些列的屬性值(如第5列)過大,而其他列的屬性值相對較小,容易造成訓練時某些樣本屬性值的丟失。因此,對樣本數據進行歸一化處理是必要的。
2.3 歸一化處理
對于每個樣本,由于它在每個維度上的量綱不同,如果不對樣本進行歸一化處理,在量綱數量級差別懸殊的時候,會使樣本中較低數量級的屬性變為0,從而會使原來樣本數據的信息丟失過多。

圖2 網格搜索法參數選擇結果
2.3.1 Min-Max標準化(Min-Max Normalization)
標準化是對原樣本數據的線性變換,也稱為離差標準化。通過變換使樣本數據映射到0~1之間。轉換函數如下所示:
2.3.2 訓練集和測試集合并歸一化
如果現將訓練集進行歸一化(假設第一維度的最大值為M),并將這個歸一化映射記錄下來,當有新的測試集(假設第一維度的最大值為N)時再用這個歸一化映射對測試集進行歸一化。這樣,就接受了這樣一個假設:N不能超過M。不然歸一化會產生結果大于1的不合理情況。但是,將訓練數據和測試數據放在一起歸一化就可以避免出現這種情況,歸一化后每一維度的最大值和最小值是從訓練數據和測試數據的集合中尋找。
做這樣的處理會出現一個問題,每次變換測試數據,都要對分類器進行重新訓練,較為耗費時間。但是,需要考慮到所處理的問題是面向數據的,當加入了新的測試數據時,如果建立一個更加適合這個測試集的SVM模型,預測結果將更加準確和合理。歸一化處理后的參數尋優效果如圖3所示??梢钥闯觯斎〉?/p>

圖3 歸一化+網格搜索法參數選擇結果
最佳參數的同時,分類準確率也有一定提升。
2.4 SVM入侵檢測過程
使用數據歸一化和網格搜索法的網絡入侵檢測過程如圖4所示。

圖4 網絡入侵檢測過程
具體步驟如下:
步驟1:在互聯網中獲取網絡中的數據包信息。通常使用網絡嗅探器來實現網絡數據的獲?。?/p>
步驟2:對獲取的數據進行簡單的特征抽取和屬性選擇,去除含字符串的三列屬性值,并將標簽列數據變換成正常與攻擊兩種類型,方便進行二分類處理;
步驟3:對屬性列進行歸一化處理,將數據訓練集和測試集合并起來進行歸一化處理。集成之后的數據集所建立的model更能反映測試集的性質,因而可以獲得更高的分類準確率;
步驟4:使用網格搜索算法對SVM進行參數尋優。使用10折交叉驗證,限定懲罰參數c和RBF核函數g的變化范圍都在[2-8,28],限定c和g的步進大小為1,步進間隔大小為4.5;
步驟5:SVM核函數選擇RBF核函數。使用最優參數訓練分類器,得到最優參數所對應的model,將測試數據代入該model中計算,得到迭代次數和分類準確率;
步驟6:分別使用遺傳算法和粒子群算法對SVM參數進行尋優,將實驗結果和步驟5中得到的實驗結果進行對比。其中遺傳算法中的參數終止代數設為50,種群數量pop設為20;粒子群算法中的參數終止代數設為100,種群數量pop設為20。實驗中將未歸一化數據也代入model進行計算,得出結果進行對比。
3.1 實驗數據
文中實驗數據集采用KDDCUP 99[14]數據集。1998年美國國防部高級規劃署(DARPA)在MIT林肯實驗室進行了一項網絡入侵檢測評估項目,通過模擬美國空軍局域網,收集了長達9周的網絡連接和審計數據,仿真各種攻擊手段。每個網絡連接都被標記為normal或attack,異常類型有四大類:PROBE、DOS、U2R和R2L,其中DOS攻擊最多。異常細分為39種攻擊類型。實驗工具使用臺灣大學林智仁教授編寫的LIBSVM工具和Matlab軟件。
實驗中,從KDDCUP 99數據集的訓練樣本集中分別選取212、520、2 387條數據作為候選訓練樣本數據。從KDDCUP數據集的測試集中選取30 000條數據作為測試樣本數據。
3.2 實驗對比
實驗分為兩步:
1)采用傳統SVM、基于遺傳算法(GA)的SVM參數優化、基于粒子群算法(PSO)的SVM參數優化和基于網格搜索的SVM參數優化進行對比。實驗結果如表1所示。

表1 參數尋優對比
可以看出:
(1)隨著訓練樣本數的提高,分類準確率也相應提高;
(2)三種參數優化算法均有較大幅度提高;
(3)和其他優化算法相比,基于網格搜索的參數尋優分類效果最好。
2)使用數據歸一化和未使用數據歸一化處理的SVM參數優化對比,以及相應建模迭代次數和訓練數據擬合程度的對比。實驗結果如表2~4所示。

表2 歸一化前后準確率對比 %

表3 歸一化前后迭代次數對比

表4 歸一化前后CVAccuracy的對比 %
可以看出:
(1)數據歸一化后,對測試數據的分類準確率有一定的提升;
(2)建立分類器的迭代次數大幅減少,當測試數據很大的時候,會極大地縮短測試和系統應對的時間;
(3)數據歸一化之后,分類器對訓練數據的擬合度提升,同時可以提升對測試數據的分類準確率,說明并未過擬合。
文中探討了將網格搜索技術和數據歸一化方法應用于基于SVM的網絡入侵檢測的系統中,以解決傳統SVM技術在檢測時間和分類準確率方面的問題。結果表明,通過對樣本數據進行歸一化處理,并采用網格搜索技術對SVM的參數進行優化,可以減少檢測網絡異常所需的時間并提高檢測的準確率,是網絡入侵檢測算法優化中一次有效的嘗試。
[1] 雷渭侶,王玉蘭.計算機網絡安全技術與應用[M].北京:清華大學出版社,2009.
[2] 倪志偉,倪麗萍,劉惠婷,等.動態數據挖掘[M].北京:科學出版社,2010.
[3] Cortes C,Vapnic V.Support-vector networks[J].Machine Learning,1995,20(3):273-297.
[4] 張國梁,肖超鋒.基于SVM新聞文本分類的研究[J].電子技術,2011,38(8):16-17.
[5] 周辰雨,張亞岐,李 健.基于SVM的車輛識別技術[J].科技導報,2012,30(30):53-57.
[6] 賈存良,吳海山,鞏敦衛.煤炭需求量預測的支持向量機模型[J].中國礦業大學學報,2007,36(1):107-110.
[7] 張 琨,曹宏鑫,嚴 悍,等.支持向量機在網絡異常入侵檢測中的應用[J].計算機應用研究,2006,23(5):98-100.
[8] 王健峰,張 磊,陳國興,等.基于改進的網格搜索法的SVM參數優化[J].應用科技,2012,39(3):28-31.
[9] 朱文杰,王 強,翟獻軍.基于信息熵的SVM入侵檢測技術[J].計算機工程與科學,2013,35(6):47-51.
[10] 徐永華,李廣水.基于距離加權模板約簡和屬性信息熵的增量SVM入侵檢測算法[J].計算機科學,2012,39(12):76-78.
[11] Kohavi R.A study of cross-validation and bootstrap for accuracy estimation and model selection[C]//Proc of international joint conference on artificial intelligence.[s.l.]:[s.n.],2001.
[12] 張文修.粗糙集理論與方法[M].北京:科學出版社,2001.
[13] Kononenko I.Estimating attributes:analysis and extensions of relief[C]//Proc of ECML.[s.l.]:[s.n.],1994:171-182.
[14] Kdd B.KDD99 cup dataset[EB/OL].1999.http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.
Application of Support Vector Machine in Network Intrusion Detection Based on Grid Search
ZHANG Gong-rang,WAN Fei
(School of Management,Hefei University of Technology,Hefei 230009,China)
With the rapid popularization and development of network,network security problems are becoming increasingly prominent.How to guarantee the security of the network has become an international problem.Among the many methods,intrusion detection technology is an effective means to solve this problem.In this paper,Support Vector Machine (SVM) method will be used in intrusion detection.First of all,the current situation of the intrusion detection technology is introduced based on SVM.Secondly,the grid search algorithm is used into the optimization of the SVM’s parameters.At last,bring the result of the SVM’s parameters that based on PSO algorithm,GA algorithm and grid search algorithm into comparison.The results of the experiment show that using the grid search method for optimization of SVM’s parameters has the best generalized accuracy,and on this basis,the normalization of dataset will greatly reduce the number of the classifier’s iterations,so as to reduce the forecast time.Therefore,it is considered that SVM based on grid search can realize the intrusion detection excellently.
intrusion detection;network security;support vector machine;grid search
2015-01-03
2015-05-06
時間:2016-01-04
國家自然科學青年基金項目(71271071)
張公讓(1966-),男,副教授,研究方向為商務智能、數值模擬;萬 飛(1988-),男,碩士研究生,研究方向為數據挖掘、人工智能。
http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1453.004.html
TP39
A
1673-629X(2016)01-0097-04
10.3969/j.issn.1673-629X.2016.01.020