999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

IPv6物聯(lián)網(wǎng)中灰洞攻擊的檢測方法

2018-07-27 01:07:00張光華楊耀紅張冬雯
關(guān)鍵詞:檢測

張光華,楊耀紅,張冬雯

1(河北科技大學(xué) 信息科學(xué)與工程學(xué)院,石家莊 050000)2(西安電子科技大學(xué) 綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國家重點實驗室,西安 710071)

1 引 言

物聯(lián)網(wǎng)(Internet of Things,IoT)[1]是一個大型的異構(gòu)網(wǎng)絡(luò),能夠?qū)⒋罅课⑿驮O(shè)備(智能手機(jī)、平板電腦、穿戴式智能設(shè)備、電表和微波爐等)按照約定的協(xié)議與Internet連接起來,實現(xiàn)任何物體之間的互聯(lián).為了使物聯(lián)網(wǎng)中眾多的微型設(shè)備都可以通過統(tǒng)一的協(xié)議與Internet相連,國際互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)的6LoWPAN(IPv6 over Low-power Wireless Personal Area Network)工作組將IPv6引入到物聯(lián)網(wǎng)中[2].為了解決6LoWPAN中的路由問題,IETF的ROLL(Routing over Low-power and Lossy Network)工作組提出了低功耗有損網(wǎng)絡(luò)路由協(xié)議(Routing Protocol for Low-power and Lossy Networks,RPL)[3].近年來,RPL協(xié)議已經(jīng)廣泛應(yīng)用于多種物聯(lián)網(wǎng)系統(tǒng)中[4],使得這些物聯(lián)網(wǎng)設(shè)備能夠更加便捷地訪問互聯(lián)網(wǎng).同時,這些物聯(lián)網(wǎng)設(shè)備也面臨著來自網(wǎng)絡(luò)外部(互聯(lián)網(wǎng))和網(wǎng)絡(luò)內(nèi)部(節(jié)點與節(jié)點之間)的雙重威脅[5].

在網(wǎng)絡(luò)外部攻擊中,攻擊者在任何地方都可以通過Internet訪問這些物聯(lián)網(wǎng)設(shè)備,從而進(jìn)行惡意破壞,通常采用加密和訪問控制等技術(shù)來防御這類攻擊.然而,與外部攻擊相比,網(wǎng)絡(luò)內(nèi)部攻擊的危害性更大,因為攻擊者可以通過截獲合法節(jié)點,得到全部的密鑰材料,并惡意地修改它們的代碼,進(jìn)而對網(wǎng)絡(luò)進(jìn)行破壞.因此,惡意攻擊檢測機(jī)制[6]應(yīng)作為第二種阻止惡意攻擊危害物聯(lián)網(wǎng)的防御手段.灰洞攻擊[7,8]即選擇性丟包攻擊,是一種特殊類型的黑洞攻擊,被認(rèn)為是物聯(lián)網(wǎng)中危害最大的內(nèi)部攻擊.在灰洞攻擊中,妥協(xié)節(jié)點能夠有選擇地丟棄部分或全部已接收到的數(shù)據(jù)包.如果被丟棄的數(shù)據(jù)包中含有重要或敏感的信息,攻擊者將這些丟棄的數(shù)據(jù)收集起來并加以利用,會對用戶的財產(chǎn)和人身安全等帶來非常嚴(yán)重的影響.此外,在醫(yī)療保健和智能交通系統(tǒng)中所用到的感知設(shè)備通常是可移動的,這不僅會使惡意節(jié)點的位置難以確定,而且還會引起大量的鏈路故障和數(shù)據(jù)沖突,促使合法節(jié)點的丟包概率增加,因此,在節(jié)點移動的情況下,很難從合法節(jié)點中識別出灰洞節(jié)點.以往檢測灰洞攻擊的方法很多,不過大多數(shù)是在靜態(tài)網(wǎng)絡(luò)環(huán)境下進(jìn)行研究的,對于動態(tài)網(wǎng)絡(luò)中灰洞攻擊的研究較少.

本文考慮到節(jié)點移動性對網(wǎng)絡(luò)狀態(tài)帶來的影響,在IPv6物聯(lián)網(wǎng)中,提出了一種新的檢測灰洞攻擊的方法.該方法在RPL協(xié)議的基礎(chǔ)上增加了Hello數(shù)據(jù)包的傳遞過程,路由節(jié)點會定期向匯聚節(jié)點發(fā)送Hello數(shù)據(jù)包.匯聚節(jié)點收到Hello數(shù)據(jù)包后,對其進(jìn)行數(shù)據(jù)分析,將可疑的惡意節(jié)點標(biāo)記在隔離區(qū).當(dāng)可疑節(jié)點被標(biāo)記的次數(shù)達(dá)到上限時,匯聚節(jié)點將對這些節(jié)點進(jìn)行序貫概率比檢驗(Sequential Probability Ratio Test,SPRT)[9],進(jìn)而準(zhǔn)確地檢測出惡意節(jié)點;最后,通過全局修復(fù)機(jī)制,將惡意節(jié)點剔除網(wǎng)絡(luò),避免這些節(jié)點再次對網(wǎng)絡(luò)進(jìn)行攻擊.本文第2節(jié)介紹相關(guān)的工作;第3節(jié)簡要介紹與RPL協(xié)議有關(guān)的背景知識;第4節(jié)對所研究的內(nèi)容進(jìn)行問題描述和系統(tǒng)建模;第5節(jié)提出一種檢測灰洞攻擊的方案;第6節(jié)通過仿真實驗對所提方案的可行性和有效性進(jìn)行驗證;第7節(jié)對全文進(jìn)行總結(jié),并指出下一步的研究方向.

2 相關(guān)工作

