胡志鵬,魏立線* ,申軍偉,楊曉元,2
(1.武警工程學(xué)院電子技術(shù)系網(wǎng)絡(luò)與信息安全武警部隊(duì)重點(diǎn)實(shí)驗(yàn)室,西安710086;2.西安電子科技大學(xué)網(wǎng)絡(luò)信息安全教育部重點(diǎn)實(shí)驗(yàn)室,西安710071)
無線傳感器網(wǎng)絡(luò)(WSN)是由部署在檢測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式形成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),其目的是協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋區(qū)域中感知對(duì)象的信息,并以無線通信的方式發(fā)送給觀察者。無線傳感器網(wǎng)絡(luò)應(yīng)用極其廣泛,可用于軍事偵查、環(huán)境監(jiān)測(cè)和醫(yī)療衛(wèi)生等眾多領(lǐng)域[1]。
無線傳感器網(wǎng)絡(luò)一般部署在無人值守的環(huán)境中,網(wǎng)絡(luò)部署區(qū)域的開放特性和無線通信的廣播特性給網(wǎng)絡(luò)帶來了極大的安全隱患[2-3]。盡管對(duì)傳統(tǒng)網(wǎng)絡(luò)入侵檢測(cè)技術(shù)的研究已較為成熟,但是由于無線傳感器節(jié)點(diǎn)資源(如電源能量、通信能力和計(jì)算能力等)嚴(yán)重受限,使得傳統(tǒng)網(wǎng)絡(luò)中各種入侵檢測(cè)技術(shù)無法運(yùn)用在無線傳感器網(wǎng)絡(luò)中。
目前針對(duì)無線傳感器網(wǎng)絡(luò)入侵檢測(cè)提出了不少方法,常見的方法包括以下幾種。Denning[4]提出了五種統(tǒng)計(jì)分析方法,其中常用的有操作模型和基于馬爾科夫模型。操作模型主要針對(duì)系統(tǒng)中事件計(jì)數(shù)進(jìn)行度量,當(dāng)需要進(jìn)行分析的某個(gè)參數(shù)超過閾值的時(shí)候,就認(rèn)為發(fā)生了異常?;隈R爾科夫模型將不同類型的事件定義為狀態(tài)變量,并用狀態(tài)轉(zhuǎn)移矩陣描述狀態(tài)之間的轉(zhuǎn)移概率。該模型可以發(fā)現(xiàn)異常的用戶命令和事件序列,而不僅僅局限于單個(gè)事件,它研究的對(duì)象往往是一些離散的事件流。Wenke Lee研究組和Stephanie Forrest研究組[5]主要是使用數(shù)據(jù)挖掘的分析方法,采用人工智能、機(jī)器學(xué)習(xí)等技術(shù)高度自動(dòng)化的分析原有的數(shù)據(jù),做出歸納性的推理,并從中挖掘出潛在的模式,預(yù)測(cè)出行為。除了以上檢測(cè)方法外,還有利用神經(jīng)網(wǎng)絡(luò)、優(yōu)先狀態(tài)自動(dòng)機(jī)、計(jì)算機(jī)免疫系統(tǒng)和基于代理等技術(shù)進(jìn)行無線傳感器網(wǎng)絡(luò)的入侵檢測(cè)[6]。
本文提出了一種基于核Fisher判別分析的無線傳感器網(wǎng)絡(luò)入侵檢測(cè)算法,利用核Fisher判別分析對(duì)比傳感器節(jié)點(diǎn)數(shù)據(jù)和已建立的入侵行為特征來判斷是否存在入侵行為。實(shí)驗(yàn)表明:本算法具有較低的誤報(bào)率和較高的檢測(cè)精度,同時(shí)也能降低檢測(cè)節(jié)點(diǎn)的能量消耗。
本文中的無線傳感器網(wǎng)絡(luò)模型是一個(gè)被均勻的部署在某區(qū)域的無線傳感器網(wǎng)絡(luò)。這個(gè)網(wǎng)絡(luò)可以劃分為若干個(gè)簇。每個(gè)簇內(nèi)的節(jié)點(diǎn)又可以劃分為簇頭節(jié)點(diǎn)和普通節(jié)點(diǎn),簇頭節(jié)點(diǎn)負(fù)責(zé)協(xié)調(diào)和控制簇內(nèi)節(jié)點(diǎn)及其數(shù)據(jù)的融合,同時(shí)還要負(fù)責(zé)和Sink節(jié)點(diǎn)的通信。該網(wǎng)絡(luò)模型如圖1所示。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
其中Sink節(jié)點(diǎn)不受電量、存儲(chǔ)空間和計(jì)算能力等的限制,可以單獨(dú)運(yùn)行一套復(fù)雜的入侵檢測(cè)算法。由于該節(jié)點(diǎn)收集的信息比其它節(jié)點(diǎn)收集的信息要完整和全面的多,所以它能夠更容易的檢測(cè)出網(wǎng)絡(luò)中存在的入侵行為。一旦Sink節(jié)點(diǎn)檢測(cè)出網(wǎng)絡(luò)的異常行為,就會(huì)通過消息通知相應(yīng)的簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)在收到來自Sink節(jié)點(diǎn)的消息后,會(huì)將此消息在簇內(nèi)進(jìn)行廣播,這樣簇內(nèi)所有的節(jié)點(diǎn)就都會(huì)收到參數(shù)調(diào)整的消息,之后簇內(nèi)入侵檢測(cè)算法的參數(shù)就會(huì)得到相應(yīng)的調(diào)整,檢測(cè)節(jié)點(diǎn)就會(huì)用新的參數(shù)進(jìn)行檢測(cè)。
每一個(gè)簇內(nèi)包含N個(gè)節(jié)點(diǎn)作為入侵檢測(cè)節(jié)點(diǎn),如果一個(gè)簇內(nèi)負(fù)責(zé)檢測(cè)入侵行為的節(jié)點(diǎn)中有超過R個(gè)節(jié)點(diǎn)認(rèn)為某一個(gè)節(jié)點(diǎn)是入侵節(jié)點(diǎn),本算法就認(rèn)定此節(jié)點(diǎn)為入侵節(jié)點(diǎn)??梢詫⑷肭止?jié)點(diǎn)的密鑰注銷,或在路由表中將其刪除[7]。具體流程如圖2所示。
圖2 入侵檢測(cè)流程圖
檢測(cè)節(jié)點(diǎn)可以收集表1中所列出的各種信息以便檢測(cè)各種類型的網(wǎng)絡(luò)入侵行為[8]。
表1 檢測(cè)信息
通過對(duì)每個(gè)檢測(cè)節(jié)點(diǎn)監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行對(duì)比,就可以發(fā)現(xiàn)入侵行為,比如說,黑洞攻擊就是無條件丟棄數(shù)據(jù)包,導(dǎo)致與其通信的節(jié)點(diǎn)在不停地進(jìn)行重傳,以達(dá)到耗盡與其通信節(jié)點(diǎn)能量的目的,所以監(jiān)測(cè)丟包率可以判斷是否發(fā)生了這類攻擊。
假設(shè)節(jié)點(diǎn)Xi上的多個(gè)網(wǎng)絡(luò)屬性形成一個(gè)d維的向量,d為被監(jiān)視屬性的個(gè)數(shù)。一個(gè)簇內(nèi)進(jìn)行監(jiān)測(cè)的節(jié)點(diǎn)的個(gè)數(shù)為n,其中n1個(gè)屬于收集到的正常工作節(jié)點(diǎn)ω1類的樣本記為個(gè)屬于一種入侵節(jié)點(diǎn)ω2類的樣本記為。如果能正確區(qū)分正常通信節(jié)點(diǎn)與入侵節(jié)點(diǎn)的數(shù)據(jù),就能夠?qū)崿F(xiàn)對(duì)入侵行為的檢測(cè)。
核Fisher線性判別就是一種能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)分類的算法,該算法需要解決的問題是找到一個(gè)最好的投影方向(如圖3),使樣本在這個(gè)方向上的投影能最容易分開[8]。
圖3 核Fisher線性判別的基本原理
尋找最好投影方向的問題,就是最大化廣義Rayleigh商:
分別是樣本的類間散度矩陣和類內(nèi)散度矩陣,而mi是各類樣本的均值向量,即
因此最大化J(ω)的本質(zhì)是要找到一個(gè)最好的方向來最大化投影后的類間散度,同時(shí)最小化這個(gè)方向上的類內(nèi)散度。
首先通過非線性映射,將輸入數(shù)據(jù)映射到一個(gè)高維特征空間中。設(shè)φ是輸入空間到某個(gè)特征空間F的非線性映射,要找到F中的線性判別需要最大化
這里ω∈F,Sb和Sw是F中相應(yīng)類間散度矩陣和類內(nèi)散度矩陣,即
其中
通常F的維數(shù)很高,不能直接求解。因此使用非線性支持向量機(jī)的核方法。這種方法是尋找算法的一種表達(dá)式,僅僅計(jì)算訓(xùn)練樣本的點(diǎn)積運(yùn)算,就能夠解決由于維數(shù)太高而無法計(jì)算的問題。通過使用Mercer核函數(shù)來實(shí)現(xiàn),這些核函數(shù)k(x,y)計(jì)算了某個(gè)特征空間 F的點(diǎn)積運(yùn)算,即 k(x,y)=(φ(x),φ(y))。本文使用RBF核函數(shù)
為了找到特征空間F的Fisher判別,首先得到按照輸入樣本的點(diǎn)積形式表示式(3)的表達(dá)式,然后用某個(gè)核函數(shù)來替代其中的點(diǎn)積運(yùn)算。根據(jù)再生核理論,F(xiàn)空間的任何解ωφ都是F空間中的訓(xùn)練樣本的線性組合,即
利用展開式(6)和式(7),并用核函數(shù)代替點(diǎn)積,于是有
式(3)中分子,利用式(4)和式(8),可寫為
其中 M=(M1-M2)(M1-M2)T。
式(3)中分母,利用式(6)、式(7)及式(9)中的變換,得到
I是單位矩陣,Yi是所有元素為1/nj的矩陣。
將式(9)和式(10)代入式(3),得到特征空間F的核Fisher判別分析,即最大化
求解可以通過求矩陣N-1M的特征值和特征向量就可求得上式的最優(yōu)解。
x到ω投影為
在實(shí)際應(yīng)用中為了防止N非正定,可以給N加上一個(gè)單位陣的倍數(shù),即用矩陣Nμ代替矩陣N
I是單位矩陣。
由于核Fisher判別方法是針對(duì)二分類的情況,對(duì)于多分類的情況,可以將多類問題分解為多個(gè)二分類問題,本文使用二叉樹方法,每個(gè)分類器可以將一類數(shù)據(jù)的樣本分開。具體地說,就是在一個(gè)k類分類問題中,先將k類問題進(jìn)行排序,將第1類與第2…k類樣本進(jìn)行訓(xùn)練,作為第1個(gè)分類器,然后將第2類與第3…k類樣本進(jìn)行訓(xùn)練,作為第2個(gè)分類器,最后直到把k類數(shù)據(jù)分開。以4類分類問題為例,多類分類的二叉樹結(jié)構(gòu)如圖4所示[9]。
圖4 4分類KFDA二叉樹結(jié)構(gòu)
使用MATLAB2010b和NS2為仿真實(shí)驗(yàn)平臺(tái),實(shí)驗(yàn)用數(shù)據(jù)來自KDDCup99網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)集。KDDCup99是國(guó)際上最權(quán)威的入侵檢測(cè)測(cè)試數(shù)據(jù)集[10]。
KDDCup99數(shù)據(jù)集中包含了多種攻擊方式,主要可以分為4大類攻擊數(shù)據(jù),Probe、Dos、U2R和R2L,還包含了正常通信的數(shù)據(jù),因此可以用這5類數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
由于 Spoofed、Altered、Replayed Routing Information、Sinkhole、Sybil、Wormholes、Acknowledgment Spoofing這幾種攻擊在入侵前要進(jìn)行探測(cè),所以把它們歸為Probe攻擊;Sinkhole、Wormholes and Hello Floods歸為U2R 攻擊,Spoofed、Replayed Routing Information、Sinkhole、Hello Floods這幾種攻擊是針對(duì)系統(tǒng)缺陷進(jìn)行攻擊,把它們歸為R2L攻擊,還有DOS攻擊[11]。
傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)算法很多,幾乎任何一種分類方法都可以應(yīng)用其中,如果采用傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)算法,則需要檢測(cè)節(jié)點(diǎn)單獨(dú)運(yùn)行一套完整的分類算法。因?yàn)闊o線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)能量有限、計(jì)算能力有限,所以大多算法不能很好的應(yīng)用其中。就是針對(duì)傳感器的這個(gè)特點(diǎn),才使用了核Fisher判別分析方法。
本算法最大的優(yōu)點(diǎn)是將整個(gè)計(jì)算過程和通信耗能都分為兩個(gè)部分,使絕大部分計(jì)算和通信能耗都集中在了資源不受限制的Sink節(jié)點(diǎn),這樣就大大減少了檢測(cè)節(jié)點(diǎn)的負(fù)擔(dān)。在計(jì)算方面,首先令Sink節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行特征提取,即使用核Fisher判別方法,計(jì)算出最優(yōu)方向ω∈F,ω的計(jì)算量對(duì)于無線傳感器網(wǎng)絡(luò)中普通節(jié)點(diǎn)來說是較為巨大的,本文將ω的計(jì)算交給計(jì)算能力不受限制的Sink節(jié)點(diǎn)處理,把Sink節(jié)點(diǎn)計(jì)算出的ω廣播給簇內(nèi)各檢測(cè)節(jié)點(diǎn),網(wǎng)絡(luò)中檢測(cè)節(jié)點(diǎn)只需要將收集到的各個(gè)節(jié)點(diǎn)的數(shù)據(jù)利用式(12)計(jì)算出樣本在ω方向上的投影,然后利用這些投影點(diǎn)進(jìn)行分類,由于得到的投影是一維模式,所以只需要找到一個(gè)合適的閾值即可分類。進(jìn)行上述處理就把分類器的計(jì)算拆分為了兩個(gè)部分:(1)計(jì)算ω;(2)計(jì)算ω方向上的投影并分類。而檢測(cè)節(jié)點(diǎn)只需要做第2個(gè)部分的計(jì)算,因此大大減少了檢測(cè)節(jié)點(diǎn)的計(jì)算量。在通信能耗方面,通信能量主要是被發(fā)送信號(hào)所消耗,而接收信號(hào)所需能量是發(fā)送信號(hào)能耗的三分之一,這樣就使得通信中的能量消耗由資源不受限的Sink節(jié)點(diǎn)承擔(dān)。從而又大大減少了檢測(cè)節(jié)點(diǎn)的通信耗能。
首先將核Fisher判別方法仿真實(shí)驗(yàn),然后將其檢測(cè)結(jié)果與BP網(wǎng)絡(luò)、SVM方法進(jìn)行對(duì)比。四類攻擊分別使用核Fisher判別方法、BP網(wǎng)絡(luò)、SVM[12]進(jìn)行處理后的檢測(cè)率和誤檢測(cè)率如表2所示。
表2 檢測(cè)率與誤檢率
通過實(shí)驗(yàn)結(jié)果對(duì)比,可以看出本方案在檢測(cè)精度上明顯高于BP網(wǎng)絡(luò)、和SVM。通過實(shí)驗(yàn)結(jié)果分析,對(duì)于Probe攻擊、R2L攻擊、DOS攻擊可以有效檢測(cè),并且誤檢率很低,但是對(duì)于U2R攻擊,3種方法的檢測(cè)率都普遍較低,并且誤檢率很高,主要原因是由于U2R類型攻擊樣本較少,分類器訓(xùn)練不足,導(dǎo)致檢測(cè)率不高??梢娪?xùn)練樣本對(duì)檢測(cè)較果起著至關(guān)重要的作用。
為了評(píng)估節(jié)點(diǎn)的平均能量開銷,統(tǒng)計(jì)了無攻擊無檢測(cè)、無攻擊有檢測(cè)和有攻擊無檢測(cè)這3種情況下的能耗。因?yàn)樗惴ㄖ写蟛糠钟?jì)算在資源不受限制的Sink節(jié)點(diǎn)中進(jìn)行,所以,當(dāng)檢測(cè)節(jié)點(diǎn)運(yùn)行入侵檢測(cè)算法時(shí),通信增加的能耗要遠(yuǎn)大于計(jì)算增加的能耗。因此在討論能耗問題時(shí)只考慮檢測(cè)過程中的通信能耗。Chndrakasan[13-14]提出了一種能量消耗模型:
傳感器節(jié)點(diǎn)發(fā)送k比特?cái)?shù)據(jù)所消耗的能量為
傳感器節(jié)點(diǎn)接收k比特?cái)?shù)據(jù)所消耗的能量為
其中εamp是信號(hào)放大器的放大倍數(shù),Estatic是發(fā)送電路和接收電路的能耗,d是信號(hào)的發(fā)送距離。
通過仿真實(shí)驗(yàn),入侵檢測(cè)系統(tǒng)耗能如圖5所示。
圖5 能量消耗
從圖5中可以看出,在系統(tǒng)運(yùn)行的初期,耗能比較大,這是由于系統(tǒng)要提取特征,建立特征庫,并將特征向量廣播給檢測(cè)節(jié)點(diǎn)。經(jīng)過一段時(shí)間后,能耗降低,這是因?yàn)橄到y(tǒng)進(jìn)入檢測(cè)階段,通信開銷減少。但是以后每經(jīng)過一個(gè)時(shí)間段,節(jié)點(diǎn)就會(huì)出現(xiàn)一個(gè)耗能高峰,這是因?yàn)榻?jīng)過一段時(shí)間,系統(tǒng)需要重新收集信息、建立特征庫、并廣播特征向量。因?yàn)檎麄€(gè)算法中,絕大部分計(jì)算集中于資源不受限制的Sink節(jié)點(diǎn)。現(xiàn)有的方案都將整個(gè)入侵檢測(cè)算法集中在檢測(cè)節(jié)點(diǎn)上,造成檢測(cè)計(jì)算量過大。通信能耗僅是接收特征向量,而特征向量?jī)H僅是一個(gè)N維數(shù)組,數(shù)據(jù)量極小,所以通信耗能也保持在一個(gè)較低水平。這樣就大大增加了無線傳感器網(wǎng)絡(luò)的壽命,檢測(cè)算法能在高檢測(cè)率的同時(shí)保持相對(duì)較低的能耗。
本文針對(duì)無線傳感器網(wǎng)絡(luò)自身的特點(diǎn),將核Fisher判別分析運(yùn)用到無線傳感器網(wǎng)絡(luò)入侵檢測(cè),提出了一種高效的入侵檢測(cè)算法,能夠有效的檢測(cè)出入侵行為,并具有較低的能耗。實(shí)驗(yàn)表明,該算法最大的優(yōu)點(diǎn)是檢測(cè)率高,檢測(cè)節(jié)點(diǎn)能耗低。但是對(duì)于U2R類攻擊本算法檢測(cè)率較低,對(duì)于篡改攻擊,偽造攻擊還未能檢測(cè)。因此,如何對(duì)U2R攻擊方式進(jìn)行有效的檢測(cè)是下一步研究工作的重點(diǎn)。
[1] Akyildiz I F,Su W,Sankarasubramaniam Y,et al.Wireless Sensor Network:A Survey on Sensor Network[J].IEEE Communications Magazine,2002,40(8):102-114.
[2] 王穎,李國(guó)瑞.基于分組的無線傳感器網(wǎng)絡(luò)入侵檢測(cè)方案[J].傳感技術(shù)學(xué)報(bào),2007,20(3):677-681.
[3] 王培,周賢偉,覃伯平.基于多代理的無線傳感器網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)研究[J].傳感技術(shù)學(xué)報(bào),2009,22(6):878-882.
[4] Denning D.EAn Intrusion Detection Model.IEEE Transactions on Software Engineering[J].1987,13(2):222-232.
[5] Lee W,Stolfo S J,Mok K W.Adaptive Intrusion Detection:A Data Mining Approach.Artificial Intelligence Review[J].2002,14:533-567.
[6] 劉帥.無線傳感器網(wǎng)絡(luò)中能量有效的入侵檢測(cè)研究[D].湖南大學(xué)碩士學(xué)位論文,2007:15-41.
[7] 邢利.無線傳感器網(wǎng)絡(luò)入侵檢測(cè)方法的研究[D].北京工業(yè)大學(xué)碩士學(xué)位論文,2009:13-44.
[8] Li Guorui.A Distributed Intrusion Detection Scheme for Wireless Sensor Networks[J].IEEE DOI10.1109/ICDCS.Workshops.2008.191545-0678/08:310-314.
[9] 李映,李焦成.基于核Fisher判別分析的目標(biāo)識(shí)別[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版)2003,14(4):179-181.
[10] Downard I.Simulating Sensor Networks in NS-2[J].Technical Report NRL/FR/5522-04-10073,Naval Research Laboratory,Washington,D.C.U.S.A.,May 2004.1-5.
[11]祝琦,宋如順,姚永仙.無線傳感器網(wǎng)絡(luò)中基于SVM的合作型入侵檢測(cè)系統(tǒng)[J].計(jì)算機(jī)應(yīng)用研究,2010,27(4):1489-1492.
[12]陳俊麗,焦李成.支撐矢量機(jī)的分類機(jī)理研究[J].西安電子科技大學(xué)學(xué)報(bào),2000,27(SUP):106-110.
[13] Yan K Q,Wang S C,Liu C W.A Hybrid Intrusion Detection System of Cluster-based Wireless Sensor Networks[C]//Proceedings of the International Multi Conference of Engineers and Computer Scientists,2009,1:978-986.
[14] Heinzelman W B,Chndrakasan A P,Balakrishnan H.An Application-Specific Protocol Architecture for Wireless Microsensor Networks[J].IEEE Transaction on Wireless Coinmunications,2002,1(4):660-670.