?

輕量級的無線傳感器網絡選擇性轉發攻擊檢測

2022-04-13 02:40陳雪雁章志明熊小勇
計算機與生活 2022年4期
關鍵詞:包率數據包選擇性

陳雪雁,章志明,楊 偉,李 萍,熊小勇

江西師范大學 軟件學院,南昌330022

隨著無線傳感器網絡(wireless sensor networks,WSNs)不斷廣泛應用于軍事、環境監測、交通、農業、醫療和家居等領域,其安全問題一直以來都是研究熱點。由于WSNs 是由大量傳感器節點以無線、多跳的方式構建而成,并且傳感器節點受計算、存儲和通信的限制,很容易受到許多內、外部攻擊,其中選擇性轉發攻擊是危害最嚴重的一種內部攻擊,并且由于無線信道的不穩定性,網絡鏈路的正常丟包和由選擇性轉發攻擊造成的惡意丟包很難區分,具有很強的隱蔽性。因此,檢測、定位和隔離發起選擇性轉發攻擊的惡意節點至關重要。

近年來國內外學者提出了一些有效的選擇性轉發攻擊檢測方案。文獻[4-8]基于多跳確認提出一組選擇性轉發攻擊檢測方案,基于多跳確認的檢測方案需要傳輸大量的確認包,從而會造成很高的通信開銷,大大降低網絡壽命。文獻[9-13]提出了一組基于信任評估檢測方案,基于信任評估檢測方案能有效檢測出網絡中一個或多個惡意節點,但是大多數檢測方案的信任閾值是靜態的,正常節點被誤判為惡意節點的誤檢率較高,并且需要較多的監聽節點,大大增加了網絡的開銷。文獻[14-18]基于學習自動機提出了一組惡意節點檢測方案,但文獻[14-15]對不產生惡意數據包的選擇性轉發攻擊檢測效果不佳,為了能有效檢測出選擇性轉發攻擊,文獻[16-17]提出兩種異常節點檢測方案,但這兩種方案的學習自動機的獎懲參數是人為根據節點鄰居投票情況設定的固定值,檢測方法靈活性差。為了解決這個問題,文獻[18]提出一種可以動態調整學習自動機的獎懲參數的檢測方案,提高了檢測方法的靈活性和適用性,但該方案需要通過鄰居節點回復的確認包的數量來確定環境對學習自動機的反饋,消耗了大量的網絡資源。

基于上述考慮,本文提出一種輕量級的無線傳感器網絡選擇性轉發攻擊檢測方案(lightweight selective forwarding attack detection scheme for wireless sensor networks,LSFAD)。LSFAD 方案是基于這樣一個重要的觀察:當一條路徑上存在惡意節點發起選擇性轉發攻擊時,基站(base station,BS)收到源節點通過這條路徑轉發的數據包個數要遠遠少于源節點通過正常路徑轉發的數據包個數?;谶@樣的觀察,基站記錄每個源節點發送的數據包總個數以及這些數據包轉發的路由路徑,并計算路徑的平均丟包率和路徑的正常丟包率,如果路徑的平均丟包率大于路徑的正常丟包率,則表示當前路徑存在選擇性轉發攻擊。為了定位到路徑上發起選擇性轉發攻擊的惡意節點或惡意鏈路,路徑上每個中間轉發節點都存儲轉發源節點發送給基站的數據包的個數,當確定某條路徑存在選擇性轉發攻擊,基站將通知路徑上的每個節點發送轉發了源節點的數據包的個數給基站,然后基站依次從源節點開始根據每個中間轉發節點轉發的數據包的個數計算每個節點的平均丟包率和正常丟包率,平均丟包率大于正常丟包率的節點和前一個節點組成的鏈路就是惡意鏈路。

