朱志偉,王 珺,王 雷,吳 涵
(1.南京郵電大學 寬帶無線通信與傳感網技術教育部重點實驗室,江蘇 南京 210003;2.南京郵電大學 江蘇省無線通信重點實驗室,江蘇 南京 210003)
無線傳感網中蟲洞攻擊的檢測與定位的研究
朱志偉1,2,王 珺1,2,王 雷1,2,吳 涵1,2
(1.南京郵電大學 寬帶無線通信與傳感網技術教育部重點實驗室,江蘇 南京 210003;2.南京郵電大學 江蘇省無線通信重點實驗室,江蘇 南京 210003)
隨著無線傳感器網絡的廣泛應用,安全問題越來越突出,因此需要廣泛關注。在無線傳感網中,蟲洞攻擊是一種針對無線傳感網路由協議的特殊攻擊,一般由兩個協同攻擊節點合謀發動。攻擊節點通過高質量、高速率的私有鏈路形成的“隧道”進行秘密通信。攻擊節點通過蟲洞攻擊能夠大量吸引數據包并通過隧道傳送到合謀節點,從而達到破壞網絡拓撲、破壞網絡路由的目的。根據蟲洞攻擊特性,利用現有的連通信息進行檢測的方法,加入定位裝置,提出了一種針對蟲洞攻擊的綜合性的檢測算法(ATIDA),可以有效提高在網絡密度較低情況下的檢測成功率,并在此方法上添加了蟲洞節點的定位功能。基于NS2構建的仿真平臺驗證結果表明,所提出的算法在檢測率、定位誤差方面具有更好的優越性。
無線傳感器網絡;蟲洞攻擊;鄰居檢測;定位方法
與傳統的有線網絡相比,無線傳感器網絡(WSN)[1]有許多優點,其拓撲結構易變化,數據融合能力強大,能耗較低,無需網絡基礎設施,具有自組織能力,能夠在惡劣環境中自主感知和協作管理,豐富了信息的采集、檢測和處理的方式。過去的無線傳感器網絡的研究假設在一個相對安全的環境中,但是如今許多無線傳感網是應用在不受信任的開放環境里,極易受到各種類型的網絡攻擊[2]。因此,無線傳感網的安全問題慢慢演變成為一個熱點問題。其中,蟲洞攻擊[3-4]是一種針對無線傳感網路由協議的特殊的攻擊方式。大部分無線傳感網路由協議[5-6]沒有專門針對蟲洞攻擊的安全機制,不能有效防御蟲洞攻擊。同時該攻擊簡單轉發數據包,大多數安全協議采用的加密與認證手段對其作用不大,該攻擊難以預防。
圍繞此類問題,介紹了無線傳感器網絡及其特征,分析了安全問題[7]嚴峻的根源,詳細介紹了無線傳感器網絡中蟲洞攻擊的原理和破壞性。針對目前的傳感器路由協議沒有針對蟲洞攻擊的安全機制的問題,在已有路由協議的基礎上,利用網絡的拓撲關系,同時引入定位節點,提出了一種針對蟲洞攻擊的綜合性的檢測與定位算法。
蟲洞攻擊一般是由多個惡意的蟲洞節點發起,每兩個節點之間建立一條特殊的“隧道”,該隧道一般是一條有線鏈路或者是一條高質量、低時延的信道。因此,在數據傳輸過程中,更加容易吸引周圍的數據包,從而利用這條不安全的“隧道”將從蟲洞節點的一端截取到的消息通過協同工作的節點傳遞到網絡的另一端。如果蟲洞節點不進行丟棄、篡改等操作,那么該條鏈路只會加速網絡信息的傳遞。但是一旦該條“隧道”丟棄數據,甚至篡改數據包,將會破壞網絡的正常運行。同時由于蟲洞攻擊的跨區域傳播行為,節點之間的路由選擇都會被擾亂,最為嚴重的是當蟲洞節點斷開私有隧道之后,網絡中建立的拓撲信息將會全部失效,在短時間內使得隧道周圍的節點因負載過重而失效,甚至產生廣播風暴。
蟲洞節點首先與其協同工作的節點建立一條高質量的通道,當通道建立完成后就能夠發起蟲洞攻擊。如圖1所示,在正常的路由探測中,消息經由A→C→D→E→B,從而建立完整的路由。但是當蟲洞攻擊發生后,M、N是兩個蟲洞節點,M→N是建立的蟲洞隧道,由于該隧道具有高質量、低時延等特性,因此會吸引通信范圍內的節點的分組消息。當節點A在建立路由時,發送的路由探測分組將通過M,傳遞到N,接著由N節點廣播出去,在N的通信范圍內的所有節點就會收到A的探測分組消息,從而認為A是他們的直接鄰居。

