《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 业界动态 > 模式识别方法在入侵检测中的应用

模式识别方法在入侵检测中的应用

2008-07-17
作者:姜 楠

??? 摘 要: 將模式識別方法應用到入侵檢測" title="入侵檢測">入侵檢測領域,用以區(qū)分正常和異常的用戶或主機行為。采用KDD99作為實驗數(shù)據(jù)集,通過計算信息增益,從原始數(shù)據(jù)中選取對分類結果影響較大的特征屬性;再分別選取兩種帶監(jiān)督的模式識別方法支持向量機" title="支持向量機">支持向量機(SVM)和多層神經網(wǎng)絡(MNN)以及兩種不帶監(jiān)督的聚類" title="聚類">聚類方法Single-Linkage和 K-Means進行實驗。實驗結果表明,上述方法在入侵檢測領域中具有很好的應用前景。
??? 關鍵詞: 模式識別? 入侵檢測? 支持向量機? 聚類

?

??? 入侵監(jiān)測系統(tǒng)在信息安全領域具有重要的應用價值。入侵檢測系統(tǒng)需要以較高的檢測率和較低的誤報率區(qū)分正常和異常的用戶或主機行為。從某種意義上講,入侵檢測問題可以看作是一個分類問題,因此筆者將模式識別中的分類和聚類方法應用到入侵檢測領域。并且在應用中基于以下三個直觀假設: (1)正常和異常行為具有較大差異;(2)屬于同一種類型的異常行為有較大的相似性; (3)某種特定的異常行為在不同的環(huán)境中可能通過修改參數(shù)而產生很大變化。同時選取模式識別中兩種帶監(jiān)督的分類方法:支持向量機(SVM)和多層神經網(wǎng)絡(MNN),訓練它們識別正常行為和異常行為以及識別每種不同的異常行為。由于在實際的應用中,通常沒有標識好的訓練數(shù)據(jù),不能直接使用帶監(jiān)督的方法,因此選取兩種不帶監(jiān)督的聚類方法:Single-Linkage和K-Means[1],作為帶監(jiān)督方法的有效補充。
1 實驗數(shù)據(jù)
??? 本文采用MIT Lincoln實驗室在仿真環(huán)境下獲取的KDD99[2]數(shù)據(jù)集,記錄9個星期內的原始網(wǎng)絡數(shù)據(jù)包,并轉化為大約7百萬條記錄。每條記錄包含42個字段,其中第1到第41字段為特征屬性。特征屬性描述網(wǎng)絡會話(session)信息,包括:連接時間、端口、源地址、目的地址等。第42字段為標記字段。每條記錄都被標記為正?;蛘呤且韵滤姆N特定類型的異常行為之一:(1)DoS——拒絕服務攻擊;(2)R2L——非授權遠程訪問;(3)U2R——非授權使用本地超級用戶特權;(4)probing——掃描攻擊。
??? 在實驗中,加入了兩種新的標記取代原始標記。(1)二元標記(L2):如果一條記錄是異常行為,標記為1;如果一條記錄是正常行為,標記為-1。(2)異常行為類型標記(L5):根據(jù)異常行為類型標記數(shù)據(jù)集(正常:-1,probeing:1,DoS:2,U2R:3,R2L:4)。
2 特征屬性的選取
??? 由于記錄中有些特征屬性與分類結果無關,在分類過程中采用這些特征屬性將增加時間復雜度,同時很可能降低檢測率。因此,為獲得更高效的分類和聚類,利用信息增益的方法,選取對分類結果影響較大的特征屬性。具體方法如下:
??? (1) 計算具有N個不同值的標記字段X的熵:
??? ?

??? (2) 計算標記字段X對每個特征屬性Yj的條件熵:
???

??? (3) 計算X對每個Yj的信息增益:
???

??? 較大的G(X|Yj)值,表示Yj對分類的貢獻較大。實驗中采取保守估計,設定信息增益的閾值為0.2,即選取信息增益大于0.2的特征屬性用于實驗。最終,針對L2標記,共選取了10個特征屬性;而針對L5標記,選取了12個特征屬性。
3 帶監(jiān)督的方法
??? 在所有帶監(jiān)督的模式識別方法中,選取具有廣泛應用的支持向量機和多層神經網(wǎng)絡方法,訓練它們識別正常行為和異常行為以及識別不同類型的異常行為。
3.1 支持向量機(SVM)
??? 作為較優(yōu)秀的線性分類器" title="分類器">分類器之一,支持向量機的重要特性是分類器只與支持向量的數(shù)目相關,這些支持向量有助于分析和了解最有效劃分的不同類別的特征屬性的值。與此同時,支持向量機還支持核函數(shù)(kernel),在不增加計算量的前提下將原特征屬性空間投影到高維空間,使其可以應對非線性可分的數(shù)據(jù)集。
??? 在實驗中,采用LIBSVM函數(shù)庫[3]構建支持向量機分類器,并分別對加入L2標記和加入L5標記的數(shù)據(jù)集進行實驗。實驗數(shù)據(jù)選取原始41個特征屬性和縮減后的10個特征屬性或者12個特征屬性,停止閾值為0.01。因為支持向量機只能區(qū)分兩個數(shù)據(jù)類,故將加入L5標記的數(shù)據(jù)集按照異常行為類型分成4個子數(shù)據(jù)集進行測試,每個數(shù)據(jù)集包含惟一一種異常行為以及所有的正常數(shù)據(jù)。結果如表1所示,其中#SV代表支持向量的數(shù)目。