LSFAD 方案設計簡單,不需要任何監聽節點,不需要任何復雜的評估模型評估計算節點信任值,計算復雜度低,易于實現,且在正常的數據包收發過程中進行惡意路徑的檢測,不會影響整個網絡的正常工作。LSFAD 方案能抵抗惡意節點發起的被動選擇性轉發攻擊和主動選擇性轉發攻擊。性能分析表明,LSFAD 方案的通信開銷遠遠小于其他方案。實驗仿真結果表明,LSFAD 方案即使當鏈路的正常丟包率為0.125,選擇性轉發攻擊路徑都能被檢測到,當鏈路正常丟包率大于0.025,發起選擇性轉發攻擊的惡意節點都能被成功檢測定位到,并且網絡在檢測定位惡意節點的狀態下消耗的能量與正常情況下消耗的能量相差不大。

1 相關工作

目前國內外學者提出的選擇性轉發攻擊檢測方案大體可分為基于多跳確認模型方案、基于信任評估模型方案和基于學習自動機方案。

Balakrishnan 等人基于確認節點提出一種兩跳確認檢測方案,因為在該方案中,每個節點都是確認節點,節點每收到一個數據包,就向離它兩跳的節點發送一個確認包,這會大大增加網絡消息的沖突和碰撞。為了解決這個問題,Xiao 等人提出一種多跳確認檢測方案,雖然該方案能大大減少網絡消息的沖突和碰撞,但如果該方案中存在兩個或兩個以上的惡意節點被選為確認節點,這些惡意節點合謀,將使得該方案失效。為了解決這個問題,Liu 等人提出一種新的基于多跳確認機制的方案(per-hop acknowledgement-based scheme,PHACK),在PHACK方案中,轉發路徑上的每個節點除了轉發正常數據包外,為了檢測定位到惡意節點,還需要為轉發的每個數據包產生一個確認數據包,并沿不同路徑發送給源節點。為了降低網絡開銷,并提高多惡意節點檢測率,Yin 等人結合多跳確認和信任評估模型,提出了一種選擇性轉發攻擊檢測方案,該方案提高了路徑上多惡意節點檢測率,并有效地節約了網絡開銷。Shakshuki 等人還提出一種基于無線自組織網絡的選擇性轉發攻擊檢測方案,該方案采用逐跳確認機制和改進的兩跳確認機制來檢測選擇性轉發行為以降低資源開銷。在此過程中,確認包通過原來的數據轉發路徑回傳給源節點。

Xiao 等人基于高斯分布提出一種傳感器網絡信譽模型,雖然該模型只需要確定一個信任閾值,但是該信任閾值是靜態的,正常節點被判定為惡意節點的誤判率較高。Zhou 等人基于貝葉斯和熵提出一種改進的信任評估模型,該模型在一定程度上克服了主觀分配權重帶來的局限性,但是靜態信譽值的問題并未解決。Cho 等人基于改進的Beta 和熵信任模型提出一種選擇性轉發攻擊檢測方案,該方案分成兩個階段,首先通過改進的Beta 分布和熵信任模型檢測選擇性轉發攻擊,一旦檢測定位到惡意節點,該方案使用兩種規避策略把數據包從被丟棄的位置重新發送給基站。Liao 等人提出一種基于混合策略監聽-轉發博弈檢測方案來檢測選擇性轉發攻擊,該方案能有效緩解無線傳感器網絡中的選擇性轉發攻擊,并具有較少的能量消耗。Zhou 等人結合鄰居節點監聽和看門狗機制提出一種基于分簇的選擇性轉發攻擊檢測方案,雖然該方案能夠迅速準確定位惡意節點,但監督節點職責過重。

Misra 等人基于學習自動機提出兩種無線傳感器網絡入侵檢測方案,由于這兩種方案不是檢測節點的惡意行為,雖然對惡意數據包的檢測非常有效,但對不產生惡意數據包的選擇性轉發攻擊檢測效果不佳。為了能有效檢測出選擇性轉發攻擊,Fathinavid 等人基于學習自動機提出兩種異常節點檢測方案(CADLA 和CLAIDS),在這兩種檢測方案中,可疑節點的閾值是通過轉發節點的穩定性和能量水平來確定。雖然這兩種方案都能檢測出選擇性轉發攻擊,但在初始化學習自動機行動概率時,只考慮了當時節點能量剩余的大小,這可能會導致路由錯誤,使得數據包無法達到簇頭節點;并且學習自動機的獎懲參數是人為設定的一個固定值,檢測方法靈活性差。為了解決這些問題,Zhang提出一種基于學習自動機和通信質量的選擇性轉發攻擊檢測方案(selective forwarding attack detection method based on adaptive learning automaton and communication quality,DSFLACQ),在DSFLACQ 方案中,學習自動機行動概率初始化考慮了無線信道的正常丟包情況,節點的綜合通信質量是采用滑動時間窗口來衡量的,并且學習自動機的獎懲參數可以動態調整,提高了檢測方法的靈活性和適用性。

