文獻標識碼: A
文章編號: 0258-7998(2011)01-0124-04
入侵檢測系統(tǒng),就是按照一定的安全策略對網(wǎng)絡(luò)、系統(tǒng)的運行狀況進行監(jiān)視,盡可能地發(fā)現(xiàn)各種攻擊企圖、行為或者結(jié)果,以保證網(wǎng)絡(luò)系統(tǒng)資源的機密性、完整性和可用性。入侵檢測系統(tǒng)根據(jù)分析對象的不同,可以分為基于主機的和基于網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測系統(tǒng)。模式匹配方法[1-2] 入侵檢測系統(tǒng)中應(yīng)用廣泛,該方法根據(jù)預(yù)先制定的模式檢測攻擊,可以有效地發(fā)現(xiàn)已知模式的攻擊,但是不能發(fā)現(xiàn)未知模式的攻擊。
數(shù)據(jù)挖掘,就是從大量數(shù)據(jù)中獲取有效、潛在、有用、新穎的模式的非平凡過程。將數(shù)據(jù)挖掘方法應(yīng)用在入侵檢測系統(tǒng)中[3],可以有效地挖掘出新的模式,發(fā)現(xiàn)新的攻擊。在基于主機的入侵檢測系統(tǒng)中已有很多研究,也取得了不錯的成果。常用的方法有支持向量機[4] 、隱馬爾科夫模型[5]、KNN[6]等。
基于網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測系統(tǒng)是將網(wǎng)絡(luò)數(shù)據(jù)包作為分析的對象,有數(shù)據(jù)量大、數(shù)據(jù)變換快等特點,而傳統(tǒng)的數(shù)據(jù)挖掘方法在應(yīng)用中往往出現(xiàn)運算時間復(fù)雜度過高,不能在有限時間內(nèi)處理完大量數(shù)據(jù)包的難題。
從IEEE802.11協(xié)議[7] 中可以發(fā)現(xiàn):在不同的階段,網(wǎng)絡(luò)數(shù)據(jù)包的類型是完全不同的,如認證階段只有認證報文,認證階段結(jié)束后進入連接階段,只會出現(xiàn)連接報文,在認證階段后的任何階段都可以發(fā)生斷開認證階段等,不同的階段是相繼發(fā)生但是階段間是相互獨立的。傳統(tǒng)的數(shù)據(jù)挖掘方法會將不同階段的數(shù)據(jù)包統(tǒng)一分析,不僅會產(chǎn)生極大且無謂的計算量,而且不能體現(xiàn)出階段性的特點。本文提出了一種分階段K鄰居數(shù)據(jù)挖掘方法,可以有效地解決上述問題。
該函數(shù)與節(jié)點本身的屬性和節(jié)點的內(nèi)部鄰居集有關(guān),而且不同屬性的內(nèi)部鄰居集對節(jié)點的內(nèi)部評價值的影響力不一樣。
(2) 階段評價函數(shù):評價節(jié)點和該節(jié)點階段鄰居特征的函數(shù)。
該函數(shù)與節(jié)點的內(nèi)部評價值和節(jié)點的階段鄰居有關(guān),而且不同的階段鄰居對節(jié)點的外部評價值的影響力不一樣。
2 KNS算法
應(yīng)用KNS方法的前提:對象可分為一定的階段,階段之間相對獨立并且有序,同一階段中不同節(jié)點的內(nèi)部行為和階段行為應(yīng)該相似。
在KNS算法開始之前,需要對節(jié)點的各個屬性進行篩選,選擇能夠?qū)?shù)據(jù)集分割成n個連續(xù)的階段的屬性作為階段屬性,如果有幾個屬性都可以作為階段屬性,則選擇其中分割的最均勻的屬性作為階段屬性。
KNS方法可分為學(xué)習(xí)算法和測試算法兩部分。
首先通過對樣本數(shù)據(jù)集的學(xué)習(xí),調(diào)整內(nèi)部影響權(quán)值w[k]和階段影響權(quán)值sc[n,n]。調(diào)整算法可以用自適應(yīng)濾波LMS(Least-Mean-Square)學(xué)習(xí)算法等,由此得到階段對照評價集U[n]。然后輸入待測數(shù)據(jù)集,計算每個節(jié)點s的內(nèi)部評價值W(s)并最終得到階段評價值Sc(s)。將Sc(s)與該階段的對照評價集U[j]比較,并將Sc(s)偏離U[j]的程度作為判斷結(jié)果的依據(jù)輸出。
KNS學(xué)習(xí)算法是先通過樣本數(shù)據(jù)集中的每個節(jié)點找到內(nèi)部鄰居集和階段鄰居集,然后計算所有節(jié)點的內(nèi)部評價值W和階段評價值Sc并將Sc加入到評分集U[j]中,通過調(diào)整w[k]和sc[n,n]的值,逐步縮小U[j]的范圍,最終輸出U[j]作為KNS測試算法的對照評價集。
(2)KNS測試算法
Input w[k], sc[n][n]; U[n];
Input target data set S;
foreach s in S
Switch(s(y))
Set s in section Mj ;
searchNeighbor(s, Mj);
for Mk before and after Mj
searchNeighbor(s, Mk);
compute W(s) Sc(s)
get distance(Sc(s) U[j] );
answer(s)=tooFar(Sc(s),U[j]);
output answer;
KNS測試算法比學(xué)習(xí)算法簡單很多,只需在每個節(jié)點進入時,設(shè)置為相應(yīng)的階段并為它找到內(nèi)部鄰居和階段鄰居,然后計算出內(nèi)部評價值W和階段評價值Sc,最后將Sc與該階段對照評價集U[j]比較,輸出比較結(jié)果。
綜上所述,KNS方法整個流程如圖1所示。
3 基于WLAN網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測
無線局域網(wǎng)(WLAN)使用過程如圖2所示。
每個終端(STA)在連接并使用WLAN的過程都可以按照圖2流程分為5個階段,不同階段中所涉及的數(shù)據(jù)包的類型也是完全不同的,并且每個階段內(nèi)的數(shù)據(jù)包類型都是有限的,如網(wǎng)絡(luò)發(fā)現(xiàn)階段數(shù)據(jù)包的類型有Beacon、Probe Request和Probe Response三種,認證階段只有Authentication一種等。這是滿足分階段K鄰居方法應(yīng)用的前提。
在實驗中,每個獨立的包作為一個節(jié)點,數(shù)據(jù)包里的各個項的值作為該節(jié)點的屬性。將上述階段再次按照不同的數(shù)據(jù)包類型分成更小的階段,每個階段中只包含一種類型的數(shù)據(jù)包,同時將源地址和目的地址作為判斷是否階段鄰居的屬性依據(jù)。同類數(shù)據(jù)包中的其他屬性作為該階段的內(nèi)部屬性。
實驗中,先收集一定量的安全環(huán)境下的數(shù)據(jù)包,作為樣本集合進行KNS學(xué)習(xí),然后再將結(jié)果用于入侵檢測,并將階段評價函數(shù)的偏離程度作為判斷是否有入侵的依據(jù)。
實驗使用的評價函數(shù)有:
4 實驗結(jié)果及分析
在實驗室環(huán)境下進行攻擊和檢測。實驗分別用KNS方法和HMM方法進行。
(1) KNS方法
KNS方法檢測結(jié)果如表1所示。
由表1可以發(fā)現(xiàn),KNS方法可以在較高檢測率的情況下保持較低的誤報率。但是對于Probe Request 類型的攻擊,由于STA Probe的比較沒有規(guī)律,STA可以在任何時候發(fā)出Probe Request并可以持續(xù)任意長的時間,然后在任何時間結(jié)束Probe,即開始認證或離開WLAN(Probe Response也是類似)。對于這種類型的攻擊,階段K方法盡管可以有著很高的檢測率,但是也有著較高的誤報率。而對于Beacon Flood、Spoof Authentication和Spoof Association這幾種攻擊,不但有很高的檢測率同時也有較低的誤報率。
(2) HMM方法
實驗采用滑動窗口HMM模型,將WLAN數(shù)據(jù)包MAC頭部的二進制碼作為分析對象,取窗口大小為7,得到結(jié)果如表2所示。
對比表1和表2可以發(fā)現(xiàn),對于不同的攻擊類型,兩種方法的誤報率有高有低。但是總體而言,KNS方法的檢測率基本都高于HMM方法
(3) 運算效率
采用KNS方法和HMM方法處理2 000個~20 000個數(shù)據(jù)包所用的時間如圖3所示。由圖可知,KNS方法處理包的平均速度是HMM方法的2.5倍,說明KNS方法有著快速處理大量實時網(wǎng)絡(luò)數(shù)據(jù)包的能力。
本文提出了一種可以體現(xiàn)對象階段性特點的數(shù)據(jù)挖掘KNS模型。該方法將待測對象按照階段不同分為若干階段,然后分別對階段內(nèi)部鄰居和階段鄰居的相關(guān)屬性進行統(tǒng)計挖掘。如果待測對象滿足兩個條件:(1)可分為互相獨立且有序的階段; (2)同一階段中不同節(jié)點的內(nèi)部行為和階段行為是相似的,則可以應(yīng)用該模型。此外,還實驗了KNS方法在基于WLAN網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測系統(tǒng)中的應(yīng)用,并將結(jié)果與HMM方法的結(jié)果進行了對比,可以發(fā)現(xiàn)在檢測率和誤報率相當?shù)那闆r下,KNS方法運算效率高,可以在實時檢測中很好地應(yīng)用。
在研究過程中發(fā)現(xiàn),目前的KNS方法還存在許多不足,如階段內(nèi)部評價函數(shù)以及階段評價函數(shù)的設(shè)定還有有待改進,當前的函數(shù)略顯復(fù)雜,后續(xù)工作只需要找到可以反映階段特點的更簡單的函數(shù),就可以進一步改進KNS算法的計算速度。
參考文獻
[1] THOMPSON H H, WHITTAKER J,ANDREWS A M. Intrusion detection: perspectives on the insider threat[C].Computer Fraud & Security, 2004:13-15.
[2] HAN S J, CHO S B. Detecting intrusion with rule-based integration of multiple models[J]. Computer & Security, 2003, 22:613-623.
[3] PIETRASZEK T, TANNER A. Data mining and machine learning-toward reducing false positives in intrusion detection[J]. Information Security Technical Report,2005,10:169-183.
[4] ZHANG Z, SHEN H. Application of online-training SVMs for real-time intrusion detection with different considerations[J]. Computer Communications, 2005, 28:1428-1442.
[5] QIAO Y, XIN X. Anomaly intrusion detection method based on HMM[J]. Electonics Letters,2002,38(13):663-664.
[6] LIAO Y, VEMURI V R. Use of K-nearest neighbor classifier for intrusion detection[J]. Computer & Security, 2002, 21:439-448.
[7] IEEE802.11 Working Group.IEEE standard for information technology—telecommunications and information exchange between systems—local and metropolitan area networks—specific requirements Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.2007[EB/OL]. http://standards.ieee.org/getieee802/download/802.11-2007.pdf