徐小龍 高仲合 韓麗娟



摘 ?要: 無線傳感器網絡只有有限的帶寬、存儲容量和計算能力,并且使用動態拓撲結構,這使它容易受到各種類型的攻擊。蟲洞攻擊是無線傳感器網絡面臨的眾多攻擊中的一種。本文研究了無線傳感器網絡中應對蟲洞攻擊的方法并提出了一種基于RTT機制的檢測和預防技術,AOMDV路由協議也被引入到這種機制當中。NS2仿真實驗的結果表明,這種方法比文獻中的其他方法具有更高的效率。
關鍵詞: 無線傳感器網絡;蟲洞攻擊;入侵檢測;往返時延
中圖分類號: TP393 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.06.004
本文著錄格式:徐小龍,高仲合,韓麗娟. 一種新型的無線傳感器網絡蟲洞攻擊檢測與預防技術[J]. 軟件,2019,40(6):1720
【Abstract】: Wireless sensor networks have limited bandwidth, storage capacity and computing speed, and use dynamic topology, which makes them vulnerable to various types of attacks. Wormhole attack is one of the many attacks in wireless sensor networks. This paper studies the methods to deal with wormhole attacks in wireless sensor networks and proposes a detection and prevention technology based on RTT mechanism. AOMDV routing protocol is also introduced into this mechanism. The results of NS2 simulation experiments show that this method is more efficient than other methods in literature.
【Key words】: WSN; Wormhole attack; Intrusion detection; RTT
0 ?引言
無線傳感器網絡中的節點使用無線收發器直接相互通信,沒有固定的基礎設施。大量部署的傳感器節點通過測量壓力、溫度、濕度、相對運動等物理參數來監測周邊環境[1]。無線傳感器網絡中的每個節點由三個子系統組成:傳感器子系統用于感知周邊環境;處理子系統對感知到的數據進行本地計算;通信子系統負責與相鄰的傳感器節點進行信息交換[2]。傳感器節點的低成本會對內存、能量、計算速度和通信帶寬等資源造成一定的限制。無線傳感器網絡的應用場景包括軍事監視、商業、醫療、制造和家庭自動化等[3]。由于傳輸介質的廣播特性以及傳感器節點經常工作在惡劣的環境中,無線傳感器網絡容易受到各種攻擊。
根據OSI參考模型的層次對無線傳感器網絡中的安全攻擊進行了分類,在網絡層進行的攻擊稱為路由攻擊。在網絡層中存在多種可能的攻擊,例如選擇性轉發、重放路由、女巫攻擊、Sinkhole攻擊、Hello泛洪攻擊和蟲洞攻擊[4]。
文章第一章對蟲洞攻擊進行了詳細介紹;第二章介紹了不同研究者所做的相關工作;第三章討論了我們在蟲洞攻擊檢測和預防方面所做的工作;第四章驗證了我們所做研究的效果;第五章進行了總結。
1 ?蟲洞攻擊
這種攻擊具有一個或多個惡意節點以及它們之間的通道。攻擊節點從一個位置捕獲數據包并將其傳輸到另一個遠程節點,遠程節點在其本地分發數據包。節點間的通道可以通過多種方式建立,例如帶內信道和帶外信道。這使得經過通道的數據包比普通的多跳路由數據包能夠更快的到達目的地。依賴節點之間距離的路由機制可能會被導致混亂,因為蟲洞節點偽造了一個比網絡中的原始路由更短的路由。然后他們可以針對數據流量發起各種攻擊,例如選擇性丟包、竊聽、重放攻擊等[5]。蟲洞是這樣形成的:首先帶內信道數據包利用封裝技術傳送到另一個惡意節點M2,即使在兩個惡意節點間有一個或多個正常節點。M2之后的節點認為M1和M2之間沒有節點,它們之間通過專用有線鏈路或遠程無線鏈路直接連接。
當惡意節點形成蟲洞時,它們可以公開自己或隱藏在某一路徑中。前者是一個暴露的或開放的蟲洞攻擊,而后者則是隱藏的或封閉的攻擊。
在圖1中,在隱藏蟲洞攻擊下,目的地D會認為來自源S的數據包通過節點A和節點B傳輸;而在暴露蟲洞攻擊下,則會認為數據包則是通過節點M1、M2傳輸。
2 ?相關研究
在這一部分我們將討論無線自組網和移動自組網中對于蟲洞攻擊的一些常見解決方案。S.Gupta等人[6]提出了一種蟲洞攻擊檢測協議,該協議使用一種稱為WHOP的追獵數據包來檢測蟲洞攻擊而不是使用監測系統或特殊的硬件設備。在路由發現過程之后,源節點使用一個追獵數據包來檢測蟲洞攻擊,通過計算路徑中距離為1跳的相鄰節點間的跳數差來進行判斷。目的節點在過程結束后根據跳數檢測蟲洞,相鄰節點之間的差異超過了可接受水平的便是攻擊節點。
文獻[7]提出了一種基于安全鄰居發現策略的蟲洞攻擊檢測和過濾方法,該方法基于當蟲洞攻擊發生時網絡節點間通信跳數會出現異常這一特點,依據節點間路徑跳數差異來檢測蟲洞攻擊,通過濾除各種虛假鏈路來抑制蟲洞攻擊對DV-Hop算法定位過程的影響。
文獻[8]針對網絡中蟲洞攻擊破壞網絡拓撲、路由發現和資源分配等問題,在定義蟲洞節點、顯式和隱式蟲洞節點的基礎上,提出一種蟲洞攻擊檢測方案。該方案在蟲洞節點集合中對鄰居關系異常的節點進行標記,并設計了蟲洞節點類型識別流程,依據挑戰應答時間確定顯式蟲洞節點和隱式蟲洞節點。
Khalil等人[9]引入了LITEWORP方法,其中使用了守衛節點的概念。如果守衛節點的某個相鄰節點有惡意行為,就能夠檢測出蟲洞。守衛節點是兩個節點的公共鄰居,用于檢測它們之間鏈接的合法性。然而在稀疏網絡中,并不總是能夠為特定鏈路找到守衛節點。
文獻[10]研究了移動無線傳感器網絡中的隱式蟲洞攻擊,分析了此類蟲洞攻擊對MCL算法性能的影響,并在此基礎上提出了一種能抵御蟲洞攻擊的安全MCL算法--DewormMCL。該算法能利用節點的移動性有效識別錨節點信息,剔除掉偽錨節點信息,且不需要額外的硬件支持,也不會增加通信開銷,對蟲洞攻擊具有較好的抵御性。
3 ?蟲洞攻擊的檢測和預防機制
為了發現源點和目標之間的多條路徑,我們使用了AOMDV(Ad-hoc on-demand Multipath Distance Vector)路由協議,它是AODV協議的擴展。在AOMDV路由協議中,發送節點檢查路由表中是否存在任意兩節點間的路由,如果存在,它將給出路由信息,否則將對數據包進行廣播。廣播時將RREQ數據包發送給它的相鄰節點,相鄰節點檢查是否存在到目的地的路由。當目的節點接收到RREQ數據包時,它會沿著與RREQ數據包相同的路徑向源節點發送RREP數據包。對于所有通過其他路由到達的RREQ數據包,RREP數據包將沿同一路徑發送。所有路徑都存儲在源節點的路由表中,路由表就是通過這樣的方式建立的[11]。AOMDV的主要思想是在路由發現過程中計算多條路徑以應對鏈路故障。當AOMDV建立多條路徑時,它將根據路由建立的時間選擇數據傳輸的主路徑。只有當主路徑失效時其他路徑才會被啟用,最早建立的路徑將被認為是最優路徑[12]。
文章利用AOMDV協議提出了一種有效地檢測和預防網絡蟲洞攻擊的技術,具體算法如下。當源節點廣播RREQ數據包時記錄下時間t1,當源節點收到相應的RREP數據包時,再次記錄下數據包的接收時間。如果接收到多個RREP數據包,這意味著有多條路由可以到達目標節點,那么記錄下每個RREP數據包的相應時間t2_i。利用上述兩個值就可以計算出既定路線的往返時間t3_i[13]。
取每條線路的往返時間t3_i,并除以各自的跳數。計算所有路線的平均往返時間記作ts_i。計算出往返時間的閾值tth。將閾值與每個往返時間ts_i進行比較,如果總往返時間ts_i小于閾值往返時間tth,并且該特定的ith路由的跳數等于2,則該路由中存在蟲洞鏈接,否則該路由中不存在蟲洞鏈接。由于在該路由中發現蟲洞鏈路,發送方將第一個相鄰節點m1檢測為蟲洞節點,并通過該路由i和相鄰節點m1發送虛假的RREQ數據包。在目的端,接收方收到來自其鄰居節點m2的虛假RREQ數據包,就將節點m2判定為為蟲洞節點。與m1和m2相關的路由條目將從源節點的路由表中刪除并廣播給其它節點。這樣就移除了受蟲洞影響的路徑,以后不再使用。因此,從下次開始,每當源節點需要到該目的地的路由時,它首先在路由建立階段檢查路由表中的路由。它會發現這條路由存在蟲洞鏈接,從而不采用這條路由,而是從源節點的路由表中選擇另一條沒有蟲洞鏈接的可用路由。在我們提出的機制中使用AOMDV協議的好處是,它需要較小的開銷和較短的端到端延遲。圖2是該算法的流程圖。
該算法流程直觀地說明了網絡中的通信節點互相配合檢測和應對蟲洞攻擊的過程。
4 ?仿真環境與結果
我們將正常AOMDV協議、受蟲洞影響的AOMDV協議和文章中所提出的方法進行比較,并給出了數據包傳輸速率、平均端到端時延和平均吞吐量等參數的仿真結果。起初,記錄下正常AOMDV協議在10、25、35和45個節點時的上述參數。然后將蟲洞節點添加進去并再次記錄實驗結果。最后將所提出的方法應用于被感染的網絡,并對三種情況下的結果進行了比較。無線傳感器網絡環境由NS2軟件進行仿真,下表顯示了仿真參數。
在下面所有的圖中,x軸是路由協議,y軸是參數值。圖3顯示了三種路由協議在不同網絡密度下的平均吞吐量。可以看出,所提出協議的吞吐量增量比蟲洞協議的吞吐量增量要大。并且在密集網絡中更能提升網絡性能。
在圖4中,當蟲洞節點存在于正常的AOMDV網絡中時,它會增加網絡的平均端到端時延。在這種環境下應用了所提出的算法后,平均端到端時延下降,甚至比正常的AOMDV協議的時延更低。通過圖4可以看出,隨著網絡密度的增大,網絡的平均端到端時延呈增大趨勢。
通過圖5可以看出,采用了所提出的協議后,數據包投遞率較受蟲洞影響的AOMDV協議有了較大提高。
5 ?結論
為了檢測和預防蟲洞攻擊,文章提出并實施了一種蟲洞攻擊的檢測和預防機制。這一機制并不需要特殊的硬件設備。我們所做的就是計算每條路徑的往返時延來計算閾值RTT。通過對平均端到端延遲、數據包投遞率和平均吞吐量等參數的仿真結果,證明了該機制優于受蟲洞影響的AOMDV協議。將來該方法也可以應用于移動自組網中。
參考文獻
[1] 徐小龍, 高仲合, 韓麗娟. 一種高效的無線傳感器網絡混合入侵檢測模型[J]. 軟件, 2016, 37(1): 14-17.
[2] 沙娓娓, 劉增力. 基于改進蟻群算法的無線傳感器網絡的路由優化[J]. 軟件, 2018, 39(01): 01-04
[3] 徐小龍, 高仲合, 韓麗娟. 一種新型的無線傳感器網絡妥協節點檢測系統[J]. 通信技術, 2017, 50(9): 2045-2054.
[4] 黃堃. 基于計算機網絡技術的計算機網絡信息安全及其防護策略分析[J]. 軟件, 2018, 39(6): 139-141.
[5] 杜彥敏. 無線傳感器網絡(WSN)安全綜述[J]. 軟件, 2015, 36(3): 127-131.
[6] Gupta S, Kar S, Dharmaraja S. WHOP: Wormhole attack detection protocol using hound packet[C]//Innovations in Information Technology (IIT), 2011 International Conference on. IEEE, 2011.
[7] 吳海波, 魏麗君. PS-DV-Hop算法對蟲洞攻擊防御的安全性能研究[J]. 計算機與數字工程, 2018, 46(10): 140-144.
[8] 史衍卿, 陳偉, 郁濱. ZigBee網絡蟲洞攻擊檢測方案設計[J]. 系統仿真學報, 2017(4).
[9] Chaurasia U K, Singh V. MAODV: Modified wormhole detection AODV protocol[C]//Sixth International Conference on Contemporary Computing. IEEE, 2013: 239-243.
[10] 池玉辰, 鄧平. 一種移動無線傳感器網絡抵御蟲洞攻擊MCL算法[J]. 傳感技術學報, 2015(6): 876-882.
[11] Bamhdi A M, King P J B. Performance evaluation of Dynamic-Power AODV, AOMDV, AODV and DSR proto-cols in MANETs[C]//International Conference on Smart Communications in Network Technologies. IEEE, 2013: 1-5.
[12] 楊盾, 王小鵬. 應對 DDoS 攻擊的 SDN 網絡安全特性研究[J]. 軟件, 2018, 39(3): 175-180.
[13] Ferrag M A, Nafa M, Ghanemi S. EPSA: An Efficient and Privacy-preserving Scheme against Wormhole Attack on Reactive Routing for Mobile Ad Hoc Social Networks[M]. Inderscience Publishers, 2016.