摘要:隨著Ad hoc網(wǎng)絡(luò)的廣泛應(yīng)用,其固有的特性和安全漏洞帶來了極大的安全隱患,其中蟲洞攻擊是Ad Hoc網(wǎng)絡(luò)難以解決的攻擊之一,本文首先闡述了蟲洞攻擊的原理,然后將蟲洞攻擊的2種模式進(jìn)行了分析。后面介紹了現(xiàn)在已提出的檢測(cè)蟲洞攻擊的多種方法,本文第3部分對(duì)這些方法的一些功能和局限(同時(shí)檢測(cè)2種模式的蟲洞攻擊、定位惡意節(jié)點(diǎn)、需要額外的硬件設(shè)備等)進(jìn)行了比較,對(duì)在什么環(huán)境使用什么檢測(cè)方法提出觀點(diǎn),最后作者提出了如何解決蟲洞攻擊的思路。
關(guān)鍵詞:移動(dòng)自組網(wǎng);蟲洞攻擊;安全
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2008)01-10ppp-0c
Detection Method of Wormhole Attacks in Ad Hoc Networks
ZHOU Long-Fei,WANG Qian-ping
(College of Computer Science and Technology,China University of Mining and Technology,Xuzhou 221008,China)
Abstract:With the development of applications on Ad Hoc network,its peculiarities and leaks on security bring serious threat to its security.Wormhole attack is one of difficulties of the Ad Hoc network,This paper expatiate the elements of the wormhole attack,and analyses the two sorts of wormhole attacks.Then,some relevant solutions of detecting wormhole attacks are introduced. The performance and limitation analysis of these methods(detecting two sorts of wormhole attacks at the same time, locating the malicious nodes, additional hardware requirement) is introduced in the section 4.In the last section,writer bring forward the self viewpoint of it.
Key words:Ad Hoc;Wormhole Attacks;Security
1 Ad Hoc網(wǎng)絡(luò)下的蟲洞攻擊
Ad Hoc網(wǎng)絡(luò)中蟲洞(Wormhole)攻擊是最難以檢測(cè)與預(yù)防的.蟲洞攻擊,是一種針對(duì)Ad hoc 路由協(xié)議,特別是帶防御性的路由協(xié)議的嚴(yán)重攻擊,它是在兩個(gè)串謀惡意結(jié)點(diǎn)間建立一條私有通道,攻擊者在網(wǎng)絡(luò)中的一個(gè)位置上記錄數(shù)據(jù)包或位信息,通過此私有通道將竊取的信息傳遞到網(wǎng)絡(luò)的另外一個(gè)位置。因?yàn)樗接型ǖ赖木嚯x一般大于單跳無線傳輸范圍,所以通過私用通道傳遞的數(shù)據(jù)包比通過正常多跳路徑傳遞的數(shù)據(jù)包早到達(dá)目標(biāo)結(jié)點(diǎn)。如果蟲洞攻擊者故意傳遞部分?jǐn)?shù)據(jù)包,如只傳遞控制信息數(shù)據(jù)包,或篡改數(shù)據(jù)包的內(nèi)容,將造成數(shù)據(jù)包的丟失或破壞。同時(shí)因?yàn)橄x洞能夠造成比實(shí)際路徑短的虛假路徑,將會(huì)擾亂依靠結(jié)點(diǎn)間距離信息的路由機(jī)制,從而導(dǎo)致路由發(fā)現(xiàn)過程的失敗。

