文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)01-0124-04
入侵檢測(cè)系統(tǒng),就是按照一定的安全策略對(duì)網(wǎng)絡(luò)、系統(tǒng)的運(yùn)行狀況進(jìn)行監(jiān)視,盡可能地發(fā)現(xiàn)各種攻擊企圖、行為或者結(jié)果,以保證網(wǎng)絡(luò)系統(tǒng)資源的機(jī)密性、完整性和可用性。入侵檢測(cè)系統(tǒng)根據(jù)分析對(duì)象的不同,可以分為基于主機(jī)的和基于網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測(cè)系統(tǒng)。模式匹配方法[1-2] 入侵檢測(cè)系統(tǒng)中應(yīng)用廣泛,該方法根據(jù)預(yù)先制定的模式檢測(cè)攻擊,可以有效地發(fā)現(xiàn)已知模式的攻擊,但是不能發(fā)現(xiàn)未知模式的攻擊。
數(shù)據(jù)挖掘,就是從大量數(shù)據(jù)中獲取有效、潛在、有用、新穎的模式的非平凡過(guò)程。將數(shù)據(jù)挖掘方法應(yīng)用在入侵檢測(cè)系統(tǒng)中[3],可以有效地挖掘出新的模式,發(fā)現(xiàn)新的攻擊。在基于主機(jī)的入侵檢測(cè)系統(tǒng)中已有很多研究,也取得了不錯(cuò)的成果。常用的方法有支持向量機(jī)[4] 、隱馬爾科夫模型[5]、KNN[6]等。
基于網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測(cè)系統(tǒng)是將網(wǎng)絡(luò)數(shù)據(jù)包作為分析的對(duì)象,有數(shù)據(jù)量大、數(shù)據(jù)變換快等特點(diǎn),而傳統(tǒng)的數(shù)據(jù)挖掘方法在應(yīng)用中往往出現(xiàn)運(yùn)算時(shí)間復(fù)雜度過(guò)高,不能在有限時(shí)間內(nèi)處理完大量數(shù)據(jù)包的難題。
從IEEE802.11協(xié)議[7] 中可以發(fā)現(xiàn):在不同的階段,網(wǎng)絡(luò)數(shù)據(jù)包的類(lèi)型是完全不同的,如認(rèn)證階段只有認(rèn)證報(bào)文,認(rèn)證階段結(jié)束后進(jìn)入連接階段,只會(huì)出現(xiàn)連接報(bào)文,在認(rèn)證階段后的任何階段都可以發(fā)生斷開(kāi)認(rèn)證階段等,不同的階段是相繼發(fā)生但是階段間是相互獨(dú)立的。傳統(tǒng)的數(shù)據(jù)挖掘方法會(huì)將不同階段的數(shù)據(jù)包統(tǒng)一分析,不僅會(huì)產(chǎn)生極大且無(wú)謂的計(jì)算量,而且不能體現(xiàn)出階段性的特點(diǎn)。本文提出了一種分階段K鄰居數(shù)據(jù)挖掘方法,可以有效地解決上述問(wèn)題。
該函數(shù)與節(jié)點(diǎn)本身的屬性和節(jié)點(diǎn)的內(nèi)部鄰居集有關(guān),而且不同屬性的內(nèi)部鄰居集對(duì)節(jié)點(diǎn)的內(nèi)部評(píng)價(jià)值的影響力不一樣。
(2) 階段評(píng)價(jià)函數(shù):評(píng)價(jià)節(jié)點(diǎn)和該節(jié)點(diǎn)階段鄰居特征的函數(shù)。
該函數(shù)與節(jié)點(diǎn)的內(nèi)部評(píng)價(jià)值和節(jié)點(diǎn)的階段鄰居有關(guān),而且不同的階段鄰居對(duì)節(jié)點(diǎn)的外部評(píng)價(jià)值的影響力不一樣。
2 KNS算法
應(yīng)用KNS方法的前提:對(duì)象可分為一定的階段,階段之間相對(duì)獨(dú)立并且有序,同一階段中不同節(jié)點(diǎn)的內(nèi)部行為和階段行為應(yīng)該相似。
在KNS算法開(kāi)始之前,需要對(duì)節(jié)點(diǎn)的各個(gè)屬性進(jìn)行篩選,選擇能夠?qū)?shù)據(jù)集分割成n個(gè)連續(xù)的階段的屬性作為階段屬性,如果有幾個(gè)屬性都可以作為階段屬性,則選擇其中分割的最均勻的屬性作為階段屬性。
KNS方法可分為學(xué)習(xí)算法和測(cè)試算法兩部分。
首先通過(guò)對(duì)樣本數(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í)算法等,由此得到階段對(duì)照評(píng)價(jià)集U[n]。然后輸入待測(cè)數(shù)據(jù)集,計(jì)算每個(gè)節(jié)點(diǎn)s的內(nèi)部評(píng)價(jià)值W(s)并最終得到階段評(píng)價(jià)值Sc(s)。將Sc(s)與該階段的對(duì)照評(píng)價(jià)集U[j]比較,并將Sc(s)偏離U[j]的程度作為判斷結(jié)果的依據(jù)輸出。
KNS學(xué)習(xí)算法是先通過(guò)樣本數(shù)據(jù)集中的每個(gè)節(jié)點(diǎn)找到內(nèi)部鄰居集和階段鄰居集,然后計(jì)算所有節(jié)點(diǎn)的內(nèi)部評(píng)價(jià)值W和階段評(píng)價(jià)值Sc并將Sc加入到評(píng)分集U[j]中,通過(guò)調(diào)整w[k]和sc[n,n]的值,逐步縮小U[j]的范圍,最終輸出U[j]作為KNS測(cè)試算法的對(duì)照評(píng)價(jià)集。
(2)KNS測(cè)試算法
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測(cè)試算法比學(xué)習(xí)算法簡(jiǎn)單很多,只需在每個(gè)節(jié)點(diǎn)進(jìn)入時(shí),設(shè)置為相應(yīng)的階段并為它找到內(nèi)部鄰居和階段鄰居,然后計(jì)算出內(nèi)部評(píng)價(jià)值W和階段評(píng)價(jià)值Sc,最后將Sc與該階段對(duì)照評(píng)價(jià)集U[j]比較,輸出比較結(jié)果。
綜上所述,KNS方法整個(gè)流程如圖1所示。
3 基于WLAN網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測(cè)
無(wú)線(xiàn)局域網(wǎng)(WLAN)使用過(guò)程如圖2所示。
每個(gè)終端(STA)在連接并使用WLAN的過(guò)程都可以按照?qǐng)D2流程分為5個(gè)階段,不同階段中所涉及的數(shù)據(jù)包的類(lèi)型也是完全不同的,并且每個(gè)階段內(nèi)的數(shù)據(jù)包類(lèi)型都是有限的,如網(wǎng)絡(luò)發(fā)現(xiàn)階段數(shù)據(jù)包的類(lèi)型有Beacon、Probe Request和Probe Response三種,認(rèn)證階段只有Authentication一種等。這是滿(mǎn)足分階段K鄰居方法應(yīng)用的前提。
在實(shí)驗(yàn)中,每個(gè)獨(dú)立的包作為一個(gè)節(jié)點(diǎn),數(shù)據(jù)包里的各個(gè)項(xiàng)的值作為該節(jié)點(diǎn)的屬性。將上述階段再次按照不同的數(shù)據(jù)包類(lèi)型分成更小的階段,每個(gè)階段中只包含一種類(lèi)型的數(shù)據(jù)包,同時(shí)將源地址和目的地址作為判斷是否階段鄰居的屬性依據(jù)。同類(lèi)數(shù)據(jù)包中的其他屬性作為該階段的內(nèi)部屬性。
實(shí)驗(yàn)中,先收集一定量的安全環(huán)境下的數(shù)據(jù)包,作為樣本集合進(jìn)行KNS學(xué)習(xí),然后再將結(jié)果用于入侵檢測(cè),并將階段評(píng)價(jià)函數(shù)的偏離程度作為判斷是否有入侵的依據(jù)。
實(shí)驗(yàn)使用的評(píng)價(jià)函數(shù)有:
4 實(shí)驗(yàn)結(jié)果及分析
在實(shí)驗(yàn)室環(huán)境下進(jìn)行攻擊和檢測(cè)。實(shí)驗(yàn)分別用KNS方法和HMM方法進(jìn)行。
(1) KNS方法
KNS方法檢測(cè)結(jié)果如表1所示。
由表1可以發(fā)現(xiàn),KNS方法可以在較高檢測(cè)率的情況下保持較低的誤報(bào)率。但是對(duì)于Probe Request 類(lèi)型的攻擊,由于STA Probe的比較沒(méi)有規(guī)律,STA可以在任何時(shí)候發(fā)出Probe Request并可以持續(xù)任意長(zhǎng)的時(shí)間,然后在任何時(shí)間結(jié)束Probe,即開(kāi)始認(rèn)證或離開(kāi)WLAN(Probe Response也是類(lèi)似)。對(duì)于這種類(lèi)型的攻擊,階段K方法盡管可以有著很高的檢測(cè)率,但是也有著較高的誤報(bào)率。而對(duì)于Beacon Flood、Spoof Authentication和Spoof Association這幾種攻擊,不但有很高的檢測(cè)率同時(shí)也有較低的誤報(bào)率。
(2) HMM方法
實(shí)驗(yàn)采用滑動(dòng)窗口HMM模型,將WLAN數(shù)據(jù)包MAC頭部的二進(jìn)制碼作為分析對(duì)象,取窗口大小為7,得到結(jié)果如表2所示。
對(duì)比表1和表2可以發(fā)現(xiàn),對(duì)于不同的攻擊類(lèi)型,兩種方法的誤報(bào)率有高有低。但是總體而言,KNS方法的檢測(cè)率基本都高于HMM方法
(3) 運(yùn)算效率
采用KNS方法和HMM方法處理2 000個(gè)~20 000個(gè)數(shù)據(jù)包所用的時(shí)間如圖3所示。由圖可知,KNS方法處理包的平均速度是HMM方法的2.5倍,說(shuō)明KNS方法有著快速處理大量實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)包的能力。
本文提出了一種可以體現(xiàn)對(duì)象階段性特點(diǎn)的數(shù)據(jù)挖掘KNS模型。該方法將待測(cè)對(duì)象按照階段不同分為若干階段,然后分別對(duì)階段內(nèi)部鄰居和階段鄰居的相關(guān)屬性進(jìn)行統(tǒng)計(jì)挖掘。如果待測(cè)對(duì)象滿(mǎn)足兩個(gè)條件:(1)可分為互相獨(dú)立且有序的階段; (2)同一階段中不同節(jié)點(diǎn)的內(nèi)部行為和階段行為是相似的,則可以應(yīng)用該模型。此外,還實(shí)驗(yàn)了KNS方法在基于WLAN網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測(cè)系統(tǒng)中的應(yīng)用,并將結(jié)果與HMM方法的結(jié)果進(jìn)行了對(duì)比,可以發(fā)現(xiàn)在檢測(cè)率和誤報(bào)率相當(dāng)?shù)那闆r下,KNS方法運(yùn)算效率高,可以在實(shí)時(shí)檢測(cè)中很好地應(yīng)用。
在研究過(guò)程中發(fā)現(xiàn),目前的KNS方法還存在許多不足,如階段內(nèi)部評(píng)價(jià)函數(shù)以及階段評(píng)價(jià)函數(shù)的設(shè)定還有有待改進(jìn),當(dāng)前的函數(shù)略顯復(fù)雜,后續(xù)工作只需要找到可以反映階段特點(diǎn)的更簡(jiǎn)單的函數(shù),就可以進(jìn)一步改進(jìn)KNS算法的計(jì)算速度。
參考文獻(xiàn)
[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