目前,檢測灰洞攻擊的方法很多,大致可分為集中式[10-17]和分布式[18,19]兩種.在集中式方案中,匯聚節(jié)點或者簇頭負(fù)責(zé)檢測惡意攻擊,所需的開銷較少;在分布式方案中,網(wǎng)絡(luò)中每個節(jié)點均負(fù)責(zé)對惡意攻擊進(jìn)行檢測,所需的開銷較大,但是可以避免大規(guī)模網(wǎng)絡(luò)中單個節(jié)點故障而造成的影響.

在傳統(tǒng)靜態(tài)無線傳感器網(wǎng)絡(luò)中,針對灰洞攻擊的研究較多.文獻(xiàn)[10]提出了一種基于水印技術(shù)的檢測方案.該方案利用水印技術(shù)來檢測選擇性轉(zhuǎn)發(fā)攻擊,這樣不僅能夠檢測出路由節(jié)點是否丟棄數(shù)據(jù)包,還可以檢測出路由節(jié)點是否篡改數(shù)據(jù)包中的內(nèi)容.然而,該方案提取水印的延時較大,不適合大規(guī)模網(wǎng)絡(luò).文獻(xiàn)[11,12]提出了一種基于兩跳鄰居信息的輕量級檢測算法.該算法檢測精度高且開銷較小,但是下一跳節(jié)點的位置不能發(fā)生變化,否則會對檢測結(jié)果造成不良影響.文獻(xiàn)[13]提出了一種基于監(jiān)控節(jié)點和信任機(jī)制的安全路由協(xié)議.該協(xié)議將數(shù)據(jù)包轉(zhuǎn)發(fā)率和節(jié)點剩余能量等作為計算節(jié)點信譽值的依據(jù),能夠較好地評估節(jié)點行為,防御惡意攻擊.但該協(xié)議僅適用于節(jié)點位置固定不變的網(wǎng)絡(luò),一旦節(jié)點位置發(fā)生變化,則需重新度量節(jié)點信譽值.文獻(xiàn)[14,15]提出了一種適用于物聯(lián)網(wǎng)的實時入侵檢測系統(tǒng)(SEVELTE).SEVELTE使用RPL協(xié)議作為路由協(xié)議,由6LoWPAN Mapper、入侵檢測模塊和分布式小型防火墻三部分組成.SEVELTE不僅能夠防御來自Internet的外部攻擊,還能夠抵御內(nèi)部攻擊,但是該方案是在鄰居關(guān)系固定的情況下設(shè)計的,不適用于節(jié)點位置動態(tài)變化的情況.文獻(xiàn)[16]提出了一種自適應(yīng)閾值的方法,這不僅防御了DODAG不一致性攻擊,還避免了靜態(tài)閾值機(jī)制中存在的黑洞攻擊,但該方法是在靜態(tài)網(wǎng)絡(luò)環(huán)境下研究的,尚未應(yīng)用于動態(tài)網(wǎng)絡(luò)環(huán)境.上述這些方案雖然都能夠檢測出灰洞攻擊,但均存在一個問題,即沒有考慮網(wǎng)絡(luò)節(jié)點移動的情況.

為了在節(jié)點移動的情況下檢測出網(wǎng)絡(luò)中存在的惡意攻擊,一些學(xué)者們也做了相應(yīng)研究.文獻(xiàn)[17]在移動自組織網(wǎng)絡(luò)中提出了一種基于自適應(yīng)閾值的檢測方案.在每個檢測周期內(nèi),監(jiān)控節(jié)點都會計算每個路由節(jié)點發(fā)送和接收數(shù)據(jù)包的速率,并將其與自適應(yīng)閾值進(jìn)行比較.自適應(yīng)閾值取決于一個節(jié)點的碰撞概率因子和實際轉(zhuǎn)發(fā)概率,不過該方法是針對AODV路由協(xié)議設(shè)計的,不適用于物聯(lián)網(wǎng)中的RPL路由協(xié)議.文獻(xiàn)[18,19]提出了一種分布式檢測移動惡意節(jié)點的方法.作者假設(shè)惡意節(jié)點是移動的,而合法節(jié)點是靜態(tài)的.該方法采用SPRT檢驗法來識別惡意節(jié)點.如果某節(jié)點缺席時間高于閾值上限,則為惡意節(jié)點;如果某節(jié)點的缺席時間低于閾值下限,則為合法節(jié)點.該方案降低了檢測結(jié)果的誤檢率和漏檢率,但是在合法節(jié)點移動的情況下,各節(jié)點的缺席時間將無法進(jìn)行計算.

上述檢測方案,一方面是針對靜態(tài)網(wǎng)絡(luò)而設(shè)計的,不適合部署在節(jié)點位置動態(tài)變化的物聯(lián)網(wǎng)中;另一方面是針對特定的動態(tài)網(wǎng)絡(luò)而設(shè)計的,尚未能應(yīng)用于IPv6物聯(lián)網(wǎng)中.為此,我們在RPL協(xié)議的基礎(chǔ)上,提出了一種新的檢測灰洞攻擊的方法.

3 RPL協(xié)議

RPL協(xié)議是專門為低功耗有損網(wǎng)絡(luò)(Low-Power and Lossy Networks,LLNs)而制定的基于IPv6框架的距離矢量路由協(xié)議.自2012年以來, ROLL工作組已經(jīng)對RPL協(xié)議進(jìn)行了標(biāo)準(zhǔn)化[20].通過這個協(xié)議,能夠為物聯(lián)網(wǎng)提供一個具體且可路由的方案.RPL的網(wǎng)絡(luò)拓?fù)涫峭ㄟ^構(gòu)造有向非循環(huán)圖(Destination Oriented Directed Acyclic Graph,DODAG)來建立的.圖1給出了一個簡單的RPL網(wǎng)絡(luò)拓?fù)鋱D,在每個DODAG中,節(jié)點通過邊界路由器(Border Router,BR)連接到Internet.在構(gòu)建DODAG的過程中需要三種控制消息,即DIO(DODAG Information Object)消息、DIS(DODAG Information Solicitation)消息、DAO(Destination Advertisement Object)消息.其中,DIO消息用于DODAG上行鏈路的發(fā)現(xiàn)、建立和維護(hù);DIS消息用于發(fā)現(xiàn)鄰近的DODAG圖,并從鄰近的RPL節(jié)點請求DIO消息,從而加入到DODAG圖;DAO消息用于調(diào)節(jié)與控制DODAG的下行鏈路.