例如,對(duì)于使用HELLO數(shù)據(jù)包來檢測(cè)鄰結(jié)點(diǎn)的周期性路由協(xié)議OLSR,如果攻擊者通過私有通道將由結(jié)點(diǎn)A 發(fā)出的HELLO 數(shù)據(jù)包傳遞給結(jié)點(diǎn)B 附近的串謀攻擊者,同樣攻擊者通過私有通道將結(jié)點(diǎn)B發(fā)出的HELLO 數(shù)據(jù)包傳遞給先前的攻擊者,那么A 和B 將相信它們互為鄰結(jié)點(diǎn),這將導(dǎo)致當(dāng)它們實(shí)際不是鄰結(jié)點(diǎn)時(shí),路由協(xié)議將不能找到正確的路徑。
蟲洞攻擊可以根據(jù)惡意節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置分為顯式攻擊和隱式攻擊,如圖1
隱式攻擊:蟲洞節(jié)點(diǎn)轉(zhuǎn)發(fā)時(shí)不改變數(shù)據(jù)包頭,因此蟲洞節(jié)點(diǎn)在網(wǎng)絡(luò)中是隱身的,W1和W2僅僅是轉(zhuǎn)發(fā)S發(fā)出的數(shù)據(jù)包到D,隱式蟲洞攻擊下S到D的路徑為:
S → A→ B → D
顯式攻擊:這種蟲洞節(jié)點(diǎn)不改變數(shù)據(jù)包的內(nèi)容,但是它將自己的身份證明加載在包頭,就像合法節(jié)點(diǎn)做的一樣,因此,其它的節(jié)點(diǎn)知道蟲洞節(jié)點(diǎn)的存在,但是他們不知道蟲洞節(jié)點(diǎn)是惡意的,顯式蟲洞攻擊下S到D的路徑為:
S→A→W1→W2→B→D
2 蟲洞檢測(cè)方法
蟲洞非常難于檢測(cè),因?yàn)樗糜趥鬟f信息的路徑通常不是實(shí)際網(wǎng)絡(luò)的一部分,同時(shí)它還特別危險(xiǎn),因?yàn)樗鼈兡軌蛟诓恢朗褂玫膮f(xié)議或網(wǎng)絡(luò)提供的服務(wù)的情況下進(jìn)行破壞。許多研究者對(duì)此提出了許多的方案,本文下面將進(jìn)行介紹:
2.1 基于地理位置
GEAR ( Geograp hic and Energy Aware Routing)是基于地理位置的路由協(xié)議[1],利用GPS(Global Positioning System)或GNSS(Global Navigation Satellite Systems)等全球定位系統(tǒng)對(duì)無線節(jié)點(diǎn)的位置進(jìn)行確定,并根據(jù)節(jié)點(diǎn)的具體坐標(biāo)計(jì)算出節(jié)點(diǎn)間的相對(duì)距離,如果節(jié)點(diǎn)間的距離大于節(jié)點(diǎn)的傳輸距離,則可以斷定存在惡意節(jié)點(diǎn)。另外在根據(jù)地理位置信息的基礎(chǔ)上,另外還衍生出端到端的蟲洞檢測(cè)方法[2]
2.2 基于同步時(shí)鐘
Yih-Chun Hu等人[3]提出了一種稱為“數(shù)據(jù)包限制”(packet leashes)的機(jī)制,所有網(wǎng)絡(luò)節(jié)點(diǎn)必須要具有嚴(yán)格同步的時(shí)鐘。并采用一種有效的認(rèn)證協(xié)議TIK 來檢測(cè)并防御蟲洞攻擊目的節(jié)點(diǎn)。目的節(jié)點(diǎn)可以根據(jù)接收時(shí)間和發(fā)送時(shí)間檢測(cè)數(shù)據(jù)包傳輸?shù)木嚯x是否太長(zhǎng)。同樣也可以在數(shù)據(jù)包內(nèi)設(shè)置一個(gè)失效時(shí)間,超過這個(gè)時(shí)間,接受者應(yīng)該收不到數(shù)據(jù)包。如果發(fā)現(xiàn)數(shù)據(jù)包傳輸距離過長(zhǎng)或超過數(shù)據(jù)包中定義的實(shí)效時(shí)間,則認(rèn)為存在蟲洞。但此方案增加了計(jì)算與通信開銷,也需要較大的存儲(chǔ)空間。
2.3 基于監(jiān)聽與信賴
這種方法[4]首先設(shè)定網(wǎng)絡(luò)節(jié)點(diǎn)天線都是全方向的,并支持混雜模式,這樣源節(jié)點(diǎn)在發(fā)出數(shù)據(jù)包之后可以對(duì)鄰居節(jié)點(diǎn)進(jìn)行監(jiān)聽,也就是可以監(jiān)聽鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包的時(shí)間,根據(jù)轉(zhuǎn)發(fā)時(shí)間可以對(duì)鄰居節(jié)點(diǎn)進(jìn)行信任評(píng)估,在源節(jié)點(diǎn)發(fā)送數(shù)據(jù)包之前,根據(jù)鄰居節(jié)點(diǎn)的信任值進(jìn)行選擇,如果鄰居節(jié)點(diǎn)是蟲洞攻擊的惡意節(jié)點(diǎn),那它轉(zhuǎn)發(fā)數(shù)據(jù)包不可能被源節(jié)點(diǎn)監(jiān)聽到,也就是說惡意節(jié)點(diǎn)的信任值是最低的,從而不會(huì)被選擇到,這樣自然就孤立了惡意節(jié)點(diǎn),也避免了蟲洞攻擊的危害。
2.4 RTT
Jane Zhen和Sampalli Srinivas[5]使用了一種稱之為循環(huán)旅行時(shí)間(RTT)的方法來檢測(cè)蟲洞。A節(jié)點(diǎn)計(jì)算與節(jié)點(diǎn)B之間的RTT,通過發(fā)送一個(gè)信息給B,要求立刻回復(fù)。A,B間的RTT就是從A發(fā)送請(qǐng)求到接收到B的回復(fù)所經(jīng)歷的時(shí)間。每個(gè)節(jié)點(diǎn)都計(jì)算與鄰居節(jié)點(diǎn)間的RTT,因?yàn)?個(gè)假冒鄰居間的RTT必然大于真正鄰居間的RTT。因此通過比較A和A的鄰居間的RTT,A節(jié)點(diǎn)可以確定哪個(gè)鄰居是假冒鄰居。這種方法不需要額外的硬件并容易實(shí)現(xiàn),但是對(duì)于顯式蟲洞攻擊的檢測(cè)是無效的。
2.5 使用加密算法
基于加密算法的安全策略,比如:SAODV、SEAD、 SAR。這些安全路由協(xié)議可以提供較完善的路由安全保障,但是這些策略需要在路由協(xié)議中加入復(fù)雜的加解密算法和相應(yīng)的協(xié)議,并且需要節(jié)點(diǎn)間具有很強(qiáng)的協(xié)作關(guān)系。這顯然不適用于一般商用性和自發(fā)性、臨時(shí)性的自組網(wǎng)。該類網(wǎng)絡(luò)所面臨的安全威脅(比如大規(guī)模的協(xié)同攻擊)和需要達(dá)到的安全標(biāo)準(zhǔn)都比較低,采用上述幾種策略的低價(jià)比太高。
2.6 使用RF(射頻)水印
節(jié)點(diǎn)間通過特有的方法改變射頻RF的波形,來認(rèn)證無線傳輸,防止惡意結(jié)點(diǎn)的接入。
2.7 SECTOR
SECTOR [6]方法使用特殊的能接收單個(gè)二進(jìn)制位的硬件收發(fā)器來計(jì)算通信雙方的精確距離,接收節(jié)點(diǎn)可以據(jù)此確定所收的包是由合法路徑傳輸而來還是由惡意節(jié)點(diǎn)通過隧道傳輸而來。由于此方案需要安裝特殊的硬件設(shè)備,所以限制了它的使用范圍。
2.8 基于統(tǒng)計(jì)分析的方法
SAM協(xié)議[7]是由分裂路由協(xié)議(SMR)改進(jìn)而來,使用統(tǒng)計(jì)分析的方法進(jìn)行蟲洞檢測(cè),這種方法在多路路由協(xié)議的環(huán)境下使用,每次檢測(cè)前,當(dāng)前節(jié)點(diǎn)發(fā)起路由發(fā)現(xiàn)過程,將所得到的所有路由經(jīng)過的鏈接進(jìn)行統(tǒng)計(jì),因?yàn)樵谙x洞攻擊下,惡意節(jié)點(diǎn)所在的鏈接將在路由表中出現(xiàn)的比例很高,所以此方法統(tǒng)計(jì)處出現(xiàn)比例最高的鏈接,并使用探測(cè)包對(duì)它進(jìn)行檢測(cè),由此確定惡意節(jié)點(diǎn)。
另外還有一種基于統(tǒng)計(jì)分析的檢測(cè)方法,稱之為鄰居數(shù)量檢測(cè)方法[8],這種方法是基于惡意節(jié)點(diǎn)周圍的鄰居數(shù)量將增加這個(gè)簡(jiǎn)單的假設(shè)之上的,基站將得到所有節(jié)點(diǎn)的鄰居信息,計(jì)算鄰居數(shù)量分布的估計(jì)值,并且使用統(tǒng)計(jì)測(cè)試來決定是否存在蟲洞
2.9 基于定向天線
Lazos等人針對(duì)無須測(cè)距定位系統(tǒng)分別提出了SeRLoc[9]協(xié)議。SeRLoc是一種完全分布式、局部化的安全定位協(xié)議,其設(shè)計(jì)目標(biāo)是在非安全環(huán)境中,每個(gè)節(jié)點(diǎn)借助少量可信信標(biāo)節(jié)點(diǎn)的輔助正確地估算自己的坐標(biāo)。.借助定向天線的幾何特性,SeRLoc在假定沒有惡意干擾的前提下,可以檢測(cè)出蟲洞攻擊和女巫攻擊。
2.10 DelPHI
DelPHI[10]方法由Hon Sun Chiu 和 King-Shan Lui提出,能夠檢測(cè)隱式和顯式的蟲洞攻擊,在這種方法中,盡量找到發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)間所有可能的不相交路徑。然后計(jì)算每條路徑的延時(shí)和長(zhǎng)度,就可以得到每條路徑的平均跳延時(shí)(每跳的平均延時(shí)),因?yàn)榇嬖谙x洞攻擊的路徑上的平均跳延時(shí)必定遠(yuǎn)遠(yuǎn)大于正常路徑上的值,以此可確定蟲洞攻擊的存在。這種方法可以發(fā)現(xiàn)蟲洞攻擊,但是不能定位惡意節(jié)點(diǎn)。另外,因?yàn)楣?jié)點(diǎn)的移動(dòng)導(dǎo)致路徑長(zhǎng)度也在變化,所以蟲洞節(jié)點(diǎn)也可以按照特定的方法改變路徑長(zhǎng)度,使這種檢測(cè)方法實(shí)效。
3 蟲洞檢測(cè)方法比較
由表1中可以看出,能檢測(cè)出顯式蟲洞攻擊的有7種方法,檢測(cè)出隱式攻擊的有8種,同時(shí)滿足兩種條件的只有5種方法,這說明其他的方法在檢測(cè)蟲洞的功能上有缺陷,并不能完全解決蟲洞問題。定義惡意節(jié)點(diǎn)的功能有3種方法不能實(shí)現(xiàn),這3種方法在維護(hù)網(wǎng)絡(luò)安全方面也存在一定的隱患,如果不能及時(shí)定位惡意節(jié)點(diǎn),也就不能及時(shí)孤立惡意節(jié)點(diǎn),可能在網(wǎng)絡(luò)后面的運(yùn)行中再次發(fā)起蟲洞攻擊。另外Ad Hoc網(wǎng)絡(luò)節(jié)點(diǎn)的能源,存儲(chǔ)空間往往是有限的,特別是WSN網(wǎng)絡(luò),這就要求網(wǎng)絡(luò)節(jié)點(diǎn)要盡量減少節(jié)點(diǎn)的計(jì)算,減少電源的消耗,由圖中可以看出,有4種檢測(cè)方法需要大量的計(jì)算,或存儲(chǔ)空間,這在資源有限的Ad Hoc網(wǎng)絡(luò)中是個(gè)巨大的挑戰(zhàn)。最后一個(gè)指標(biāo)反映了網(wǎng)絡(luò)具體部署的費(fèi)用問題,如果需要額外的硬件需求,也就代表了網(wǎng)絡(luò)的部署費(fèi)用上升,性價(jià)比下降,這對(duì)于該檢測(cè)方法在實(shí)際中的使用是不利的。

