許 力,李光輝*
(1.江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122;2.物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程技術(shù)研究中心,江蘇 無錫 214122)
目前,在無線傳感網(wǎng)的部署中,可能存在節(jié)點被捕獲,關(guān)鍵信息被竊取的問題。攻擊者的目的是破壞無線傳感器網(wǎng)絡(luò)的安全屬性,包括機密性、完整性、可用性和身份認(rèn)證。為了實現(xiàn)這些攻擊目標(biāo),攻擊者從無線傳感器網(wǎng)絡(luò)的單一協(xié)議層或跨協(xié)議層發(fā)動攻擊[1]。現(xiàn)有的兩種入侵檢測系統(tǒng)[2]:一種是特征檢測系統(tǒng),另一種是異常檢測系統(tǒng)。與特征檢測相比,異常檢測具有更高的檢測率。近些年,基于流量預(yù)測[3]、統(tǒng)計方法[4]、數(shù)據(jù)挖掘[5]、博弈論[6]、免疫理論[7]或者信任管理等方法不斷被提出?,F(xiàn)有的基于信任管理的方法旨在利用模糊理論、概率論和統(tǒng)計量、加權(quán)法等方法來提高檢測性能、資源效率、魯棒性等[8]。
模糊理論被用來確定傳感器節(jié)點的信任度。Guo等人[9]為無線傳感器網(wǎng)絡(luò)提出一個新的信任管理框架(TMF),該框架將灰色理論與模糊集相結(jié)合,根據(jù)鄰居節(jié)點的觀測值計算節(jié)點的信任值,并且使用多個參數(shù)來決定信任值。Ram等人[10]提出了基于模糊邏輯的多屬性信任方法,該信任方法以多個參數(shù)作為信任度量,利用模糊計算理論計算每個節(jié)點的最終信任值。
概率分布常被用來建立信任評估。Ganeriwal等人[11]提出了一種基于信譽的分布式無線傳感器網(wǎng)絡(luò)框架,它使用看門狗機制監(jiān)測相鄰節(jié)點的通信行為,用β分布表示節(jié)點信譽分布,并根據(jù)概率信譽分布的統(tǒng)計期望值計算信任值。Luo等人[12]提出一種系統(tǒng),該系統(tǒng)采用哈希算法為傳感器節(jié)點生成識別標(biāo)簽,用于區(qū)分外部攻擊者和正常節(jié)點,并根據(jù)基于β密度函數(shù)的信任評估方法動態(tài)管理每個節(jié)點的信任值,以檢測受損節(jié)點。
用加權(quán)方法估算信任值是常見的方法。Atakli等人[13]提出了一種基于加權(quán)信任評估的無線傳感器網(wǎng)絡(luò)節(jié)點檢測方法,該方法利用加權(quán)法建立信任值,在基站內(nèi)對節(jié)點轉(zhuǎn)發(fā)的數(shù)據(jù)進(jìn)行數(shù)據(jù)檢測,從而減少傳感器節(jié)點之間的通信開銷。Shaikh等人[14]提出了一種基于簇的集群信任管理方法,利用加權(quán)法計算簇內(nèi)節(jié)點的信任值。該方法只關(guān)注單個節(jié)點的信任值,從而降低了信任評估的成本。Bao等人[15]提出了基于分層的信任管理方法,該方法將服務(wù)質(zhì)量和社會信任作為信任度量,利用加權(quán)法計算各層信任值,采用基于隨機petri網(wǎng)的分析方法評估方法的性能。
Yao等人[16]提出了一種參數(shù)化和局部化的無線傳感器網(wǎng)絡(luò)信任管理方法,該方法中每個傳感器節(jié)點保持高度抽象的參數(shù),評估其感興趣的鄰居的可信度,采用適當(dāng)?shù)募用芊椒ㄗR別惡意節(jié)點,并在網(wǎng)絡(luò)中共享意見。Li等人[17]提出了一種輕量級、可靠的集群信任系統(tǒng),在消除節(jié)點間相互反饋的情況下,可以提高系統(tǒng)效率,同時減少惡意節(jié)點的影響。Jiang等人[18]提出了一種有效的分布式信任方法,節(jié)點的可信度包括直接信任和間接信任,在計算直接信任時,考慮通信信任、能量信任和數(shù)據(jù)信任。當(dāng)監(jiān)測節(jié)點不能直接觀察目標(biāo)節(jié)點的通信行為時,根據(jù)其他節(jié)點的建議,得到間接信任值。Mehmood等人[19]提出了一種基于知識的上下文感知方法來檢測惡意節(jié)點的入侵,首先對事件進(jìn)行分類,并確認(rèn)簇內(nèi)負(fù)責(zé)人,阻止惡意重復(fù)生成的活動,簇頭還可以利用推理理論,將事件記錄和分析機制放在基站上,減少節(jié)點上額外的能量損耗。
為了準(zhǔn)確地檢測網(wǎng)絡(luò)中存在的攻擊行為,降低誤報率和漏報率,本文提出一種結(jié)合信任系統(tǒng)和數(shù)據(jù)噪聲檢測技術(shù)的多協(xié)議層入侵檢測方法T-MPNID(Trust-Multi Protocol layer Noise Intrusion Detection)。T-MPNID方法中將多個協(xié)議層的關(guān)鍵參數(shù)作為信任度量[1],利用加權(quán)法融合信任值,并通過噪聲檢測技術(shù)進(jìn)行再檢測,建立懲罰機制,得到全局信任值。若節(jié)點的全局信任值小于預(yù)定義的閾值,則將該節(jié)點視為惡意節(jié)點。節(jié)點的信任值由不同協(xié)議層的關(guān)鍵參數(shù)決定,能夠有效的檢測出單層和跨層攻擊,不僅提高了檢測率,而且降低了誤報率和漏報率。
目前,基于信任機制的入侵檢測方法存在兩類問題:①通過分析單一協(xié)議層中,惡意節(jié)點行為的特性以及對節(jié)點的行為進(jìn)行評估,得到節(jié)點信任值。該類方法僅能檢測出單協(xié)議層的攻擊,無法適應(yīng)真實環(huán)境。實際部署的無線傳感器網(wǎng)絡(luò)容易受到多種攻擊,而每一種安全機制執(zhí)行都要消耗寶貴資源(電池電量、存儲空間、計算代價等),難以滿足實際需求。②在跨層攻擊中,跨層攻擊對多個協(xié)議層產(chǎn)生影響,僅僅考慮每一層信任值變化,并設(shè)置各層檢測閾值到達(dá)檢測效果,忽略協(xié)議層間的聯(lián)系,且在檢測過程中缺少再檢測機制,檢測的誤報率與漏報率較高。
本文提出的T-MPNID入侵檢測方法,不僅分析單層攻擊中節(jié)點的惡意行為,而且分析單層攻擊對其他層的影響,充分考慮節(jié)點在多個協(xié)議層異常行為,共同評估節(jié)點信任值。此外,結(jié)合數(shù)據(jù)噪聲檢測技術(shù)對多個協(xié)議層的關(guān)鍵參數(shù)進(jìn)行再檢測,對檢測為異常關(guān)鍵參數(shù)的節(jié)點,采用懲罰機制降低其信任值,得到最終的全局信任值。該方法有效提高了檢測率,降低了誤報率和漏報率。
本節(jié)針對入侵檢測中存在的問題,提出了T-MPNID入侵檢測方法,給出了多協(xié)議層入侵檢測方法的總體框架,并對物理層、MAC層、網(wǎng)絡(luò)層上節(jié)點的信任值評估、融合信任值評估、數(shù)據(jù)噪聲檢測、懲罰機制以及全局信任值評估等進(jìn)行了詳細(xì)描述。
圖1是基于信任機制的多協(xié)議層入侵檢測方法(T-MPNID)的總體框架,監(jiān)測節(jié)點將評估的信任值和各協(xié)議層關(guān)鍵參數(shù)發(fā)送給簇頭,在簇頭節(jié)點將多個監(jiān)測節(jié)點評估的信任值進(jìn)行融合后,將融合信任值和關(guān)鍵參數(shù)發(fā)送給基站?;靖鶕?jù)簇頭節(jié)點提供的信任值和關(guān)鍵參數(shù)進(jìn)行數(shù)據(jù)噪聲檢測,對惡意節(jié)點的信任值進(jìn)行懲罰,得到全局信任值,通過節(jié)點的全局信任值與預(yù)定義的閾值相比,得到最終的檢測結(jié)果。
圖1 基于信任機制的多協(xié)議層入侵檢測方法框架
圖2 分簇結(jié)構(gòu)無線傳感器網(wǎng)絡(luò)
本文考慮分簇結(jié)構(gòu)的無線傳感器網(wǎng)絡(luò),如圖2所示,每個簇內(nèi)由多個節(jié)點(SNs)和一個簇頭節(jié)點組成,網(wǎng)絡(luò)中的監(jiān)測節(jié)點定義為:網(wǎng)絡(luò)中的節(jié)點與其鄰居節(jié)點間相互監(jiān)測,互為監(jiān)測節(jié)點。鄰居節(jié)點定義為:一個節(jié)點通信范圍內(nèi)的所有節(jié)點,都為該節(jié)點的鄰居節(jié)點。
無線傳感器網(wǎng)絡(luò)攻擊主要針對物理層,MAC層和網(wǎng)絡(luò)層,因此主要針對這三層進(jìn)行研究。本文提出的T-MPNID入侵檢測方法包括兩個階段:①對三層信任值進(jìn)行評估,利用加權(quán)法對三層信任值進(jìn)行融合,得到融合信任值。②對各協(xié)議層關(guān)鍵參數(shù)進(jìn)行數(shù)據(jù)噪聲檢測,啟用懲罰機制得到全局信任值。
圖3給出多協(xié)議層入侵檢測方法的流程圖。
2.2.1 物理層信任值評估
在物理層中,節(jié)點的能量消耗是評估信任值的一個關(guān)鍵的要素。在T-MPNID入侵檢測方法中,將能量消耗作為計算物理層的信任值的關(guān)鍵參數(shù)。SP、RP、FP分別表示發(fā)送、接收和轉(zhuǎn)發(fā)數(shù)據(jù)包的數(shù)量,數(shù)據(jù)包數(shù)量粗略估計Δt時間段內(nèi)的能量消耗。監(jiān)測節(jié)點i可以得到鄰居節(jié)點j在Δt時間段的能耗Ecj(t)=SPj(t)+RPj(t)+FPj(t),(下文的計算均指在第t個檢測周期內(nèi))。并計算節(jié)點j與其鄰居節(jié)點能耗的相對偏差:
(1)
(2)
在式(2)中,節(jié)點物理層的信任值隨著Ej(t)的增大而減小。此外,當(dāng)Ej(t)大于1時,表明節(jié)點的能量消耗大于鄰居節(jié)點的平均能量消耗的兩倍以上,可能為惡意節(jié)點,物理層的信任值為0。
2.2.2MAC層信任值評估
在MAC層中,攻擊者為了獲得信道訪問的優(yōu)先級,通過減少隨機退避時間(設(shè)置較小的競爭窗口(CW)),惡意節(jié)點的重傳率會低于正常節(jié)點,將節(jié)點連續(xù)兩次成功傳輸?shù)臅r間間隔定義為空閑時間。在T-MPNID的方法中,將節(jié)點的空閑時間和重傳率作為評估MAC層的信任值的關(guān)鍵參數(shù)。那么監(jiān)測節(jié)點i對鄰居節(jié)點j的信任值計算公式為:
(3)
(4)
圖4 802.11協(xié)議DCF模式
在網(wǎng)絡(luò)中將節(jié)點j的鄰居節(jié)點可以表示為:Kj={k1,k2,k4,…,kn}。通過監(jiān)測節(jié)點j的鄰居節(jié)點空閑時間,得到節(jié)點j的鄰居節(jié)點的平均空閑時間:
(5)
在式(5)中,n表示鄰居節(jié)點個數(shù)。利用j節(jié)點空閑時間和其鄰居節(jié)點的空閑時間,可以得到j(luò)節(jié)點與其鄰居節(jié)點空閑時間的相對偏差值:
(6)
在式(6)中,b為節(jié)點發(fā)送數(shù)據(jù)的次數(shù)。通過空閑時間的相對偏差值,如果節(jié)點的空閑時間小于其鄰居節(jié)點的平均空閑時間,該節(jié)點的信任值將會減小。由式(7)可計算出節(jié)點j空閑時間的信任值。
(7)
(8)
在式(8)中,RSij(t)表示監(jiān)測節(jié)點i計算節(jié)點j的數(shù)據(jù)包重傳次數(shù)。節(jié)點j的鄰居節(jié)點平均重傳率計算公式為:
(9)
(10)
由式(10)可知,若節(jié)點j的重傳率小于該節(jié)點鄰居節(jié)點的平均重傳率,其信任值將減小。
2.2.3 網(wǎng)絡(luò)層信任值評估
在網(wǎng)絡(luò)層中,攻擊者主要通過破壞網(wǎng)絡(luò)路由進(jìn)行攻擊。惡意節(jié)點通過廣播虛假的路由信息,使得惡意節(jié)點可以竊取更多的信息。攻擊者還可以概率性的轉(zhuǎn)發(fā)數(shù)據(jù)包,使部分?jǐn)?shù)據(jù)包不能到達(dá)目標(biāo)節(jié)點。因此,T-MPNID入侵檢測方法將節(jié)點到簇頭的跳數(shù)和節(jié)點包的轉(zhuǎn)發(fā)率兩個關(guān)鍵參數(shù)作為網(wǎng)絡(luò)層的信任度量,計算網(wǎng)絡(luò)層的信任值公式為:
(11)
式中:α1∈[0,1],α2∈[0,1]分別是計算網(wǎng)絡(luò)層信任值中,跳數(shù)和轉(zhuǎn)發(fā)率兩個關(guān)鍵參數(shù)的權(quán)值,可以根據(jù)網(wǎng)絡(luò)部署的實際情況確定,且滿足α1+α2=1。
當(dāng)跳數(shù)作為計算節(jié)點信任值的關(guān)鍵參數(shù)時,利用節(jié)點和其鄰居平均節(jié)點跳數(shù)的相對偏差值,計算該節(jié)點的信任值。采用Abdullah等人提出的方法[21],每個節(jié)點建立單個節(jié)點的鄰居數(shù)據(jù)庫,數(shù)據(jù)庫中包含相鄰節(jié)點的ID和節(jié)點到簇頭的跳數(shù),可以得到節(jié)點j的鄰居節(jié)點到簇頭的平均跳數(shù)計算公式為:
(12)
在式(12)中,hop_countjKi表示節(jié)點j的鄰居節(jié)點Ki到簇頭的跳數(shù),n表示鄰居節(jié)點的數(shù)量。
(13)
監(jiān)測節(jié)點i可以獲得其鄰居節(jié)點j的數(shù)據(jù)包轉(zhuǎn)發(fā)數(shù)量。將轉(zhuǎn)發(fā)率作為網(wǎng)絡(luò)層中包轉(zhuǎn)發(fā)率的信任值,計算該節(jié)點的轉(zhuǎn)發(fā)率的公式為。
(14)
在式(14)中,FPj(t)表示節(jié)點j成功轉(zhuǎn)發(fā)數(shù)據(jù)包的數(shù)量,RFPj(t)表示周圍節(jié)點需要通過節(jié)點j轉(zhuǎn)發(fā)的數(shù)據(jù)包的數(shù)量。若節(jié)點j轉(zhuǎn)發(fā)失敗次數(shù)越多,那么信任值下降的越快。
2.2.4 融合信任值評估
(15)
(16)
在T-MPNID入侵檢測方法中,利用DB-SCAN(Density-Based Spatial Clustering of Applications with Noise)算法[22]對關(guān)鍵參數(shù)進(jìn)行數(shù)據(jù)噪聲點檢測。DB-SCAN算法是一種基于密度的聚類方法[23],基于密度的聚類方法的基本思想是:對于同一類中的任意一個數(shù)據(jù)對象,以該數(shù)據(jù)對象為圓心,給定半徑(Eps)限定一個區(qū)域,在該區(qū)域內(nèi)必須至少包含最小個數(shù)(Minpts)的數(shù)據(jù)對象。它優(yōu)勢是能夠發(fā)現(xiàn)任意形狀的類別,有很強的抗噪性,并且只需掃描一遍數(shù)據(jù)集即可完成聚類。
假設(shè)樣本集為E={E1,E2,…,Ev},與DB-SCAN相關(guān)的一些基本概念定義如下:
定義1給定一個數(shù)據(jù)樣本點Ej∈E,以Ej為圓心,Eps為半徑的區(qū)域稱該對象的鄰域,鄰域內(nèi)的數(shù)據(jù)樣本點集合表示為MEps(Ej)。
定義2如果MEps(Ej)≥Minpts,那么Ej稱為核心對象,若Ex∈MEps(Ej),那么Ex從Ej出發(fā)是直接密度可達(dá)的。
定義3Ex為一個數(shù)據(jù)樣本點,如果Ex∈MEps(Ej),且MEps(Ej) 定義4在給定MinPts和Eps的集合D中,存在一個數(shù)據(jù)樣本鏈Nl,N2,…,Nn,,N1=q,Nn=p,若點Ni從點Ni+1直接密度可達(dá)(1≤i 定義5給定MinPts和Eps,如果數(shù)據(jù)樣本對象集合E中,存在一個對象c,使得對象Ej和Ex是從對象c密度可達(dá),那么對象Ej和Ex是密度相連的(density-connected)。 在DBSCAN聚類算法中,通過檢索所有樣本數(shù)據(jù)點創(chuàng)建新類,類中包含的數(shù)據(jù)點都是密度相連的。如果存在數(shù)據(jù)點獨立于所有聚類的數(shù)據(jù)點集合,那么該類數(shù)據(jù)點稱為噪聲。 DB-SCAN在無線傳感器網(wǎng)絡(luò)中可以用于入侵檢測問題[24]。在檢測過程中,本方法將MAC層和網(wǎng)絡(luò)層中的退避窗口平均值和節(jié)點轉(zhuǎn)發(fā)率作為噪聲檢測的關(guān)鍵參數(shù)?;緦⒈粰z測為異常關(guān)鍵參數(shù)對應(yīng)的傳感器節(jié)點ID號記錄在一個噪聲傳感器列表L中,轉(zhuǎn)發(fā)給簇內(nèi)各傳感器節(jié)點。 為了提高檢測率,基站對噪聲傳感器列表中的節(jié)點進(jìn)行信任值懲罰,降低其信任值。本文根據(jù)實際需求,懲罰程度也不相同,j節(jié)點懲罰后的融合信任值表示為: (17) 全局信任值是判別節(jié)點是否為惡意節(jié)點的信任值。檢測閾值S為判定節(jié)點是否為惡意節(jié)點的一個預(yù)定義的值,若節(jié)點信任值大于S則為正常節(jié)點,反之則為惡意節(jié)點。T-MPNID入侵檢測方法的全局信任值由直接信任值和歷史信任值融合得到。直接信任值是當(dāng)前檢測周期節(jié)點行為的直觀反映。引入歷史信任值可以保證惡意節(jié)點的信任值呈下降趨勢,直到低于設(shè)定檢測閾值S。節(jié)點j的全局信任值計算公式: (18) 在式(18)中,μ∈[0,1]是歷史信任值的權(quán)重,完整算法見表1。 本文對提出的入侵檢測方法進(jìn)行了仿真,利用MATLAB2016a作為仿真工具,在100 m×100 m范圍內(nèi)部署了120個傳感器節(jié)點,并平均分成4個簇。信任值更新的時間間隔為10 min。詳細(xì)的仿真參數(shù)見表2。 表1 T-MPNID基于信任機制的無線傳感器網(wǎng)絡(luò)多協(xié)議層入侵檢測算法 表2 實驗參數(shù)值 圖5為正常節(jié)點和被攻擊節(jié)點隨著仿真時間增加信任值變化關(guān)系圖,當(dāng)仿真時間較短時,正常節(jié)點的信任值在(0.975,0.98)范圍內(nèi)波動,當(dāng)仿真時間足夠長時,節(jié)點的信任值趨于穩(wěn)定。在MAC層和網(wǎng)絡(luò)層模擬了四種典型的攻擊,包括退避攻擊(back-off manipulation attack)、選擇性轉(zhuǎn)發(fā)攻擊(selective forwarding attack)、槽洞攻擊(Sinkhole attack)和MAC-網(wǎng)絡(luò)的跨層攻擊(MAC-Network cross-layer attack)。在退避攻擊中,惡意節(jié)點的信任值在(0.845,0.865)范圍波動,最終穩(wěn)定在0.858。在槽洞攻擊中,惡意節(jié)點的信任值在(0.813,0.845)范圍波動,最終穩(wěn)定在0.815。在跨層攻擊中,惡意節(jié)點的信任值穩(wěn)定在0.665。攻擊者同時發(fā)起對MAC層和網(wǎng)絡(luò)層的攻擊,通過使用更小的CW退避窗口,虛假路由信息吸引網(wǎng)絡(luò)中的流量,并對發(fā)送過來的數(shù)據(jù)包進(jìn)行選擇性轉(zhuǎn)發(fā)。 圖5 各種攻擊下的節(jié)點信任值變化圖 誤報率FPR(False Positive Rate)和漏報率FNR(False Negative Rate)是衡量檢測系統(tǒng)的性能關(guān)鍵指標(biāo)。誤報是指:正常節(jié)點被檢測為惡意節(jié)點。漏報是指:惡意節(jié)點被檢測為正常節(jié)點。在T-MPNID入侵檢測方法中,為了確定最佳的檢測閾值S在四種攻擊類型中模擬了不同檢測閾值下誤報率和漏報率。如圖6,大部分攻擊類型的誤報率和漏報率在小范圍的波動,但是在跨層攻擊中,影響信任值的因素多,導(dǎo)致漏報率的波動較大。槽洞攻擊漏報率曲線與跨層攻擊誤報率曲線的交點處,四種攻擊中的誤報率和漏報率最低。最優(yōu)檢測閾值為0.885,當(dāng)四種類型的攻擊在閾值S為0.885時,誤報率和漏報率均小于0.07。 本文選擇0.885作為最優(yōu)檢測閾值S,分析了不同惡意節(jié)點數(shù)量對檢測率的影響。如圖7所示,在T-MPNID入侵檢測方法中,四種攻擊的檢測率隨著惡意節(jié)點數(shù)量增多而降低。當(dāng)惡意節(jié)點數(shù)量的比例小于10%時,四種攻擊的檢測率都高于0.97。當(dāng)在惡意節(jié)點數(shù)量的比例超過10%時,檢測率會明顯降低,且隨著惡意節(jié)點的增多,檢測率呈下降趨勢,但檢測率始終保持在0.8以上。 圖6 不同檢測閾值下誤報率和漏報率 圖7 不同惡意節(jié)點比例的檢測率 圖8 不同比例惡意節(jié)點的檢測率對比圖 本文提出的T-MPNID入侵檢測方法與Feng等人[25]提出的NBBTE方法和Wang等人[1]提出的PLTB方法在檢測率、誤報率、漏報率三個方面進(jìn)行對比。 圖8(a)是T-MPNID方法檢測率與NBBTE方法對比圖,在四種攻擊下T-MPNID方法檢測率都優(yōu)于NBBTE方法。NBBTE方法只關(guān)注網(wǎng)絡(luò)層的節(jié)點行為,因此在MAC層檢測率為0。本文所提方法在跨層攻擊、槽洞攻擊和選擇性轉(zhuǎn)發(fā)攻擊中的檢測率比NBBTE方法分別提高22%、10%、3%。如圖8(b)所示,T-MPNID方法的檢測率與PLTB方法進(jìn)行對比,兩種方法隨著惡意節(jié)點的數(shù)量增多,檢測率在不斷下降。當(dāng)惡意節(jié)點數(shù)量的比例低于10%時,T-MPNID方法中,四種攻擊的檢測率均保持在0.97以上。當(dāng)惡意節(jié)點數(shù)量比例為大于10%時,退避攻擊和跨層攻擊檢測率下降幅度遠(yuǎn)低于PLTB。當(dāng)惡意節(jié)點數(shù)量的比例為30%時,在退避攻擊、跨層攻擊、槽洞攻擊和選擇性轉(zhuǎn)發(fā)攻擊四種攻擊中,T-MPNID方法的檢測率比PLTB方法分別提高了0.33、0.25、0.08、0.03。 圖9 不同惡意節(jié)點的比例下誤報率對比圖 圖9(a)為T-MPNID方法的誤報率與NBBTE方法對比圖,隨著惡意節(jié)點的數(shù)量的增多,誤報率呈上升趨勢。由于NBBTE方法沒有考慮退避攻擊,因此沒有對退避攻擊進(jìn)行分析。在槽洞攻擊、跨層攻擊和選擇性轉(zhuǎn)發(fā)攻擊中,T-MPNID方法的誤報率均低于NBBTE方法。在惡意節(jié)點數(shù)量的比例為30%時,T-MPNID方法的誤報率在跨層攻擊和槽洞攻擊中比NBBTE方法分別降低了50%和40%。圖9(b)為T-MPNID方法的誤報率與PLTB方法對比圖,當(dāng)惡意節(jié)點數(shù)量的比例超過20%時,在槽洞攻擊和跨層攻擊中,T-MPNID方法的誤報率比PLTB方法低5%~8%。在兩種方法中,選擇性轉(zhuǎn)發(fā)攻擊的誤報率都在穩(wěn)定在0.02。 本文還對漏報率進(jìn)行對比分析。在圖10(a)中,T-MPNID方法中四種攻擊的漏報率均低于NBBTE方法。當(dāng)惡意節(jié)點數(shù)量比例為20%時,在T-MPNID方法中,槽洞攻擊、選擇性轉(zhuǎn)發(fā)攻擊、跨層攻擊的漏報率與NBBTE方法相比分別降低了54%、51.8%、53.1%。當(dāng)惡意節(jié)點數(shù)量比例為30%時,T-MPNID 方法在槽洞攻擊、選擇性轉(zhuǎn)發(fā)攻擊、跨層攻擊的漏報率比NBBTE方法分別降低了20.6%、22.3%、15.8%。在圖10(b)中,PLTB方法與 T-MPNID 方法進(jìn)行比較,當(dāng)惡意節(jié)點數(shù)量比例超過15%時,在退避攻擊、槽洞攻擊、跨層攻擊和選擇性轉(zhuǎn)發(fā)四種攻擊中,T-MPNID方法的漏報率與PLTB相比平均降低9%、5%、3%、1%。 圖10 不同惡意節(jié)點的比例下的漏報率對比圖 在NBBTE方法中,包括直接評估和間接評估。NBBTE的主要開銷就是HELLO包和間接評估中的推薦值,與網(wǎng)絡(luò)中相鄰節(jié)點的平均數(shù)量有關(guān)。在PLTB方法中,監(jiān)測節(jié)點在一個周期將評估的結(jié)果發(fā)送給簇頭,通信開銷與跳數(shù)有關(guān)。 在T-MPNID方法中,簇頭將一個周期內(nèi)評估的平均融合信任值和關(guān)鍵參數(shù)發(fā)送給基站,基站將被懲罰過的節(jié)點信任值發(fā)送給簇內(nèi)節(jié)點,節(jié)點將簇頭發(fā)來的數(shù)據(jù)包向鄰居節(jié)點轉(zhuǎn)發(fā)。因此T-MPNID方法的通信開銷與節(jié)點到簇頭的跳數(shù)有關(guān)。假設(shè)簇內(nèi)有n個節(jié)點,節(jié)點到簇頭的平均跳數(shù)為Nhop,平均鄰居節(jié)點數(shù)為Na。T-MPNID方法一個檢測周期內(nèi)的通信開銷為CostT-M=n(Nhop+1)。在NBBTE方法中,一個檢測周期內(nèi)的通信開銷為CostNB=n(2Na+1)。在PLTB方法中,一個周期內(nèi)的通信開銷為CostPL=nNhop。選擇1個簇頭,30個節(jié)點來分析本文T-MPNID方法的通信開銷。 如圖11表示平均跳數(shù)與通信開銷的關(guān)系,平均鄰居節(jié)點數(shù)為3。當(dāng)平均跳數(shù)為小于6時,T-MPNID方法的通信開銷小于NBBTE方法。當(dāng)節(jié)點到簇頭的平均跳數(shù)為5時,在平均鄰居節(jié)點數(shù)不同的情況下,如圖12所示,當(dāng)平均鄰居節(jié)點數(shù)量大于2時,T-MPNID方法的通信開銷小于NBBTE方法,略高于PLTB方法。 圖11 不同平均跳數(shù)的通信開銷對比圖 圖12 不同平均鄰居節(jié)點數(shù)通信開銷對比圖 綜上,本文所提的T-MPNID方法在平均鄰居數(shù)量在[3,6]范圍內(nèi),節(jié)點到簇頭的平均跳數(shù)在[2,6]的范圍內(nèi)有著較低的通信開銷。不適用于鄰居節(jié)點數(shù)較少和節(jié)點到簇頭跳數(shù)大于6跳的多跳無線傳感器網(wǎng)絡(luò)。 無線傳感器網(wǎng)絡(luò)容易受到不同協(xié)議層的攻擊,本文提出的T-MPNID入侵檢測方法,在多個協(xié)議層選擇決定信任值的關(guān)鍵參數(shù),不僅分析單層攻擊中節(jié)點的惡意行為,而且充分考慮各協(xié)議層異常行為,共同評估節(jié)點信任值。此外,該方法結(jié)合數(shù)據(jù)噪聲檢測技術(shù)進(jìn)行再檢測,有效避免評估的信任值誤差,降低了誤報率和漏報率。本文所提方法具有可擴展性,可以根據(jù)實際環(huán)境,增加更多的參數(shù)來計算信任值,相比傳統(tǒng)的信任檢測方法有更高的檢測率,較低的誤報率和漏報率。2.4 懲罰機制
2.5 全局信任值評估
3 仿真結(jié)果
3.1 仿真環(huán)境
3.2 仿真結(jié)果
3.3 通信開銷
4 結(jié)論