為了建立上行鏈路,根節(jié)點會以廣播的方式發(fā)送的DIO消息.每個位于根節(jié)點附近并決定接收DIO消息的節(jié)點均會依據(jù)根節(jié)點的等級(Rank)和目標(biāo)函數(shù)(Object Function,OF)來計算它們自己的等級,并將其封裝在DIO消息中廣播出去.每個接收到DIO消息的節(jié)點都會建立一個父節(jié)點集合.為了防止DODAG環(huán)路,每個節(jié)點的等級必須大于其父節(jié)點的等級.每個節(jié)點需在其父節(jié)點集合中選擇一個路徑最佳的父節(jié)點,作為最優(yōu)父節(jié)點.然后,重復(fù)封裝等級和廣播DIO消息這一過程,直到DIO消息到達(dá)葉節(jié)點為止.

圖1 RPL網(wǎng)絡(luò)拓?fù)銯ig.1 RPL network topology

同樣,在建立下行鏈路的過程中,每個加入到DODAG中的節(jié)點必須發(fā)送DAO消息給其最優(yōu)父節(jié)點作為回應(yīng),直到根節(jié)點接收到DAO消息為止.這樣一條從葉節(jié)點到根節(jié)點的完整路徑就建立成了.在非存儲和存儲兩種模式下,DAO消息的轉(zhuǎn)發(fā)方式不同.在非存儲模式中,最優(yōu)父節(jié)點直接轉(zhuǎn)發(fā)子節(jié)點的DAO消息,由根節(jié)點存儲所有節(jié)點DAO消息的網(wǎng)絡(luò)前綴.在存儲模式中,每個最優(yōu)父節(jié)點在轉(zhuǎn)發(fā)子節(jié)點DAO消息的同時,并將子節(jié)點DAO消息的網(wǎng)絡(luò)前綴存儲在路由表中.RPL協(xié)議具有兩種修復(fù)機(jī)制:本地修復(fù)和全局修復(fù).當(dāng)鏈路故障或鄰居節(jié)點失效后,路由節(jié)點將無法在上行鏈路上找到父節(jié)點,此時本地修復(fù)機(jī)制將被快速觸發(fā),并為其找到可替代父節(jié)點或路徑.當(dāng)本地修復(fù)發(fā)生后,整個網(wǎng)絡(luò)的最優(yōu)模式有可能被破壞,此時全局修復(fù)機(jī)制將被觸發(fā).全局修復(fù)過程中,根節(jié)點會廣播新的DIO消息,且每個位于根節(jié)點附近并決定接收DIO消息的節(jié)點均將重新計算自己的等級.

在一個RPL網(wǎng)絡(luò)拓?fù)渲校赡芊植贾鄠€DODAG.在相同的DODAG中也可能存在著多個根節(jié)點不同的DODAG子圖.DODAG是通過RPL InstanceID來識別的,并通過RPL InstanceID和DODAGID相結(jié)合來唯一標(biāo)識.RPL協(xié)議最初是為靜態(tài)網(wǎng)絡(luò)而設(shè)計的,但是經(jīng)過不斷的改進(jìn),它已經(jīng)適應(yīng)了由于節(jié)點移動而連續(xù)變化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[21-23].

4 問題描述與系統(tǒng)建模

4.1 問題描述

本方案考慮的是一個動態(tài)、異構(gòu)的大規(guī)模網(wǎng)絡(luò).在該網(wǎng)絡(luò)中,節(jié)點分為兩大類:集中式的匯聚節(jié)點和分布式的路由節(jié)點.為了防止單節(jié)點故障,本方案在大規(guī)模網(wǎng)絡(luò)中增加了匯聚節(jié)點的數(shù)量.匯聚節(jié)點又可分為兩種:一種是根節(jié)點,用于構(gòu)建網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(即DODAG);另一種是位于每個集群中的匯聚節(jié)點,用于接收Hello數(shù)據(jù)包并負(fù)責(zé)檢測灰洞攻擊.通常,灰洞節(jié)點為了成為最優(yōu)父節(jié)點會對外宣稱自己的等級是最佳的,由此吸引子節(jié)點將數(shù)據(jù)包轉(zhuǎn)發(fā)給它.一旦灰洞節(jié)點成為最優(yōu)父節(jié)點,將對網(wǎng)絡(luò)中的數(shù)據(jù)安全造成嚴(yán)重的威脅.

由于節(jié)點的移動性,網(wǎng)絡(luò)中每個節(jié)點的鄰居節(jié)點均在動態(tài)變化.這將導(dǎo)致節(jié)點很難分辨出是哪個鄰居節(jié)點向它發(fā)送了數(shù)據(jù)包或者它接收了哪個鄰居節(jié)點的數(shù)據(jù)包,如圖2所示.在圖2(a)中惡意節(jié)點首先攻擊它的兩個鄰居節(jié)點1和2.隨后,惡意節(jié)點移動到其他位置,如圖2(b)所示,并繼續(xù)攻擊新的鄰居節(jié)點6、7、8和9.為了解決網(wǎng)絡(luò)中節(jié)點移動性對檢測灰洞攻擊造成的困難,本方案在RPL協(xié)議的基礎(chǔ)上,引入了Hello數(shù)據(jù)包的傳遞過程.在該過程中,每個路由節(jié)點均向匯聚節(jié)點發(fā)送Hello數(shù)據(jù)包.匯聚節(jié)點接收到Hello數(shù)據(jù)包后,通過必要的計算、分析和判決,從而識別出惡意節(jié)點.