2 系統模型

2.1 網絡模型

整個傳感器網絡由基站(base station,BS)、普通節點和惡意節點組成。每個節點在部署之前都被分配一個獨一無二的身份標記ID,分配一個與BS共享的對稱密鑰K。假設在網絡被部署到目標區域后,所有節點都不再移動,并且以BS 為根,所有節點形成一棵樹形結構,隨著網絡運行,可能一些節點由于電池耗盡而死亡,從而引起網絡路徑發生變化,因此每隔一段時間,BS 將及時更新整個網絡的拓撲結構。當節點感知到數據后,將通過多跳的方式把數據發送給BS,在數據包從源節點發送給BS 的過程中,每個中間轉發節點將記錄它轉發了源節點發送的數據包個數,BS 將記錄每個源節點發送的數據包總個數以及這些數據包轉發的路由路徑。在數據包的轉發路徑上,不僅路徑上的惡意節點會以一定的概率丟棄它應該轉發的數據包,而且因為物理層無線信道的不穩定性和MAC(media access control)層數據包沖突,任意兩個中間轉發節點的通信鏈路也可能會正常丟棄數據包。國內外學者對于傳感數據的產生、融合已經提出了許多方案,本文在此不作詳細描述,本文主要關注如何檢測選擇性轉發攻擊路徑以及定位發起選擇性轉發攻擊的惡意節點或惡意鏈路。本文假設基站的計算、存儲和通信能力都不受限制,并且假設敵人只能俘獲普通傳感節點,而不能俘獲基站。為了方便閱讀和說明,表1 對本文所用到的符號進行了描述。

表1 符號定義表Table 1 Notation definition table

2.2 攻擊模型和安全目標

假設在網絡中,除了基站外,其他任何節點都可能被敵人捕獲,一旦被捕獲,這些節點將成為惡意節點,敵人將得到其中的身份、密鑰等安全信息,并利用這些節點發起一系列攻擊,如注入虛假數據攻擊、蟲洞攻擊、克隆攻擊、女巫攻擊和選擇性轉發攻擊等,在本文中,只考慮惡意節點發起的選擇性轉發攻擊。選擇性轉發攻擊可分為被動選擇性轉發攻擊和主動選擇性轉發攻擊。被動選擇性轉發攻擊是指惡意節點只以一定的概率丟棄正常的數據包而忽略網絡中的選擇性轉發攻擊檢測行為。而主動選擇性轉發攻擊不僅以一定的概率丟掉正常的數據包,而且為了躲避被檢測而干擾選擇性轉發攻擊檢測行為。

本文提出的LSFAD 方案的安全目標是能抵抗惡意節點發起的被動選擇性轉發攻擊和主動選擇性轉發攻擊。

3 輕量級的選擇性轉發攻擊檢測方案

本文提出的LSFAD 方案具體分為源節點產生數據包、中間節點轉發數據包、基站檢測選擇性轉發攻擊路徑以及定位惡意節點四個步驟。

3.1 產生數據包

當源節點想要發送傳感數據給BS,在生成完數據包后,它將在數據包上創建兩個字段分別用于存儲數據包源節點的唯一身份標記和當前數據包的序列號。然后,節點把自己的身份標記ID和數據包序列號_Number存入相應的字段,其中數據包的序列號是連續的,最后把數據包發送給下一個中間轉發節點。

3.2 轉發數據包

所有中間轉發節點都維護一張數據包源節點轉發表(data forward table,DFT),如表2 所示,其中Source_ID 字段表示源節點身份標識,ForWord_Count字段表示轉發源節點的數據包個數。

