摘要:蟲(chóng)洞攻擊嚴(yán)重威脅著無(wú)線傳感器網(wǎng)絡(luò)的安全,不需要知道網(wǎng)絡(luò)使用的具體協(xié)議,攻擊者通過(guò)在網(wǎng)絡(luò)中互相遠(yuǎn)離的兩個(gè)位置設(shè)置兩個(gè)惡意節(jié)點(diǎn)就可以發(fā)起蟲(chóng)洞攻擊。攻擊者可以丟棄數(shù)據(jù)包、修改數(shù)據(jù)包并分析流量。文章提出了一種基于鄰居信息和備用路徑長(zhǎng)度的蟲(chóng)洞檢測(cè)方法。仿真結(jié)果表明,這種方法具有較高的檢測(cè)精度和較小的存儲(chǔ)需求。
關(guān)鍵詞:網(wǎng)絡(luò)安全;無(wú)線傳感器網(wǎng)絡(luò);蟲(chóng)洞攻擊
中圖分類(lèi)號(hào):TP393 ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)31-0081-03
1 引言
與其他ad-hoc網(wǎng)絡(luò)相比,無(wú)線傳感器網(wǎng)絡(luò)有很多獨(dú)特之處,如傳感器節(jié)點(diǎn)資源有限、節(jié)點(diǎn)部署密集、節(jié)點(diǎn)使用廣播通信而不是點(diǎn)對(duì)點(diǎn)通信、節(jié)點(diǎn)容易發(fā)生故障、拓?fù)浣Y(jié)構(gòu)經(jīng)常變化等[1]。無(wú)線傳感器網(wǎng)絡(luò)處在開(kāi)放的環(huán)境里,這使它容易受到各種各樣的攻擊。安全性對(duì)于無(wú)線傳感器網(wǎng)絡(luò)是至關(guān)重要的。文獻(xiàn)[2]對(duì)無(wú)線傳感器網(wǎng)絡(luò)面臨的安全問(wèn)題進(jìn)行了較為全面的分析。在所有可能的攻擊中,蟲(chóng)洞攻擊是非常危險(xiǎn)的,因?yàn)樗鼮楦嗟墓舸蜷_(kāi)了大門(mén)。如果要發(fā)起攻擊,攻擊者不需要任何加密中斷。兩個(gè)惡意節(jié)點(diǎn)通過(guò)高速低延遲隧道連接。一個(gè)惡意節(jié)點(diǎn)從一個(gè)區(qū)域捕獲流量并將轉(zhuǎn)發(fā)到遠(yuǎn)離它的另一個(gè)惡意節(jié)點(diǎn),從而干擾路由選擇。本研究提出了一種基于鄰居信息和備用路徑長(zhǎng)度的蟲(chóng)洞檢測(cè)機(jī)制。
2 蟲(chóng)洞攻擊描述
兩個(gè)相互遠(yuǎn)離的惡意節(jié)點(diǎn)在它們之間創(chuàng)建了一條高速低延遲的隧道。一個(gè)惡意節(jié)點(diǎn)捕獲來(lái)自網(wǎng)絡(luò)一個(gè)區(qū)域的流量,并通過(guò)隧道將其傳輸?shù)搅硪粋€(gè)惡意節(jié)點(diǎn)。正常流量得到了來(lái)自另一區(qū)域的惡意節(jié)點(diǎn)的回復(fù),通過(guò)這種方式干擾了正常路由。發(fā)起攻擊后,攻擊者可以修改數(shù)據(jù)包、丟棄數(shù)據(jù)包、分析流量并為更多其他攻擊打開(kāi)大門(mén)。如圖1所示,源節(jié)點(diǎn)S廣播的數(shù)據(jù)包被惡意節(jié)點(diǎn)M1捕獲并通過(guò)帶外高速信道(隧道)將其傳輸?shù)搅硪粋€(gè)惡意節(jié)點(diǎn)M2。目標(biāo)節(jié)點(diǎn)D從惡意節(jié)點(diǎn)M2接收到數(shù)據(jù)包,就像直接從源節(jié)點(diǎn)S接收它們一樣。數(shù)據(jù)包也可以通過(guò)正常路由S-W-X-Y-Z-D到達(dá)目的節(jié)點(diǎn),由于正常路由經(jīng)歷的跳數(shù)更多,所以數(shù)據(jù)包到達(dá)就慢,正常路由就會(huì)被惡意路由代替。
3 現(xiàn)有的蟲(chóng)洞攻擊檢測(cè)方法
我們可以利用位置信息來(lái)識(shí)別蟲(chóng)洞攻擊,這需要使用GPS或定向天線,從而會(huì)增加網(wǎng)絡(luò)成本。在文獻(xiàn)[3]中,作者提出了基于網(wǎng)格的蟲(chóng)洞攻擊抵御策略。文獻(xiàn)[4]提出了一種基于標(biāo)簽的抗蟲(chóng)洞MMCL算法LB-MMCL。由于鄰居列表頻繁變化,這些方法在移動(dòng)無(wú)線傳感器網(wǎng)絡(luò)中無(wú)法有效工作。
與正常路徑相比,蟲(chóng)洞路徑包含的跳數(shù)更少?;谔鴶?shù)和距離的檢測(cè)方法見(jiàn)參考文獻(xiàn)[5]?;跁r(shí)間的蟲(chóng)洞攻擊檢測(cè)方法見(jiàn)參考文獻(xiàn)[6]。如果平均每跳時(shí)間大于正常路由的平均每跳時(shí)間,則表明該路由存在蟲(chóng)洞。文獻(xiàn)[7]介紹了基于網(wǎng)絡(luò)連通性的蟲(chóng)洞檢測(cè)方法。惡意節(jié)點(diǎn)會(huì)導(dǎo)致不正確的連接信息。
4 檢測(cè)方法
4.1 假定
第一個(gè)假定是所有的傳感器節(jié)點(diǎn)都是靜態(tài)的。第二個(gè)假定是在剛開(kāi)始部署時(shí)網(wǎng)絡(luò)中不存在惡意節(jié)點(diǎn)。在初始階段,所有合法的傳感器節(jié)點(diǎn)安全地建立其鄰居信息。
4.2 對(duì)手模型
相距很遠(yuǎn)的兩個(gè)惡意節(jié)點(diǎn)建立高速隧道。一個(gè)惡意節(jié)點(diǎn)從一個(gè)區(qū)域捕獲流量,并將流量轉(zhuǎn)發(fā)到位于不同區(qū)域的另一個(gè)惡意節(jié)點(diǎn),因此路由被完全擾亂。在發(fā)起蟲(chóng)洞攻擊后,惡意節(jié)點(diǎn)可以分析流量、丟棄數(shù)據(jù)包、修改數(shù)據(jù)包。
4.3 提出的檢測(cè)方法
在最初的一段時(shí)間內(nèi),惡意節(jié)點(diǎn)不參與網(wǎng)絡(luò)活動(dòng)。為了建立鄰居信息,每個(gè)節(jié)點(diǎn)向其鄰居發(fā)送hello消息。當(dāng)節(jié)點(diǎn)收到消息時(shí)會(huì)立即回復(fù),于是發(fā)送節(jié)點(diǎn)將接收節(jié)點(diǎn)添加到其鄰居列表中。通過(guò)這種方式,每個(gè)節(jié)點(diǎn)建立起了一跳鄰居列表。在建立起一跳鄰居列表后,每個(gè)節(jié)點(diǎn)將其一跳鄰居列表發(fā)送給其鄰居。用這種方法,每個(gè)節(jié)點(diǎn)建立起了兩跳鄰居列表。
一段時(shí)間后,如果任何節(jié)點(diǎn)無(wú)意中接收到來(lái)自某些新節(jié)點(diǎn)的數(shù)據(jù)包,那么就將新節(jié)點(diǎn)添加到可疑鄰居列表中。假設(shè)節(jié)點(diǎn)A無(wú)意中收到來(lái)自節(jié)點(diǎn)B的數(shù)據(jù)包,那么節(jié)點(diǎn)B被添加到節(jié)點(diǎn)A的可疑鄰居列表中,節(jié)點(diǎn)A接著執(zhí)行圖3所示的流程。節(jié)點(diǎn)A的所有可信鄰居都找到了到可疑節(jié)點(diǎn)B的最短路徑,從節(jié)點(diǎn)A到節(jié)點(diǎn)B的直接路徑不包括在內(nèi)。對(duì)于所有路徑,如果長(zhǎng)度大于預(yù)定義的閾值,那么這條A到B的鏈接即為假鏈接,蟲(chóng)洞攻擊即被檢測(cè)到。
4.4 數(shù)學(xué)分析
數(shù)學(xué)上已經(jīng)證明兩個(gè)真正的鄰居節(jié)點(diǎn)總是共享公共的單跳鄰居。
圖3中節(jié)點(diǎn)P和Q之間的距離為D,半徑為R。我們已經(jīng)計(jì)算了重疊傳輸區(qū)中另一個(gè)節(jié)點(diǎn)的出現(xiàn)概率。
扇形面積
[PASB=12×R×S=θ2×R2] ? ? (1)
[θ2=cos-1D2R] ? ? ? ? (2)
由(1)和(2)得,
[PASB=R2?cos-1D2R] ? ? ? ? ?(3)
三角形面積
[PAB=12×AB×PO=12×OA×D2] ? ? ?(4)
[R2=PO2+OA2=D24+OA2] ? ? ? ?(5)
由(5),
[OA=R2-D24] ? ? ? ? ? ?(6)
由(4),(6)得
[PAB=R2-D24×D2] ? ? ? ? ? (7)
重疊區(qū)域
[A(D)=2(PASB-PAB)=2R2cos-1D2R-R2-D24?D2] ? ?(8)
重疊區(qū)域中存在節(jié)點(diǎn)的概率為
[p=θ-δA(d)] ? ? ? (9)
節(jié)點(diǎn)P和Q之間的最大距離為R,所以
[P(D)=1R2??D2?D=2DR2] ? ? ?(10)
由(9),(10),公共區(qū)域中不存在任何節(jié)點(diǎn)的概率為
[P=DR2DR2?D-δA(d)dD=D-1.18?δ?R2] ? (11)
如果密度為每平方公里100個(gè)節(jié)點(diǎn),R取值250m,那么P<0.1%。
5 結(jié)果和分析
鄰居的平均數(shù)量用NAV表示,節(jié)點(diǎn)總數(shù)用NT表示,每個(gè)節(jié)點(diǎn)的大小用SID表示,存儲(chǔ)鄰居信息所需的存儲(chǔ)空間為SIDNAV。要存儲(chǔ)鄰居的鄰居列表,所需的存儲(chǔ)空間為SIDNAVNAV。所以對(duì)于每個(gè)節(jié)點(diǎn),所需的總存儲(chǔ)空間為SIDNAV + SIDNAVNAV。
如果節(jié)點(diǎn)大小為4字節(jié),每個(gè)節(jié)點(diǎn)的平均鄰居數(shù)為10,那么該節(jié)點(diǎn)所需的存儲(chǔ)空間為440字節(jié)。該協(xié)議占用內(nèi)存非常少,所以適用于資源有限的無(wú)線傳感器網(wǎng)絡(luò)。我們模擬了密集網(wǎng)絡(luò)和稀疏網(wǎng)絡(luò)中的蟲(chóng)洞攻擊。模擬參數(shù)如表1所示。
在正常情況下,數(shù)據(jù)包投遞率為99%,在有攻擊的情況下,數(shù)據(jù)包投遞率降至41%,在應(yīng)用了所提出的方法后,數(shù)據(jù)包投遞率為98%。類(lèi)似地,在正常情況下,吞吐量為89kbps;在攻擊情況下,吞吐量降至36kbps,在應(yīng)用了提出的方法后,吞吐量為85kbps;在存在攻擊的情況下,數(shù)據(jù)包投遞率和吞吐量急劇都下降。應(yīng)用該協(xié)議后,數(shù)據(jù)包投遞率和吞吐量都有了顯著提高。
誤報(bào)率大大降低,當(dāng)短距離內(nèi)發(fā)生蟲(chóng)洞攻擊時(shí)會(huì)產(chǎn)生漏報(bào)。當(dāng)發(fā)生遠(yuǎn)距離蟲(chóng)洞攻擊時(shí),檢測(cè)準(zhǔn)確率接近100%。對(duì)于報(bào)告的路徑長(zhǎng)度,閾值λ取值為3。當(dāng)λ=1時(shí)可以檢測(cè)短的蟲(chóng)洞攻擊,但它會(huì)增加誤報(bào)。當(dāng)λ=5時(shí),誤報(bào)率降低,但檢測(cè)不到短的蟲(chóng)洞攻擊。λ=3是獲得良好檢測(cè)率的最合適值,結(jié)果如表2所示。Pworm[8]是一種概率方法,當(dāng)只有很少的流量被捕捉到時(shí)就無(wú)法檢測(cè)到蟲(chóng)洞。文獻(xiàn)[9]使用了基于RTT的MDS蟲(chóng)洞檢測(cè)方法。表2是文中所提方法與這兩種方法的比較,可以看出本方法的檢測(cè)準(zhǔn)確性更高。
6 結(jié)論
近年來(lái),無(wú)線傳感器網(wǎng)絡(luò)中蟲(chóng)洞攻擊的研究受到了廣泛關(guān)注。要發(fā)起攻擊,攻擊者不需要任何密碼,也不需要知道網(wǎng)絡(luò)中使用的協(xié)議。多數(shù)檢測(cè)方法采用硬件,這增加了傳感器節(jié)點(diǎn)的制造成本。文章提出的檢測(cè)方法對(duì)資源的要求不高并且具有較高的檢測(cè)精度。在未來(lái)的研究中,移動(dòng)無(wú)線傳感器網(wǎng)絡(luò)中的安全鄰居發(fā)現(xiàn)是一個(gè)很有意義的課題。
參考文獻(xiàn):
[1] 徐小龍,高仲合,韓麗娟.一種新型的無(wú)線傳感器網(wǎng)絡(luò)蟲(chóng)洞攻擊檢測(cè)與預(yù)防技術(shù)[J].軟件,2019,40(6):17-20.
[2] Uzougbo O I,Ajibade S S M,Taiwo F.An overview of wireless sensor network security attacks:mode of operation,severity and mitigation techniques[EB/OL].[2021-06-30]. https://arxiv.org/abs/2011.06779.
[3] 吳一塵,章曙光.基于網(wǎng)格的無(wú)線傳感器網(wǎng)絡(luò)蟲(chóng)洞攻擊抵御策略[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2019,49(1):1-7.
[4] 鮑露,鄧平.一種基于標(biāo)簽的抗蟲(chóng)洞攻擊MMCL算法[J].傳感技術(shù)學(xué)報(bào),2018,31(7):1118-1123.
[5] 吳海波,魏麗君.PS-DV-Hop算法對(duì)蟲(chóng)洞攻擊防御的安全性能研究[J].計(jì)算機(jī)與數(shù)字工程,2018,46(10):2073-2077.
[6] Singh R,Singh J,Singh R.WRHT:a hybrid technique for detection of wormhole attack in wireless sensor networks[J].Mobile Information Systems,2016,2016:8354930.
[7] Karapistoli E,Sarigiannidis P,Economides A A.Visual-assisted wormhole attack detection for wireless sensor networks[M]//Lecture Notes of the Institute for Computer Sciences,Social Informatics and Telecommunications Engineering.Cham:Springer International Publishing,2015:222-238.
[8] Lu L,Hussain M,Luo G X,et al.Pworm:passive and real-time wormhole detection scheme for WSNs[J].International Journal of Distributed Sensor Networks,2015,2015(1):1-16.
[9] Mukherjee S,Chattopadhyay M,Chattopadhyay S,et al.Wormhole detection based on ordinal MDS using RTT in wireless sensor network[J].Journal of Computer Networks and Communications,2016,2016:3405264.
【通聯(lián)編輯:代影】
收稿日期:2022-03-24
作者簡(jiǎn)介:徐小龍(1977—) ,高級(jí)實(shí)驗(yàn)師,碩士,主要研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)與通信。