摘要:提出了一種高效低負(fù)荷的異常檢測方法。該方法使用基于獨(dú)立分量分析(ICA)的特征選擇算法對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行特征提取,并使用模糊粗糙集對數(shù)據(jù)進(jìn)行聚類分析,減少了分類器的運(yùn)算量,提高了入侵檢測的準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,該方法的檢測效果要優(yōu)于同類的其他方法。
關(guān)鍵詞:入侵檢測;異常檢測;獨(dú)立分量分析;粗糙集;模糊粗糙集
中圖分類號:TP393.08文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)05-1524-03
0引言
入侵檢測系統(tǒng)從網(wǎng)絡(luò)上獲取的數(shù)據(jù)往往具有高維的特點(diǎn),但入侵行為信息往往只集中于部分屬性中。例如DoS和Probe攻擊主要與數(shù)據(jù)流量屬性有關(guān);U2R和R2L攻擊主要與內(nèi)容屬性相關(guān)。因此在獲取的網(wǎng)絡(luò)數(shù)據(jù)中存在冗余的屬性信息,這些冗余信息一方面會(huì)影響數(shù)據(jù)分類的正確性,另一方面會(huì)增加訓(xùn)練和檢測的運(yùn)算量。另外,在對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行檢測的過程中所涉及的概念和知識(shí)大多數(shù)都是模糊的,這將不利于檢測規(guī)則的生成,且會(huì)影響系統(tǒng)的檢測率。
為了解決上述問題,本文提出了一種基于獨(dú)立分量分析(ICA)和模糊粗糙集的入侵檢測方法。該方法在對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行檢測前,首先使用ICA算法對采集到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行特征提取,以消除冗余屬性,降低數(shù)據(jù)維數(shù);然后再使用基于模糊粗糙集的IDS分類器對數(shù)據(jù)進(jìn)行分類,以確定是否發(fā)生入侵。實(shí)驗(yàn)結(jié)果表明,本文提出的入侵檢測方法能夠有效地消除網(wǎng)絡(luò)數(shù)據(jù)中的冗余屬性信息,減少了分類器的訓(xùn)練和檢測的運(yùn)算量;同時(shí)也解決了模糊概念和模糊知識(shí)所帶來的問題,取得了比較理想的檢測率。
1獨(dú)立分量分析
獨(dú)立分量分析(ICA)是近年來由盲源分離技術(shù)發(fā)展起來的多信號盲源分離方法。ICA是一種用于數(shù)據(jù)特征提取的線性變換技術(shù)。設(shè)N個(gè)觀測變量為xi(i=1,2,…,N),每個(gè)觀測變量可以表示為M個(gè)獨(dú)立分量sj=(j=1,2,…,M)的線性組合。記X=(x1,x2,…,xN)T,S=(s1,s2,…,sM)T,則X=AS。其中:A=(aij)N×M為未知混合矩陣。ICA方法就是在混合矩陣A和獨(dú)立分量S未知的情況下,根據(jù)觀測數(shù)據(jù)X確定分離矩陣W=[w1,w2,…,wM],使得變換后的輸出S=A+X=WX是對S的最優(yōu)估計(jì)。其中A+是A的廣義逆。在實(shí)際應(yīng)用中,通常采用負(fù)熵作為判斷向量相互獨(dú)立的準(zhǔn)則[1]。
目前,提出的ICA算法比較多,如神經(jīng)網(wǎng)絡(luò)算法、FASTICA算法等。其中FASTICA算法速度比較快[2],因此本文對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行特征提取時(shí)采用FASTICA算法。
2基于模糊粗糙集的規(guī)則學(xué)習(xí)算法
2.1連續(xù)屬性模糊化
在入侵檢測中,IDS系統(tǒng)收集到的信息中存在大量的連續(xù)屬性,但粗糙集理論只能處理離散數(shù)據(jù),因此,在對數(shù)據(jù)進(jìn)行分析前要對連續(xù)屬性進(jìn)行模糊化處理,將連續(xù)屬性轉(zhuǎn)換成離散屬性。
對連續(xù)屬性進(jìn)行模糊化的關(guān)鍵是確定隸屬度函數(shù)。常用的隸屬度函數(shù)有三角隸屬度函數(shù)、π函數(shù)等。假設(shè)有一連續(xù)屬性a,則a的值域可以表示為V={Va(u)|a∈A,u∈U}。根據(jù)值域的大小和屬性的分布可以將a模糊化為k個(gè)語義變量Yi(i=1,2,…,k)。每個(gè)語義變量Yi具有圖1所示的三角隸屬度函數(shù)[3]。其中:μ(x)為隸屬度;x為屬性值。為保證模糊劃分的完備性,兩個(gè)相鄰隸屬度函數(shù)相交處的函數(shù)值為0.5;另外,k個(gè)模糊劃分中心mi由Kohonen網(wǎng)絡(luò)自組織映射算法[3]確定。
2.2模糊粗糙集模型
傳統(tǒng)的Pawlak粗糙集模型是基于不可分辨關(guān)系的,它是一種等價(jià)關(guān)系,滿足自反性、對稱性和傳遞性。模糊粗糙集(fuzzy rough sets,F(xiàn)RS)模型[4]是對Pawlak粗糙集模型的推廣,它放松了集合關(guān)系中的約束條件,去除了不可分辨關(guān)系的傳遞性,將等價(jià)關(guān)系推廣為模糊相似關(guān)系。
定義3設(shè)U、V是兩個(gè)論域,若R是U×V上的一個(gè)模糊集,則稱R是從U到V的一個(gè)模糊關(guān)系;當(dāng)U=V時(shí),稱R是U上的一個(gè)模糊關(guān)系。
定義4如果模糊關(guān)系R滿足如下條件:
a)自反性,即u∈R,有μR(u,u)=1;
b)對稱性,即u,v∈U,有μR(u,v)=μR(v,u)。
則稱模糊關(guān)系R為U上的模糊相似關(guān)系。
2.4基于模糊粗糙集的規(guī)則學(xué)習(xí)算法
根據(jù)上面的模糊粗糙模型,可以提出一種模糊粗糙集規(guī)則學(xué)習(xí)算法。算法的步驟如下:
a)使用Kohonen網(wǎng)絡(luò)自組織映射算法確定k個(gè)模糊劃分的中心mi,并用前面所提到的三角隸屬度函數(shù)對連續(xù)屬性進(jìn)行模糊化;
b)對每個(gè)屬性用定義6中的方法計(jì)算其相似矩陣;
c)在求出的每個(gè)相似矩陣中引入置信水平λ,根據(jù)定義7求出各屬性的普通相似矩陣;
d)根據(jù)編網(wǎng)法原理得到每個(gè)屬性ai∈A在置信水平λi下對論域U的劃分U/IND(R{ai}{λi}),進(jìn)而可以計(jì)算出屬性集A對整個(gè)論域的劃分U/IND(RAλ);
e)根據(jù)算法1對決策表的屬性進(jìn)行約簡;
f)求條件屬性相對于決策屬性的屬性核,刪除冗余屬性,得到條件屬性的最小簡化,并刪除重復(fù)對象;
g)對每個(gè)實(shí)例求其屬性值的值核,并刪除多余的屬性值,得到其最小屬性值簡化;
h)刪除決策表中重復(fù)的實(shí)例,歸納出決策規(guī)則。
3基于ICA和FRS的入侵檢測模型
根據(jù)上述理論和算法,本文提出了一種基于ICA和模糊粗糙集的入侵檢測系統(tǒng)模型,如圖2所示。模型由數(shù)據(jù)采集單元、預(yù)處理單元、ICA特征提取單元、模糊粗糙集(FRS)分類器和響應(yīng)單元五部分組成。數(shù)據(jù)采集單元從網(wǎng)絡(luò)中收集檢測數(shù)據(jù);預(yù)處理單元對采集到的數(shù)據(jù)進(jìn)行規(guī)范化處理,以便后續(xù)分析使用;ICA特征提取單元使用FASTICA算法對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行特征提取,以消除數(shù)據(jù)中的冗余屬性;FRS分類器對數(shù)據(jù)進(jìn)行分類,判斷行為是否為異常行為,并將結(jié)果送給響應(yīng)單元,以及時(shí)通知用戶采取措施。
4實(shí)驗(yàn)與分析
4.1實(shí)驗(yàn)數(shù)據(jù)
為了驗(yàn)證本文所提出的入侵檢測模型在入侵檢測中的效果,本文利用KDD99數(shù)據(jù)集[6]對其進(jìn)行了測試。該數(shù)據(jù)集是1998年由麻省理工學(xué)院林肯實(shí)驗(yàn)室為入侵檢測模型評估而建立的測試數(shù)據(jù)集。該數(shù)據(jù)集中的每條數(shù)據(jù)記錄均包含41個(gè)屬性值。這些屬性值可分為四部分,即連接的基本屬性、連接的內(nèi)容屬性和基于時(shí)間的流量屬性、基于主機(jī)的流量屬性。實(shí)驗(yàn)數(shù)據(jù)由訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集兩部分組成。實(shí)驗(yàn)中訓(xùn)練數(shù)據(jù)集包含31 560條記錄,測試數(shù)據(jù)集包含22 320條記錄。數(shù)據(jù)類型的分布如表1所示。
們定義如下:
檢測率(DR)=檢測到的入侵樣本數(shù)/入侵樣本總數(shù)
誤報(bào)率(FPR)=被誤認(rèn)為入侵的正常樣本數(shù)/正常樣本總數(shù)
在實(shí)驗(yàn)過程中,先使用訓(xùn)練數(shù)據(jù)集對系統(tǒng)進(jìn)行訓(xùn)練,以建立起一個(gè)入侵檢測規(guī)則庫;訓(xùn)練完成后,使用測試數(shù)據(jù)集對系統(tǒng)進(jìn)行測試。實(shí)驗(yàn)數(shù)據(jù)如表2所示。從實(shí)驗(yàn)數(shù)據(jù)可以看出,本文所提出的基于ICA和模糊粗糙集的入侵檢測方法有比較高的檢測率和低誤報(bào)率,對DoS攻擊和Probe攻擊的檢測率很高,但對R2L攻擊和U2R攻擊的檢測率相對不夠理想,這是由于這兩種攻擊一般是偽裝成合法用戶的身份進(jìn)行攻擊,這樣就使其特征與正常數(shù)據(jù)包比較類似,造成了算法檢測的困難。但本文所提出的方法對這兩種攻擊的檢測率較文獻(xiàn)[7,8]有了較大幅度的提高。原因是本文在構(gòu)造入侵檢測分類器時(shí)引入了模糊粗糙集模型,建立檢測規(guī)則時(shí)為每個(gè)屬性都引入了一個(gè)置信水平λ,使得每條規(guī)則中屬性的重要程度都各不相同,因此可以更好地將正常行為和異常行為區(qū)分開來。
為了驗(yàn)證ICA特征提取環(huán)節(jié)對系統(tǒng)性能的影響,在使用訓(xùn)練數(shù)據(jù)集對系統(tǒng)進(jìn)行訓(xùn)練時(shí),分別測試了使用和不使用ICA特征提取環(huán)節(jié)系統(tǒng)的訓(xùn)練時(shí)間。其中:訓(xùn)練時(shí)間1是使用該環(huán)節(jié)的訓(xùn)練時(shí)間;訓(xùn)練時(shí)間2是不使用該環(huán)節(jié)的訓(xùn)練時(shí)間。實(shí)驗(yàn)數(shù)據(jù)如表3所示。
5結(jié)束語
本文將模糊粗糙集理論引入到了入侵檢測分類器的構(gòu)造中,解決了在入侵檢測中模糊概念和模糊知識(shí)對檢測規(guī)則的生成所帶來的問題;同時(shí),在入侵檢測系統(tǒng)模型中引入了ICA特征提取環(huán)節(jié),在對網(wǎng)絡(luò)數(shù)據(jù)分類前,先使用FASTICA算法對數(shù)據(jù)進(jìn)行特征提取,消除了數(shù)據(jù)中的冗余屬性,大大減少了分類器的訓(xùn)練和檢測的運(yùn)算量。實(shí)驗(yàn)證明,本文所提出的入侵檢測方法是一種高效低負(fù)荷的檢測方法。
參考文獻(xiàn):
[1]HYVARINEN A,OJA E.Independent component analysis:algorithms and applications[J].Neural Networks,2000,13(4-5):411-430.
[2]HYVARINEN A.Survey on independent component analysis[J].Neural Computing Surveys,1999,2:94-128.
[3] KOHONEN T.Self-organization and associative memory[M].Berlin:Springer,1988.
[4] 張文修.粗糙集理論與方法[M].北京:科學(xué)出版社,2001.
[5] 趙汝懷.弗晰聚類的編網(wǎng)法[J].西安交通大學(xué)學(xué)報(bào),1980(4):43-47.
[6] KDD99.KDD99 cup dataset[DB/OL].(1999).http://kdd.ics.uci.edu/data-bases/kddcup99.
[7] 李瑋,范九倫.基于新的聚類算法的入侵檢測[J].計(jì)算機(jī)工程,2006,32(7):149-153.
[8] ZHANG Lian-h(huán)ua, ZHANG Guan-h(huán)ua, YU Lang.Intrusion detection using rough set classification[J].Zhejiang University SCI,2004,5(9):1076-1086.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”