胡志鵬,魏立線* ,申軍偉,楊曉元,2
(1.武警工程學院電子技術系網絡與信息安全武警部隊重點實驗室,西安710086;2.西安電子科技大學網絡信息安全教育部重點實驗室,西安710071)
無線傳感器網絡(WSN)是由部署在檢測區域內大量的廉價微型傳感器節點組成,通過無線通信方式形成的一個多跳的自組織網絡系統,其目的是協作地感知、采集和處理網絡覆蓋區域中感知對象的信息,并以無線通信的方式發送給觀察者。無線傳感器網絡應用極其廣泛,可用于軍事偵查、環境監測和醫療衛生等眾多領域[1]。
無線傳感器網絡一般部署在無人值守的環境中,網絡部署區域的開放特性和無線通信的廣播特性給網絡帶來了極大的安全隱患[2-3]。盡管對傳統網絡入侵檢測技術的研究已較為成熟,但是由于無線傳感器節點資源(如電源能量、通信能力和計算能力等)嚴重受限,使得傳統網絡中各種入侵檢測技術無法運用在無線傳感器網絡中。
目前針對無線傳感器網絡入侵檢測提出了不少方法,常見的方法包括以下幾種。Denning[4]提出了五種統計分析方法,其中常用的有操作模型和基于馬爾科夫模型。操作模型主要針對系統中事件計數進行度量,當需要進行分析的某個參數超過閾值的時候,就認為發生了異常?;隈R爾科夫模型將不同類型的事件定義為狀態變量,并用狀態轉移矩陣描述狀態之間的轉移概率。該模型可以發現異常的用戶命令和事件序列,而不僅僅局限于單個事件,它研究的對象往往是一些離散的事件流。Wenke Lee研究組和Stephanie Forrest研究組[5]主要是使用數據挖掘的分析方法,采用人工智能、機器學習等技術高度自動化的分析原有的數據,做出歸納性的推理,并從中挖掘出潛在的模式,預測出行為。除了以上檢測方法外,還有利用神經網絡、優先狀態自動機、計算機免疫系統和基于代理等技術進行無線傳感器網絡的入侵檢測[6]。
本文提出了一種基于核Fisher判別分析的無線傳感器網絡入侵檢測算法,利用核Fisher判別分析對比傳感器節點數據和已建立的入侵行為特征來判斷是否存在入侵行為。實驗表明:本算法具有較低的誤報率和較高的檢測精度,同時也能降低檢測節點的能量消耗。
本文中的無線傳感器網絡模型是一個被均勻的部署在某區域的無線傳感器網絡。這個網絡可以劃分為若干個簇。每個簇內的節點又可以劃分為簇頭節點和普通節點,簇頭節點負責協調和控制簇內節點及其數據的融合,同時還要負責和Sink節點的通信。該網絡模型如圖1所示。

圖1 網絡結構
其中Sink節點不受電量、存儲空間和計算能力等的限制,可以單獨運行一套復雜的入侵檢測算法。由于該節點收集的信息比其它節點收集的信息要完整和全面的多,所以它能夠更容易的檢測出網絡中存在的入侵行為。一旦Sink節點檢測出網絡的異常行為,就會通過消息通知相應的簇頭節點,簇頭節點在收到來自Sink節點的消息后,會將此消息在簇內進行廣播,這樣簇內所有的節點就都會收到參數調整的消息,之后簇內入侵檢測算法的參數就會得到相應的調整,檢測節點就會用新的參數進行檢測。
每一個簇內包含N個節點作為入侵檢測節點,如果一個簇內負責檢測入侵行為的節點中有超過R個節點認為某一個節點是入侵節點,本算法就認定此節點為入侵節點。可以將入侵節點的密鑰注銷,或在路由表中將其刪除[7]。具體流程如圖2所示。

圖2 入侵檢測流程圖
檢測節點可以收集表1中所列出的各種信息以便檢測各種類型的網絡入侵行為[8]。

表1 檢測信息
通過對每個檢測節點監測到的數據進行對比,就可以發現入侵行為,比如說,黑洞攻擊就是無條件丟棄數據包,導致與其通信的節點在不停地進行重傳,以達到耗盡與其通信節點能量的目的,所以監測丟包率可以判斷是否發生了這類攻擊。
假設節點Xi上的多個網絡屬性形成一個d維的向量,d為被監視屬性的個數。一個簇內進行監測的節點的個數為n,其中n1個屬于收集到的正常工作節點ω1類的樣本記為個屬于一種入侵節點ω2類的樣本記為。如果能正確區分正常通信節點與入侵節點的數據,就能夠實現對入侵行為的檢測。
核Fisher線性判別就是一種能夠實現對數據分類的算法,該算法需要解決的問題是找到一個最好的投影方向(如圖3),使樣本在這個方向上的投影能最容易分開[8]。