圖1 無線傳感器網絡中的蟲洞攻擊
例如B節點收到了A的消息,B認為A是他的直接鄰居。同理也會讓A認為B是他的鄰居,從而改變了網絡對于拓撲的認知。一旦攻擊者對通過蟲洞隧道的數據分組進行監聽、竊取、選擇性轉發甚至篡改,將會對網絡造成極大傷害。
B.Dahill最早發現蟲洞攻擊[8],同時針對蟲洞攻擊提出了自己的方案,在需要發送的信息的載波信號中加入水印編碼,認證無線傳輸,防止蟲洞節點的加入。由于需要水印編碼,所以需要特殊的硬件,使得成本過高,不適合實際應用。
Yih-ChunHu[9]考慮了數據包傳輸范圍的限制條件(PacketLeashes)。在數據包傳播的過程中,向數據包中添加限制參數防止數據包在傳輸過程中超過自身的通信半徑,其中又分為傳播范圍的限制和傳播時間的限制。基于傳播范圍的方法是利用節點的位置信息來判斷數據包是否超出了節點的通信范圍,從而判斷是否發生了蟲洞攻擊。傳播時間的限制是根據接收時間和發送時間的時間差,通過傳播速度和時間差計算出數據包傳播的距離,判斷數據包傳輸的距離是否太長,從而判斷是否發生蟲洞攻擊的行為。該方法需要嚴格的時鐘同步并且受到地理位置特性的限制,影響了檢測精度。
JaneZhen和SampalliSrinivas[10]提出了一種基于發送和接收消息之間的時延,稱之為RTT的方法,來檢測蟲洞攻擊。每個節點都計算與鄰居節點間的RTT(RTT即為某個節點發送請求報文,到接收鄰居節點回復的時間差)。由于蟲洞攻擊的跨傳播區域的行為導致兩個偽鄰居間的RTT必然大于真正鄰居間的RTT,因此通過比較節點和其鄰居間的RTT,便可知哪個鄰居是假冒鄰居。該方法需要嚴格的時鐘同步和大量的計算資源,而且額外消耗節點的能量。
SongS[11]等提出一種分布式的SWAN方案。發生蟲洞攻擊時,受到攻擊影響的節點周圍的鄰居數量將明顯增加。因此統計所有節點的鄰居信息,由統計學方法統計出鄰居數量的估計值,以此來判斷是否存在蟲洞攻擊行為。該方法統計完數據后都要采用離群點檢測算法,因此頻繁執行該算法將會極大地消耗節點的能量。
SECTOR協議基于認證系統來防御蟲洞攻擊[12]。每個節點需要與其他節點進行身份的真實性驗證。同時時間同步不超過十億分之一秒誤差的精確時鐘也是一個極大的制約條件。通信前,增加的中心認證系統來對每對節點進行認證,也將帶來能量消耗過快的問題,因此該方案實現比較困難。
RiteshMaheshwari[13]提出的基于連通性的檢測算法(DUCI),利用出現蟲洞攻擊時產生的不合理的子拓撲來判斷蟲洞的存在。該方案查找兩跳鄰居A和B的共同鄰居中互不為鄰居的節點個數。理論證明,正常的拓撲中至多存在兩個非鄰居節點。如果個數大于2,那么就認為受到了蟲洞攻擊。同時通過論證,推廣到兩跳節點的個數限制,來進行蟲洞攻擊的檢測。該算法過度依賴網絡中的節點分布情況,從而導致在節點密度較低時,檢測率較低。
3.1 網絡模型假設
所提及的網絡基于以下假設建立。
(1)網絡節點隨機分布,通信半徑相同,位置固定不變。
(2)通信鏈路是雙向對稱鏈路,該節點和鄰居節點互相能夠收到對方發送的消息。
(3)網絡中的可靠性問題并不在協議考慮之內,消息的丟失和重傳將由高層協議來解決。
(4)網絡中的節點可以通過直接(如GPS)或者間接的方法得知自身的地理位置信息。
3.2 蟲洞攻擊的檢測特性
蟲洞節點的出現,影響了網絡的拓撲結構。通過兩個相聚較遠的蟲洞節點的串謀,網絡中會出現一些不可能存在的拓撲結構,該檢測特性就是通過查找網絡中不可能存在的子結構與連通信息來判斷是否存在蟲洞攻擊行為。通過研究受影響的網絡連通信息以及基于DUCI算法[13]提出以下檢測特性:
(1)消息受限性:一個節點不可能收到自身發送出去的消息。
基于消息的回收檢測方法如下:如圖2所示,當受到蟲洞攻擊時,B節點發送消息,消息通過蟲洞隧道經過X→Y傳遞,Y節點會把消息廣播出去,從而B會收到自身發送的消息。由此可以判斷存在蟲洞攻擊。