圖2 惡意節(jié)點移動前后的攻擊行為Fig.2 Attack behavior of the malicious node before and after moving

4.2 系統(tǒng)建模

物聯(lián)網(wǎng)可以看作一個巨大的有向圖,節(jié)點與節(jié)點之間的路徑可視為有向圖的邊.在沒有碰撞的理想信道中,我們假定網(wǎng)絡(luò)中每個邊均遵循流量守恒定理[24].在圖論中,流量守恒意味著正向流量的總和等于反向流量的總和.在本文中,用W表示網(wǎng)絡(luò)中除匯聚節(jié)點之外其它節(jié)點的集合;用Nj表示網(wǎng)絡(luò)中節(jié)點j的鄰居節(jié)點集合,其中,j∈W,j?Nj;用Sentj表示節(jié)點j發(fā)送給其最優(yōu)父節(jié)點k的數(shù)據(jù)包數(shù)量,其中,j∈Nk,k∈Nj,j≠k,且節(jié)點k不是目的節(jié)點;用Recji表示節(jié)點j接收到鄰居節(jié)點i的數(shù)據(jù)包數(shù)量,其中,鄰居節(jié)點i位于節(jié)點j的sub-DODAG中(i∈Nj且i≠j),但不是源節(jié)點.如果節(jié)點j(非源節(jié)點)發(fā)送一個數(shù)據(jù)包給其最優(yōu)父節(jié)點k,那么Sentj的值遞增;如果節(jié)點j(非目的節(jié)點)收到鄰居節(jié)點i的一個數(shù)據(jù)包,那么Recik的值遞增.在理想無線信道中,假如所有的節(jié)點j(j∈W)在一段時間Δt內(nèi)均保持原有位置不變,那么,可以得到如下等式(1).

(1)

式(1)體現(xiàn)了理想靜態(tài)網(wǎng)絡(luò)中的流量守恒定理,并指出了每個路由節(jié)點j接收到的數(shù)據(jù)包總量一定等于其父節(jié)點k接收到的數(shù)據(jù)包總量.然而,在實際情況中,無線信道是有損的.網(wǎng)絡(luò)碰撞或故障都可能導(dǎo)致數(shù)據(jù)包的丟失,此外,節(jié)點的移動也增加了數(shù)據(jù)包丟失的概率.鑒于以上原因,式(1)并不適用于非理想的無線信道.因此,我們引入一個損耗因子μ(0<μ<1),將等式(1)改寫為等式(2).

(2)

用p′表示節(jié)點j可容忍的丟包概率,也是節(jié)點的丟包概率閾值δ,其計算公式如公式(3)所示.當(dāng)由于節(jié)點移動或信道沖突導(dǎo)致數(shù)據(jù)包丟失時,δ將被重新計算.

(3)

當(dāng)網(wǎng)絡(luò)中部分合法節(jié)點移動時,根據(jù)公式(3)將無法實時調(diào)整閾值δ來識別灰洞節(jié)點.倘若閾值δ被設(shè)置的過高,那么惡意節(jié)點可能被誤檢為合法節(jié)點(假陰性率);倘若閾值δ被設(shè)置的過低,那么合法節(jié)點可能被誤檢為惡意節(jié)點(假陽性率).為了使閾值δ能夠隨著信道屬性和節(jié)點位置的改變而動態(tài)調(diào)整,預(yù)期傳輸次數(shù) (Expected Transmission Count,ETX)被用作計算丟包概率閾值δ的系數(shù)因子.ETX被定義為為了將數(shù)據(jù)包成功傳遞到目的節(jié)點而必須要被發(fā)送的數(shù)據(jù)包數(shù)量[25].因此,p′可以由節(jié)點j到達(dá)目的節(jié)點所經(jīng)過的每條鏈路qi的ETX值總和的倒數(shù)來確定,其計算方法如公式(4)所示.

(4)

5 檢測方案

為了準(zhǔn)確地檢測出灰洞節(jié)點,并將其剔除網(wǎng)絡(luò),本方案可分為三個階段.第1階段(收集數(shù)據(jù)),路由節(jié)點收集鄰居節(jié)點的信息,并將其封裝在Hello數(shù)據(jù)包中發(fā)送給匯聚節(jié)點;第2階段(數(shù)據(jù)分析與決策),匯聚節(jié)點收到Hello數(shù)據(jù)包后,通過必要的計算、分析和判決識別出灰洞節(jié)點;第3階段(剔除惡意節(jié)點),匯聚節(jié)點將惡意節(jié)點的ID封裝到DIO消息中,待全局修復(fù)機(jī)制啟動后將其廣播出去,以便于各路由節(jié)點將惡意節(jié)點從父節(jié)點集合中刪除掉.

5.1 數(shù)據(jù)收集

當(dāng)DODAG構(gòu)建完成后,每個路由節(jié)點j均會收集來自鄰居節(jié)點的信息,并將其存儲在鄰居列表中.節(jié)點j會根據(jù)最新的監(jiān)聽結(jié)果來更新自己的鄰居列表.如果某個被監(jiān)聽節(jié)點的地址不在節(jié)點j的鄰居列表中,那么節(jié)點j將添加該節(jié)點的信息到鄰居列表.