圖3 核Fisher線性判別的基本原理
尋找最好投影方向的問題,就是最大化廣義Rayleigh商:

分別是樣本的類間散度矩陣和類內散度矩陣,而mi是各類樣本的均值向量,即

因此最大化J(ω)的本質是要找到一個最好的方向來最大化投影后的類間散度,同時最小化這個方向上的類內散度。
首先通過非線性映射,將輸入數據映射到一個高維特征空間中。設φ是輸入空間到某個特征空間F的非線性映射,要找到F中的線性判別需要最大化

這里ω∈F,Sb和Sw是F中相應類間散度矩陣和類內散度矩陣,即

其中

通常F的維數很高,不能直接求解。因此使用非線性支持向量機的核方法。這種方法是尋找算法的一種表達式,僅僅計算訓練樣本的點積運算,就能夠解決由于維數太高而無法計算的問題。通過使用Mercer核函數來實現,這些核函數k(x,y)計算了某個特征空間 F的點積運算,即 k(x,y)=(φ(x),φ(y))。本文使用RBF核函數

為了找到特征空間F的Fisher判別,首先得到按照輸入樣本的點積形式表示式(3)的表達式,然后用某個核函數來替代其中的點積運算。根據再生核理論,F空間的任何解ωφ都是F空間中的訓練樣本的線性組合,即

利用展開式(6)和式(7),并用核函數代替點積,于是有

式(3)中分子,利用式(4)和式(8),可寫為

其中 M=(M1-M2)(M1-M2)T。
式(3)中分母,利用式(6)、式(7)及式(9)中的變換,得到


I是單位矩陣,Yi是所有元素為1/nj的矩陣。
將式(9)和式(10)代入式(3),得到特征空間F的核Fisher判別分析,即最大化

求解可以通過求矩陣N-1M的特征值和特征向量就可求得上式的最優解。
x到ω投影為

在實際應用中為了防止N非正定,可以給N加上一個單位陣的倍數,即用矩陣Nμ代替矩陣N

I是單位矩陣。
由于核Fisher判別方法是針對二分類的情況,對于多分類的情況,可以將多類問題分解為多個二分類問題,本文使用二叉樹方法,每個分類器可以將一類數據的樣本分開。具體地說,就是在一個k類分類問題中,先將k類問題進行排序,將第1類與第2…k類樣本進行訓練,作為第1個分類器,然后將第2類與第3…k類樣本進行訓練,作為第2個分類器,最后直到把k類數據分開。以4類分類問題為例,多類分類的二叉樹結構如圖4所示[9]。

圖4 4分類KFDA二叉樹結構
使用MATLAB2010b和NS2為仿真實驗平臺,實驗用數據來自KDDCup99網絡入侵檢測數據集。KDDCup99是國際上最權威的入侵檢測測試數據集[10]。
KDDCup99數據集中包含了多種攻擊方式,主要可以分為4大類攻擊數據,Probe、Dos、U2R和R2L,還包含了正常通信的數據,因此可以用這5類數據進行實驗。
由于 Spoofed、Altered、Replayed Routing Information、Sinkhole、Sybil、Wormholes、Acknowledgment Spoofing這幾種攻擊在入侵前要進行探測,所以把它們歸為Probe攻擊;Sinkhole、Wormholes and Hello Floods歸為U2R 攻擊,Spoofed、Replayed Routing Information、Sinkhole、Hello Floods這幾種攻擊是針對系統缺陷進行攻擊,把它們歸為R2L攻擊,還有DOS攻擊[11]。
傳統的網絡入侵檢測算法很多,幾乎任何一種分類方法都可以應用其中,如果采用傳統的網絡入侵檢測算法,則需要檢測節點單獨運行一套完整的分類算法。因為無線傳感器網絡中的節點能量有限、計算能力有限,所以大多算法不能很好的應用其中。就是針對傳感器的這個特點,才使用了核Fisher判別分析方法。
本算法最大的優點是將整個計算過程和通信耗能都分為兩個部分,使絕大部分計算和通信能耗都集中在了資源不受限制的Sink節點,這樣就大大減少了檢測節點的負擔。在計算方面,首先令Sink節點對數據進行特征提取,即使用核Fisher判別方法,計算出最優方向ω∈F,ω的計算量對于無線傳感器網絡中普通節點來說是較為巨大的,本文將ω的計算交給計算能力不受限制的Sink節點處理,把Sink節點計算出的ω廣播給簇內各檢測節點,網絡中檢測節點只需要將收集到的各個節點的數據利用式(12)計算出樣本在ω方向上的投影,然后利用這些投影點進行分類,由于得到的投影是一維模式,所以只需要找到一個合適的閾值即可分類。進行上述處理就把分類器的計算拆分為了兩個部分:(1)計算ω;(2)計算ω方向上的投影并分類。而檢測節點只需要做第2個部分的計算,因此大大減少了檢測節點的計算量。在通信能耗方面,通信能量主要是被發送信號所消耗,而接收信號所需能量是發送信號能耗的三分之一,這樣就使得通信中的能量消耗由資源不受限的Sink節點承擔。從而又大大減少了檢測節點的通信耗能。
首先將核Fisher判別方法仿真實驗,然后將其檢測結果與BP網絡、SVM方法進行對比。四類攻擊分別使用核Fisher判別方法、BP網絡、SVM[12]進行處理后的檢測率和誤檢測率如表2所示。