縱觀10種蟲洞檢測(cè)方法,沒有一種完全滿足各項(xiàng)比較指標(biāo),可以看出如果追求網(wǎng)絡(luò)的高安全性,可以忍受部署費(fèi)用的提高,建議使用第1或第2種方法。基于地理位置和基于同步時(shí)鐘的方法可以簡(jiǎn)單便捷地檢測(cè)蟲洞攻擊并定位惡意節(jié)點(diǎn)位置,而且節(jié)點(diǎn)的資源消耗最小。如果網(wǎng)絡(luò)節(jié)點(diǎn)的能源充足,而且具有較強(qiáng)的計(jì)算能力和存儲(chǔ)空間,可以使用基于統(tǒng)計(jì)分析的方法,這種方法不需要較高的部署費(fèi)用,而且對(duì)原網(wǎng)絡(luò)協(xié)議的改動(dòng)也較小,算法簡(jiǎn)單,易于實(shí)現(xiàn),缺點(diǎn)是不能完全適用于所有的網(wǎng)絡(luò)協(xié)議。基于監(jiān)聽與信賴的方法雖然對(duì)硬件有一定的要求(需要網(wǎng)絡(luò)節(jié)點(diǎn)支持混雜模式),而且對(duì)節(jié)點(diǎn)的電源要求較高,如果能滿足上述要求,這種方法在一定環(huán)境下也可以有很好的表現(xiàn)。最后一種DelPHI方法,雖然不能定位惡意節(jié)點(diǎn),而且惡意節(jié)點(diǎn)按照特定規(guī)則移動(dòng)的情況下,檢測(cè)方法實(shí)效,但是在節(jié)點(diǎn)位置固定的網(wǎng)絡(luò)中,不失為一種經(jīng)濟(jì)有效的方案。
4 結(jié)論
經(jīng)過上述對(duì)各種檢測(cè)方法的對(duì)比,可以看出沒有十全十美的方法。筆者認(rèn)為要達(dá)到最好的檢測(cè)效果,應(yīng)該將蟲洞檢測(cè)算法和數(shù)據(jù)加密、身份認(rèn)證、加載特殊硬件模塊等方法結(jié)合起來,綜合各種方法,使Ad Hoc網(wǎng)絡(luò)應(yīng)該形成一套整體的安全方案,這樣才能從容面對(duì)蟲洞攻擊及以后出現(xiàn)的各種安全問題,使Ad Hoc網(wǎng)絡(luò)成為健壯的、高效的、安全的網(wǎng)絡(luò)。
參考文獻(xiàn):
[1]Y.Yu,R.Govindan,D.Estrin,\"Geographical and energy aware routing:A recursive data dissemination protocol for wireless sensor networks,\" University of California at Los Angeles Computer Science Department,Tech.Rep.UCLA/CSD-TR-01-0023,May 2001.
[2]X Wang,J Wong,An End-to-end Detection of Wormhole Attack in Wireless Ad-hoc Networks,31st Annual International Computer Software and Applications Conference(C0MPSAC 2007).
[3]HU Y C,PERRIG A,JOHNSON D B. Packet Leashes:A defense against wormhole attacks in wireless networks[A].The 22nd Annual Joint Conference of t he IEEE Computer and Communications Societies[C].San Francisco:Kluwer Academic Publishers,2003. 197621 986.
[4]A.Pirzada,C. McDonald,Circumventing sinkholes and wormholes in wireless sensor networks,in:International Conference on Wireless Ad Hoc Networks (IWWAN),2005.
[5]J.Zhen and S.Srinivas.Preventing replay attacks for secure routing in ad hoc networks.Proc.of 2nd Ad Hoc Networks Wireless (ADHOCNOW' 03), pp.140-150,2003.
[6]S.Capkun,L.Buttyan,and J. Hubaux. Sector: Secure Tracking of Node Encounters in Multi–hop Wireless Networks.Proc.Of the ACM Workshop on Security of Ad Hoc and Sensor Networks( SASN 2003),2003,21-32.
[7]Lijun Qian,Ning Song,Xiangfang Li;Detecting and Locating Wormhole Attacks in Wireless Ad Hoc Networks through Statistical Analysis of Multi-pathIEEE Communications Society/WCNC,2005.
[8]Levente Buttyán, László Dóra, István Vajda: Statistical Wormhole Detection in Sensor Networks. Second European Workshop on Security and Privacy in Ad Hoc and Sensor Networks (ESAS 2005) Visegrád, Hungary, July 13-14, 2005: 128-141
[9]Lazos L, Poovendran R. SeRLoc: Secure range-independent localization for wireless sensor networks. In: Jakobsson M,Perrig A, eds. Proc. of the 2004 ACM Workshop on Wireless Security. New York: ACM Press, 2004,21-30.
[10]Hon Sun Chiu King-Shan Lui, DelPHI: Wormhole Detection Mechanism for Ad Hoc Wireless Networks, International Symposium on Wireless Pervasive Computing ISWPC,2006.
收稿日期:2008-02-15
基金項(xiàng)目:基金頒發(fā)部門,江蘇省自然科學(xué)基金;項(xiàng)目名稱,嵌入式無線傳感網(wǎng)絡(luò)在礦區(qū)數(shù)據(jù)采集中的應(yīng)用研究(編號(hào):BK-2006039),基金申請(qǐng)人,王潛平。
作者簡(jiǎn)介:周龍飛(1977-),男(漢),江蘇徐州人,中國礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院碩士生,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)安全;王潛平(1964-),男(漢),江蘇徐州人,中國礦業(yè)大學(xué)計(jì)算機(jī)學(xué)院博士生導(dǎo)師,教授,研究方向?yàn)镃SCW,數(shù)據(jù)庫技術(shù),無線傳感器網(wǎng)絡(luò)。