對于每個時間戳T,各路由節(jié)點均會根據(jù)收集的信息和已存儲的鄰居列表建立一個Hello數(shù)據(jù)包并將其發(fā)送給匯聚節(jié)點.Hello數(shù)據(jù)包主要包括DODAG SequenceNumber、RPL InstanceID、DODAGID、DODAG VersionNumber、節(jié)點標(biāo)識符j、最優(yōu)父節(jié)點標(biāo)識符k、從每個鄰居節(jié)點i接收到的數(shù)據(jù)包數(shù)目Recji、發(fā)送給最優(yōu)父節(jié)點的數(shù)據(jù)包數(shù)量Sentj以及與最新接收映射消息有關(guān)的時間戳TR.

一般情況下,每個路由節(jié)點均會將數(shù)據(jù)包轉(zhuǎn)發(fā)給其最優(yōu)父節(jié)點,但是考慮到惡意節(jié)點可能丟棄Hello數(shù)據(jù)包,甚至惡意節(jié)點一直處于最優(yōu)父節(jié)點的位置上,因此,Hello數(shù)據(jù)包的傳輸路徑必須采用隨機(jī)的方式進(jìn)行選擇.

5.2 數(shù)據(jù)分析與決策

5.2.1 數(shù)據(jù)分析

匯聚節(jié)點接收到路由節(jié)點j的Hello數(shù)據(jù)包后,會在專用的存儲表中對收集到的信息進(jìn)行更新.如果某一節(jié)點的地址不包含在路由表中,匯聚節(jié)點將在路由表中添加該節(jié)點的地址.匯聚節(jié)點會根據(jù)Hello數(shù)據(jù)包中的信息來計算路由節(jié)點j的丟包數(shù)量dm和丟包概率Pd.dm等于路由節(jié)點j收到的數(shù)據(jù)包總數(shù)與其最優(yōu)父節(jié)點k從節(jié)點j收到的數(shù)據(jù)包數(shù)量的差值,如公式(5)所示.丟包概率Pd被定義為公式(6).

(5)

(6)

如果節(jié)點j的丟包概率Pd超過閾值δ,那么匯聚節(jié)點將會把節(jié)點j標(biāo)記到隔離區(qū).當(dāng)節(jié)點j連續(xù)被標(biāo)記到隔離區(qū)ω次后,匯聚節(jié)點將對該節(jié)點進(jìn)行SPRT檢測,進(jìn)而確定該節(jié)點是否為灰洞節(jié)點.灰洞攻擊的檢測方法如算法1所示.

算法1.灰洞攻擊的檢測算法

輸入:計數(shù)器C=0

輸出:SPRT的判決結(jié)果

① 匯聚節(jié)點接收來自節(jié)點j的Hello數(shù)據(jù)包

② 計算節(jié)點j的dm和Pd的值

③ 執(zhí)行算法2

④ If (Pd>δ) Then

節(jié)點j被標(biāo)記到隔離區(qū),且C++

End If

⑤ 重復(fù)步驟①、②、③和④,直到匯聚節(jié)點接收到第ω個來自節(jié)點j的Hello數(shù)據(jù)包為止

⑥ If (C==ω) Then

執(zhí)行算法3

End If

⑦End

考慮到惡意節(jié)點可能為了避免被標(biāo)記到隔離區(qū),而虛報其已接收和發(fā)送的數(shù)據(jù)包數(shù)目,因此,每個路由節(jié)點必須滿足公式(7)的條件,即經(jīng)過中間節(jié)點j后數(shù)據(jù)包丟失的概率不得大于閾值δ的兩倍,否則,認(rèn)為節(jié)點j虛報了其發(fā)送和接收的數(shù)據(jù)包數(shù)量.匯聚節(jié)點接收到Hello數(shù)據(jù)包后,會通過執(zhí)行算法2來驗證路由節(jié)點j是否虛報了已發(fā)送和接收的數(shù)據(jù)包數(shù)目.

(7)

算法2.判斷節(jié)點是否虛報的算法

輸入:計數(shù)器C的值

輸出:更新后的計數(shù)器C的值

If 公式(7)不成立 Then

節(jié)點j被標(biāo)記到隔離區(qū),且C++

End If

End

5.2.2 SPRT判決

標(biāo)記次數(shù)到達(dá)ω的節(jié)點,既包含丟包率較高的合法節(jié)點,也包含惡意節(jié)點.為了更加準(zhǔn)確地檢測出惡意節(jié)點,并使假陽性率和假陰性率均最小化,本方案采用SPRT檢驗法對灰洞攻擊進(jìn)行檢測.在統(tǒng)計決策中,SPRT檢驗法不需要預(yù)先設(shè)定觀測樣本的數(shù)目,而是在檢測的過程中不斷增加樣本數(shù)目,直到滿足要求的上下限值為止.

為了降低檢測結(jié)果的假陽性率和假陰性率,我們在包含p′的區(qū)間內(nèi)設(shè)定兩個極限值p0和p1,其中,p0=p′-ε0,p1=p′+ε1,且p0

H0:零假設(shè),Pd≤p0,該節(jié)點是合法節(jié)點.

H1:備擇假設(shè),Pd≥p1,該節(jié)點是惡意節(jié)點.

采用SPRT檢驗法的目的是使H0為真時接受H1的概率最小,即假陽性率α最小,以及當(dāng)H1為真時接受H0的概率最小,即假陰性率β最小.

由SPRT可得到,節(jié)點j丟包數(shù)目的可容忍值Ln和不可容忍值Hn,即n個樣本中節(jié)點j實際丟包數(shù)目dm(n)的上下限.Ln和Hn分別可通過公式(8)和(9)計算得到.

(8)

(9)

匯聚節(jié)點通過觀測收集到的n個樣本,將dm(n)與Ln、Hn進(jìn)行比較,則每一次SPRT檢測結(jié)果可能出現(xiàn)以下三種情況:

1)dm(n)≤Ln,斷定該節(jié)點是合法的,接受H0并對其重新進(jìn)行檢測;

2)dm(n)≥Hn,斷定該節(jié)點是惡意的,接受H1并終止檢測;

3)Ln