圖2 受蟲洞攻擊影響的網絡
(2)接收消息的唯一性:一個節點只能接收到一次來自于另一節點發送的消息。
基于消息唯一性的檢測方法:如圖2所示,C節點廣播消息出去,由于D在C的通信范圍內,D會接收到C廣播的消息。同時C的分組也會被蟲洞節點X接收到,然后通過蟲洞隧道Y廣播出來。由于D在Y的通信范圍內,所以D又能收到一次C的消息。從而違背了消息唯一性,即可判定受到蟲洞攻擊。
(3)通信范圍有限特性:任何一個節點都不可以和自身通信范圍以外的節點進行通信。
基于通信范圍有限特性檢測方法如下:一般情況下,節點不會與自身通信范圍以外的節點進行通信。如圖2所示,當受到蟲洞攻擊時,A傳遞信息,通過蟲洞隧道X→Y傳遞,經由Y廣播出去,F會收到A發送的消息,由于隧道兩端的節點是不可見的,因此就好像從A直接傳遞消息。因此可以查找某個節點的鄰居列表,通過位置信息,檢測節點與其鄰居之間的距離,如果超過通信范圍,即可判斷受到蟲洞節點的攻擊。
(4)共有節點數目受限性:互為兩跳鄰居共有的非鄰居節點數目不超過三個。
如圖3所示,蟲洞節點X和Y同時出現在無線傳感器網絡中,它們的通信距離一般遠遠大于正常節點的通信范圍,兩個節點通過私有“隧道”進行秘密通信。假設A、B節點同時處于X的傳輸范圍內,同時假設Y的通信范圍內存在正常節點C、D、E。當發生蟲洞攻擊時,攻擊節點X和Y分別竊取在自身通信范圍內監聽的數據包,然后利用建立的私有“隧道”將其傳給另外一端的合謀節點。因此,A、B兩個正常節點都會把C、D、E加入到自身的鄰居列表中,更新自身的鄰居列表。