表2 檢測率與誤檢率
通過實驗結果對比,可以看出本方案在檢測精度上明顯高于BP網絡、和SVM。通過實驗結果分析,對于Probe攻擊、R2L攻擊、DOS攻擊可以有效檢測,并且誤檢率很低,但是對于U2R攻擊,3種方法的檢測率都普遍較低,并且誤檢率很高,主要原因是由于U2R類型攻擊樣本較少,分類器訓練不足,導致檢測率不高??梢娪柧殬颖緦z測較果起著至關重要的作用。
為了評估節點的平均能量開銷,統計了無攻擊無檢測、無攻擊有檢測和有攻擊無檢測這3種情況下的能耗。因為算法中大部分計算在資源不受限制的Sink節點中進行,所以,當檢測節點運行入侵檢測算法時,通信增加的能耗要遠大于計算增加的能耗。因此在討論能耗問題時只考慮檢測過程中的通信能耗。Chndrakasan[13-14]提出了一種能量消耗模型:
傳感器節點發送k比特數據所消耗的能量為

傳感器節點接收k比特數據所消耗的能量為

其中εamp是信號放大器的放大倍數,Estatic是發送電路和接收電路的能耗,d是信號的發送距離。
通過仿真實驗,入侵檢測系統耗能如圖5所示。

圖5 能量消耗
從圖5中可以看出,在系統運行的初期,耗能比較大,這是由于系統要提取特征,建立特征庫,并將特征向量廣播給檢測節點。經過一段時間后,能耗降低,這是因為系統進入檢測階段,通信開銷減少。但是以后每經過一個時間段,節點就會出現一個耗能高峰,這是因為經過一段時間,系統需要重新收集信息、建立特征庫、并廣播特征向量。因為整個算法中,絕大部分計算集中于資源不受限制的Sink節點?,F有的方案都將整個入侵檢測算法集中在檢測節點上,造成檢測計算量過大。通信能耗僅是接收特征向量,而特征向量僅僅是一個N維數組,數據量極小,所以通信耗能也保持在一個較低水平。這樣就大大增加了無線傳感器網絡的壽命,檢測算法能在高檢測率的同時保持相對較低的能耗。
本文針對無線傳感器網絡自身的特點,將核Fisher判別分析運用到無線傳感器網絡入侵檢測,提出了一種高效的入侵檢測算法,能夠有效的檢測出入侵行為,并具有較低的能耗。實驗表明,該算法最大的優點是檢測率高,檢測節點能耗低。但是對于U2R類攻擊本算法檢測率較低,對于篡改攻擊,偽造攻擊還未能檢測。因此,如何對U2R攻擊方式進行有效的檢測是下一步研究工作的重點。
[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] 王穎,李國瑞.基于分組的無線傳感器網絡入侵檢測方案[J].傳感技術學報,2007,20(3):677-681.
[3] 王培,周賢偉,覃伯平.基于多代理的無線傳感器網絡入侵檢測系統研究[J].傳感技術學報,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] 劉帥.無線傳感器網絡中能量有效的入侵檢測研究[D].湖南大學碩士學位論文,2007:15-41.
[7] 邢利.無線傳感器網絡入侵檢測方法的研究[D].北京工業大學碩士學位論文,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判別分析的目標識別[J].西安電子科技大學學報(自然科學版)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]祝琦,宋如順,姚永仙.無線傳感器網絡中基于SVM的合作型入侵檢測系統[J].計算機應用研究,2010,27(4):1489-1492.
[12]陳俊麗,焦李成.支撐矢量機的分類機理研究[J].西安電子科技大學學報,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.