池玉辰,鄧 平
(西南交通大學信息編碼與傳輸重點實驗室,成都 610031)
?
一種移動無線傳感器網絡抵御蟲洞攻擊MCL算法*
池玉辰,鄧 平*
(西南交通大學信息編碼與傳輸重點實驗室,成都 610031)
MCL算法作為MWSN的一種經典定位算法,其安全性還欠缺考慮,為了使MCL算法能抵御蟲洞攻擊,分析了MCL機制及蟲洞攻擊對MCL性能的影響,在此基礎上提出了一種能抵御蟲洞攻擊的安全MCL算法—DewormMCL。該算法利用節點的移動性有效識別錨節點信息,剔除掉偽錨節點信息,且不需要額外的硬件支持,也不會增加通信開銷。仿真結果表明,該安全定位算法對蟲洞攻擊具有較好的抵御性;隨著算法的收斂,遭受蟲洞攻擊的MCL性能逐漸恢復正常,在文中的仿真條件下,定位誤差從0.45r降到0.4r,定位率從80%提升到90%。
MWSN;MCL;蟲洞攻擊;DewormMCL;移動性
移動無線傳感器網絡MWSN(Mobile Wireless Sensor Networks)是一種特殊的無線傳感器網絡,節點的可移動性是其關鍵特征。目前,MWSN主要應用于監測和定位追蹤[1-2]。由于傳感器節點資源受限,并且常常被部署于無人看守的環境,有的甚至部署于敵對戰場,MWSN相比傳統的無線傳感器網絡更容易受到攻擊,MWSN的安全定位已成為一個亟待解決的關鍵問題。MWSN中可能遇到的典型攻擊包括欺騙攻擊、蟲洞攻擊和女巫攻擊等,現有MWSN安全定位技術研究主要集中在抵御欺騙攻擊方面,對抵御蟲洞攻擊的研究還未見過相關文獻。蒙特卡洛定位[3](Monte Carlo Localization,MCL)法作為MWSN的經典定位算法已得到深入研究,國內外學者在此基礎上衍生出很多新的定位算法[4-7],這些算法雖然改善了定位性能,但目前還很少考慮安全定位的問題。為了使MCL算法能有效抵御蟲洞攻擊,本文開展了具備抵御蟲洞攻擊能力的MCL算法的研究。
現有文獻對MWSN的安全定位問題研究得較少,文獻[8-10]提出了抵御欺騙攻擊的MWSN定位算法。文獻[8]中提出的SecMCL算法首次考慮了MCL的安全性,SecMCL采用消息認證和新的采樣方式來抵御欺騙攻擊。它包括兩個過程:與MCL相同的過程和新的采樣過程,在沒有攻擊的情況下,MCL能得到足夠的樣本點,因此該算法只會執行MCL,直接跳過第2個過程;當存在欺騙攻擊時,在執行完MCL的預測和濾波階段后可能得不到足夠的合法樣本,這時就要執行新的采樣過程,保留與最多錨節點信息一致的樣本,減小攻擊對定位的影響。該算法對節點的存儲和計算能力要求較高。文獻[9-10]提出把梯度下降法運用于MWSN的節點安全定位用來抵御欺騙攻擊,該算法首先利用定位節點的位置信息和測量到的信息構造合適的代價函數,采用迭代梯度下降算法最小化代價函數,使節點的位置估計達到LS估計,然后剔除掉有較大殘差的“力矢量”,使定位節點的估計位置逐漸逼近真實位置。此算法不需要錨節點參與定位,得到各個節點的相對位置后,通過3個節點的具體位置就可以知道每個節點的絕對位置,算法的計算復雜度較低,但迭代次數較多,網絡覆蓋范圍較小。
近年來,蟲洞攻擊已成為一個研究熱點,常見的檢測和抵御方法可以歸納為3類:①基于對數據包時間和空間分析的方法。文獻[11]采用RTT來檢測兩個節點是否為真實鄰居,文獻[12]采用定向天線來防御蟲洞攻擊,每個節點通過檢查所接收信號的來源方向進行鄰居判定,只有雙方的方向匹配,才能確定鄰居關系;②基于統計分析的方法。主要統計蟲洞鏈路出現的頻率和鄰居節點個數,由于蟲洞鏈路是一條高質量路由,所以在路由表中出現的比例很大,文獻[13]通過統計鏈路的使用頻率來確定是否遭受蟲洞攻擊,文獻[14-15]通過統計鄰居節點的個數分布來確定是否遭受蟲洞攻擊;③基于鄰居信任評估的方法。文獻[16]通過引入信任模型,收集鄰居以往信息作為信任評估的經驗,然后根據模型對鄰居關系進行可信評估,在選擇路由時,選取高可信度的鄰居作為下一跳,繞開蟲洞鏈路。這些方法中有的依靠了特殊硬件,有的增加了算法開銷,有的對存儲和計算能力要求較高,都不適用于MWSN中的蟲洞檢測與防御。因此,本文在分析蟲洞攻擊對MCL算法定位性能影響的基礎上,提出了一種能抵御蟲洞攻擊的MCL算法。

