《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 分階段K鄰居模型在入侵檢測系統(tǒng)中的應(yīng)用研究
分階段K鄰居模型在入侵檢測系統(tǒng)中的應(yīng)用研究
來源:電子技術(shù)應(yīng)用2011年第1期
宋林紅1,2, 周 顥1,2, 趙保華1,2
1. 中國科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,,安徽 合肥230027; 2.安徽省計(jì)算與通訊軟件重點(diǎn)實(shí)驗(yàn)室,,安徽 合肥230027
摘要: 分階段K鄰居模型(KNS)是一種可用于入侵檢測系統(tǒng)中的數(shù)據(jù)挖掘模型。KNS先將節(jié)點(diǎn)狀態(tài)分成不同的階段,然后為每個(gè)節(jié)點(diǎn)查找同階段內(nèi)K鄰居和不同階段鄰居,最后分別對階段內(nèi)部鄰居和階段鄰居的相關(guān)屬性進(jìn)行統(tǒng)計(jì)挖掘,最終得到節(jié)點(diǎn)的階段評價(jià)值,。實(shí)驗(yàn)將KNS模型應(yīng)用在基于WLAN數(shù)據(jù)包的入侵檢測系統(tǒng)中,通過比較節(jié)點(diǎn)的階段評價(jià)值是否異常判斷是否存在入侵,。結(jié)果表明,KNS可以快速地處理數(shù)據(jù)包并有效地檢測攻擊,。
中圖分類號: TP393.08
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)01-0124-04
Research on applying K-neighbor in sections model in IDS
Song Linhong1,2, Zhou Hao1,2,, Zhao Baohua1,2
1. Dept. of Computer Science, University of Science and Technology of China, Hefei 230027, China; 2. Province Key Laboratory of Software in Computing and Communication, Hefei 230027, China
Abstract: K-neighbor in sections is a data mining based model that can be applied in IDS. KNS will firstly divide nodes status set into several different sections. Then KNS will search k neighbors in the same section and neighbors between different sections for every node. At last KNS will get node’s section score by mining statistics of properties of neighbors in sections and neighbors between sections separately. The KNS model is applied in WLAN frames based IDS in experiment and nodes’ section score are used to determine whether there exits intrusion. The results indicate that KNS can handle frames rapidly and detect intrusions effectively.
Key words : KNS; IDS; data mining; WLAN


    入侵檢測系統(tǒng),,就是按照一定的安全策略對網(wǎng)絡(luò)、系統(tǒng)的運(yùn)行狀況進(jìn)行監(jiān)視,,盡可能地發(fā)現(xiàn)各種攻擊企圖,、行為或者結(jié)果,以保證網(wǎng)絡(luò)系統(tǒng)資源的機(jī)密性,、完整性和可用性,。入侵檢測系統(tǒng)根據(jù)分析對象的不同,可以分為基于主機(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)新的攻擊。在基于主機(jī)的入侵檢測系統(tǒng)中已有很多研究,,也取得了不錯(cuò)的成果,。常用的方法有支持向量機(jī)[4] ,、隱馬爾科夫模型[5],、KNN[6]等。
 基于網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測系統(tǒng)是將網(wǎng)絡(luò)數(shù)據(jù)包作為分析的對象,有數(shù)據(jù)量大,、數(shù)據(jù)變換快等特點(diǎn),,而傳統(tǒng)的數(shù)據(jù)挖掘方法在應(yīng)用中往往出現(xiàn)運(yùn)算時(shí)間復(fù)雜度過高,不能在有限時(shí)間內(nèi)處理完大量數(shù)據(jù)包的難題。
 從IEEE802.11協(xié)議[7] 中可以發(fā)現(xiàn):在不同的階段,,網(wǎng)絡(luò)數(shù)據(jù)包的類型是完全不同的,,如認(rèn)證階段只有認(rèn)證報(bào)文,認(rèn)證階段結(jié)束后進(jìn)入連接階段,,只會出現(xiàn)連接報(bào)文,,在認(rèn)證階段后的任何階段都可以發(fā)生斷開認(rèn)證階段等,不同的階段是相繼發(fā)生但是階段間是相互獨(dú)立的。傳統(tǒng)的數(shù)據(jù)挖掘方法會將不同階段的數(shù)據(jù)包統(tǒng)一分析,,不僅會產(chǎn)生極大且無謂的計(jì)算量,,而且不能體現(xiàn)出階段性的特點(diǎn)。本文提出了一種分階段K鄰居數(shù)據(jù)挖掘方法,,可以有效地解決上述問題,。

    該函數(shù)與節(jié)點(diǎn)本身的屬性和節(jié)點(diǎn)的內(nèi)部鄰居集有關(guān),而且不同屬性的內(nèi)部鄰居集對節(jié)點(diǎn)的內(nèi)部評價(jià)值的影響力不一樣,。
    (2) 階段評價(jià)函數(shù):評價(jià)節(jié)點(diǎn)和該節(jié)點(diǎn)階段鄰居特征的函數(shù),。
 
 該函數(shù)與節(jié)點(diǎn)的內(nèi)部評價(jià)值和節(jié)點(diǎn)的階段鄰居有關(guān),而且不同的階段鄰居對節(jié)點(diǎn)的外部評價(jià)值的影響力不一樣,。