圖3 蟲洞攻擊與異常拓撲對應圖
基于共有節點數目受限性檢測方法如下:啟動檢測算法后,查找各個節點的鄰居列表,當找到下面這種情況,即可判斷出現蟲洞攻擊。如圖3所示,A、B互為兩跳鄰居節點,查看兩個節點的鄰居列表并通過對比,發現存在C、D、E這三個節點,并且這三個節點都存在A、B兩個節點的鄰居列表中,同時三個節點互相不是鄰居,這種異常拓撲不可能出現。如圖3所示,兩個互為兩跳鄰居節點的相交范圍內,最多只能存在兩個互不為鄰居的公共節點,如果超過兩個,即屬于不可能存在的拓撲結構[13]。不難發現,在相交的上半區域不可能存在兩個相距為R的節點,同理,下半區域也是一樣。因此,最多只能存在兩個互相不是鄰居的節點。這樣可判定存在蟲洞攻擊的行為。
(5)鄰居約束性1:同一個節點的兩個鄰居的距離不會超過2R。
基于鄰居約束性的檢測方法:節點的通信范圍是一個以R為半徑的圓,顯然不會有距離超過2R的兩個鄰居。
(6)鄰居約束性2:互為鄰居的兩個節點的鄰居列表中,任意兩個節點的距離不會超過3R。
基于鄰居約束性的檢測方法:節點的通信范圍是一個以R為半徑的圓,對于互為鄰居的節點A、B,節點A、B之間的最大距離也為其傳輸半徑R,那么A節點的鄰節點列表中的任意一個節點與B節點鄰居節點列表中的任意節點的最大距離顯然不會超過3R。
3.3 一種基于連通性信息的蟲洞檢測方法(ATIDA)
網絡發生蟲洞攻擊后,攻擊節點丟棄或者篡改消息分組,使得網絡的性能變差。因此,啟動算法ATIDA(Abnormal Topology Information Detection Algorithm)。
由于網絡采取動態路由協議[14-15],網絡周期性地更新自身的鄰居信息,網絡各節點發送HELLO消息,更新自身鄰居列表。在更新過程中,可以利用傳播HELLO消息的行為,通過提出的接收消息唯一性和接收消息受限性來檢測蟲洞攻擊。當發出的HELLO消息違背了接收消息唯一性或者接收消息受限性時,可以判斷存在蟲洞攻擊行為。如果仍然沒有檢測到,則繼續利用其他特性進行檢測。
建立完路由后,使用共有節點數目受限性方法,該方法十分簡便,不需要引入額外硬件。當檢測到某兩個非鄰居節點所包含的互不為鄰居的節點數目超過閾值,則說明存在蟲洞攻擊,可以在消耗較小的情況下,檢測出蟲洞攻擊。如果沒有檢測出,有可能是因為網絡節點分布比較稀疏,導致了該特性的失效,因此繼續使用上文提出的幾點檢測特性對已經建立的鄰居列表進行排查。
接下來利用位置信息檢測鄰居列表。首先,若某節點的鄰居與該節點的距離超過了傳播范圍,即兩者之間的距離超過了R,即違背了通信范圍有限特性,即可判定存在蟲洞攻擊。如果仍然沒有檢測到,繼續利用鄰居約束性1和2進行檢測。
在上述的檢測過程中,只要違背了其中一條,即可認為存在蟲洞攻擊行為。如果上述方法全部未成功,即可判定網絡不存在蟲洞攻擊。
ATIDA算法綜合利用了連通性信息和位置信息,能夠有效提高各種網絡節點密度時的檢測成功率。
發現蟲洞攻擊后,為了消除蟲洞攻擊的影響,需要對蟲洞節點進行定位,然后使該節點失效,讓網絡恢復正常。下面將根據上面的檢測結果,進行蟲洞節點的定位,提出一種移動節點的定位方法(LocationWithMobileLocatingNode,LWMLN)。該方法只需要一個輔助節點,將此節點稱之為移動檢測節點。該節點可以移動,并且可以隨時通過GPS等輔助設備獲取自身的位置信息。