Step 1(預測階段):在已知上一時刻節點的可能位置時,節點在當前時刻所在位置的分布為均勻分布:
(1)
圖1中盲節點N1從Pt-1移動到Pt,在時刻t,節點利用t-1時刻的采樣集合Lt-1及最大速度vmax產生新的采樣集合Lt:新采樣點lt在以舊采樣點lt-1為圓心,vmax為半徑的實線圓盤區域隨機選取。

圖1 MCL示意圖
Step2(濾波階段):節點根據所偵聽到的一階和二階錨節點,從Lt中移出所有不可能的位置(使得p(lt|ot)=0的lt)。假設S表示節點偵聽到的所有一階錨節點集合,T表示節點偵聽到的所有二階錨節點集合。樣本的濾波條件為:
filter(l)=
(?s∈S,d(l,s)≤r)∩(?s∈T,r 圖1中,節點在t時刻偵聽到一階錨節點S1,二階錨節點S2和S3,符合條件的樣本落在網格區域內。 Step3(重采樣階段):濾波后,Lt中的采樣點可能小于N,隨后預測和濾波過程會重復進行,直到采樣集合滿了或達到最大采樣次數。 (2) 蟲洞攻擊具有隱蔽性大、攻擊力強等特點,通常由兩個以上的惡意節點共同協作完成攻擊,兩個處于不同區域的惡意節點會互相將接收到的定位信息,經過私有的通信信道(蟲洞鏈路)傳遞給另一個惡意節點,然后重放[17]。它分為隱式攻擊和顯示攻擊,文中討論的是隱式蟲洞攻擊。 如圖2所示,當錨節點S收到定位請求后,S廣播自身信標,盲節點N1、N2和N3正常接收,蟲洞節點W1接收到后會經過蟲洞鏈路傳給蟲洞節點W2,隨后在另一個區域的W2重放此信標,這時盲節點N4和N5都會收到,它們會誤認為S為其一階錨節點,由于兩個區域相距較遠,此時收到的不準確錨節點信息會給定位造成嚴重影響。 圖2 蟲洞攻擊示意圖 MCL利用一階錨節點和二階錨節點信息進行定位,蟲洞攻擊對盲節點定位的影響分兩類情形:①盲節點周圍既存在真實的錨節點,也存在虛假的錨節點—偽錨節點,②盲節點周圍只存在偽錨節點。 圖3(a)和3(b)是第1類情形,分為兩種情況:盲節點分別是蟲洞節點的一階鄰居和二階鄰居。圖3(a)中盲節點N1是蟲洞節點W1的一階鄰居,S1和S2是N1的真實一階錨節點,S3、S4和S5是真實二階錨節點,在蟲洞攻擊的影響下,S6和S7成為N1的偽一階錨節點,S8和S9成為偽二階錨節點;圖3(b)中N1是W1的二階鄰居,S1和S2是它的真實一階錨節點,S3、S4和S5是真實二階錨節點,S6和S7成為N1的偽二階錨節點。 圖4(a)和4(b)是第2類情形,也有上述兩種情況。圖4(a)中N1是W1的一階鄰居,S1和S2成為N1的偽一階錨節點,S3和S4成為偽二階錨節點;圖4(b)中N1是W1的二階鄰居,S1和S2成為N1的偽二階錨節點。 從上述分析可以看出,當盲節點處于蟲洞節點兩跳范圍內時會受到蟲洞攻擊的影響,因此把這個區域稱為蟲洞區域,如圖5中陰影區域所示,其他區域稱為非蟲洞區域。 圖3 第1類蟲洞攻擊情形 圖4 第2類蟲洞攻擊情形 圖5 蟲洞區域示意圖 當錨節點密度較大時,第1類情形容易發生,處于蟲洞區域的盲節點收集到不一致的錨節點信息,對MCL影響表現為得不到合法的樣本,致使原本可以定位的節點無法定位,降低節點定位率;當錨節點密度較小時,第2類情形會發生,處于蟲洞區域的盲節點只收集到錯誤的錨節點信息,對MCL影響表現為使得原本無法定位的節點定位錯誤,一定程度上會提高定位率。 基于上述分析,當錨節點密度適中時,第1類情形發生概率較大,第2類情形發生概率小,但會發生,因此蟲洞攻擊對MCL影響表現為降低節點定位率,一定程度上會增大定位誤差。 4.1 算法描述 節點在移動過程中不斷的在進行定位,當盲節點從非蟲洞區域移動到蟲洞區域時,保留上一時刻的定位值并且不斷更新,利用上一時刻的定位值就可以識別當前時刻的偽錨節點信息。后續討論中把上一時刻稱為t-1時刻,當前時刻稱為t時刻。 圖6 算法示意圖 4.2 兩個具體問題 ①t-1時刻定位值的準確性。當錨節點密度較小時,在蟲洞區域移動的一些盲節點,在某些時刻僅收集到錯誤的錨節點信息,這將導致t-1時刻定位錯誤,在后續時刻盲節點會利用錯誤的定位值濾除正確的錨節點信息而定位錯誤。 ②t-1時刻定位值的更新。受到蟲洞影響的盲節點由于收集到不一致的錨節點信息而無法正常定位,這將導致t-1時刻定位值更新滯后,如果t-1時刻定位值得不到更新,并且當盲節點逐漸遠離這一定位值區域時,在后續時刻盲節點會利用過時的定位值濾除掉所有的錨節點信息而無法定位。 對于問題①,在使用MCL時,如果檢測到盲節點能夠長時間地在連續時刻定位,說明它很可能處于非蟲洞區域,由于節點在不停的移動,在連續時刻定位錯誤的可能性很小,因此選取能夠長時間連續定位時刻的定位值作為t-1時刻的定位值。對于問題②,如果檢測到節點長時間地在連續時刻無法定位,就啟動MCL,直到能夠長時間地在連續時刻定位就更新t-1時刻的定位值,這樣既可以讓節點重新定位,也能保證t-1時刻定位值的準確性。整個算法的流程如圖7所示。 圖7 算法流程圖 在仿真實驗中,所有的節點隨機布撒在500m×500m的矩形區域內,節點采用RandomWayPoint移動模型,在該模型中,節點在每個時刻的運動方向和速度都是隨機的。兩個蟲洞節點的坐標參考文獻[14]進行設置,具體數值如表1所示,這樣蟲洞鏈路剛好處于矩形區域的中心,對系統定位性能影響最大。表1是仿真參數的典型值,后續在研究一些參數對定位性能的影響時,會對其作出相應調整,并把連續能夠定位時刻的個數和連續不能定位時刻的個數統稱為連續時刻個數n,遭受蟲洞攻擊的MCL算法稱為WormMCL,抵御蟲洞攻擊的MCL算法稱為DewormMCL。定位誤差為每個定位時刻能夠定位節點定位誤差的平均值,定位率為每個定位時刻能夠定位節點所占的比例,平均定位誤差和平均定位率為算法收斂過程中前100個時刻的平均值,仿真結果均在MATLAB上獨立運行10次取平均值。 表1 仿真參數典型值設置 圖8 定位誤差和定位率對比圖 5.1 定位性能隨時間的關系 圖8(a)和8(b)分別是3種算法定位誤差和定位率隨時間的關系,從圖中看出,受蟲洞攻擊后,定位誤差從0.4r提高到0.45r,定位率從90%降低到80%,在第100個時刻,DewormMCL性能基本收斂到未受攻擊時的正常值。從圖中也可以看出,n值越大,定位誤差越小,但定位率收斂速度越慢。因此在選取n值時,既要考慮算法的收斂時間,又要考慮定位誤差不能太大,合適地選取n值很重要,后續參數仿真中取n=5。 5.2 各參數對定位性能的影響 5.2.1 節點移動速度 如圖9(a)所示,當vmax=0.4r時,3種算法的定位誤差最小,節點移動速度適中時,盲節點在運動過程中會碰到更多的錨節點,當節點移動速度過快時,會導致采樣區域過大,采集的樣本準確性降低。當vmax≤0.4r時,DewormMCL的定位誤差比WormMCL還大,這是由于節點移動速度過慢,n值過小,一些定位錯誤的盲節點利用錯誤的定位值濾掉了正確的錨節點信息,在后續時刻也定位錯誤。從上圖9(b)中可以看出,vmax對DewormMCL算法的定位率影響較大,當r≤vmax≤1.4r時,定位率能快速收斂到正常值。綜合考慮vmax對定位性能的影響,取vmax=r較為適宜。 圖9 節點移動速度vmax對定位性能的影響 5.2.2 錨節點密度 增大錨節點密度Sd會使盲節點周圍的一階錨節點和二階錨節點增多,盲節點利用這些增多的一階錨節點和二階錨節點信息改善定位效果。如圖10(a)和10(b)所示,3種算法的定位性能都隨Sd的增大而有所改善。從圖10(a)看出,當Sd<1.5時,DewormMCL對攻擊的改善效果并不明顯,這是因為一些遭受蟲洞攻擊的盲節點只接收到了錯誤的錨節點信息,導致連續定位錯誤;當Sd>1.5時,受蟲洞攻擊的盲節點由于總能收集到不一致的錨節點信息,更多的表現為不能定位,而不是錯誤定位,所以3種算法的定位誤差基本一致,如圖10(a)所示,但此時定位率會下降,如圖10(b)中WormMCL曲線所示。錨節點數量的增多會相應增大系統代價,綜合考慮Sd對定位性能的影響,因此取Sd=2較為適宜。 圖10 錨節點密度Sd對定位性能的影響 圖11 盲節點密度Nd對定位性能的影響 5.2.3 盲節點密度 增大盲節點密度Nd,會相應增加二階錨節點的數量。如圖11(a)和11(b)所示,Nd對3種算法的定位性能均有影響,它們有一個盲節點密度門限值Nd=10。當Nd<10時,3種算法的定位性能隨Nd的增大而有所改善,當Nd增加到一定程度時,二階錨節點數量趨于飽和,3種算法的定位性能維持不變,因此選取Nd=10比較合適。 5.2.4 通信半徑不規則度 如圖12(a)所示,當doi<0.1時,3種算法的定位誤差基本不變,當doi>0.1時,3種算法的定位誤差都隨doi的增大而增大。doi越大,越有可能漏掉正常范圍內的一階和二階錨節點或者使二階錨節點變成一階錨節點,兩跳范圍外的錨節點變成二階錨節點。 如圖12(b)所示,當doi<0.1時,3種算法的定位率基本不變,當doi>0.1時,3種算法的定位率呈下降趨勢,這是因為較大的doi使得盲節點獲得了更大的錨節點信息空間,增加了一部分兩跳范圍外的錨節點信息,由于錨節點信息不一致,使得一些盲節點得不到合法樣本而無法定位。 圖12 通信半徑不規則度doi對定位性能的影響 本文首次研究了MWSN中的隱式蟲洞攻擊,分析了此類蟲洞攻擊對MCL性能的影響,并提出了利用節點移動特性識別錨節點信息抵御蟲洞攻擊的MCL算法,算法執行簡單,并能有效抵御抵御蟲洞攻擊,在沒有遭受蟲洞攻擊也能達到MCL算法的性能。 文中討論的是一對靜態的隱式蟲洞節點聯合進行攻擊,在今后的研究中,還需要分別考慮顯式蟲洞攻擊、移動的蟲洞攻擊、多對蟲洞節點聯合攻擊等情形下對MWSN中定位算法的影響。 [1] 鄧曉明.移動無線傳感器網絡復制節點攻擊檢測協議的研究[D]. 中國科學技術大學,2011. [2] 王靜,鄧平. 一種基于邊松弛的大規模WSN分簇定位算法[J]. 傳感技術學報,2013,26(5):683-688. [3] Hu L,Evant D. Localization for Mobile Sensor Networks[C]//Proceedings of the 10th Annual International Conference on Mobile Computing and Networking,2004:45-47. [4] Baggio A,Langendoen K. Monte-Carlo Localization for Mobile Wireless Sensor Networks[J]. Lecture Notes in Computer Science,2006,4325(11):317-328. [5] Yi J Y,Yang S W,Cha H J. Multi-Hop-Based Monte Carlo Localization for Mobile Sensor Nteworks[C]//Proceedings of the 4th Annual IEEE Communications Society Conference on Sensor,Mesh and Ad Hoc Communications and Networks,2007:163-171. [6] 梅舉,陳滌,辛玲. 基于蒙特卡洛方法的移動傳感網節點定位優化算法[J]. 傳感技術學報,2013,26(5):689-693. [7] 朱海平,于紅丞,鐘小勇,等. 動態無線傳感器網絡的改進蒙特卡洛定位算法[J]. 傳感技術學報,2012,25(9):1284-1288. [8] Zeng Y P,Cao J N,Hong J,et al. SecMCL:A Secure Monte Carlo Localization Algorithm for Mobile Sensor Networks[C]//IEEE 6th International Conference on Mobile Ad-Hoc and Sensor Systems(MASS),2009:1054-1059. [9] Garg R,Varna A,Wu M. An Efficient Gradient Descent Approach to Secure Localization in Resource Constrained Wireless Sensor Networks[J]. IEEE transactions on Information Forensics and Security,2012,7(2):717-730. [10] Garg R,Varna A,Wu M. A Gradient Descent Based Approach to Secure Localization in Mobile Sensor Networks[C]//IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP),2012:1869-1872. [11] Zhen J,Srinivas S. Preventing Replay Attacks for Secure Routing in Ad Hoc Networks[C]//Proceedings of the 2nd International Conference on Ad-Hoc Networks and Wireless(ADHOC-NOW),2003:140-150. [12] Hu L,Evans D. Using Directional Antennas to Prevent Wormhole Attacks[C]//Proceedings of the 11th Network and Distributed System Security Symposium(NDSS),2004:131-141. [13] Qian L J,Song N,Li X F. Detecting and Locating Wormhole Attacks in Wireless Ad Hoc Networks through Statistical Analysis of Multi-Path[C]//IEEE Wireless Communications and and Networking Conference(WCNC 2005),2005:2106-2111. [14] Song S J,Wu H J,Choi B Y. Statistical Wormhole Detection for Mobile Sensor Networks[C]//The 4th International Conference on Ubiquitous and Future Networks(ICUFN),2012:322-327. [15] Thi N D P,Chai K Y. Statistical Wormhole Detection and Localization in Delay Tolerant Networks[C]//The 11th Annual IEEE Consumer Communications and Networking Conference(CCNC),2014:380-385. [16] 洪亮,洪帆,彭冰,等. 一種基于鄰居信任評估的蟲洞防御機制[J]. 計算機科學,2006,33(8):130-133. [17] 鄧平,張紅江. 一種無線傳感器網絡抗蟲洞攻擊DV-Hop定位算法[J]. 西南交通大學學報,2015,50(1):51-57,65. 池玉辰(1989-),男,漢族,碩士研究生,主要從事移動無線傳感器網絡安全定位技術的研究; 鄧 平(1964-),男,漢族,博士,教授。主要研究方向有無線網絡定位技術,現代信號處理,無線傳感器網絡等。 A MCL Algorithm Against Wormhole Attack in MWSN* CHIYuchen,DENGPing* (Key lab of information coding and transmission,Southwest Jiaotong University,Chengdu 610031,China) As a classical localization algorithm in MWSN,MCL algorithm is still lack of consideration of security.In order to defeat wormhole attack in MCL,we firstly analyze MCL mechanism and the impact of wormhole attack on the performance of MCL,and then propose a secure MCL algorithm,named DewormMCL,to defeat wormhole attack in this paper,which takes advantages of nodes’ mobility to identify anchor information effectively and filter out false anchor information.It requires no additional hardware support,and also not increase the communication overhead.Simulation results demonstrate that the secure localization algorithm shows good resistivity to wormhole attack.With the convergence of the algorithm,the performance of MCL suffered from wormhole attack will gradually return to normal.Localization error drops from 0.45rto 0.4rand the percentage of localizable nodes increases from 80% to 90% under the simulation conditions in the paper. MWSN;MCL;wormhole attack;DewormMCL;mobility 項目來源:國家自然科學基金項目(61071107) 2015-01-23 修改日期:2015-02-28 C:7230 10.3969/j.issn.1004-1699.2015.06.017 TP393 A 1004-1699(2015)06-0876-07
3 蟲洞攻擊對MCL性能的影響




4 抵御蟲洞攻擊的MCL算法



5 仿真結果與分析






6 結束語