表2 數據包轉發表Table 2 Data forward table

當中間轉發節點收到一個數據包后,它首先在自己的數據轉發表DFT 中查找是否存在源節點身份標識為.ID的記錄,如果沒有,則在數據轉發表DFT 中創建一條新的記錄,使._=.ID,._=1;如果存在,則使對應記錄的_字段值加1,使._=._+1,然后把數據包轉發給下一個中間轉發節點。

3.3 檢測選擇性轉發攻擊路徑

基站維護一張數據包源節點發送表(data send table,DST),如表3 所示,其中Source_ID 字段表示源節點身份標識,Path_Array 字段存儲源節點到基站所經過的中間節點身份標記的數組,Seq_Number 字段表示基站收到源節點發送的最后一個數據包的序列號,Sum_Count字段存儲基站收到源節點發送的數據包總個數,Drop_Count 字段存儲源節點發送給基站丟失的數據包個數。在基站收集整個網絡的拓撲結構后,把所有源節點的身份標識以及該源節點到基站所經過的中間節點身份標記分別依次存入._和._字段,其他字段初始化為空。如果網絡的拓撲結構發生改變,如某個節點由于電池耗盡而死亡,則可能使一些源節點到基站的路徑發生改變,基站將及時更新網絡的拓撲結構,修改數據包發送表DST 的Path_Array 字段。

表3 數據包發送表Table 3 Data send table

當基站收到一個數據包,將執行算法1 檢測選擇性轉發攻擊路徑。它首先在數據包發送表DST中查找到源節點身份標識為.ID的記錄,如果Seq_Number 字段為空,表示是第一次收到該源節點發送的數據包,它將使._=._Number,._=1,._=0,如果Seq_Number 字段不為空,則比較上一次收到的數據包序列號與當前收到的數據包序列號是否連續,如果連續,則表示沒有丟包,它將更新._和._字段的值,使._=._Number,._=._+1;如果數據包序列號不連續,則表示有丟包,它將使._=._Number,._=._+1,._=._+(._Number-._-1),其 中,._Number-._-1 表示丟失的數據包個數,然后基站按式(1)計算當前路徑的平均丟包率,按式(2)計算當前路徑的正常丟包率。如果平均丟包率大于正常丟包率,則表示當前路徑上存在選擇性轉發攻擊,基站將執行3.4 節的算法2 來定位惡意節點。其中,式(1)中的._+._表示源節點發送的總數據包個數,._表示當前路徑總的丟包個數,式(2)中的表示一個節點與前一個節點之間鏈路的正常丟包率,表示源節點到基站的路徑長度。

選擇性轉發攻擊路徑檢測

輸入:數據包,數據包發送表DST,節點之間鏈路的正常丟包率。

輸出:選擇性轉發攻擊路徑。

3.4 定位惡意節點

當基站發現路徑._Array存在選擇性轉發攻擊,假設路徑._Array從源節點到BS 共有跳,用(,,…,n,BS)表示,其中表示數據包源節點,其余節點表示路徑上的中間轉發節點?;臼紫韧ㄖ窂缴系拿總€節點從源節點開始依次沿路徑按式(3)的數據格式把數據轉發表DFT 中轉發了源節點的數據包個數發送給基站。式(3)中的ID表示節點n的身份標識,n.._表示節點n轉發了源節點的數據包個數,p表示前一跳節點n發送的數據包,表示時間戳,||表示連接操作。

基站收到應答數據包p后,它將執行算法2 定位惡意節點。它首先從后往前,依次用與節點共享的對稱密鑰K解密p取出節點轉發了源節點的數據包總數n.._,然后從轉發源節點數據包的第一個節點開始分別根據式(4)和式(5)計算每個節點的平均丟包率和正常丟包率,平均丟包率大于正常丟包率的節點和前一個節點組成的鏈路就是惡意鏈路,基站將把這條鏈路從網絡中隔離,并通知其他節點。式(4)中的._+._表示源節點發送的總數據包個數,._+._-n.._表示當前節點n的丟包個數,式(5)中的表示一個節點與前一個節點之間鏈路的正常丟包率,-1 表示源節點到節點n的路徑長度。