為了驗證上述方案的合理性,對比和分析上述優化的檢測方案與定位方法的性能。這一節將利用網絡仿真平臺NS2[16],搭建無線傳感網網絡環境,模擬蟲洞攻擊發生的過程,并對提出的檢測和定位方案進行驗證。
5.1 仿真場景設置
仿真場景設置的主要參數如下(網絡節點密度是指平均情況下節點通信范圍內包含其他通信節點的個數):網絡拓撲大小為500 m*500 m,節點間通信距離R為100m。網絡中包含2個蟲洞攻擊節點,同時網絡的節點密度隨實驗而變化,變化區間為3~11。
5.2 仿真結果與分析
為了確保統計的正確性,實驗時節點隨機分布、攻擊隨機出現,實驗重復200次,同時保持相同的節點分布模型與連通性模型,將得到的結果取平均值與DUCI[13]算法和SWAN算法[11]進行對比。
5.2.1 檢測成功率與節點密度的關系
為了彌補拓撲檢測方法在網絡密度較低時檢測效率不高的情況,基于連通信息添加了幾條蟲洞攻擊檢測規則,以此來提高檢測的成功率。由于ATIDA算法利用網絡的特殊拓撲結構與連通信息來判斷蟲洞攻擊是否存在,因此與網絡節點的密度有著直接的關系,網絡中節點的密度越大,檢測的成功率越高。因此在其余參數一定的情況下,設置了不同的網絡密度,通過仿真對不同的算法進行檢測成功率的對比,結果如圖4所示。

圖4 檢測成功率隨節點密度的變化曲線
由圖4可知,網絡節點密度在3~5時,使用DUCI算法的檢測率較低,這是由于網絡密度較小時,可能不會存在可以檢測出來的拓撲,因此檢測成功率較低。經過改進之后,由圖4可以發現,ATIDA算法在網絡節點密度較低時也能有很高的檢測效率。
5.2.2 誤報率和節點密度的關系
誤報率也是一個衡量算法優越性的重要指標,當不存在蟲洞攻擊時,觀察是否會發生誤報的情況。
由圖5可以發現,在網絡節點密度較低時算法都比較容易發生誤判行為。所提出的算法實現比較簡單,只需要簡單地判斷節點的鄰居列表中節點的個數是否超過閾值,同時加入了位置信息,更能夠準確地檢測出是否存在攻擊行為,所以一直保持很低的誤報率。并且隨著網絡節點密度的增加,各種算法的誤判率也 會慢慢減小,直到在節點密度為6時,基本上都不會發生誤判行為。SWAN算法由于節點從網絡邊緣進入網絡,或者從網絡稀疏處進入網絡節點密集處,使得鄰居節點數目突然增大,導致了該算法的誤判,從而誤判率較高。

圖5 誤報率隨節點密度的變化曲線
5.2.3 步長和定位誤差的關系
由于需要進行節點的移動來進行蟲洞位置的定位,并且由上述的移動方法可知,步長越大將會使得檢測的位置誤差越大。每次選取不同的受到影響的節點,以此為初始節點,分別選取步長為3~11 m來進行蟲洞節點的定位。
定位誤差和步長的關系如圖6所示。