??????????????????????????
??? 可見,通過信息增益方法選取特征屬性的操作在提高訓練效率的同時還有效地提高了分類準確率。針對掃描(probing)以及U2R攻擊,支持向量機能夠達到90%的分類率,而DoS和R2L攻擊也有接近80%的分類率。此外,通過分析支持向量,能夠總結出區(qū)分各種異常行為的最有效特征屬性。從f2(協(xié)議類型)特征屬性可以發(fā)現(xiàn),掃描攻擊傾向于使用ICMP協(xié)議;從f3(服務類型)特征屬性可以發(fā)現(xiàn),掃描攻擊經常訪問eco I(ping)服務;從f6(目的字節(jié))特征屬性可以發(fā)現(xiàn),探測攻擊傳輸較少的字節(jié)數(shù);從f12(登陸)特征屬性可以發(fā)現(xiàn),U2R和R2L攻擊發(fā)生在登陸之后;從f24(srv數(shù)目)特征屬性可以發(fā)現(xiàn),被探測攻擊的服務器傾向于初始化更多的連接數(shù)。
3.2? 多層神經網(wǎng)絡
??? 一個多層的神經網(wǎng)絡由一定數(shù)目的節(jié)點組成,所有節(jié)點被分成輸入層、輸出層和若干個隱藏層。不同層中的節(jié)點通過不同權重的鏈接關聯(lián)起來。實驗中,將選取的特征屬性的值作為輸入,通過基于梯度下降的反向傳播算法迭代計算權重值,直至達到規(guī)定的迭代次數(shù)" title="迭代次數(shù)">迭代次數(shù)。
??? 實驗中,使用原始41個特征屬性的數(shù)據(jù)進行實驗。對加入L2標記的數(shù)據(jù)集,統(tǒng)計不同隱藏節(jié)點數(shù)目的神經網(wǎng)絡的分類率。對加入L5標記的數(shù)據(jù)集,統(tǒng)計10個隱藏節(jié)點的神經網(wǎng)絡給出的分類結果。具體參數(shù)設置如下:輸入節(jié)點數(shù)41,輸出節(jié)點數(shù)2或5, 迭代次數(shù)1000。分類結果如表2所示。當隱藏節(jié)點數(shù)目為8時可以達到較優(yōu)的分類率,繼續(xù)增加隱藏節(jié)點的數(shù)目不會進一步優(yōu)化分類結果。

?????????????????????????
4 不帶監(jiān)督的方法
??? 通過實驗可以看出,帶監(jiān)督的方法可以通過訓練達到較高的檢測率。然而,在實際應用過程中,目前沒有可靠的方法來獲取正確標識的訓練數(shù)據(jù)。因此在實驗中同時選取了不帶監(jiān)督的模式識別方法中的兩種聚類算法,Single-Linkage和K-Means。
??? 在現(xiàn)實網(wǎng)絡環(huán)境中,正常數(shù)據(jù)的數(shù)量通常遠遠大于異常數(shù)據(jù)的數(shù)量,而且二者之間通常有比較大的距離。因此通過聚類算法將正常數(shù)據(jù)分成幾個大的類,同時將所有無法劃分到這幾個大類的數(shù)據(jù)認定為異常,從而區(qū)分出正常行為和異常行為。
4.1 數(shù)據(jù)過濾
??? 在KDD99訓練數(shù)據(jù)集中,異常數(shù)據(jù)數(shù)目超過了正常數(shù)據(jù),為了滿足前提假設,需要過濾掉一部分異常數(shù)據(jù),使得最終的數(shù)據(jù)集有超過98%的正常數(shù)據(jù),而異常數(shù)據(jù)量小于2%。
4.2 數(shù)據(jù)標準化
??? 由于沒有足夠可靠的先驗知識來確定特征屬性的相對重要程度,所以全部的特征屬性都被同等考慮。然而,如果對于不同特征屬性使用相同權重,則那些取值較大的特征屬性會過分影響聚類的過程,大數(shù)量級的特征屬性將占統(tǒng)治地位,而小數(shù)量級的特征屬性在整個分類過程中的作用將被忽略。因此實驗中將每個特征屬性按如下方法進行標準化:
??? (1) 計算每個特征屬性的均值和標準差:
???? ?

式中,vector[j]是每條記錄的第j個特征屬性。
??? (2)將每條記錄中連續(xù)的特征屬性值j進行如下轉換:
???


