江 超
(吉林師范大學(xué) 數(shù)學(xué)學(xué)院,吉林 四平136000)
無線傳感器網(wǎng)絡(luò)(WSNs)傳輸能力、計算能力、存儲能力、感知能力等方面的限制,安全面臨著巨大的挑戰(zhàn)。拒絕服務(wù)(denial-of service,DoS)攻擊在 WSNs 中是常見的[1],而且危害巨大。攻擊者通過干擾無線信道,大量重放、插入或丟棄報文等手段發(fā)起攻擊,削弱和消耗傳感器節(jié)點有限的能量,使網(wǎng)絡(luò)部分或全部癱瘓。
WSNs 需要具有節(jié)能、易擴展、分布式特點的多層安全體系,生物免疫原理為WSNs 安全體系的建立提供了堅實的基礎(chǔ)。生物免疫系統(tǒng)是在長期的進化過程中形成的一套嚴密的、安全高效的、多層次的體系。該體系中不同層次的不同成員嚴格遵守各自的規(guī)則,協(xié)同抵御各種抗原的襲擊[2],特別符合 WSNs 安全機制的需求。但是,WSNs 與生物系統(tǒng)畢竟還存在著巨大差異,這使得應(yīng)用醫(yī)學(xué)原理的WSNs 安全機制同樣面臨一些挑戰(zhàn)性問題:機密性保護、入侵的界定、知識存儲、多節(jié)點協(xié)作信息處理技術(shù)。傳感器網(wǎng)絡(luò)節(jié)點局部協(xié)同的工作模式要能夠?qū)崿F(xiàn)對被觀測區(qū)域內(nèi)所發(fā)生事件進行探測、分類和跟蹤,并滿足實時性要求,其實現(xiàn)方面還存在著困難。
目前對WSNs 安全機制研究和基于生物免疫原理的網(wǎng)絡(luò)安全機制的研究還處于初級階段。文獻[3]中提出了一種人工免疫系統(tǒng)(artificial immune system,ARTIS)通用框架,并應(yīng)用到了計算機安全領(lǐng)域中,對于免疫入侵檢測在計算機中的發(fā)展起到了重要作用。文獻[4]在文獻[3,5]的基礎(chǔ)上,提出了一種動態(tài)克隆選擇(dynamic clonal selection,DynamiCS)算法,進一步證明了生物免疫原理在信息學(xué)領(lǐng)域的可行性。在文獻[6]中,對生物免疫原理進行了更為形式化的描述,給出了一個基于人工免疫機理的動態(tài)入侵檢測模型,更好地推動了生物免疫原理在信息學(xué)領(lǐng)域的應(yīng)用。上述這些模型的特點主要體現(xiàn)在對人體自然免疫系統(tǒng)的模擬和抗體與抗原集合的動態(tài)結(jié)構(gòu)演化上。只是限制在模仿層面上,并不能完全體現(xiàn)人工免疫算法的特點與優(yōu)勢。文獻[7,8]中,對生物免疫學(xué)原理在信息學(xué)中的應(yīng)用又做了進一步的研究,但仍具有一定的局限性。
根據(jù)現(xiàn)階段無線傳感器網(wǎng)絡(luò)發(fā)展現(xiàn)狀和安全需求,本文設(shè)計了一種基于生物免疫原理的DoS 攻擊檢測算法--DDMI。
1)DDMI 算法體系結(jié)構(gòu)
DDMI 算法的安全體系結(jié)構(gòu)包含4 個層次,如圖1 所示。
圖1 WSNs 安全體系結(jié)構(gòu)圖Fig 1 Structure diagram of WSNs security system
偽裝和防篡改設(shè)計:處于安全體系的最外層,節(jié)點硬件設(shè)計時,通過偽裝和防篡改機制,可降低節(jié)點暴露與被策反的幾率。該層采用成熟的硬件設(shè)計方法實現(xiàn),在此不做深入研究。
全局密鑰加密:是安全系統(tǒng)的第二層,加密可以克服WSNs 信息易被竊聽的弱點;并可以防止被策反后的節(jié)點成為破壞能力更強的內(nèi)部攻擊。該層采用簡單的成熟加密算法,在此不做深入研究。
已知入侵識別:是安全體系的第三層,該層模擬生物的先天性免疫系統(tǒng),主要功能是分析提取已知網(wǎng)絡(luò)入侵模式,建立網(wǎng)絡(luò)入侵特征庫,檢測并確認網(wǎng)絡(luò)入侵。
未知入侵識別:是安全體系的最內(nèi)層,該層模擬生物體適應(yīng)性免疫系統(tǒng),用于識別和學(xué)習(xí)新的網(wǎng)絡(luò)入侵方式。在新的網(wǎng)絡(luò)攻擊方式不斷涌現(xiàn)的今天,該層越來越重要。
2)入侵特征庫的建立
對于入侵特征庫的建立,本文擬采用基于粗糙集的知識獲取方法,模型如圖2 所示。
由于缺乏傳感器網(wǎng)絡(luò)入侵模式和正常網(wǎng)絡(luò)行為的統(tǒng)計數(shù)據(jù),以及沒有傳感器網(wǎng)絡(luò)知識獲取研究的先例可借鑒,DDMI 算法確定采用基于實驗樣本分析的方法,研究傳感器網(wǎng)絡(luò)入侵特征庫建立。其中,特征屬性包括:節(jié)點發(fā)送報文的頻率、報文的源地址和目的地址、報文長度、不同類型報文在總報文數(shù)量中所占的比例等。
圖2 入侵特征庫知識獲取模型Fig 2 Knowledge acquisition model of intrusion characteristic library
由于傳感器網(wǎng)絡(luò)負載極度不均衡、結(jié)構(gòu)高度分散,獲取實驗數(shù)據(jù)的周期較長,可獲得的樣本數(shù)量有限、不完整、不精確。粗糙集理論在實現(xiàn)這種樣本的知識發(fā)現(xiàn)和約簡方面有天然的優(yōu)勢。因此,本文擬采用基于粗糙集(rough sets)的知識獲取方法實現(xiàn)入侵知識的學(xué)習(xí)。
Pawlak Z 于1982 年提出的粗糙集理論[9]是一種處理不完整性和不確定性的數(shù)學(xué)工具,能有效地分析和處理不精確、不一致、不完整等各種不完備信息。知識表達是粗糙集理論的關(guān)鍵部分,是要從大量的原始數(shù)據(jù)信息中分析發(fā)現(xiàn)有用的規(guī)律信息,即將知識從一種原來的表達形式轉(zhuǎn)換為一種新的目標表達形式(人類或計算機便于處理的形式,如邏輯形式等)。
3)生物免疫原理的學(xué)習(xí)和記憶
免疫識別過程同時也是一個學(xué)習(xí)過程,學(xué)習(xí)的結(jié)果使傳感器節(jié)點的入侵檢測能力提高、群體規(guī)模擴大,并且最優(yōu)入侵特征庫。免疫學(xué)習(xí)大致可分為2 種:一種發(fā)生在新入侵檢測階段,即免疫系統(tǒng)首次識別一種新的入侵時,其檢測時間和消耗能力也相對較長;而當節(jié)點重復(fù)遇到同一入侵時,由于免疫記憶機制的作用,入侵特征庫中已經(jīng)加入了新入侵特征,免疫系統(tǒng)對該入侵的檢測速度大大提高,并且能量消耗大為減少,這個過程是一個增強式學(xué)習(xí)過程。
信息表知識表達系統(tǒng)M 形式化地表示為四元組M =(U,R,V,f),其中,U={x1,x2,x3,…,xn,n∈N}為樣本的集合,即論域,R= C∪D 是屬性集合,子集C 和D 分別稱為條件屬性和決策屬性,V 是屬性值的集合,f:U·R→V 是一個信息函數(shù),它指定U 中每一個樣本x 的屬性值。在本文算法中屬性規(guī)定為R ={節(jié)點發(fā)送報文的頻率,報文的源地址,目的地址,報文長度,不同類型報文在總報文數(shù)量中所占的比例}。
對于屬性子集B?R 和相應(yīng)決策邏輯語言L,本文作如下定義:
定義1 對于每個屬性子集B?R,定義一個不可分辨關(guān)系IND(B)
顯然,IND(B)是一個等價關(guān)系(具有對稱性、自反性、傳遞性)。
定義2 決策表在粗糙集中起重要作用,也是一種具有特定功能的信息表,它表示滿足某些條件時,決策(行為、操作、控制)應(yīng)當如何進行??杀硎緸?S = (U,R,V,f),R =C∪D 是屬性集合,子集C 和D 分別稱為條件屬性和決策屬性,D≠Ф。
定義3 給定信息表M,對于每個子集X?U 和不可分辨關(guān)系B,X 的上近似集和下近似集分別可定義由B 基本集定義如下
B*= ∪{Yi|(Yi∈U| IND(B)∧Yi?X)}
B*=∪{Yi|(Yi∈U| IND(B)∧Yi∩X≠Ф)}
定義4 集合BNB(X)= B*(X)B*(X)稱為X 的B邊界;POSB(X)= B*(X)稱為B 正域;NEGB(X)=UB*(X)稱為X 的B 負域。對邊界域定義之后,可以得到上近似集、下近似集、正域、邊界域之間如下關(guān)系
定義5 假設(shè)集合X 是論域U 上的一個關(guān)系知識B 粗糙集,定義其B 精度為
其中,X≠Ф;如果X=Ф,則規(guī)定dB(X)=1。
定義6 假定集合X 是論域U 上的一個關(guān)于B 粗糙集,定義其B 的粗糙度為
PB(X)=1 - dB(X),
X 的粗糙度與精度剛好相反,表示集合X 的知識的不完全程度。
定義7 新入侵特征xi與入侵特征庫中的特征xk之間的相似度為
其中,i,k=1…N,且 i≠k,N 為入侵特征屬性數(shù)量;j =1…n,n 為特征庫中某個特征的屬性數(shù)量值,aj,bj為 j 維空間的約束條件。當A 大于某個限定值K 時,認為入侵特征與特征庫中某特征值相同,確定為入侵。
本文中的算法分為2 個階段,檢測規(guī)則形成階段和入侵特征庫更新階段(學(xué)習(xí)階段)。
1)在一個檢測周期T 內(nèi),收集節(jié)點周圍監(jiān)聽的數(shù)據(jù),提取數(shù)據(jù)特征,寫入信息表M 中。
2)對信息表M 進行屬性約簡,將收集的數(shù)據(jù)集進行屬性整理,對入侵檢測屬性進行約簡(在M 中刪除重復(fù)數(shù)據(jù)和無關(guān)數(shù)據(jù)),刪除冗余入侵屬性數(shù)據(jù)。
3)檢測網(wǎng)絡(luò)運行有無異常,如果正常,進入下一個檢測周期T+1,轉(zhuǎn)到步驟(1);如果異常,用經(jīng)過屬性約簡后的信息表構(gòu)建決策表,導(dǎo)出規(guī)則屬性。對照特征庫中數(shù)據(jù),查找異常特征是否存在,如果存在,將按已設(shè)置方法隔離、消除入侵節(jié)點;否則,進入步驟(4)。
4)對異常特征進行分類,使集合R 逐漸清晰,并判斷BNB(X)是否為空集或小于閾值 To,如果為否,則令X =BNB(X),重復(fù)步驟(4)。其中,To=PB(X)。
5)將分類后的異常特征通知Agent,Agent 根據(jù)異常特征確定異常節(jié)點,并定位入侵節(jié)點,用廣播方式通知簇內(nèi)的節(jié)點,簇內(nèi)節(jié)點接到通知后,將不再與入侵節(jié)點進行通信,達到消除入侵節(jié)點的作用。
6)將異常特征寫入特征庫。
If(check(xi)= =true and check(xi)= =new)
Then write(xi);k=k+1;
Else if(check(xi)= =false or not new)
Then i=i+1;
End if;
等待進入下一檢測周期,轉(zhuǎn)到步驟(1)。
本文在仿真軟件NS2 環(huán)境中,200 m ×200 m 的區(qū)域內(nèi)布置了1000 個節(jié)點和20 個基站。每個節(jié)點的原始能量為2.5 J,采樣周期為100 s,基站為攜帶較多能量的節(jié)點,可暫不考慮能量問題,而只考慮普通節(jié)點的能量消耗。入侵節(jié)點25 個,在每個檢測周期呈現(xiàn)不同狀態(tài)(睡眠、等待、激活等)。
DoS 攻擊是以消耗網(wǎng)絡(luò)能量、迫使網(wǎng)絡(luò)癱瘓為目標的,網(wǎng)絡(luò)流量明顯增加是其主要特征之一。圖3 為WSNs 在理想狀態(tài)(無DoS 攻擊)下,網(wǎng)絡(luò)流量情況。圖4 是 DDMI 算法中,根據(jù)網(wǎng)絡(luò)運行情況,判斷出的網(wǎng)絡(luò)流量。從圖3 與圖4 比較可以看出:網(wǎng)絡(luò)流量趨勢大致相同,在誤差允許的前提下,可以認為二者是相同的,也就是說DDMI 算法中判斷所得網(wǎng)絡(luò)流量可以近似代替理想狀態(tài)下WSNs 的網(wǎng)絡(luò)流量。這樣,在WSNs 正常運行狀態(tài)(可能有DoS 攻擊)下,受到攻擊時,網(wǎng)絡(luò)流量會與DDMI 算法中的判斷的網(wǎng)絡(luò)流量產(chǎn)生明顯不同的趨勢,即初步斷定網(wǎng)絡(luò)受到攻擊。
圖3 WSNs 流量圖Fig 3 Flow diagram of WSNs
圖4 DDMI 算法中判斷網(wǎng)絡(luò)流量圖Fig 4 Diagram of networks flow judged by DDMI algorithm
圖5 為節(jié)點平均能耗與入侵次數(shù)關(guān)系圖。由圖中曲線可以看出:在網(wǎng)絡(luò)沒有受到入侵時,節(jié)點平均能耗僅為維持網(wǎng)絡(luò)運行的能耗值。當發(fā)生網(wǎng)絡(luò)入侵時,在前10 次之內(nèi),平均能耗迅速增加,在入侵達到10 次以上時,能耗相對平穩(wěn),而且保持在一個相對較低的水平。這一現(xiàn)象與生物免疫學(xué)原理中的記憶和自學(xué)習(xí)能力相吻合,也就是當網(wǎng)絡(luò)剛剛發(fā)生入侵時,特征庫內(nèi)還沒有入侵節(jié)點的特征,簇內(nèi)節(jié)點如沒識別入侵,需要消耗較多能量進行入侵識別、檢測、寫入特征庫等工作后才能完成識別入侵的任務(wù);當發(fā)生幾次入侵后,特征庫中已經(jīng)記錄了發(fā)生過的入侵節(jié)點特征,同種入侵再次發(fā)生時,就會變成已知入侵,節(jié)點只需要對照特征庫中入侵節(jié)點的特征,就可以采取相應(yīng)防御手段,隔離并消除入侵,所以,當大多數(shù)入侵都變?yōu)橐阎肭謺r,能量消耗變得相對平穩(wěn),基本處于未發(fā)生入侵之前的狀態(tài)。
圖5 節(jié)點能量隨入侵發(fā)生次數(shù)關(guān)系圖Fig 5 Diagram of relation between node energy and intrusion numbers
從圖5 中,還可以發(fā)現(xiàn)在未使用DDMI 方法之前,節(jié)點能量隨著網(wǎng)絡(luò)入侵發(fā)生的次數(shù)不斷減少,直至能量完全消耗。說明不使用DDMI 算法,網(wǎng)絡(luò)不具有的記憶和自學(xué)習(xí)能力,每次入侵都需要進行同樣的檢測,并采取相應(yīng)的方法隔離入侵節(jié)點,這樣,每次入侵檢測都需要消耗一定量的能量,最終由于不斷發(fā)生DoS 攻擊使得能量耗盡,網(wǎng)絡(luò)癱瘓。使用DDMI 算法,使得網(wǎng)絡(luò)具有自學(xué)習(xí)和識別功能,相同性質(zhì)的網(wǎng)絡(luò)入侵,無需檢測就可以對照入侵特性庫判斷,并采取相應(yīng)方法,大大減輕了相同入侵對網(wǎng)絡(luò)能量的損耗。
以WSNs 中常見的8 種資源消耗型DoS 攻擊(擁塞攻擊、泛洪攻擊等)方式為例,通過仿真對本文提出的DDMI算法檢測能力進行比較,如圖6 所示。其余6 種DoS 攻擊為服務(wù)程序漏洞型,只需在發(fā)送源地址和目的地址的同時,加發(fā)TCP SYN 包,就可以使該服務(wù)完全停止。而且,已有較成熟的路由協(xié)議,本文不再討論。
從圖6 可以看出:隨著檢測周期不斷進行,檢測率不斷增加,最后達到(接近)100%,這說明,DDMI 算法可以檢測出WSNs 中全部DoS 攻擊。曲線是逐漸達到最大值的,這是本文算法具有學(xué)習(xí)能力的一種體現(xiàn),因為隨著時間推移,每檢測出一種新攻擊,就加入到入侵特征庫中,這樣,當全部DoS 攻擊都被加入到入侵特征庫時,網(wǎng)絡(luò)就可以完全識別全部DoS 攻擊,使檢測率達到100%。
圖6 相似度A 取不同值時檢測率比較Fig 6 Detecting rate contrast while A value of similarity is different
從圖6 中還可以看出:3 條曲線并不完全相同,這是由入侵特征xi與入侵特征庫中的特征xk之間的相似度A 決定的。當A 值較大時,說明入侵特征與入侵特征庫中的特征屬性值相似度高,容易判斷入侵的種類(通過與入侵特征庫中特征值對照),也容易采取相關(guān)措施隔離、消除入侵;反之,A 值較小時,入侵特征與入侵特征庫中特征屬性值相似度低,不易辨別入侵種類,甚至可能將其當成庫中沒有入侵進行處理,極大地浪費了時間和通信資源。選取合適的A 值會使網(wǎng)絡(luò)達到良好的運行狀態(tài)。
從圖7 可以看出:錯檢率隨閾值To的增加而增加。閾值To表示粗糙集的粗糙程度,也就是說將收集到的信息處理和分析得精確度、完整性、一致性越高,錯檢率就越低,也就是越容易檢測入侵。
圖7 闕值To 對錯檢率的影響Fig 7 Effect of threshold To on false detecting rate
本文在對WSNs 中DoS 攻擊進行分析的基礎(chǔ)上,結(jié)合生物免疫原理,提出基于生物免疫原理的DoS 攻擊檢測算法。采用粗糙集很好地解決了WSNs 信息的不完整性和不確定性。仿真結(jié)果表明:在使用了本文提出的DDMI 算法后,對于DoS 入侵攻擊的檢測率可以達到100%。入侵特征庫和自學(xué)習(xí)能力的引入也使得入侵檢測高效和節(jié)能。
降低粗糙程度可以使錯檢率降低,使入侵檢測更準確,但在WSNs 中,能量、計算能力及內(nèi)存都是有限的,如何在減少能量消耗的情況下,降低粗糙程度,保證檢測率更高,將是今后需要繼續(xù)研究的課題。
[1] Raymond D R,Midkiff S F.Denial-of-service in wireless sensor networks:Attacks and defenses[J].IEEE Pervasive Computing,2008,7(1):74 -81.
[2] Hofmeyr S.An immunological model of distributed detection and its application to computer security[D].Albuquerque:University of New Mexico,1999.
[3] Hofmeyr S,F(xiàn)orrest S.Architecture for an artificial immune system[J].Evolutionary Computation,2000,8(4):443 -473.
[4] Kim J,Bentley P.Towards an artificial immune system for network intrusion detection:An investigation of dynamic clonal selection[C]∥Proceedings of the 2002 Congress on Evolutionary Computation,CEC’02,Washington DC,USA,IEEE Computer Society,2002:1015 - 1020.
[5] 李 濤.計算機免疫學(xué)[M].北京:電子工業(yè)出版社,2004.
[6] 李 濤.Idid:一種基于免疫的動態(tài)入侵檢測模型[J].科學(xué)通報,2005,50(17):1912 -1919.
[7] 公茂果,郝 琳,焦李成,等.基于人工免疫系統(tǒng)的數(shù)據(jù)簡化[J].軟件學(xué)報,2009,20(4):804 -814.
[8] 嚴宣輝.應(yīng)用疫苗接種策略的免疫入侵檢測模型[J].電子學(xué)報,2009,37(4):780 -785.
[9] Pawalk Z.Rough sets-Theoretical aspects of reasoning about data[M].Dordrecht:Kluwer Academic Publishesr,1991.