惡意節點定位

輸入:._,BS 收到的應答數據包p,數據包發送表DST,節點之間鏈路的正常丟包率。

輸出:發起選擇性轉發攻擊的惡意節點或惡意鏈路。

4 安全性分析

在本文提出的LSFAD 方案中,惡意節點發起的選擇性轉發攻擊可以是被動選擇性轉發攻擊或主動性選擇性轉發攻擊。被動選擇性轉發攻擊只以一定的概率丟棄正常的數據包,而主動選擇性轉發攻擊不僅以一定的概率丟掉正常的數據包,惡意節點可能通過修改、刪除前一個節點發送給BS 的應答數據包p,或不發送自己轉發源節點的數據包個數給BS,從而躲避、干擾或破壞BS 執行惡意節點的檢測。本章將討論本文提出的LSFAD 方案如何抵抗惡意節點發起的這兩種攻擊。

4.1 抗被動選擇性轉發攻擊

如果惡意節點只發起被動選擇性轉發攻擊,當BS 發現有惡意路徑時,BS 首先通知路徑上的每個節點從源節點開始依次沿路徑按式(3)的數據格式把數據轉發表DFT 中轉發了源節點的數據包個數發送給基站BS,根據惡意節點定位算法2,BS 將能正確定位到惡意節點。

4.2 抗主動選擇性轉發攻擊

為了破壞BS 執行惡意節點的檢測,當BS 通知路徑上的每個節點依次沿路徑按式(3)的數據格式把轉發了源節點的數據包個數發送給基站BS 時,惡意節點n可以執行以下操作:(1)試圖修改上一個節點發送給它的應答數據包p中的數據信息,但數據包p是用節點n與BS 共享的對稱密鑰對時間戳、p和節點n的身份標識及轉發了源節點的數據包個數等信息進行加密而形成的密鑰鏈,即p=E(ID||n.._||p||),因為惡意節點n沒有節點n與BS 共享的對稱密鑰K,所以它修改不了上一個節點發送給它的應答數據包p中的信息。(2)試圖刪除上一個節點發送給它的應答數據包p中的數據信息,同樣因為惡意節點n沒有節點n與BS 共享的對稱密鑰K,所以它刪除不了上一個節點發送給它的應答數據包p中的數據信息。(3)試圖不發送自己轉發源節點的數據包個數給BS,即直接把收到的上一個節點的應答數據包p轉發給它的下一個節點n,在這種情況下,根據算法2,當BS 用與惡意節點n共享的對稱密鑰K試圖解密應答數據包p時,由于惡意節點沒有發送應答數據包,不能正確解密出應答數據包p,因此可以確定節點n就是惡意節點。(4)試圖發送一個虛假的數據給BS,試圖干擾惡意節點的檢測。比如,惡意節點發送一個遠遠小于實際轉發了源節點數據包個數的值給BS,根據惡意節點定位算法2,BS 能正確定位到惡意節點和它前一個節點組成的惡意鏈路;同樣,惡意節點也可以發送一個遠遠大于實際轉發了源節點數據包個數的值給BS,根據惡意節點定位算法2,BS 能正確定位到惡意節點和它后一個節點組成的惡意鏈路。

綜上所述,本文提出的LSFAD 方案能抵抗惡意節點發起的被動選擇性轉發攻擊和主動選擇性轉發攻擊。

5 性能分析

本文將從通信開銷和存儲開銷等方面對本文提出的LSFAD方案與文獻[6,17-18]提出的方案進行分析比較,并對選擇性轉發攻擊路徑檢測概率進行分析。由于本文方案假設基站的計算、存儲和通信能力都不受限制,在此不討論基站的通信開銷和存儲開銷。

5.1 通信開銷