算法3.SPRT檢測算法

輸入:ε0和ε1的值

輸出:接受H0或者接受H1.

If (n>0)Then

計算p′,p0,p1,Ln和Hn

If (dm(n)≥Hn) Then

接受H1并終止檢測

Else

If (dm(n)≤Ln) Then

接受H0,并初始化n=0,dm(n)=0

Else

重復(fù)SPRT檢測

End If

End If

End If

End

5.3 剔除惡意節(jié)點

當(dāng)惡意節(jié)點被檢測到后,匯聚節(jié)點將其身份信息封裝到DIO消息中.待全局修復(fù)機(jī)制啟動時,匯聚節(jié)點將DIO消息以廣播的形式發(fā)送出去.每個接收到DIO消息的節(jié)點均會將惡意節(jié)點從其父節(jié)點集合中刪除掉.當(dāng)全局修復(fù)完成后,惡意節(jié)點將被全部剔除DODAG,無法再對網(wǎng)絡(luò)進(jìn)行破壞.利用全局修復(fù)機(jī)制剔除惡意節(jié)點的方法如算法4所示.

算法4.剔除惡意攻擊節(jié)點的算法

① 將惡意節(jié)點的身份信息封裝到DIO消息中

② If (全局修復(fù)機(jī)制啟動) Then

匯聚節(jié)點廣播DIO消息;

路由節(jié)點讀取DIO消息,并在父節(jié)點集合中刪除該節(jié)點;

③ 重復(fù)步驟②,直到DIO消息到達(dá)葉節(jié)點為止

④ End If

⑤ End

6 仿真實驗及結(jié)果分析

6.1 仿真環(huán)境設(shè)置

本文采用Contiki操作系統(tǒng)中自帶的Cooja網(wǎng)絡(luò)模擬器進(jìn)行仿真實驗[26].Cooja可以實現(xiàn)RPL協(xié)議和模擬真實的節(jié)點行為.在仿真平臺上,將傳感器節(jié)點部署在面積為50m×50m的正方形區(qū)域內(nèi),每個傳感器節(jié)點的鄰居節(jié)點數(shù)目不超過8.其中,3個惡意節(jié)點分別位于3條不相交的路徑上,1個匯聚節(jié)點,且惡意節(jié)點與匯聚節(jié)點之間至少相差兩跳的距離.除惡意節(jié)點外其他節(jié)點的位置均是隨機(jī)部署的.介質(zhì)訪問協(xié)議采用IEEE 802.15.4協(xié)議.每個數(shù)據(jù)包大小為128Bytes,數(shù)據(jù)包的發(fā)送間隔為60s,仿真時間為1h.設(shè)置ε0=0.19[18],ε1=0.01[18],ω=8.下面我們將對本方案的檢測率、所需樣本量以及網(wǎng)絡(luò)開銷這三個方面進(jìn)行仿真分析,并將每50次的仿真結(jié)果的平均值作為實驗分析的對象.

6.2 檢測率分析

為了體現(xiàn)本方案能夠在節(jié)點移動情況下,以較低的誤檢率識別出灰洞節(jié)點,我們采用惡意節(jié)點檢測率和合法節(jié)點檢測率作為本方案的評價標(biāo)準(zhǔn).惡意節(jié)點檢測率定義為惡意節(jié)點被正確檢測到的概率與合法節(jié)點被誤檢為惡意節(jié)點的概率的差值.合法節(jié)點檢測率定義為合法節(jié)點被正確檢測到的概率與惡意節(jié)點被誤檢為合法節(jié)點的概率的差值.

為了更好地評估本方案的惡意節(jié)點檢測率和合法節(jié)點檢測率,我們考慮了兩種網(wǎng)絡(luò)配置.一種是在網(wǎng)絡(luò)中部署40個節(jié)點,其中35個可移動節(jié)點,移動速度在4m/s和10m/s之間.另一種則是在網(wǎng)絡(luò)中配置40個節(jié)點,其中20個可移動節(jié)點,移動速度在4m/s和 10m/s之間.當(dāng)沒有惡意攻擊時,根據(jù)公式(4)可計算出上述兩種配置下合法節(jié)點的平均可容忍丟包概率分別約為0.4和0.3.當(dāng)有惡意節(jié)點存在時,我們設(shè)置上述兩種網(wǎng)絡(luò)配置下p′的值分別為0.4和0.3,并分別對這兩種情況進(jìn)行討論.

設(shè)置樣本數(shù)n為20,通過改變假陽性率α和假陰性率β的值,可由公式(8)和公式(9)分別計算出上述兩種情況下可容忍丟包數(shù)目Ln和不可容忍丟包數(shù)目Hn的值,計算結(jié)果如表1、表2、表3和表4所示.

表1 當(dāng)p′=0.4,β=0.5時,改變α的值對Ln和Hn的影響

Table 1 Effect of varyingαvalue onLnandHnvalues whenp′=0.4 andβ=0.5

α0.00010.0010.010.050.10.2Ln555556Hn151310887

表2 當(dāng)p′=0.4,α=0.01時,改變β的值對Ln和Hn的影響

Table 2 Effect of varyingβvalue onLnandHnvalues whenp′=0.4 andα=0.01

β0.010.050.10.20.50.7Ln134456Hn111111111010

由表1-表4可看出,隨著α或β的增加,可容忍的丟包數(shù)目Ln的值逐漸增加,而不可容忍的丟包數(shù)目Hn的值逐漸減小.此外,當(dāng)固定β,降低α?xí)r,Hn增加的速度比Ln降低的速度快;當(dāng)固定α,增加β時,Ln增加的速度比Hn降低的速度快.這說明α的取值對Hn的影響較大,β的取值對Ln的影響較大.因此,在選取α?xí)r,應(yīng)適當(dāng)?shù)亟档挺恋娜≈担刺岣逪n的值,這樣才不易使丟包率較高的合法節(jié)點被誤判為惡意節(jié)