??? 對于離散的特征屬性,如果兩條記錄對于該離散特征屬性具有相同的取值,則它們之間的距離為0,否則為1。
4.3 Single-Linkage
??? Single-Linkage算法以標準化后的數(shù)據(jù)集和常量參數(shù)W(類半徑)為輸入,計算輸出聚類結果。它初始化的類集合為空集。對于每條記錄,如果類集合為空,則將此記錄作為一個類中心填入類集合中,否則計算它與現(xiàn)存每個類中心的距離,選出最短的距離。如果這個距離小于一個指定的參數(shù)常量W,則將此記錄歸于距離最小的類,否則增加一個新的類并將該記錄作為類中心。
??? 假設98%的數(shù)據(jù)都是正常數(shù)據(jù),設置了一個閾值N。任何包含大于總記錄數(shù)據(jù)量N%的類都被認為是正常類(實驗中選取N=7)。這里應用入侵檢測領域常用的ROC曲線描述檢測結果。
??? 改變參數(shù)W的取值,ROC曲線如圖1所示。結果表明,在誤報率小于20%的前提下,Single-Linkage算法的檢測率超過50%。

?????????????????????????????
4.4 K-Means
??? K-Means算法根據(jù)輸入?yún)?shù)k,將含有n條記錄的數(shù)據(jù)集分配到k個類中,使得同一類中的記錄具有較高的相似性。其中,每個類由該類中所有記錄的平均值(類中心)進行標識。算法首先隨機選取k條記錄,每條記錄代表一個初始類。對其余的記錄,則按照它們同k個類中心的距離進行聚類,選取最近的作為該記錄的分類。然后根據(jù)現(xiàn)有的聚類更新各個類的中心,再根據(jù)新的類中心進行下一次聚類,直到聚類結果穩(wěn)定。

??? 實驗中,對不同參數(shù)k和初始的類中心進行測試。首先固定參數(shù)k,采用不同的隨機記錄進行初始化,得到的結果最終無較大差異。因此選取前k條記錄作為初始的類中心。通過改變k的取值,得到如圖2所示的ROC曲線。
?????????????????????????????

??? 從圖1和圖2可見,聚類算法在檢測率高時誤報率也較高,但由于其時間復雜度相對較低,可以將其應用于數(shù)據(jù)預處理。方法如下:通過設置不同的閾值提高檢測率,當檢測率達到90%時,誤報率在60%左右(見圖1和圖2)。此時聚類算法檢測出來的異常數(shù)據(jù)集,保留了原始數(shù)據(jù)集中超過90%的異常數(shù)據(jù),同時過濾掉了大約一半的原始數(shù)據(jù)集中的正常數(shù)據(jù),從而得到了一個可以應用帶監(jiān)督的方法進行進一步檢測的小數(shù)據(jù)集。而且由于異常數(shù)據(jù)在原始數(shù)據(jù)集中占的比例很小,通過上述預處理方法得到的數(shù)據(jù)集的數(shù)據(jù)量約為沒處理之前的一半。
??? 本文利用模式識別中帶監(jiān)督的支持向量機和神經網(wǎng)絡方法以及不帶監(jiān)督的Single-Linkage和K-Means方法分析網(wǎng)絡數(shù)據(jù)記錄,進行入侵檢測。實驗證明,利用信息增益的方法,只選取對分類結果影響較大的特征屬性進行實驗,不會降低檢測的準確度;同時兩種帶監(jiān)督的方法具有很高的檢測率,可以直接用于檢測入侵行為,而兩種不帶監(jiān)督的方法檢測率相對較低,且當檢測率高時誤報率也高。但是,由于這些聚類方法的時間復雜度都相對較低,因此可以將其應用于對原始數(shù)據(jù)的預處理,在不對檢測結果產生過大影響的基礎上,過濾掉大量的正常數(shù)據(jù),得到一個相對較小但基本上包含了所有原有入侵的數(shù)據(jù)集,能夠大大壓縮下一步檢測的輸入數(shù)據(jù)量。對于過濾后的數(shù)據(jù),采用支持向量機或者多層神經網(wǎng)絡分類器進行檢測,能夠達到更高的檢測效率。
參考文獻
[1] MACQUEEN J B. Some methods for classification and?analysis of multivariate observations. Proceedings of 5-th?Berkeley Symposium on Mathematical Statistics and Probability. Berkeley: University of California Press,1967:281-297.
[2] UCI Knowledge Discovery in Databases Archive.http://kdd.ics.uci.edu /databases/kddcup99/kddcup99.html,1999
[3] CHANG Chih Chung, LIN Chih Jen. LIBSVM——A?library for support vector machines.http://www.csie.ntu.
?edu.tw/~cjlin/libsvm/, 2007.
[4] BISHOP C M. Neural networks for pattern recognition[M]. Oxford:Oxford University Press,1996.
?

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。