本文分析由惡意節點檢測造成的通信開銷,并把每個節點需要轉發或發送的數據包數量作為衡量通信開銷的指標。文獻[6]提出的PHACK 方案是基于多跳確認的檢測方法,轉發路徑上的每個節點除了轉發正常數據包外,為了檢測定位到惡意節點,還需要為轉發的每個數據包產生一個確認數據包,并沿不同路徑發回給源節點,假設一個源節點一次發送個數據包,在PHACK 方案中,每個節點的通信開銷為2。在文獻[17]提出的CLAIDS 方案中,假設每個節點有個鄰居節點,一個節點給它的每個鄰居節點發送個數據包,則它的每個鄰居節點需要返回個確認包,因此,在CLAIDS 方案中,每個節點的通信開銷為2×。而在文獻[18]提出的DSFLACQ 方案中,假設每個節點有個鄰居節點,一個節點給它的每個鄰居節點發送個數據包,則它的每個鄰居節點只需要返回1 個確認包,因此,在DSFLACQ 方案中,每個節點的通信開銷為(+1)×。本文提出的LSFAD 方案既不需要鄰居節點監聽,也不需要發送確認數據包給源節點,攻擊路徑的檢測是由基站完成的,假設基站收到源節點發送的個數據包后檢測到攻擊路徑,路徑上的每個節點將依次從源節點開始沿轉發路徑發送一個統計數據包給基站進行惡意節點定位,因此,在本文提出的LSFAD 方案中,每個節點的通信開銷為+1。表4描述了本文提出的LSFAD 方案與CLAIDS 方案、DSFLACQ 方案和PHACK 方案的每個節點需要的具體通信開銷。從表4 中可以看出,本文提出的LSFAD方案的通信開銷要遠遠小于其他方案的通信開銷。

表4 通信開銷比較Table 4 Comparison of communication overhead

5.2 存儲開銷

在文獻[17]提出的CLAIDS 方案中,每個節點需要為它的所有鄰居節點維護一張表,包括5 個字段,其中,能量大小字段占4 Byte,轉發包的數量字段占2 Byte,接收到的確認包數量字段占2 Byte,通信質量字段占4 Byte,檢測閾值字段占4 Byte,因此,CLAIDS方案的每個節點存儲開銷為16,表示鄰居節點個數。文獻[18]提出的DSFLACQ 方案在CLAIDS 方案的存儲需求基礎上增加兩個字段,其中,正常丟包率字段占4 Byte,滑動時間窗口存儲的通信質量字段占4,表示滑動時間窗口的長度,因此,DSFLACQ方案的每個節點存儲開銷為(20+4)×。在本文提出的LSFAD 方案中,路徑上的所有中間轉發節點都需要維護一張數據包源節點轉發表(DFT),如表2所示。DFT 表有兩個字段,假設Source_ID 字段占2 Byte,ForWord_Count 字段也占2 Byte,假設網絡中總共有個節點,每個中間轉發節點最多情況下可以轉發-1 源節點的數據包,因此在LSFAD 方案中,每個節點的最大存儲開銷為4×(-1)。表5 描述了本文提出的LSFAD 方案與CLAIDS 方案、DSFLACQ 方案的每個節點需要的具體存儲開銷。從表5 中可以看出,本文提出的LSFAD 方案的每個節點的最大存儲開銷要大于其他方案的存儲開銷,因為LSFAD 方案的每個節點最多情況下可以轉發-1 源節點的數據包,所以最大情況下需要維護-1 個節點的一張表,而CLAIDS 方案和DSFLACQ 方案只需要維護它的所有鄰居節點的一張表。

表5 存儲開銷比較Table 5 Comparison of storage overhead

5.3 選擇性轉發攻擊路徑檢測概率分析

在不考慮鏈路正常丟包的情況下,假設惡意節點丟棄數據包的概率為,源節點發送次數據后,基站能夠檢測到路徑上存在惡意節點丟包行為的概率為:

設為惡意節點丟棄數據包后被基站檢測到的次數,顯然服從參數為,的二項分布,即-(,),的分布律為:

因此基站能夠檢測到路徑上存在惡意節點丟包行為的概率為:

即式(6)得證。

6 仿真實驗

