基于跳數的防御無線傳感器網絡中蟲洞攻擊方案
引言
無線傳感器網絡作為一種新型的無線網絡形式,有著很好的發展前景。與此同時,由于無線傳感器網絡自組織、無控制中心和拓撲頻繁變化等特點,其安全性也受到了越來越多的關注。無線傳感器網絡中的蟲洞攻擊就是一種主要針對網絡路由協議的惡意攻擊,該攻擊通過擾亂網絡路由層數據分組的傳輸,達到攻擊整個網絡的目的。現有的針對蟲洞攻擊檢測和防御的相關研究中,有的方案引入GPS模塊或者有向天線等輔助硬件,還有一些方案依賴于網絡節點精確的地理位置信息或者節點之間的時鐘同步來對攻擊節點進行定位。這些方案對能量資源和處理能力都有限的網絡節點來說,是很大的挑戰。本文基于無線傳感器網絡反應式路由協議——AODV路由協議,不需引入輔助硬件,也不要求節點間時鐘同步,僅通過對路由協議進行優化,來實現對蟲洞攻擊的防御。
1 蟲洞攻擊
蟲洞攻擊一般由至少兩個相距較遠的惡意節點合謀發起,合謀節點之間建立一條比正常節點間高效的私有信道。當蟲洞攻擊發起時,合謀節點之一在網絡的一端獲取網絡中的數據分組,通過私有信道將數據分組傳遞至另一個合謀節點,然后該合謀節點再把數據分組重放回網絡中。數據分組在私有信道的傳遞過程中被惡意節點實施選擇性丟棄或者數據篡改等惡意行為,實現對網絡的攻擊。蟲洞攻擊模型如圖1所示。
N1和N2是網絡中相距較遠的兩個節點,兩節點不在可通信范圍之內。正常情況下,兩者需要經過多跳路由才能實現互相通信。M1和M2是兩個惡意節點,它們之間建立起一條私有信道。M1和M2分別處于N1和N2的通信范圍,當N1發送數據時,M1會首先收到該數據,然后M1通過私有信道把該數據傳遞給其合謀節點M2。M2接收到數據后繼續將其轉發給N2。這樣,N1和N2就會誤認為彼此是鄰居節點,M1和M2也因此獲得路由權。
表面現象讓我們覺得,如果蟲洞合謀節點是忠實可靠的節點,蟲洞私有信道反而形成了一條更加高效的網絡鏈路,提供了一個高效的網絡連接服務,有效地減少了數據傳輸的延時。但實際上,蟲洞合謀節點在數據傳遞的過程中并不忠實于傳遞所有數據,而是對數據包實施選擇性丟棄或者數據篡改等惡意行為。更嚴重的是,即使網絡通信已經采用了加密或認證機制,惡意節點仍然可以發起蟲洞攻擊。
2 相關工作
參考文獻中提出了“數據包限制”機制,并采用一種有效的認證協議TIK來對蟲洞節點檢測和防御。該機制的主要思想是在數據分組中附加地理限制信息或者時間限制信息來限制分組的最大傳輸距離。數據分組接收節點依據附加在數據分組中的地理限制信息或者時間限制信息來計算自己到發送節點間的最大傳輸距離,由此判斷數據分組來源的合法性。這種機制需要網絡中節點真實的地理信息和精確的時鐘同步。
參考文獻從數據分組的延時出發提出了蟲洞攻擊的檢測方案:記錄從源節點到目的節點之間所有的不相交路徑,然后計算出每條路徑的長度和延時,進而得到每條路徑平均每跳的延時。如果存在一條路徑,其平均每跳的延時相比較于其他路徑的平均每跳延時異常地大,那么就認為這條路徑遭受到蟲洞攻擊。這種機制同樣需要網絡中節點的時鐘同步。
參考文獻基于數據包往返時間(RTT)的方法檢測蟲洞的存在,因為蟲洞節點之間傳輸數據包的RTT必然大于真實鄰居節點之間的RTT。這種方法雖然不需要額外的硬件,但是也需要網絡中節點的時鐘同步。
參考文獻提出使用統計分析的方法進行蟲洞檢測。在蟲洞攻擊下,惡意節點所在的路徑在路由表中出現的比例將很高。此方案統計出出現比例較高的路徑,并使用測試包對其進行測試,由此來確定惡意節點。但是這種方法只適合在多路徑協議中使用,對AODV等單播路由協議是失效的。
3 防御方案
作為網絡的管理者,應該清楚網絡的規模與拓撲結構。在數據傳輸過程中,如果源節點和目的節點之間的路由要經過10跳左右才能實現源節點和目的節點的通信,而某一條路由僅經過5跳甚至更少的跳數就可以實現節點間通信,網絡管理者就可以斷定此路由遭受到了蟲洞攻擊。本文算法的提出正是基于這種思想。
在描述本文提出的算法之前,為了使描述更加清晰,首先對網絡作如下假設:
①整個網絡是一個分層結構;
②每個節點都有其唯一的ID;
③源節點和目的節點不是蟲洞攻擊的合謀節點;
④節點與其鄰居節點之間進行直接通信,與非鄰居節點之間以多跳方式進行通信。
本文提出的蟲洞攻擊防御路由算法IAODV是在AODV協議算法的基礎上,增加了源節點路由跳數判斷和路由隨機選擇機制。改進后的IAODV協議路由發現過程的算法描述如下:
①當源節點希望與目的節點進行數據傳輸,并且源節點路由表中沒有到達此目的節點的有效路由時,源節點就會發起路由發現過程。
②源節點生成一個路由請求分組即RREQ分組,RREQ分組中包含其ID號、源節點地址、源節點序列號、目的節點地址、目的節點序列號和跳數計數器等信息,寫入RREQ分組中,然后泛洪廣播該RREQ分組。
③當中間節點接收到該RREQ分組后,首先檢查RREQ分組的ID號和源節點地址信息,以確認自己之前是否已經處理過相同的RREQ分組。若是已經處理過,則丟棄該分組,以防止路由環路的出現。若之前沒有收到過該RREQ分組,中間節點將做兩項工作:一是更新本地路由表,更新內容包括目的序列號、定時器等;二是建立到達源節點的反向路由。完成上述更新工作后,中間節點將RREQ分組中的跳數加1,然后繼續將其轉發。
④當RREQ到達目的節點或者到目的節點路由的中間節點,目的節點或者該中間節點就會沿著反向路由向源節點回復路由響應分組,即RREP分組。RREP分組中包括目的節點地址、目的節點序列號、源節點地址以及源節點到目的節點的跳數值等信息。
⑤同轉發RREQ分組的中間節點類似,轉發RREP分組的中間節點也會做兩項工作,一是更新本地路由表,二是建立從源節點到目的節點正向路由,為源節點向目的節點傳送數據分組創建路由。完成上述更新工作后,中間節點將RREP分組中的跳數加1,然后繼續轉發,直至將RREP分組轉發至源節點。
⑥源節點在接收到從目的節點轉發來的第一個RREP分組后,并不立即傳輸數據。源節點首先會創建一個路由表,將RREP分組存儲起來,同時設置一個定時器,等待隨后從其他反向路由轉播到源節點的所有的RREP分組。定時器時間的設置要使得源節點能接收到隨后到達的所有RREP分組。另外,隨后到達的RREP分組不對源路由保存的RREP分組作任何更新,這樣能保證源節點可以接收到所有從源節點到目的節點的路由。
⑦定時器時間結束后,源節點將所有RREP分組的跳數字段中的跳數信息提取出來。
⑧利用分布函數模型,以路由跳數為隨機變量X,其分布函數為F(X)。根據路由跳數的分布函數F(X),設置一個安全區間(a,b)(0
⑨根據安全跳數區間,源節點將接收到的RREP分組里處于安全跳數區間內的路由保存起來,并在數據傳輸過程中隨機使用這些路由。隨機使用這些路由的目的在于:一是可以平衡節點能量的使用,延長網絡壽命;二是即使包含在安全區間內的路由再次遭受攻擊,隨機使用安全跳數區間內的路由也能降低網絡遭受蟲洞攻擊的概率。
另外,在此僅討論路由發現階段路由算法的改進,所以,路由維護過程所需要的控制分組(RRER、HELLO)在改進后的IAODV中保持和AODV中同樣的分組格式。
4 實驗分析
實驗仿真是在Windows XP+Cygwin+NS2平臺上完成的。實驗內容主要包括蟲洞攻擊模塊的仿真和改進協議IAODV協議移植至NS2平臺后的仿真。
蟲洞攻擊中私有信道的建立是違背常規通信模型的。對私有信道的仿真要實現它的三種特性:高效性、隱蔽性和惡意性。為了使蟲洞路徑能夠優于其他路徑的延時和跳數,體現出其高效性,本實驗采取的解決方案是對蟲洞合謀節點和其余普通節點使用不同的無線信號功率,使得蟲洞合謀節點之間的傳輸距離遠遠大于普通節點的信號范圍。蟲洞信道中傳輸的數據應該對外界隱蔽,為了模擬這個特性,需要在數據鏈路層中對蟲洞鏈路設置對外的隱蔽性。為了模擬蟲洞信道對傳輸數據的惡意性,本實驗通過使用NS2中提供的無線遺失模型對蟲洞信道設置了2%的隨機丟包率。
通過使用NS2中的TCL腳本語言對網絡屬性的定義和對NS2相關源程序的修改,本實驗建立起一個具有如下參數的網絡仿真環境。
◆節點數:14個。
◆仿真時間:20 s。
◆環境大小:1000 m×1000 m。
◆傳輸半徑:正常節點100 m,惡意節點250 m。
◆遺失模型丟包率2%。
如圖3所示是本實驗中網絡仿真環境的拓撲結構。其中節點10被設置為源節點,節點2被設置為目的節點。節點0和1被設置為惡意節點,這兩個節點之間建立起一條高質量的私有信道,吸引從節點10發出的數據包,然后直接傳輸至節點私有信道的另一端。惡意節點在私有信道的傳輸過程中對數據包進行隨機丟包,以實現蟲洞攻擊的目的。
實驗中,在部署了蟲洞節點的網絡環境中分別運行AODV協議和IAODV協議,并使用網絡丟包率和網絡吞吐量兩個性能指標來對實驗數據進行分析。實驗數據分析結果如圖4和圖5所示。
如圖4所示,在無線傳感器網絡的路由協議為AODV協議的情況下,網絡數據包的丟包率在8.0%左右。而在IAODV協議的情況下,網絡的丟包率降低至6.0%左右。兩者2.0%的差距與本實驗設置的遺失模型2.0%的丟包率是相互吻合的。數據說明了IAODV路由協議中的路由跳數判斷機制將蟲洞合謀節點創建的私有信道排除在安全跳數區間之外。
如圖5所示,實驗中為了在圖中形象地表示數據傳輸的開始和結束,把開始和最后一筆記錄的吞吐量數據均設為0。從圖中可以看出,隨著網絡運行時間的逐漸增加,IAODV協議下的網絡吞吐量要優于AODV協議下的網絡吞吐量。這與圖4中丟包率的差別也是吻合的。
結語
無線傳感器網絡是Ad Hoc網絡的一種特殊形式,安全問題是無線傳感器網絡的關鍵技術。考慮到網絡路由層數據傳輸的安全性,本文基于AODV路由協議提出一種針對蟲洞攻擊的防御方案,以降低在路由發現過程中選中含有蟲洞私有信道的概率。實驗仿真表明,改進協議對防御蟲洞攻擊有效。鑒于網絡節點資源和處理能力的局限性、節點能量的有限性,以及網絡拓撲的不確定性,本文提出的防御方案還有進一步優化的空間.
相關文章
傳感器如何監控橋梁以保證安全
橋梁對我們的基礎設施至關重要,需要定期維護,以確保汽車、卡車、軌道和經常通過橋梁的人的安全。許多橋梁已經使用了50年甚至更久,每天都有市民在結構缺陷的橋梁上行走。IEEE資深成員ClintAndrews說:“橋梁的結構健康監測...
智慧城市建設步伐加快 傳感器產業機遇與挑戰并存
智慧城市的出現是基于2008年IBM提出的“智慧地球”理念,隨后引發了智慧城市建設的熱潮。2012年,我國就已經開始了智慧城市的試點工作。2014年時政府正式印發了《關于促進智慧城市健康發展的指導意見》,計劃到2020年建...
超聲波傳感器的應用分析
眼下,國外許多汽車制造商和技術公司都在測試具備完全自動駕駛功能的自動駕駛汽車。日產、通用汽車甚至表示,到2020年,他們將在道路上試運行自動駕駛汽車,這兩種自動駕駛汽車以及結合了駕駛員輔助技術的人類駕駛汽車,都要廣泛使用傳...
工業物聯網傳感器如何改善制造業
2018年第四季度,制造業為美國經濟貢獻了2.38萬億美元,雇傭了1200多萬工人,占當年美國國內生產總值的11.4%。盡管所有媒體都對制造業地位的下降感到擔憂,但由于關鍵技術的進步,該行業近年來蓬勃發展。而工業物聯網(I...
2026年全球農業傳感器市場將達到25.6億美元
2018年全球農業傳感器市場價值為12.3億美元,預計到2026年將達到25.6億美元,復合年增長率為11.04%。傳感技術用于精密農業,可提供有助于農民監測和優化農作物以及適應不斷變化的環境因素的數據。這提供了可操作的數...