NS2仿真分析无线网络的攻击防御(1)
這個學期有個選題是NS2仿真分析無線網絡的攻擊防御,比較有意思的樣子,現在來慢慢學一下這個是什么東西。
首先,還是一篇文章(老長老長了),還是全英文的,還是先來分析一下它到底在說什么,文章太長(78頁。。)沒有辦法全部翻譯,找一下有用的說一下。
文章名:SIMULATION OF BLACK HOLE ATTACKIN WIRELESS AD-HOC NETWORKS(據說是碩士課程)
摘要:無線自組織網絡是由沒有網絡基礎設施的地方任意移動的無線移動計算機(或節點)建立的臨時網絡。由于節點相互通信,所以它們通過將數據分組轉發到網絡中的其他節點來進行協作。節點使用路由協議找到目的地節點的路徑。然而,由于路由協議的安全漏洞,無線自組織網絡可能受到惡意節點的攻擊。其中一個攻擊是針對網絡完整性的黑洞攻擊——它會吸收網絡中的數據包。由于數據包由于此次攻擊而未到達目的地節點,因此會發生數據丟失。有很多的檢測和防御機制可以消除進行黑洞攻擊的入侵者。在本論文中,我們模擬了各種無線自組網絡中的黑洞攻擊,并嘗試在仿真中找到響應系統。(牙注:從摘要里面看到了勝利的曙光)
第一章是簡介,第二章簡要介紹了無線網絡,包括網絡種類,無線自組網路由協議、無線自組網的安全問題(黑洞攻擊、灰洞攻擊等等)等等。時間緊張,以后再議。
第三章 AODV路由協議中的黑洞攻擊
3.1. AODV協議(牙注:附原全名如下:Ad-hoc On-Demand Distance Vector (AODV) Routing Protocol?)
AODV路由協議用于在自組網中找到到目的地的路徑。為了找到目的地路徑,所有節點都使用路由控制消息進行合作。利用很小的控制消息,AODV路由協議可以對動態網絡條件、處理能力高低、內存開銷大小等變化做出快速適應。與其它路由協議相比,AODV最顯著的特征是它為每個路由條目(牙注:翻譯不恰,原文如下:route entry)都是用了序列號,?使用目的地序列號是為了確保循環自由度。 AODV確保到目的地的路由不包含循環,是最短路徑。
路由請求(RREQ),路由重發(RREP)消息,路由錯誤(RERR)消息是用于建立到目的地的路徑的控制消息,使用UDP / IP協議發送。 這些控制消息的頭信息在[13](牙注:[13附在最后])中進行了說明。 當源節點想要與目的節點進行連接時,廣播RREQ消息。該RREQ消息從源傳播,由源節點的鄰居(中間節點)接收?。中間節點向其鄰居廣播RREQ消息。 該過程繼續進行,直到目的地節點或一個具有足夠新鮮的路由條目的中間節點(牙注:大概是說這個節點擁有到目標節點的路徑序列)接收到分組。 圖9顯示了如何在自組織網絡中傳播RREQ消息。
圖9 ?傳播RREQ消息
新鮮度意味著中間節點具有到目的地的有效路由形成的一段時間低于閾值。當RREQ分組在網絡中傳輸的時候,經過的每個中間節點都將跳數加1。如果一個中間節點收到一個RREQ ID相同的RREQ報文,它將默默丟棄新接收的RREQ包。當目標節點或者擁有到目標節點新鮮路由表的節點收到RREQ包時,它們將創建一個RREP(路由重發消息)消息,利用累積跳數和目標節點序列來更新路由表,之后將RREP消息單播到源節點。廣播RREQ和單播RREP之間的區別可以從圖9和圖10中看出。雖然RREQ和RREP消息由中間節點轉發,但中間節點更新其路由表并保存該路由條目3秒(牙注:懵逼……等我回頭來過……),這是AODV協議的ACTIVE_ROUTE_TIMEOUT常數值。?AODV協議的默認常數值列在RFC-3561 [13]的附錄中。 因此,節點知道到達目的地的鄰居。 在術語中,目的地的鄰居列表被標記為“Precursor List”。 圖10展示了RREP消息如何單播以及中間節點中的路由條目如何更新。
圖10?單播RREP消息
3.2序列號
序列號起到時間戳的作用,并用于比較節點之間的信息的新鮮度。當節點發送任何類型的路由控制消息RREQ,RREP,RERR等時,它增加自己的序列號。越高的序列號代表越準確的信息,擁有最大序列號的那個節點的信息就會被考慮,其他節點就會根據這個節點的信息來完善路由表。(牙注:這個節點秀逗了怎么辦……)
序列號是32位無符號整數值(如4294967295)。 如果節點的序列號達到可能的最高序列號4294967295,則將其重置為零(0)。 如果節點中當前存儲的序列號減去AODV路由控制消息的序列號小于0,則將節點存儲的序列號隨著輸入的控制信息的序列號改變。
在圖11中,當節點2轉發來自節點3的RREP消息時,它將其自己先前存儲的序列號與節點3的序列號進行比較。如果它發現序列號比其自身更新,則它改變其路由表條目。
? ?圖11 序列號更新
3.3黑洞攻擊
在使用AODV協議的自組織網絡中,黑洞節點吸收網絡流量并丟棄所有數據包。 為了解釋黑洞攻擊,我們添加了一個惡意節點,在上一節的圖形情況下展現黑洞行為。
圖12 黑洞攻擊
在這種情況下,如圖12所示,我們假設節點3是惡意節點。 當節點1廣播節點4的RREQ消息時,節點3立即使用包括節點4的最高序列號的RREP消息立即響應,就好像它來自節點4一樣。節點1就猜想節點4在距離節點3一跳的地方,它丟棄了來自節點2的RREP數據包,開始向節點3傳輸數據包,相信這些數據包能夠到達節點4,但實際上節點3將這些數據包全部丟棄了。
在黑洞攻擊中,一段時間后,發送節點會因為接收節點不發送TCP ACK數據包了解到存在鏈路錯誤。 如果發送節點發送新的TCP數據包并發現目的地的新路由,那么惡意節點仍然設法欺騙發送節點。 如果發送節點發出UDP數據包,則不會檢測到問題,因為UDP數據連接不等待ACK數據包。
在我們的方案中,我們使用UDP數據包,我們將在第5章中解釋我們的場景及其結果。在第5章之前,我們將介紹如何在模擬器程序NS(網絡模擬器)中實現洞行為。
[13] C.Perkins, “(RFC) Request for Comments – 3561”, Category: Experimental,?Network, Working Group, July 2003.
第三章翻譯結束,有不對的地方請批評指正。有疑慮的地方我會在解決之后重新修改上傳。接下來幾章內容詳見之后博文。
總結
以上是生活随笔為你收集整理的NS2仿真分析无线网络的攻击防御(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 23种设计模式之组合模式
- 下一篇: php取消转译代码,PHP在我不需要的时