本文從惡意路徑檢測概率、惡意節點定位概率和能量消耗等方面對LSFAD 方案的性能進行仿真評估。仿真實驗環境在OMNeT++平臺上進行,100 個節點隨機分布在500 m×500 m 的正方形區域內,每個節點都被分配一個唯一身份ID,每個節點的通信范圍為90 m,節點部署之后將不再移動,基站部署在區域的中心位置。隨機選取網絡的一些節點作為數據源節點和惡意節點,其他節點作為中間轉發節點。數據源節點每隔1 s 通過多跳的方式向基站發送一次數據,每個數據包的長度為256 Byte。每個節點的初始能量為1 J,發送和接收能耗為50 nJ/bit。當惡意節點成為中間轉發節點后,它將以0.2~0.8的概率故意丟棄它要轉發的數據包。對于每個設置的參數,取仿真100次得到的平均值。實驗仿真的參數設置如表6。

表6 實驗仿真參數Table 6 Experimental simulation parameters

當基站收到源節點發送的數據包,它將執行算法1 檢測選擇性轉發攻擊路徑,它按式(1)計算當前路徑的平均丟包率,按式(2)計算當前路徑的正常丟包率,如果路徑的平均丟包率大于路徑的正常丟包率,則表示當前路徑上存在選擇性轉發攻擊。圖1描述了鏈路正常丟包率分別為0.005、0.025、0.045、0.065、0.085 和0.105,惡意節點丟包率分別為0.2、0.4、0.6 和0.8,路徑中只有一個惡意節點時,路徑的正常丟包率和平均丟包率的情況。從圖1 中可以看出,當鏈路正常丟包率小于0.1 時,路徑的平均丟包率都在路徑的正常丟包率上方,表示路徑的平均丟包率大于路徑的正常丟包率,也即表示當鏈路正常丟包率小于0.1 時,路徑上的惡意節點分別以丟包率等于0.2、0.4、0.6 和0.8 發起的選擇性轉發攻擊路徑都能被檢測到。從圖1 中可以看出,檢測出選擇性轉發攻擊路徑的概率與鏈路正常丟包率和惡意節點的丟包率有關。鏈路正常丟包率越低,選擇性轉發攻擊路徑檢驗成功的概率越高;惡意節點的丟包率越高,選擇性轉發攻擊路徑檢驗成功的概率相對越高。

圖1 只有一個惡意節點的路徑正常和平均丟包率Fig.1 Normal packet loss rate and average packet loss rate of path with only one malicious node

圖2 描述了在不同鏈路正常丟包率的情況下,路徑中有多個惡意節點的路徑正常丟包率和路徑平均丟包率的情況。圖2(a)、圖2(b)和圖2(c)分別表示鏈路正常丟包率分別為0.005、0.045 和0.085,路徑中的惡意節點個數分別為1、2、3、4,惡意節點丟包率分別為0.2、0.4、0.6 和0.8 時,路徑的正常丟包率和路徑的平均丟包率的情況。從圖2(a)、圖2(b)和圖2(c)可以看出,在鏈路的正常丟包率分別為0.005、0.045 和0.085 的情況下,路徑的平均丟包率都大于路徑的正常丟包率,也即表示在鏈路的正常丟包率分別為0.005、0.045 和0.085 的情況下,路徑上的多個惡意節點分別以丟包率等于0.2、0.4、0.6 和0.8 發起的選擇性轉發攻擊路徑都能被檢測到,并且隨著路徑上惡意節點個數的增加,路徑的平均丟包率都大于路徑的正常丟包率。圖2(d)表示在鏈路正常丟包率為0.125 的情況下,路徑中有多個惡意節點的路徑正常丟包率和路徑平均丟包率的情況。從圖2(d)可以看出,即使當鏈路的正常丟包率為0.125,路徑上的多個惡意節點以大于0.21 的概率發起的選擇性轉發攻擊路徑都能被檢測到。從圖2 可以看出,隨著路徑中的惡意節點個數的增加或惡意節點丟包率的增大,選擇性轉發攻擊路徑檢測成功的概率越高。

圖2 有多個惡意節點的路徑正常和平均丟包率Fig.2 Normal packet loss rate and average packet loss rate of path with multiple malicious nodes