2 KNS算法
 應(yīng)用KNS方法的前提:對象可分為一定的階段,,階段之間相對獨(dú)立并且有序,同一階段中不同節(jié)點(diǎn)的內(nèi)部行為和階段行為應(yīng)該相似,。
 在KNS算法開始之前,,需要對節(jié)點(diǎn)的各個(gè)屬性進(jìn)行篩選,選擇能夠?qū)?shù)據(jù)集分割成n個(gè)連續(xù)的階段的屬性作為階段屬性,,如果有幾個(gè)屬性都可以作為階段屬性,,則選擇其中分割的最均勻的屬性作為階段屬性。
 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í)算法等,,由此得到階段對照評價(jià)集U[n],。然后輸入待測數(shù)據(jù)集,計(jì)算每個(gè)節(jié)點(diǎn)s的內(nèi)部評價(jià)值W(s)并最終得到階段評價(jià)值Sc(s),。將Sc(s)與該階段的對照評價(jià)集U[j]比較,,并將Sc(s)偏離U[j]的程度作為判斷結(jié)果的依據(jù)輸出。
 KNS學(xué)習(xí)算法是先通過樣本數(shù)據(jù)集中的每個(gè)節(jié)點(diǎn)找到內(nèi)部鄰居集和階段鄰居集,,然后計(jì)算所有節(jié)點(diǎn)的內(nèi)部評價(jià)值W和階段評價(jià)值Sc并將Sc加入到評分集U[j]中,通過調(diào)整w[k]和sc[n,n]的值,,逐步縮小U[j]的范圍,,最終輸出U[j]作為KNS測試算法的對照評價(jià)集。
   (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í)算法簡單很多,,只需在每個(gè)節(jié)點(diǎn)進(jìn)入時(shí),設(shè)置為相應(yīng)的階段并為它找到內(nèi)部鄰居和階段鄰居,,然后計(jì)算出內(nèi)部評價(jià)值W和階段評價(jià)值Sc,,最后將Sc與該階段對照評價(jià)集U[j]比較,輸出比較結(jié)果,。
   綜上所述,,KNS方法整個(gè)流程如圖1所示。

3 基于WLAN網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測
    無線局域網(wǎng)(WLAN)使用過程如圖2所示,。

    每個(gè)終端(STA)在連接并使用WLAN的過程都可以按照圖2流程分為5個(gè)階段,,不同階段中所涉及的數(shù)據(jù)包的類型也是完全不同的,并且每個(gè)階段內(nèi)的數(shù)據(jù)包類型都是有限的,,如網(wǎng)絡(luò)發(fā)現(xiàn)階段數(shù)據(jù)包的類型有Beacon,、Probe Request和Probe Response三種,認(rèn)證階段只有Authentication一種等,。這是滿足分階段K鄰居方法應(yīng)用的前提,。
    在實(shí)驗(yàn)中,每個(gè)獨(dú)立的包作為一個(gè)節(jié)點(diǎn),,數(shù)據(jù)包里的各個(gè)項(xiàng)的值作為該節(jié)點(diǎn)的屬性,。將上述階段再次按照不同的數(shù)據(jù)包類型分成更小的階段,每個(gè)階段中只包含一種類型的數(shù)據(jù)包,,同時(shí)將源地址和目的地址作為判斷是否階段鄰居的屬性依據(jù),。同類數(shù)據(jù)包中的其他屬性作為該階段的內(nèi)部屬性。
    實(shí)驗(yàn)中,,先收集一定量的安全環(huán)境下的數(shù)據(jù)包,,作為樣本集合進(jìn)行KNS學(xué)習(xí),然后再將結(jié)果用于入侵檢測,,并將階段評價(jià)函數(shù)的偏離程度作為判斷是否有入侵的依據(jù),。
    實(shí)驗(yàn)使用的評價(jià)函數(shù)有:
 