表3 當(dāng)p′=0.3,β=0.5時,改變α的值對Ln和Hn的影響

Table 3 Effect of varyingαvalue onLnandHnvalues whenp′=0.3 andβ=0.5

α0.00010.0010.010.050.10.2Ln333334Hn1197655

表4 當(dāng)p′=0.3,α=0.01時,改變β的值對Ln和Hn的影響

Table 4 Effect of varyingβvalue onLnandHnvalues whenp′=0.3 and α=0.01

β0.010.050.10.20.50.7Ln022334Hn877777

點;在選取β時,應(yīng)適當(dāng)?shù)卦黾应碌娜≈担刺岣週n的值,這樣才能夠使丟包率較高的合法節(jié)點在較短的時間內(nèi)被準(zhǔn)確檢測到.上述4種情況所對應(yīng)的惡意節(jié)點檢測率和合法節(jié)點檢測率如圖3、圖4、圖5和圖6所示.

圖3 當(dāng)p′=0.4,β=0.5時,合法節(jié)點與惡意節(jié)點的檢測率Fig.3 Detection rate of malicious and legitimate nodes when p′=0.4,β=0.5

圖4 當(dāng)p′=0.4,α=0.01時,合法節(jié)點與惡意節(jié)點的檢測率Fig.4 Detection rate of malicious and legitimate nodes when p′=0.4,α=0.01

由圖3-圖6可見,隨著α或β的增加,惡意節(jié)點檢測率逐漸降低,而合法節(jié)點檢測率逐漸增加.其主要原因:ⅰ)當(dāng)α或β增加時,Ln的值隨之增加,這意味著合法節(jié)點的判決條件被放寬了,讓那些由于移動而具有高丟包率的合法節(jié)點能夠被正確識別出來,從而增加了合法節(jié)點的檢測率;ⅱ)當(dāng)α或β增加時,Hn的值反而減小,這意味著那些丟包率較高的合法節(jié)點有可能被檢測為惡意節(jié)點,從而降低了惡意節(jié)點的檢測率.由圖3和圖5可見,當(dāng)α=0.0001時,惡意節(jié)點檢測率高達(dá)100%,這意味著所有惡意節(jié)點都被檢測到,且沒有合法節(jié)點被誤檢為惡意節(jié)點.另外,由表1和表3可知,當(dāng)α=0.0001時,Hn所對應(yīng)的值分別為15和11,這表明20個樣本在這兩種網(wǎng)絡(luò)配置中,合法節(jié)點的最大丟包數(shù)目分別不超過15和11.

圖5 當(dāng)p′=0.3, β=0.5時,合法節(jié)點與惡意節(jié)點的檢測率Fig.5 Detection rate of malicious and legitimate nodes when p′=0.3,β=0.5

圖6 當(dāng)p′=0.3,α=0.01時,合法節(jié)點與惡意節(jié)點的檢測率Fig.6 Detection rate of malicious and legitimate nodes when p′=0.3,α=0.01

6.3 所需樣本數(shù)分析

由6.2節(jié)可知,當(dāng)α=0.0001,β=0.5時,惡意節(jié)點檢測率最高,因此,本節(jié)設(shè)置α=0.0001,β=0.5.仿真時在網(wǎng)絡(luò)中部署40個傳感器節(jié)點,移動節(jié)點數(shù)目分別為10、20和30,移動速度為5m/s到30m/s之間.

圖7 每個惡意節(jié)點的平均取樣數(shù)量Fig.7 Average sampling number of each malicious node

每個被檢測節(jié)點的平均樣本數(shù)是匯聚節(jié)點判斷一個節(jié)點是否為灰洞節(jié)點所需的樣本量.當(dāng)移動節(jié)點的速度不同時,每個惡意節(jié)點被準(zhǔn)確檢測到所需的平均樣本數(shù)如圖7所示.由圖7可知,當(dāng)移動節(jié)點的數(shù)目不同時,隨著移動節(jié)點速度的增加,每個惡意節(jié)點被準(zhǔn)確檢測到所需平均樣本數(shù)的范圍為3.4到3.8之間,可見移動節(jié)點的數(shù)目和移動速度對能否準(zhǔn)確地檢測出惡意節(jié)點的影響并不大.因此,匯聚節(jié)點僅需要少數(shù)樣本即可準(zhǔn)確檢測出惡意節(jié)點.

圖8 每個合法節(jié)點的平均取樣數(shù)量Fig.8 Average sampling number of each legitimate node

每個合法節(jié)點被準(zhǔn)確檢測到所需平均樣本數(shù)如圖8所示.由圖8可知,隨著移動節(jié)點速度或移動節(jié)點數(shù)目的增加,每個合法節(jié)點被準(zhǔn)確檢測到所需平均樣本數(shù)也隨之增加,這表明節(jié)點移動速度越快或移動節(jié)點數(shù)目越多導(dǎo)致合法節(jié)點被誤判為惡意節(jié)點的可能性越大,因此,匯聚節(jié)點準(zhǔn)確地檢測出合法節(jié)點所需的樣本數(shù)也就越多.

6.4 開銷分析

