滕志軍,杜春秋,孫匯陽(yáng),李 夢(mèng),王艷嬌
(1.現(xiàn)代電力系統(tǒng)仿真控制與綠色電能新技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室(東北電力大學(xué)),吉林 吉林 132012;2.東北電力大學(xué) 電氣工程學(xué)院,吉林 吉林 132012;3.北京電子科技學(xué)院 密碼科學(xué)與技術(shù)系,北京 100070)
近年來(lái),隨著無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)的飛速發(fā)展,其在軍事領(lǐng)域和民用領(lǐng)域都得到了廣泛的應(yīng)用[1],因此保證網(wǎng)絡(luò)的安全運(yùn)行具有重要意義。由于傳感器節(jié)點(diǎn)通常部署在無(wú)人監(jiān)管的區(qū)域,各節(jié)點(diǎn)隨機(jī)分布,且能量有限,因此很容易受到各種惡意攻擊[2-4]。其中,蟲(chóng)洞攻擊就是一種常見(jiàn)的惡意攻擊形式,其由至少兩個(gè)相距較遠(yuǎn)的蟲(chóng)洞節(jié)點(diǎn)合謀發(fā)起,通過(guò)私有信道互相發(fā)送信息,從而破壞路由的建立、更新與維護(hù)過(guò)程[5-7],對(duì)WSNs的安全產(chǎn)生嚴(yán)重威脅。
為有效檢測(cè)蟲(chóng)洞攻擊,降低其對(duì)網(wǎng)絡(luò)的影響,國(guó)內(nèi)外專(zhuān)家學(xué)者們相繼展開(kāi)研究。董曉梅等[8]提出了一種WSNs中針對(duì)蟲(chóng)洞攻擊的SMRSA檢測(cè)算法。該算法主要根據(jù)受攻擊節(jié)點(diǎn)間通信路徑明顯變短來(lái)定位感染節(jié)點(diǎn)所在的可疑路徑,然后對(duì)可疑路徑上的節(jié)點(diǎn)進(jìn)行鄰居數(shù)目的檢查,將鄰居數(shù)目出現(xiàn)異常的節(jié)點(diǎn)視為受攻擊節(jié)點(diǎn)。Hayajneh等[9]提出了SECUND算法,主要通過(guò)檢查互斥鄰居之間的跳數(shù)是否超過(guò)預(yù)定義的閾值來(lái)檢測(cè)蟲(chóng)洞攻擊。Luo等[10]提出一種CREDND檢測(cè)算法。將蟲(chóng)洞攻擊分為外部攻擊和內(nèi)部攻擊兩種,針對(duì)外部攻擊利用節(jié)點(diǎn)鄰居數(shù)目和路徑跳數(shù)進(jìn)行檢測(cè),針對(duì)內(nèi)部攻擊則利用鄰居監(jiān)測(cè)的方式進(jìn)行檢驗(yàn)。Amish等[11]基于RTT機(jī)制和蟲(chóng)洞攻擊的數(shù)據(jù)傳輸特征,將AOMDV路由協(xié)議融入了這些方法中,通過(guò)比較端到端的時(shí)延,篩選出蟲(chóng)洞攻擊節(jié)點(diǎn)。胡蓉華等[12]提出了一種SenLeash蟲(chóng)洞攻擊檢測(cè)機(jī)制,主要依據(jù)節(jié)點(diǎn)的消息傳輸距離受限特性來(lái)檢測(cè)蟲(chóng)洞攻擊。韓挺等[13]提出了一種基于多屬性決策的MANET路由動(dòng)態(tài)信任模型來(lái)判斷節(jié)點(diǎn)性質(zhì)。該模型通過(guò)引入推薦信任度和推薦節(jié)點(diǎn)搜索算法檢測(cè)網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)。周治平等[14]提出一種改進(jìn)的貝葉斯信譽(yù)模型,根據(jù)節(jié)點(diǎn)的信任值來(lái)檢測(cè)惡意攻擊。另外,針對(duì)蟲(chóng)洞攻擊對(duì)DV-HOP定位過(guò)程的影響,許多改進(jìn)的蟲(chóng)洞攻擊檢測(cè)算法相繼被提出來(lái)[15-16],這些算法能有效識(shí)別蟲(chóng)洞攻擊,降低其對(duì)定位過(guò)程的影響。
上述檢測(cè)方案為蟲(chóng)洞攻擊的研究提供了扎實(shí)的理論基礎(chǔ),但仍存在以下幾點(diǎn)問(wèn)題:1)在利用節(jié)點(diǎn)間距離進(jìn)行攻擊檢測(cè)時(shí),需要用到GPS等硬件設(shè)施,這使得檢測(cè)過(guò)程更加復(fù)雜,網(wǎng)絡(luò)成本較高;2)在根據(jù)節(jié)點(diǎn)路徑跳數(shù)進(jìn)行檢測(cè)時(shí),未對(duì)蟲(chóng)洞鏈路進(jìn)行避讓?zhuān)沟脵z測(cè)效率大大降低;3)如果僅利用信譽(yù)模型進(jìn)行攻擊檢測(cè),則很容易出現(xiàn)蟲(chóng)洞節(jié)點(diǎn)漏檢的情況;4)若利用傳輸時(shí)延來(lái)檢測(cè),則節(jié)點(diǎn)間需要精準(zhǔn)的時(shí)鐘同步,不僅能耗高且數(shù)據(jù)的可用性無(wú)法得到保證。針對(duì)上述問(wèn)題,本文提出一種融合節(jié)點(diǎn)信譽(yù)度和路徑跳數(shù)的蟲(chóng)洞攻擊檢測(cè)策略(WADS-NC&PH)。該策略主要基于網(wǎng)絡(luò)受攻擊后節(jié)點(diǎn)鄰居數(shù)目及路徑跳數(shù)的變化特點(diǎn),結(jié)合信譽(yù)模型,計(jì)算可疑節(jié)點(diǎn)的路徑信任評(píng)價(jià)量,以判定網(wǎng)絡(luò)中是否存在蟲(chóng)洞攻擊。
本文假設(shè)WSNs中節(jié)點(diǎn)數(shù)目為N,各節(jié)點(diǎn)近似均勻地分布在面積為S的整個(gè)網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)的通信半徑為r,傳感器節(jié)點(diǎn)的分布密度如下:
(1)
節(jié)點(diǎn)平均鄰居數(shù)目n′的計(jì)算方式見(jiàn)式(2)。
(2)
WSNs中的蟲(chóng)洞攻擊通常由兩個(gè)惡意節(jié)點(diǎn)合謀發(fā)起,二者分別位于網(wǎng)絡(luò)兩端,一般相距較遠(yuǎn),節(jié)點(diǎn)的配置信息不會(huì)出現(xiàn)在路由表中,在網(wǎng)絡(luò)中處于一種“隱身”的狀態(tài)。進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),一端的蟲(chóng)洞節(jié)點(diǎn)將收到的信息通過(guò)私有鏈路傳遞給位于網(wǎng)絡(luò)另一端的合謀節(jié)點(diǎn),該合謀節(jié)點(diǎn)再將收到的信息以廣播的方式發(fā)送給周?chē)従庸?jié)點(diǎn),從而擾亂數(shù)據(jù)的正常傳輸,影響網(wǎng)絡(luò)性能。
本文假設(shè)蟲(chóng)洞鏈路的長(zhǎng)度遠(yuǎn)大于正常節(jié)點(diǎn)的通信半徑。圖1為兩個(gè)蟲(chóng)洞節(jié)點(diǎn)M1、M2協(xié)同發(fā)動(dòng)蟲(chóng)洞攻擊的示意圖。其中,源節(jié)點(diǎn)O到達(dá)目的節(jié)點(diǎn)D的原始路徑有兩條,路徑跳數(shù)最少是6跳。然而,當(dāng)網(wǎng)絡(luò)受到蟲(chóng)洞攻擊時(shí),源節(jié)點(diǎn)O發(fā)送的消息會(huì)通過(guò)蟲(chóng)洞鏈路直接傳送至目的節(jié)點(diǎn)D,該條路徑的跳數(shù)僅為1跳。此時(shí),節(jié)點(diǎn)O、D會(huì)將彼此誤認(rèn)為鄰居節(jié)點(diǎn),嚴(yán)重影響網(wǎng)絡(luò)的正常通信和數(shù)據(jù)傳輸。
圖1 蟲(chóng)洞攻擊模型Fig.1 Wormhole attack model
由于蟲(chóng)洞節(jié)點(diǎn)的轉(zhuǎn)發(fā)特性,導(dǎo)致原本不屬于彼此通信范圍內(nèi)的節(jié)點(diǎn)間建立連接,使得被攻擊節(jié)點(diǎn)的鄰居數(shù)目大量增多。本文根據(jù)蟲(chóng)洞攻擊這一特性對(duì)網(wǎng)絡(luò)中的可疑節(jié)點(diǎn)進(jìn)行篩選,這樣既可以避免針對(duì)所有節(jié)點(diǎn)啟動(dòng)檢測(cè)的能量消耗,又可以高效率、有針對(duì)性地檢測(cè)出蟲(chóng)洞攻擊。
首先,網(wǎng)絡(luò)中各節(jié)點(diǎn)更新鄰居列表,并統(tǒng)計(jì)鄰節(jié)點(diǎn)數(shù)目,將各節(jié)點(diǎn)的鄰居數(shù)目記為Gi,然后將Gi與節(jié)點(diǎn)平均鄰居數(shù)目n′相比,設(shè)定鄰居閾值比為W,若Gi/n′≥W,說(shuō)明該節(jié)點(diǎn)的鄰居數(shù)目超出閾值,可能受到蟲(chóng)洞攻擊,那么將該節(jié)點(diǎn)列入可疑節(jié)點(diǎn)名單,準(zhǔn)備進(jìn)行下一階段的檢測(cè)。鄰居閾值比W的大小由后文仿真進(jìn)行確定。
如圖2所示,節(jié)點(diǎn)A、B為被篩選出的可疑節(jié)點(diǎn),M1、M2為一對(duì)蟲(chóng)洞攻擊節(jié)點(diǎn),二者通過(guò)私有鏈路相互連接。節(jié)點(diǎn)M1將收到的數(shù)據(jù)包經(jīng)由蟲(chóng)洞鏈路直接傳遞給節(jié)點(diǎn)M2,然后M2廣播相同的數(shù)據(jù)包,使得其覆蓋區(qū)域中的每個(gè)節(jié)點(diǎn)都能接收到該包。假設(shè)將節(jié)點(diǎn)A的1跳鄰居集表示為NA,節(jié)點(diǎn)B的1跳鄰居集表示為NB,蟲(chóng)洞節(jié)點(diǎn)M1,M2的1跳鄰居集分別表示為NM1,NM2。那么在蟲(chóng)洞攻擊影響下,節(jié)點(diǎn)A的原始鄰居集{C,D,E,P,Q}中添加了NM2中的所有節(jié)點(diǎn),此時(shí),A的鄰居集合可表示為NA={P,Q,C,D,E,R,S,I,J,K,B}。同理,節(jié)點(diǎn)B的鄰居集NB={R,S,L,N,O,P,Q,F,G,H,A}。
圖2 蟲(chóng)洞攻擊檢測(cè)模型Fig.2 Wormhole attack detection model
將公有鄰居集定義為節(jié)點(diǎn)A、B鄰居集中相同節(jié)點(diǎn)所組成的集合。將A(B)的專(zhuān)有鄰居集定義為只包含在節(jié)點(diǎn)A(B)鄰居集內(nèi)而不在節(jié)點(diǎn)B(A)鄰居集內(nèi)的節(jié)點(diǎn)所組成的集合。用Ncom表示節(jié)點(diǎn)A、B的公有鄰居集,NA′、NB′分別表示A、B的專(zhuān)有鄰居集,則有Ncom=NA∩NB={P,Q,R,S},NA′=NA-Ncom-{B}={C,D,E,I,J,K},NB′=NB-Ncom-{A}={L,N,O,F,G,H}。對(duì)于節(jié)點(diǎn)A、B而言,A的專(zhuān)有鄰節(jié)點(diǎn)C、D、E與B的專(zhuān)有鄰節(jié)點(diǎn)L、N、O相距很遠(yuǎn),實(shí)際跳數(shù)比在蟲(chóng)洞攻擊下的跳數(shù)高得多。
為了更加準(zhǔn)確的檢測(cè)出蟲(chóng)洞攻擊,首先要避開(kāi)蟲(chóng)洞路徑。在計(jì)算專(zhuān)有鄰居節(jié)點(diǎn)間的路徑跳數(shù)時(shí),本文選擇不在節(jié)點(diǎn)A、B及蟲(chóng)洞節(jié)點(diǎn)M1、M2通信范圍內(nèi)的其他節(jié)點(diǎn)作為中間節(jié)點(diǎn),將選定的路徑標(biāo)記為參考路徑,并將路徑跳數(shù)與蟲(chóng)洞閾值相比,判斷當(dāng)前路徑類(lèi)型。參考路徑的選取步驟如下。
Step1節(jié)點(diǎn)C廣播一個(gè)HELLO消息,根據(jù)收到消息的回復(fù)情況建立其鄰居集合NC;
Step2節(jié)點(diǎn)C檢測(cè)其鄰居集NC中是否含有與節(jié)點(diǎn)A、B鄰居集NA、NB中相同的節(jié)點(diǎn),若有,則從其鄰居集中刪除這些節(jié)點(diǎn),從而獲得新的純凈鄰居集NC′,否則更新集合NC為NC′,轉(zhuǎn)到Step3;
Step3節(jié)點(diǎn)C再次發(fā)送一個(gè)數(shù)據(jù)包Q,路徑目標(biāo)為網(wǎng)絡(luò)中的節(jié)點(diǎn)X,選擇NC′中的某節(jié)點(diǎn)Y作為下一跳節(jié)點(diǎn)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā);
Step4節(jié)點(diǎn)Y重復(fù)Step1~3,以相同的方式選擇下一跳節(jié)點(diǎn),并轉(zhuǎn)發(fā)該數(shù)據(jù)包,依此類(lèi)推,直至數(shù)據(jù)包到達(dá)目的節(jié)點(diǎn)X;
Step5搜索出所有從節(jié)點(diǎn)C到節(jié)點(diǎn)X的路徑,選擇跳數(shù)最少的有效路徑作為參考路徑。
如圖3(a)所示,節(jié)點(diǎn)A、B為真實(shí)鄰居,二者通信范圍內(nèi)不存在蟲(chóng)洞攻擊節(jié)點(diǎn),通信距離d 圖3 節(jié)點(diǎn)通信模型Fig.3 Node communication model 通過(guò)上述分析可知,當(dāng)節(jié)點(diǎn)A、B受到蟲(chóng)洞攻擊時(shí),按本文參考路徑選取方式得到的專(zhuān)有鄰居節(jié)點(diǎn)間的最小跳數(shù)應(yīng)不低于4跳。因而,本文將蟲(chóng)洞閾值ε設(shè)置為:ε=4+τ。若NA′中的節(jié)點(diǎn)到NB′中所有節(jié)點(diǎn)的路徑跳數(shù)均低于蟲(chóng)洞閾值,則節(jié)點(diǎn)A、B為正常節(jié)點(diǎn),二者通信范圍內(nèi)不存在蟲(chóng)洞攻擊;若存在跳數(shù)高于蟲(chóng)洞閾值的路徑,則節(jié)點(diǎn)A、B很可能受到蟲(chóng)洞攻擊。考慮到WSNs的數(shù)據(jù)傳輸特征,某些路徑上的節(jié)點(diǎn)剩余能量低,不參與協(xié)作或是提前死亡,導(dǎo)致路徑跳數(shù)的判斷存在誤差,使得誤檢率升高。因此,本文為降低這種情況帶來(lái)的不利影響,將跳數(shù)超出閾值的路徑標(biāo)記為待測(cè)路徑,對(duì)其進(jìn)一步進(jìn)行路徑信任評(píng)價(jià)量的檢測(cè)。 信任是衡量節(jié)點(diǎn)可靠性的重要依據(jù),本文通過(guò)建立信任模型,計(jì)算待測(cè)路徑上中間節(jié)點(diǎn)的信任值,然后對(duì)該路徑的合理性進(jìn)行評(píng)判,從而檢測(cè)網(wǎng)絡(luò)中的蟲(chóng)洞攻擊。節(jié)點(diǎn)信任值的計(jì)算方式如下。 2.3.1 直接信任 根據(jù)WSNs貝葉斯信任評(píng)估模型[17](beta reputation system)對(duì)節(jié)點(diǎn)的直接信任值進(jìn)行計(jì)算。假設(shè)在時(shí)間T內(nèi)節(jié)點(diǎn)i與節(jié)點(diǎn)j一共完成了(αij+βij)次通信任務(wù),其中通信成功的次數(shù)為αij次,通信失敗的次數(shù)為βij次。直接信任值的計(jì)算公式可表示為 (3) 式中:pacf表示異常修正因子,用來(lái)削弱由于非入侵因素的存在導(dǎo)致節(jié)點(diǎn)交互失敗次數(shù)增加的影響,rwwf為節(jié)點(diǎn)的行為約束函數(shù),主要對(duì)通信失敗次數(shù)增加的節(jié)點(diǎn)實(shí)施相應(yīng)處罰。二者表達(dá)式為: (4) (5) 式中:Rt表示在某一時(shí)段T內(nèi),網(wǎng)絡(luò)中檢測(cè)到的節(jié)點(diǎn)通信受影響的總次數(shù),Et表示網(wǎng)絡(luò)通信異常時(shí),節(jié)點(diǎn)由于網(wǎng)絡(luò)攻擊所引起異常行為的次數(shù)。Wt表示節(jié)點(diǎn)具有影響力的通信總次數(shù),即節(jié)點(diǎn)成功轉(zhuǎn)發(fā)數(shù)據(jù)包,且相同數(shù)據(jù)包只轉(zhuǎn)發(fā)一次的通信次數(shù)。 2.3.2 間接信任 節(jié)點(diǎn)的間接信任可以看作是第三方推薦節(jié)點(diǎn)對(duì)待評(píng)價(jià)節(jié)點(diǎn)行為做出的評(píng)估。假設(shè)節(jié)點(diǎn)i和節(jié)點(diǎn)j擁有的共同鄰居數(shù)為L(zhǎng)個(gè),滿(mǎn)足模糊評(píng)判條件的節(jié)點(diǎn)數(shù)為k'。由于信任具有傳遞性,則間接信任可由源節(jié)點(diǎn)i與推薦節(jié)點(diǎn)k的直接信任Dik和推薦節(jié)點(diǎn)k與目的節(jié)點(diǎn)j的直接信任Dkj共同決定,那么節(jié)點(diǎn)i,j的間接信任可表示為 (6) 由于推薦節(jié)點(diǎn)并非都是可信的,因此對(duì)選中的推薦節(jié)點(diǎn)進(jìn)行了相應(yīng)限制。Nfail表示節(jié)點(diǎn)i和節(jié)點(diǎn)k的直接信任值Dik低于0.3的節(jié)點(diǎn)數(shù)目,Ntol表示被選中的推薦節(jié)點(diǎn)總數(shù)。Bqte表示模糊信任評(píng)判結(jié)果。 由于網(wǎng)絡(luò)中節(jié)點(diǎn)存在個(gè)體化差異,且在負(fù)載動(dòng)態(tài)變化時(shí),可能會(huì)對(duì)節(jié)點(diǎn)間的信任造成一定影響。因此本文采用模糊綜合評(píng)判模型[18]對(duì)推薦節(jié)點(diǎn)的各信任因素進(jìn)行分析??紤]到蟲(chóng)洞攻擊下的網(wǎng)絡(luò)通信特性及節(jié)點(diǎn)自身物理屬性,將推薦節(jié)點(diǎn)信任因素指標(biāo)集定義為{鄰居數(shù)目,處理延時(shí),節(jié)點(diǎn)能量,包轉(zhuǎn)發(fā)率},記作X={X1,X2,X3,X4},相應(yīng)權(quán)重集合可表示為A={a1,a2,a3,a4},a1+a2+a3+a4=1。由于各信任因素的性質(zhì)不同,對(duì)評(píng)估過(guò)程的影響差異較大,因此本文采用層次分析法[19](analytic hierarchy process,AHP)來(lái)建立各評(píng)價(jià)因素的信任模型,通過(guò)引用AHP的1-9標(biāo)度法[19]計(jì)算得到信任因素的權(quán)重為:a1=0.787,a2=0.172,a3=0.034,a4=0.007。 定義評(píng)價(jià)集合V={V1,V2,V3,V4},Vm表示評(píng)價(jià)等級(jí),當(dāng)m=1,2,3,4時(shí)分別表示不可信、低可信、中可信和高可信。對(duì)X中每一因素根據(jù)評(píng)價(jià)集中的等級(jí)指標(biāo)進(jìn)行模糊評(píng)判,得到隸屬度矩陣R為 (7) rnm表示各信任因素指標(biāo)對(duì)評(píng)價(jià)等級(jí)的隸屬度。接下來(lái)將隸屬度矩陣R與評(píng)價(jià)權(quán)重集合A做模糊合成運(yùn)算,得到信任因素集X的評(píng)價(jià)結(jié)果為 (8) 式中“·”為加權(quán)平均型模糊合成算子,這種算子的特點(diǎn)是可均衡評(píng)價(jià)因素間的差異,防止異常因素的干擾。綜合程度高,效果顯著。依據(jù)M=(·,⊕)算子的計(jì)算方式,ym的計(jì)算公式為 (9) (10) 2.3.3 綜合信任 節(jié)點(diǎn)當(dāng)前的綜合信任值可通過(guò)直接信任和間接信任加權(quán)獲得,即 Tij(t)=φDij(t)+μIij(t) (11) 式中:φ代表直接信任的權(quán)重,μ代表間接信任的權(quán)重,且φ+μ=1。由于此時(shí)對(duì)網(wǎng)絡(luò)的情況不了解,直接信任和間接信任對(duì)綜合信任的影響視為同等重要,二者權(quán)重被均等分配,即φ=μ=0.5。 在對(duì)待測(cè)路徑進(jìn)行信任評(píng)價(jià)量的檢測(cè)時(shí),考慮受攻擊節(jié)點(diǎn)專(zhuān)有鄰居集中的節(jié)點(diǎn)相距較遠(yuǎn),實(shí)際轉(zhuǎn)發(fā)跳數(shù)很高,因此對(duì)每條路徑的信任評(píng)價(jià)量通過(guò)分組計(jì)算[20],每?jī)商鵀橐唤M。將待測(cè)路徑的總跳數(shù)表示為H,分組方式如下 (12) δ=exp(-0.5(x-1)) (13) 式中衰減系數(shù)δ的擴(kuò)展矩陣δdel可表示為 (14) 分組路徑信任的矩陣表達(dá)式為 (15) (16) (17) 假設(shè)無(wú)線傳感器網(wǎng)絡(luò)尺寸為100 m×100 m的正方形區(qū)域,在其中部署100個(gè)靜態(tài)傳感器節(jié)點(diǎn),各節(jié)點(diǎn)近似均勻分布,通信半徑為10 m,均可百分百響應(yīng)通信請(qǐng)求。仿真參數(shù)見(jiàn)表1。 表1 仿真參數(shù)Tab.1 Simulation parameters 圖5表示W(wǎng)SNs在蟲(chóng)洞攻擊下的網(wǎng)絡(luò)模型,蟲(chóng)洞節(jié)點(diǎn)集合分別為{98,97},{40,35,22},{80,82,89,90},{90,1,64,66,3},這些蟲(chóng)洞節(jié)點(diǎn)信息不會(huì)出現(xiàn)在路由表中,在網(wǎng)絡(luò)中處于一種“隱身狀態(tài)”。針對(duì)以上網(wǎng)絡(luò)分別進(jìn)行仿真分析。P表示蟲(chóng)洞節(jié)點(diǎn)數(shù)目。 圖5 WSNs蟲(chóng)洞攻擊模型Fig.5 Wormhole attack model in WSNs 可疑節(jié)點(diǎn)覆蓋率與鄰居閾值比、蟲(chóng)洞節(jié)點(diǎn)數(shù)目三者的整體關(guān)系見(jiàn)圖6。從圖中可以看出,隨著鄰居閾值比的增加,可疑節(jié)點(diǎn)覆蓋率在逐漸減小,這是因?yàn)猷従娱撝翟酱?,WSNs對(duì)處于蟲(chóng)洞攻擊下節(jié)點(diǎn)的鄰居數(shù)目要求就越高,滿(mǎn)足條件的節(jié)點(diǎn)越來(lái)越少,存在受蟲(chóng)洞影響節(jié)點(diǎn)漏檢的情況。只有當(dāng)鄰居閾值相對(duì)較小時(shí),對(duì)網(wǎng)絡(luò)中受攻擊節(jié)點(diǎn)的檢測(cè)才更加全面,可疑節(jié)點(diǎn)覆蓋率更高。由于鄰居閾值比在1.1~1.5之間的檢測(cè)率相差很小,考慮到網(wǎng)絡(luò)能耗,本文鄰居閾值比W取1.5。 圖6 可疑節(jié)點(diǎn)覆蓋率與鄰居閾值比和蟲(chóng)洞節(jié)點(diǎn)數(shù)目的關(guān)系Fig.6 Relation between suspicious node coverage,neighbor threshold ratio,and number of wormhole nodes 在鄰居閾值比為1.5的前提下對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行篩查,并進(jìn)一步檢測(cè)可疑節(jié)點(diǎn)的通信路徑,得到在不同數(shù)目蟲(chóng)洞節(jié)點(diǎn)攻擊下,虛假鏈路檢測(cè)率和正常鏈路誤檢率隨蟲(chóng)洞閾值ε的變化曲線。 從圖7可以看出,隨著蟲(chóng)洞閾值的增加,虛假鏈路檢測(cè)率在逐漸減小。當(dāng)閾值超過(guò)6時(shí),檢測(cè)率的下降幅度增大,這是因?yàn)橄x(chóng)洞閾值越高,WADS-NC&PH越無(wú)法檢測(cè)到路徑相對(duì)較短的蟲(chóng)洞攻擊。 圖8為正常鏈路誤檢率隨蟲(chóng)洞閾值ε的變化曲線。從圖中可以看出,隨著閾值的增加,誤檢率在逐漸降低,這是因?yàn)樵谖词芄魰r(shí)正常鄰居節(jié)點(diǎn)間的路徑跳數(shù)都較短。因此,當(dāng)閾值升高時(shí),正常鏈路被誤檢的概率會(huì)越來(lái)越小。結(jié)合圖7的仿真結(jié)果,在蟲(chóng)洞閾值超過(guò)6時(shí),網(wǎng)絡(luò)中虛假鏈路的檢測(cè)率和正常鏈路的誤檢率變化幅度都較為明顯。 圖7 檢測(cè)率與蟲(chóng)洞閾值的關(guān)系Fig.7 Relation between detection rate and wormhole threshold 圖8 誤檢率與蟲(chóng)洞閾值的關(guān)系Fig.8 Relation between false detection rate and wormhole threshold 對(duì)跳數(shù)高于蟲(chóng)洞閾值的路徑進(jìn)行路徑信任評(píng)價(jià)量的檢測(cè),仿真結(jié)果見(jiàn)圖9。其中P表示蟲(chóng)洞節(jié)點(diǎn)數(shù)目,b表示網(wǎng)絡(luò)中的虛假鏈路總數(shù)。從圖中可以看出,當(dāng)信任閾值K由0至0.02變化時(shí)網(wǎng)絡(luò)中虛假鏈路的數(shù)目在逐漸降低,后續(xù)隨著信任閾值的增長(zhǎng),虛假鏈路的數(shù)目基本保持不變。 圖9 虛假鏈路數(shù)目與信任閾值的關(guān)系Fig.9 Relation between the number of false links and trust threshold 為驗(yàn)證本文策略的有效性,將WADS-NC&PH與SMRSA[8]、SECUND[9]、CREDND[10]進(jìn)行實(shí)驗(yàn)對(duì)比。WADS-NC&PH的鄰居閾值比設(shè)置為1.5,蟲(chóng)洞閾值設(shè)置為6,信任閾值設(shè)置為0.02。 從圖10、11中可以看出,隨著蟲(chóng)洞節(jié)點(diǎn)個(gè)數(shù)的增加,3種方案運(yùn)行后網(wǎng)絡(luò)中虛假鏈路數(shù)目及正常鏈路的誤檢率均有所升高,但WADS-NC&PH的檢測(cè)效果優(yōu)于其他幾種算法。對(duì)SMRSA而言,由于該算法對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的布置情況進(jìn)行了較多的規(guī)范和限制在面對(duì)受攻擊度較高的網(wǎng)絡(luò)時(shí),算法的適應(yīng)能力較弱,檢測(cè)效果有所下降。SECUND算法和CREDND算法都利用了路徑跳數(shù)進(jìn)行檢測(cè),但SECUND算法對(duì)鏈接相對(duì)較短的蟲(chóng)洞攻擊檢測(cè)效果不佳。而CREDND算法在路徑跳數(shù)的統(tǒng)計(jì)過(guò)程中未對(duì)蟲(chóng)洞路徑進(jìn)行避讓?zhuān)瑢?dǎo)致虛假鏈路的漏檢,蟲(chóng)洞攻擊檢測(cè)率有所下降。WADS-NC&PH在檢驗(yàn)節(jié)點(diǎn)鄰居數(shù)目的基礎(chǔ)上,對(duì)待測(cè)節(jié)點(diǎn)的通信路徑進(jìn)行了限制,選擇未受攻擊節(jié)點(diǎn)作為中間節(jié)點(diǎn),規(guī)避了蟲(chóng)洞鏈路,并利用路徑信任評(píng)價(jià)量對(duì)可疑節(jié)點(diǎn)進(jìn)行最終檢驗(yàn),因此在面對(duì)受攻擊度較高的網(wǎng)絡(luò)時(shí),網(wǎng)絡(luò)性能更加可靠。 圖10 不同算法下網(wǎng)絡(luò)中虛假鏈路數(shù)目比較Fig.10 Comparison of the number of false links in the network under different algorithms 圖11 不同算法的誤檢率比較Fig.11 Comparison of false detection rates of different algorithms 為進(jìn)一步驗(yàn)證本文算法的可擴(kuò)展性,在500 m×500 m的網(wǎng)絡(luò)中隨機(jī)布置300~800個(gè)傳感器節(jié)點(diǎn),各節(jié)點(diǎn)通信半徑設(shè)置為30 m,得到不同數(shù)目蟲(chóng)洞節(jié)點(diǎn)攻擊下網(wǎng)絡(luò)中虛假鏈路數(shù)與節(jié)點(diǎn)平均鄰居數(shù)的關(guān)系曲線見(jiàn)圖12。從圖中可以看出,面對(duì)不同節(jié)點(diǎn)密度的網(wǎng)絡(luò),本文策略對(duì)蟲(chóng)洞攻擊仍具有較好的檢測(cè)效果。 圖12 節(jié)點(diǎn)密度對(duì)檢測(cè)效果的影響Fig.12 Influence of node density on detection effect 分析了無(wú)線傳感器網(wǎng)絡(luò)中蟲(chóng)洞攻擊的研究現(xiàn)狀,并為抵御攻擊提出了一種融合節(jié)點(diǎn)信譽(yù)度和路徑跳數(shù)的蟲(chóng)洞攻擊檢測(cè)策略。該策略首先對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行鄰居數(shù)目的篩查,將超出閾值的節(jié)點(diǎn)列入可疑節(jié)點(diǎn)名單,然后令可疑節(jié)點(diǎn)的專(zhuān)有鄰居集進(jìn)行通信,記錄每對(duì)通信節(jié)點(diǎn)間的路徑跳數(shù),將跳數(shù)超出閾值的路徑標(biāo)記為待測(cè)路徑,并對(duì)該條路徑進(jìn)行路徑信任評(píng)價(jià)量的檢驗(yàn)。WADS-NC&PH是一種本地化協(xié)議,無(wú)需任何特殊的硬件支持,且在檢測(cè)過(guò)程中對(duì)蟲(chóng)洞路徑進(jìn)行了規(guī)避,通過(guò)與節(jié)點(diǎn)信任相結(jié)合,可提高蟲(chóng)洞攻擊的檢測(cè)效率,降低節(jié)點(diǎn)能耗。仿真結(jié)果表明,該策略對(duì)蟲(chóng)洞攻擊的檢測(cè)及虛假鏈路的移除具有明顯效果,保障了無(wú)線傳感器網(wǎng)絡(luò)安全可靠運(yùn)行。無(wú)線傳感器網(wǎng)絡(luò)在蟲(chóng)洞攻擊檢測(cè)方面還有很多問(wèn)題有待研究和解決,下一階段將重點(diǎn)研究依據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)際分布的隨機(jī)性及數(shù)據(jù)傳輸情況,自適應(yīng)調(diào)節(jié)信任權(quán)重以提高算法魯棒性。2.3 信任模型
2.4 路徑信任評(píng)價(jià)量
3 仿真分析
3.1 WSNs蟲(chóng)洞攻擊模型
3.2 鄰居閾值比的選取
3.3 蟲(chóng)洞閾值的選取
3.4 信任閾值的選取
3.5 性能分析
4 結(jié) 論