曹薇薇,尹傳環(huán),牟少敏
CAO Weiwei1,YIN Chuanhuan1,MU Shaomin2
1.北京交通大學 計算機與信息技術學院,北京100044
2.山東農業(yè)大學 信息科學與工程學院,山東 泰安271018
1.School of Computer and Information Technology,Beijing Jiaotong University,Beijing 100044,China
2.School of Computer and Information Engineering,Shandong Agriculture University,Tai’an,Shandong 271018,China
隨著計算機的普及,網絡傳播的信息涉及各行各業(yè),網絡安全問題逐漸成為人們關注的一個焦點。防火墻隔離、網絡訪問控制等靜態(tài)防御手段已經不能滿足當前的需要,因此能夠主動檢測并且報告不安全行為的入侵檢測系統(tǒng)應運而生。
然而在實際的應用過程中,極高的漏報率、誤報率和大量的重復報警是入侵檢測系統(tǒng)無法避免的缺陷,報警融合技術就是為此而提出的。報警融合的目的是降低漏報率、誤報率,減少重復報警,以利于管理員清晰地掌握網絡的發(fā)展態(tài)勢。然而現今大部分報警融合的方法主要是為了減少重復報警[1-4],對于提高檢測率和降低漏報方面很少關注,但是這些對于改善攻擊的檢測效果也是至關重要的。本文提出的基于支持向量數據描述的報警融合方法,通過局部分類、數據融合以及最終的決策分析,既避免了普通支持向量機在處理樣本不均衡問題上的檢測率很低的現象[5],同時,通過結合模擬退火的思想,能夠剔除冗余特征,提高參與訓練的報警的質量,最終通過數據融合,能夠在很大程度上提高報警的檢測率,降低漏報率和誤報率,明顯地改善了攻擊的檢測效果。
支持向量數據描述(SVDD)是用于異常檢測的一類分類器。它源于Vapnik[6]提出的支持向量機(SVM),在2004 年由Tax 和Duin[7]提出。一類分類支持向量機包括兩種:一種是普通的一類分類支持向量機(OCSVM)[8],它尋找的是一個最優(yōu)的分類超平面,將訓練數據與原點以最大間隔進行劃分;然而在現實中,異常數據點也是存在的,只是不足以和正常數據構成一個樣本均衡的兩類分類器,于是就出現了另外一種一類分類器即本文所采用的SVDD,它尋找的是一個能夠包括所有目標數據的最小超球體,而盡可能地將少量異常數據點劃分在超球體的外面。
SVDD 的數學模型如下:
引入拉格朗日乘子,可將上述問題轉化為其對偶問題:
根據文獻[7],引入核函數K(xi,xj)=(Φ(xi)·Φ(xj)),可以將上述線性問題轉化為非線性問題,具體的引入過程見文獻[7],轉化后的問題表示如下:
決策函數為:
對于一個待測的樣本z,如果它到球體中心的距離小于超球的半徑,則判斷它為正常數據,否則即為異常數據。判斷公式如下:
如果f小于等于0,則認為待測樣本屬于正常類,否則即為異常類。其中K(xi,xj)代表核函數,現在常用的核函數包括線性核函數,高斯核函數,多項式核函數以及sigmoid 核函數[9],本文采用高斯核函數[10],其公式如下:
模擬退火(SA)的思想源于固體降溫,眾所周知,固體必須緩慢降溫才能使得它在每一個溫度下都能達到熱平衡,最終趨向于平衡狀態(tài)。模擬退火的思想最早是由Metropolis[11]提出的,1983 年,Kirkpatrick[12]等人將其引入到組合化領域,至此得到了許多學者對其更加深入的研究與推廣。
模擬退火的具體過程如下:從選定的初始解開始,借助于溫度控制參數t,在t緩慢降低時產生的一系列Markov 鏈中,利用一個隨機產生新解的案和Metropolis準則,重復下面的過程“產生新解→計算目標函數差→判斷是否接受新解→根據Metropolis準則判斷是否接受新解”,如此的進行迭代,直到目標函數達到最優(yōu)。
將SA 思想引入到SVDD 中是為了尋找最優(yōu)的折中參數C1、C2,高斯核參數σ和屬性特征[13]。算法流程如下:
(1)首先設置一個初始的溫度值T=T0和最大迭代次數,溫度值是一個很大的數。
(2)隨機產生一個解決方案x,作為初始的參數值和屬性特征。
(3)以x為出發(fā)點,產生一個隨機向量作為下一個可行方案y。
(4)分別計算兩個解決方案的目標函數值,在這里目標函數值指的是分類準確率,記為X和Y,ΔE=Y-X。
(5)如果ΔE>0,則用新的解決方案y代替原來的解決方案x,溫度立即減小,轉(7)。
(7)判斷是否達到最大迭代次數,如果沒有達到,則轉(3)繼續(xù)執(zhí)行;否則終止算法,輸出最優(yōu)的解決方案。
通過SA-SVDD 算法可以找到SVDD 模型中的參數C1、C2,高斯核參數σ和所選擇的屬性特征,之后將這些參數和屬性特征用于SVDD 模型的訓練,不僅可以提高分類的準確率,同時減少了無關屬性的干擾,既縮短了訓練的時間,也進一步提高了模型的分類質量。
報警數據的多源性與復雜性使得傳統(tǒng)的單個分類器檢測效率急劇下降,由此多個分類器同時被用來進行報警數據的檢測成為必然趨勢[14]。根據可能存在的不同攻擊類型分別建立相應的分類檢測器,多個檢測器協(xié)同作用,再通過最終的決策中心進行判斷,這樣的結構如圖1 所示,能夠很大程度上提高檢測效率,降低漏報率和誤報率。
圖1 多個分類器協(xié)同檢測結構
1998 年,美國國防部高級規(guī)劃署(DARPA)在林肯實驗室建立了一個模擬美國空軍局域網的一個網絡環(huán)境,通過仿真各種用戶類型、各種不同的網絡流量和攻擊手段收集了9 周時間的網絡連接和系統(tǒng)審計數據,形成了KDD CUP 99 數據集[15],隨后來自哥倫比亞大學的Sal Stolfo 教授和來自北卡羅來納州立大學的Wenke Lee 教授采用數據挖掘等技術對以上數據集進行特征分析和數據預處理,形成了現在著名的KDD99 數據集,這個數據集的每個數據包含41 種屬性,第42 個是標明數據類型的。本文采用KDD99 數據集構建了一個具體的模型,并且用相關數據對模型進行了測試。
KDD99 數據集根據其攻擊的特征分為4 種類型:拒絕服務攻擊類型DOS(Denial of Service)、端口檢測和掃描攻擊類型PROBING(probing)、權限提升攻擊類型U2R(User to Root),遠程登錄攻擊類型R2L(Remote to Local)。本文將4 種攻擊類型與正常數據類型分別建立4 個有針對性的分類器,對攻擊類型和正常數據進行檢測,然后將局部的檢測結果發(fā)到決策中心,通過報警融合規(guī)則進行融合以做出最終的決策判斷。與普通分類器不同的是,這4 個分類器采用上述SA-SVDD 算法,分別以4 種攻擊類型為正類,而正常數據看成負類,這樣做的目的是每個分類器有針對性的對攻擊類型進行檢測,而且由于每種攻擊類型對于數據41 個屬性的需要程度不同,所以結合SA-SVDD 算法可以自動為每個攻擊類型篩選出適合它自己的數據屬性,既減少了無關屬性對于分類精度的干擾,同時對數據進行了約減,大大節(jié)約了訓練所需要的時間,因此這樣訓練出來的模型能夠明顯地降低漏報率和誤報率。本文選取KDD99的部分子集進行了實驗,分別從4 種攻擊類型的子集中抽取部分作為訓練集合,而剩余的數據進行測試,4 個訓練的數據集如下(圖2 左邊)訓練結果分別表示為ui,i∈{1,2,3,4},ui∈{1,-1},其中1 表示屬于攻擊類型,-1 表示屬于正常數據。然后統(tǒng)一將局部檢測的結果送到報警數據融合決策中心,通過決策融合得到最終的判斷,4 個分類器的決策函數如圖2 所示。
圖2 融合實現過程的具體結構
由于各個分類器中參與訓練的數據集大小是不同的,所以每個分類器的分類性能也是不同的,采用一個矩陣Q表示各個分類器的分類性能,針對本文的實驗,這個Q是一個5×4 的矩陣:
矩陣中的每個元素qij表示第j個分類器對于第i個數據集的分類準確度,根據風險最小化準則,融合算法設計如下:
(1)由U={u1,u2,u3,u4}得到V={v1,v2,v3,v4}={-u1,-u2,-u3,-u4}。
(2)由U和α1,α2,α3,α4計算得到,,由V和α1,α2,α3,α4計算得到,其中i=1,2,3,4,表示對角線元素為αi,其余元素都為0 的i階方陣。
決策的依據是如果屬于所有攻擊類中概率最大的值都比屬于正常類中概率最小的值還要小,那么這個報警判定為正常類,否則即為攻擊類,實驗結果記錄這個攻擊類的類型以及被哪個檢測器檢測得到。
本文選取的報警數據來自KDD99 數據集的一個子集,這個子集帶有正確的分類標簽,以便于對于模型進行驗證,表1展示了這個子集中每種攻擊類型的數據條數。
表1 實驗所用到的各種數據的條數統(tǒng)計
實驗只是選取了一部分數據進行建模,剩余的大部分數據進行模型的測試,模型的建立過程中需要兩種數據同時存在,因此本實驗隨機從KDD99 數據集中選取了部分作為建模,表2 展示了參加訓練的所有攻擊數據的條數以及形成的各個模型中的支持向量的個數。
表2 訓練數據的條數及各個模型中支持向量的個數統(tǒng)計
模型的檢測結果如表3,左側的一列表示數據集,表格的第一行表示各個分類器,中間的數據表示各個分類器的檢測準確率。
表3 模型的檢測結果 %
表3 顯示了各個模型的分類準確率,其中f-U2R 分類器之所以出現對所有數據的檢測都是100%的結果是因為U2R 這種攻擊數據的數據量太小,從表1 和表2 可以看出,參加訓練的數據只有25 條,模型中只有4 個支持向量,這就有可能導致形成的超球體半徑很小,而參加測試的數據只有5 條,因此當這5 個數據點全部恰好位于這個超球體內,而剩下的數據點全部位于超球體外面,就導致了實驗的結果是100%的檢測準確率。表3是采用融合算法之前的各個模型對于每個被測數據集的測試結果展示,表4 顯示了采用本文所提融合算法之后的檢測結果,其中矩陣Q即是表3 中的數據值。
表4 經過融合決策中心之后的檢測結果
通過將表4 與表3 對比,發(fā)現融合后對于DOS 和PROBING 兩種攻擊類型的檢測都有了一些提高,而對于U2R 和R2L 兩種數據的檢測沒有變化,對于正常數據的檢測相比單個分類器有了少許降低,但是從實際情況來看,少許的誤報換來對于頻繁攻擊的更精確檢測還是值得的。
最后本文還統(tǒng)計了融合前后模型的漏報率,漏報率指未被檢測出來的數據占其所在數據類型的數據的百分比。
通過表5 可以很明顯看出融合算法之后各個數據集的漏報率都有了明顯的降低,只是正常數據的漏報率有了稍許的增加。這意味著可能稍許正常的數據被誤判斷為異常數據,但是對于像DOS 和PROBING 這兩種非常大量的攻擊,檢測率有了明顯的提升,這里認為少量的誤判還是值得的。
表5 融合前后模型的漏報率比較
本文提出了一種基于支持向量數據描述的報警融合方法,并且結合模擬退火的思想,能夠根據不同的攻擊類型,選擇適合它本身的數據屬性和核參數,建立的各個小模型再經過報警融合決策中心進行判斷,最終確定是屬于哪種攻擊類型。這樣通過分布式檢測,最后經過決策融合中心得到最終的報警結果,不僅增加了報警的檢測率,也在很大程度上減少了漏報率,彌補了普通報警融合算法中很少考慮這兩方面的缺點。
當然,本文所提的方法也還是有缺陷的,由于訓練數據選取的隨機性以及數據本身的限制,所以建立的模型也不是非常完美的,對于像U2R 數據的模型,因為數據量小,就不是很理想。模擬退火的次數也是模型中一個人為控制的因素,這個只能通過大量的實驗獲得,沒有統(tǒng)一的標準,并且針對不同的數據集可能取值也是不同的。但是無論如何,模型對于大量普遍存在的數據集如DOS 攻擊和PROBING 攻擊的檢測還是很有效的。對于其他的數據集,將來也可以進行驗證。
[1] Valdes A,Shinner K.Probabilistic alert correlation[C]//Proceedings of the 4th International Symposium on Recent Advances in Intrusion Detection,Davis,2001:54-68.
[2] Giacinto G,Roli F,Didaci L.Fusion of multiple classifiers for intrusion detection in computer networks[J].Pattern Recognit Lett,2003,24(12):1795-1803.
[3] 穆成坡,黃厚寬,田盛豐.基于模糊綜合評判的入侵檢測報警信息處理[J].計算機研究與發(fā)展,2005,42(10):1679-1685.
[4] 郭帆,余敏,葉繼華.一種基于分類和相似度的報警聚合方法[J].計算機應用,2007,27(10):2446-2449.
[5] 姚程寬.SVM 在不平衡樣本集中的應用研究[J].計算機與數字工程,2007(10).
[6] Vapnik V N.The nature of statistical learning theory[M].New York:Springer,1995.
[7] Tax D M J,Duin R.Support vector data description[J].Machine Learning,2004,54:45-66.
[8] Sch?lkopf B,Williamson R,Smola A,et al.Single-class support vector machine,Unsupervised Learning,Dagstuhl-Seminar-Report 235[R].1999:19-20.
[9] Muller K R,Mike S,Ratsch G,et al.An introduction to kernel-based learning algorithms[J].IEEE Trans on Neural Net,2001,12:181-201.
[10] Buhmann M D.Radial basis functions[M].Cambridge:Cambridge University Press,2000:1-38.
[11] Metropolis N,Rosenbluth A W,Rosenbluth M N,et al.Equation of state calculations by fast computing machines[J].The Journal of Chemical Physics,1953,21(6):1087-1092.
[12] Kirkpatrick S,Gelatt Jr C D,Vecchi M P.Optimization by simulated annealing[J].Science,1983,220:671-680.
[13] 曹薇薇,劉國華,陳國濤,等.模擬退火在支持向量數據描述的參數選取和特征選擇中的應用[C]//第五屆中國智能計算大會論文集,2011.
[14] Snapp S R.DIDS(Distributed Intrusion Detection System)-Motivation,architecture,and an early prototype[C]//Proceedings of the 14th National Computer Security Conference,1991:167-176.
[15] KDD Cup 1999 Data[EB/OL].[2013-09-15].http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.