圖6 定位誤差隨步長的變化曲線
從圖中可以看到,LWMLN算法隨著步長的減小,更能夠精確地定位出蟲洞節點的位置。因為當步長變小,移動節點更能夠精確地放置在通信半徑的圓周上,從而通過計算,能夠準確地定位到蟲洞位置,從而定位的誤差一直在減小。
理論上步長的選擇應該越小越好,但是在實際應用中要考慮成本、能量等因素,在誤差允許的范圍內選取較小的步長。
為了減輕蟲洞攻擊對網絡造成的傷害,提出了蟲洞攻擊的檢測和定位方法,及時地檢測出無線傳感網絡中存在的蟲洞攻擊行為,并且能夠有效地定位和隔離,保障普通節點的正常通信。仿真結果表明,改進算法在檢測率和誤報率表現優越,同時能夠較準確地定位蟲洞節點的位置。下一步研究需要在保障檢測率的同時,降低算法的能耗。
[1] 王 殊,閻毓杰.無線傳感器網絡的理論及應用[M].北京:北京航空航天大學出版社,2007.
[2] 崔 莉,鞠海玲,苗 勇,等.無線傳感器網絡研究進展[J].計算機研究與發展,2005,42(1):163-174.
[3] Hu Y C,Perrig A,Johnson D B.Wormhole attacks in wireless networks[J].IEEE Journal on Selected Areas in Communications,2006,24(2):370-380.
[4] Xia Wang,Wong J.An end-to-end detection of wormhole attack in wireless ad-hoc networks[C]//Computer software and applications conference.[s.l.]:[s.n.],2007:39-48.
[5] 唐 勇,周明天,張 欣.無線傳感器網絡路由協議研究進展[J].軟件學報,2006,17(3):410-421.
[6] Perkins C,Bhagwat P.Highly dynamic destination-sequenced distance-vector routing for mobile computers[C]//ACM SIGCOMM’94.London:ACM,1994.
[7] 敬海霞,胡向東.無線傳感器網絡路由的安全性問題分析[J].兵工自動化,2007,26(7):33-35.
[8] Wattenhofer R,Li L,Bahl P,et al.Distributed topology control for power efficient operation in multihop wireless ad hoc networks[C]//Proceedings of the 20th annual joint conference of the IEEE computer and communications societies.WA,USA:IEEE,2001:1388-1397.
[9] Hu Y C,Perrig A,Johnson D B.Packet leashes:a defense against wormhole attacks in wireless ad hoc network[C]//Twenty-second annual joint conference of the IEEE computer and communications.San Francisco,USA:IEEE,2003:1976-1986.
[10] Zhen J,Srinivas S.Preventing replay attacks for secure routing in ad hoc networks[C]//Ad-hoc,mobile,and wireless networks.Berlin:Springer,2003:140-150.
[11] Song S,Wu H J,Choi B Y.Statistical wormhole detection for mobile sensor networks[C]//Fourth international conference on ubiquitous and future networks.Phuket,Thailand:[s.n.],2012:322-327.
[12] Capkun S,Buttyan L,Hubaux J.SECTOR:secure tracking of node encounters in multi-hop wireless networks[C]//ACM workshop on security of ad hoc and sensor networks.[s.l.]:ACM,2003.
[13] Maheshwari R,Gao J,Das S R.Detecting wormhole attacks in wireless networks using connectivity information[C]//Proceedings of the 26th IEEE international conference on computer communications.[s.l.]:IEEE,2007:107-115.
[14] 陳繼彤,郭 偉,任 智.OLSR路由協議拓撲發現的一種實現方案[J].中國測試技術,2006,32(3):78-81.
[15] 歐陽星明,王 濤.移動Ad Hoc網絡OLSR路由協議中蟲洞問題的研究[J].計算機工程與科學,2007,29(3):8-9.
[16] 于 斌,孫 斌,溫 暖.NS2與網絡模擬[M].北京:人民郵電出版社,2006.
Research on Detection and Location of Wormhole Attacks in Wireless Sensor Networks
ZHU Zhi-wei1,2,WANG Jun1,2,WANG Lei1,2,WU Han1,2
(1.Key Lab of Broadband Wireless Communication and Sensor Network Technology of Ministry of Education,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;2.Jiangsu Key Lab of Wireless Communication,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
With the extensive application of the wireless sensor network,the security problem has been more and more prominent,so it needs more attention.In wireless sensor networks,the wormhole attack is one of attacks against the WSN routing protocol and is a coordinated attack by two nodes usually.The malicious nodes establish communication through a secret high quality and wide band link which called “Tunnel”.Attack nodes catch the routing packet in network and then transmit it to colluding node through “Tunnel”.Thus it can destroy the network topology and the network routing.According to the features of wormhole attacks,using the existing scheme of detection with connectivity information and adding locating device,a comprehensive algorithm for detecting and locating wormhole attacks in WSN has been proposed to improve detection rate in the low density.The results of simulation with NS2-based platform show that the proposed algorithm is superior to other ones with less detection rate and position errors.
WSN;wormhole attack;neighbor detection;location method
2016-06-17
2016-09-22
時間:2017-03-07
國家自然科學基金資助項目(61401234);江蘇高校優勢學科工程資助項目;江蘇省政府留學獎學金
朱志偉(1991-),男,碩士研究生,研究方向為下一代通信網絡技術;王 珺,博士,副教授,研究方向為下一代通信網絡技術。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170307.0922.082.html
TP309
A
1673-629X(2017)04-0120-06
10.3969/j.issn.1673-629X.2017.04.027