開銷是指方案運行期間實際傳輸控制數(shù)據(jù)包的數(shù)量.本方案所傳輸?shù)目刂茢?shù)據(jù)包包含DIO消息、DAO消息、DIS消息和Hello數(shù)據(jù)包.為了分析移動節(jié)點的速度對本方案所需網(wǎng)絡(luò)開銷的影響,我們在網(wǎng)絡(luò)中部署了1個匯聚節(jié)點,3個惡意節(jié)點,7個固定節(jié)點和7個移動節(jié)點.圖9給出了移動節(jié)點的速度不同時,本方案所需開銷與本地RPL協(xié)議所需開銷的比較.從圖9中可以看出,當(dāng)移動節(jié)點的速度增加時,本方案所需開銷與本地RPL所需開銷均隨之增加.其主要原因是節(jié)點的移動速度過快導(dǎo)致了DODAG的不一致性,根節(jié)點需重新廣播DIO消息來維護(hù)網(wǎng)絡(luò)節(jié)點間的鄰接性,從而增加了網(wǎng)絡(luò)開銷.另外,本方案所需開銷稍高于本地RPL所需開銷,其主要原因是,本方案增加了Hello數(shù)據(jù)包的傳遞過程.

圖9 節(jié)點移動速度對網(wǎng)絡(luò)開銷的影響Fig.9 Effect of node movement speed on network overhead

圖10 移動節(jié)點數(shù)目對網(wǎng)絡(luò)開銷的影響Fig.10 Effect of the number of mobile nodes on the network overhead

為了分析移動節(jié)點數(shù)目對本方案所需網(wǎng)絡(luò)開銷的影響,我們在網(wǎng)絡(luò)中部署了1個匯聚節(jié)點,3個惡意節(jié)點,7個固定節(jié)點和不同數(shù)目的移動節(jié)點,移動節(jié)點速度固定為4m/s.圖10給出了移動節(jié)點的數(shù)目不同時,本方案所需開銷與本地RPL所需開銷的比較.由圖10可以看出,隨著移動節(jié)點數(shù)目的增加,本方案所需開銷高于本地RPL所需開銷.這是因為與本地RPL相比,本方案中需要傳遞Hello數(shù)據(jù)包的節(jié)點數(shù)目增多了,從而增加了網(wǎng)絡(luò)開銷.

7 結(jié) 論

在IPv6物聯(lián)網(wǎng)中,為了降低由于節(jié)點移動而導(dǎo)致的合法節(jié)點被誤檢為惡意節(jié)點的概率,提出了一種新的用于檢測灰洞攻擊的方法.考慮到鏈路質(zhì)量和由于節(jié)點移動性對網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)造成的影響,本方案采用ETX計算節(jié)點丟包概率的動態(tài)閾值,并與SPRT檢驗法相結(jié)合,從而以較低的誤檢率檢測出惡意節(jié)點,最后,通過RPL協(xié)議中的全局修復(fù)機(jī)制,將惡意節(jié)點剔除網(wǎng)絡(luò).此外,我們從檢測率,所需樣本和開銷三個方面驗證了本方案的可行性與有效性.未來的工作包括:第一,進(jìn)一步探索如何減少Hello數(shù)據(jù)包傳遞次數(shù)的方法,比如采用數(shù)據(jù)聚合的方法,從而降低網(wǎng)絡(luò)開銷,使其更好地應(yīng)用于大規(guī)模網(wǎng)絡(luò);第二,將本方案應(yīng)用于其他惡意攻擊場景中,不斷改進(jìn)和完善,以提高方案的適用性和檢測率.

猜你喜歡
檢測
QC 檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
“有理數(shù)的乘除法”檢測題
“有理數(shù)”檢測題
“角”檢測題
“幾何圖形”檢測題
主站蜘蛛池模板: 福利视频99| hezyo加勒比一区二区三区| 偷拍久久网| 日本少妇又色又爽又高潮| 综合久久久久久久综合网| av午夜福利一片免费看| 欧美日韩亚洲综合在线观看 | 日韩欧美中文| 丁香亚洲综合五月天婷婷| 国产精品尹人在线观看| 秘书高跟黑色丝袜国产91在线| 国产91全国探花系列在线播放| 91国内在线观看| 免费啪啪网址| 日韩 欧美 国产 精品 综合| 毛片视频网| 欧美日韩午夜| 国产9191精品免费观看| 手机精品福利在线观看| 免费一看一级毛片| 中文纯内无码H| h视频在线观看网站| 亚洲永久色| a色毛片免费视频| 激情无码视频在线看| 久久久久青草大香线综合精品| 色播五月婷婷| 五月天久久综合| 国产一二三区视频| 草逼视频国产| 欧美成人综合视频| 欧美日韩在线第一页| 九九九九热精品视频| 久久久受www免费人成| 亚洲色图在线观看| 国模沟沟一区二区三区| 中文字幕亚洲专区第19页| 丁香亚洲综合五月天婷婷| 试看120秒男女啪啪免费| 黑人巨大精品欧美一区二区区| 日本伊人色综合网| 一本色道久久88| 国产精品免费电影| 国产精品爽爽va在线无码观看| 国产人妖视频一区在线观看| 一区二区三区成人| 亚洲二三区| 香蕉蕉亚亚洲aav综合| 色噜噜在线观看| 国产日韩精品欧美一区灰| 免费国产好深啊好涨好硬视频| 狠狠躁天天躁夜夜躁婷婷| 一级黄色片网| 亚洲成在人线av品善网好看| 亚卅精品无码久久毛片乌克兰| 成人午夜天| 91久久性奴调教国产免费| 狠狠色丁香婷婷综合| 乱码国产乱码精品精在线播放| 精品三级网站| 国产精品19p| 日韩高清中文字幕| 成人国产精品一级毛片天堂| 国产福利一区在线| 天堂网亚洲综合在线| 久久毛片基地| 国产男女免费完整版视频| 亚洲午夜福利精品无码不卡| 久久精品丝袜| 午夜毛片免费观看视频 | 亚洲香蕉久久| 亚洲欧美精品日韩欧美| 亚洲婷婷六月| 一级毛片免费播放视频| 免费人成又黄又爽的视频网站| 粉嫩国产白浆在线观看| 三上悠亚精品二区在线观看| 国产精品999在线| 国产成人综合亚洲网址| 亚洲国产日韩一区| 一本色道久久88| 亚洲精品视频网|