圖3 描述了在不同鏈路正常丟包率和不同路徑長度的情況下,路徑中含一個惡意節點的路徑正常丟包率和路徑平均丟包率的情況。從圖3(a)、圖3(b)和圖3(c)可以看出,在鏈路正常丟包率分別為0.005、0.045 和0.085,路徑中含一個惡意節點的情況下,當惡意節點以不同的丟包率發起選擇性轉發攻擊時,路徑的平均丟包率和路徑的正常丟包率隨路徑長度的增加而增加,且路徑的平均丟包率都大于路徑的正常丟包率,也即表示在鏈路正常丟包率分別為0.005、0.045 和0.085,路徑長度分別為4、8、12、16 的情況下,路徑上的惡意節點分別以丟包率等于0.2、0.4、0.6 和0.8 發起的選擇性轉發攻擊路徑都能被檢測到。從圖3(d)可以看出,即使在鏈路正常丟包率為0.125 的情況下,當路徑長度小于12 或惡意節點的丟包率大于0.2,路徑的平均丟包率大于路徑的正常丟包率,都能成功檢測到選擇性轉發攻擊路徑。

圖3 不同路徑長度下的路徑正常和平均丟包率Fig.3 Normal packet loss rate and average packet loss rate of path with different path lengths

當基站發現某條路徑存在選擇性轉發攻擊,它將執行算法2 定位惡意節點。圖4 描述了惡意節點在路徑的不同位置的情況下,成功定位到惡意節點的概率的情況。從圖4(a)可以看出,當惡意節點位于路徑的第3 個位置,即=3,在鏈路正常丟包率分別為0.005、0.025、0.045、0.065、0.085 和0.105 的情況下,分別以丟包率等于0.2、0.4、0.6 和0.8 發起選擇性轉發攻擊的惡意節點都能被成功檢測定位到。從圖4(b)、圖4(c)和圖4(d)可以看出,當惡意節點分別位于路徑的第6、9 和12 個位置,鏈路正常丟包率大于0.025 時,分別以丟包率等于0.2、0.4、0.6 和0.8 發起選擇性轉發攻擊的惡意節點都能被成功檢測定位到。

圖4 成功定位到惡意節點的概率Fig.4 Probability of successfully locating malicious node

圖5 正常模式和檢測模式下的能量消耗Fig.5 Energy consumption in normal mode and detection mode

7 總結

本文提出了一種輕量級的無線傳感器網絡選擇性轉發攻擊檢測方案(LSFAD),在LSFAD 方案中,基站記錄每個源節點發送的數據包總個數以及這些數據包轉發的路由路徑,通過計算并比較路徑的平均丟包率和路徑的正常丟包率來判斷當前路徑是否存在選擇性轉發攻擊。為了定位到路徑上發起選擇性轉發攻擊的惡意節點或惡意鏈路,基站計算每個節點的平均丟包率和正常丟包率,平均丟包率大于正常丟包率的節點和前一個節點組成的鏈路就是惡意鏈路。LSFAD 方案設計簡單,不需要任何監聽節點,不需要任何復雜的評估模型評估計算節點信任值,易于實現。LSFAD 方案還能抵抗惡意節點發起的被動選擇性轉發攻擊和主動選擇性轉發攻擊。性能分析及實驗仿真結果表明,LSFAD 方案的通信開銷要遠遠小于其他方案,LSFAD 方案即使當鏈路的正常丟包率為0.125,選擇性轉發攻擊路徑都能被檢測到,當鏈路正常丟包率大于0.025,發起選擇性轉發攻擊的惡意節點都能被成功檢測定位到,并且網絡在檢測定位惡意節點的狀態下消耗的能量與正常情況下消耗的能量相差不大。

猜你喜歡
包率數據包選擇性
IP網絡傳輸下的4K超高清視頻質量監測分析
支持向量機的船舶網絡丟包率預測數學模型
二維隱蔽時間信道構建的研究*
一種基于噴泉碼的異構網絡發包算法*
基于改進BBR的數據報擁塞控制協議①
民用飛機飛行模擬機數據包試飛任務優化結合方法研究
選擇性聽力
C#串口高效可靠的接收方案設計
選擇性××
選擇性Bcl-2抑制劑ABT-199對乳腺癌細胞MDA-MB-231的放療增敏作用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合