4 實(shí)驗(yàn)結(jié)果及分析
 在實(shí)驗(yàn)室環(huán)境下進(jìn)行攻擊和檢測。實(shí)驗(yàn)分別用KNS方法和HMM方法進(jìn)行,。
    (1) KNS方法
    KNS方法檢測結(jié)果如表1所示,。

    由表1可以發(fā)現(xiàn),KNS方法可以在較高檢測率的情況下保持較低的誤報(bào)率,。但是對于Probe Request 類型的攻擊,,由于STA Probe的比較沒有規(guī)律,STA可以在任何時(shí)候發(fā)出Probe Request并可以持續(xù)任意長的時(shí)間,然后在任何時(shí)間結(jié)束Probe,即開始認(rèn)證或離開WLAN(Probe Response也是類似),。對于這種類型的攻擊,,階段K方法盡管可以有著很高的檢測率,但是也有著較高的誤報(bào)率,。而對于Beacon Flood、Spoof Authentication和Spoof Association這幾種攻擊,,不但有很高的檢測率同時(shí)也有較低的誤報(bào)率。
    (2) HMM方法
    實(shí)驗(yàn)采用滑動(dòng)窗口HMM模型,,將WLAN數(shù)據(jù)包MAC頭部的二進(jìn)制碼作為分析對象,,取窗口大小為7,得到結(jié)果如表2所示,。

    對比表1和表2可以發(fā)現(xiàn),,對于不同的攻擊類型,兩種方法的誤報(bào)率有高有低,。但是總體而言,,KNS方法的檢測率基本都高于HMM方法
    (3) 運(yùn)算效率
    采用KNS方法和HMM方法處理2 000個(gè)~20 000個(gè)數(shù)據(jù)包所用的時(shí)間如圖3所示。由圖可知,,KNS方法處理包的平均速度是HMM方法的2.5倍,,說明KNS方法有著快速處理大量實(shí)時(shí)網(wǎng)絡(luò)數(shù)據(jù)包的能力。

    本文提出了一種可以體現(xiàn)對象階段性特點(diǎn)的數(shù)據(jù)挖掘KNS模型,。該方法將待測對象按照階段不同分為若干階段,,然后分別對階段內(nèi)部鄰居和階段鄰居的相關(guān)屬性進(jìn)行統(tǒng)計(jì)挖掘。如果待測對象滿足兩個(gè)條件:(1)可分為互相獨(dú)立且有序的階段,; (2)同一階段中不同節(jié)點(diǎn)的內(nèi)部行為和階段行為是相似的,則可以應(yīng)用該模型,。此外,還實(shí)驗(yàn)了KNS方法在基于WLAN網(wǎng)絡(luò)數(shù)據(jù)包的入侵檢測系統(tǒng)中的應(yīng)用,,并將結(jié)果與HMM方法的結(jié)果進(jìn)行了對比,,可以發(fā)現(xiàn)在檢測率和誤報(bào)率相當(dāng)?shù)那闆r下,KNS方法運(yùn)算效率高,可以在實(shí)時(shí)檢測中很好地應(yīng)用,。
    在研究過程中發(fā)現(xiàn),,目前的KNS方法還存在許多不足,如階段內(nèi)部評價(jià)函數(shù)以及階段評價(jià)函數(shù)的設(shè)定還有有待改進(jìn),,當(dāng)前的函數(shù)略顯復(fù)雜,,后續(xù)工作只需要找到可以反映階段特點(diǎ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

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。