程海青,王 華,王 芳,王華奎
(1.太原理工大學a.信息工程學院;b.計算機科學與技術學院,太原030024;2.太原科技戰略研究院,太原030009)
在無線傳感器網絡中,傳感器節點自身位置信息的正確性直接影響傳感器網絡所采集環境信息的有效性。傳感器節點可以利用節點定位技術完成自身位置的定位,現有的定位技術大都假設傳感器節點處于安全、良好的環境中,但是在實際的工程應用領域,由于傳感器節點經常被布置到無人維護或者維護比較困難的惡劣環境中,節點失效、環境毀壞等不可控因素將影響局部乃至整個網絡的定位效果。尤其在軍事領域的應用中,敵方可能通過俘獲傳感器節點使得節點虛報定位信息,從而達到降低傳感器網絡有效性的目的[1,2]。研究安全可靠的定位算法對于無線傳感器網絡必不可少[3,4]。在常見的針對定位技術的攻擊模型中,欺騙攻擊是較為常見的一種攻擊,本文分析了欺騙攻擊的性質,總結了欺騙攻擊所采用的途徑及欺騙攻擊所固有的薄弱環節,提出了一種檢測攻擊節點的安全定位方法。
在傳感器網絡節點定位技術中,定位技術旨在得到節點的精確位置信息。自身位置信息未知的傳感器節點(稱為未知節點)通過與已知位置信息的節點(稱為信標節點)互相通信,得到定位所需要的參數,運用定位算法估算自身的位置坐標。其中信標節點可以通過GPS等定位技術獲得自身的精確位置?,F有的定位技術可大致分為兩種類型:基于距離的定位技術和距離無關的定位技術[5,6]。前者需要測量信標節點與未知節點的絕對距離或角度,后者無須獲得與參考節點的精確距離或者方位信息,僅利用節點間的估計距離計算節點位置[7]。
欺騙攻擊是較為常見的一種攻擊,攻擊者僅需俘獲一個良好節點就能達到攻擊的目的。被俘獲的節點我們稱之為惡意節點。惡意節點可以通過改變節點定位過程中需要的一些定位參數完成攻擊的任務,根據所修改的參數不同可以將欺騙攻擊細分為重放、延時攻擊(Replay/Delay Attack);偽造功率攻擊(Forge Attack);篡改坐標攻擊(Distort/Tamper Attack)等。
惡意節點延時傳播、偽造或篡改未知節點定位所需的定位參數,損壞定位所需信息的有效性和真實性。如圖1-a所示,未知節點S向鄰居節點發送定位請求,惡意節點B4收到S節點請求,向S節點回復S所需要的定位參數。惡意節點B 4對定位參數進行篡改、偽造或者延時重放,致使節點S錯誤定位。

圖1 欺騙攻擊示例
1)篡改坐標攻擊。如圖1-b所示,惡意節點B4篡改自身的坐標值使其與實際值不相符,致使S節點定位錯誤。B4在回復S請求的數據包中將自身實際坐標(x4,y4)修改為(x′4,y′4),S 得到錯誤的關于B 4的坐標,S定位失敗。
2)重放、延時攻擊。如圖1-c所示,惡意節點B4通過重放或者延時改變B4與S節點之間的測量距離。B4收到S的數據包后,故意延時處理,使S依據傳播時間計算節點之間的距離增大。
3)偽造功率攻擊。如圖1-d所示,惡意節點B4可以改變發送功率的大小,使數據包中寫入的發送功率與實際的發送功率不一致,達到改變測量距離的目的。B4以P′tx發送回復數據包,但在數據包中寫入發送功率為P tx,與P′tx相對應,S接收功率為P′rcv,從數據包中得到發送功率為Ptx,S節點得到錯誤的功率損耗值,定位錯誤。
假定無線傳感器網絡中的節點是靜止的,那么節點之間的客觀距離是不變的,也就是在不存在攻擊的情況下,通過信號傳送時間所計算的節點之間的距離應該等于由接收功率所計算出的距離(在考慮誤差存在的情況下,兩距離之間的差應該小于某個值)。如果惡意節點想要達到攻擊的目的,必須同時改變兩個參數,即信號傳送時間和接收功率。因此,可以設計特殊的定位機制,使得惡意節點不能同時改變兩個參數,然后通過監視由時間計算的距離和由接收功率得到的距離的一致性來判斷是否存在欺騙攻擊。承擔監視和檢測任務的節點本文稱之為檢測節點,可以是未知節點也可以是信標節點。
2.1.1 節點間距離與信號傳播時間的關系
信號傳播時間跟節點之間的距離成正比[8],滿足公式(1)

式中:d t為由信號在節點之間傳播的時間差計算出的距離,v是信號傳播的速度,t0為未知節點發送請求定位信號的時間點,t1為此信號到達信標節點的時間點,如圖2所示。信標節點將t1寫入回復未知節點請求的數據包中。如果信標節點被俘獲,攻擊者可以通過改變t1值來改變節點之間的測量距離,t1值既可以增大也可以減小。為了減小惡意節點攻擊的可能性,本文利用信號的回傳時間計算節點之間的距離,如圖3所示。

圖3 信號回傳時間測距原理圖

圖2 TOA測距原理圖

未知節點時間點發送請求定位數據包,該包于t1時到達信標節點,信標節點于t2時回復請求,t3時回復包到達未知節點。(t2-t1)為信標節點處理數據包的時間,處理器的處理速度一定,(t2-t1)的值約等于常數。可以看出,利用回傳時間計算節點之間的距離可以減小惡意節點的攻擊的可能性,即攻擊者只能延長信號的傳播時間,也就是只能增大節點之間距離。
2.1.2 節點間距離與接收功率的關系
在相同的發送功率的情況下,節點的接收功率同與節點之間的距離成反比[9-10],滿足公式(3)

式中:dp表示由功率損耗計算出的距離;c和α為常數;P r cv為未知節點接收到的功率;P tx為信標節點寫入數據包的發送功率,當信標節點被攻擊者俘獲時,惡意節點可以通過改變寫入數據包中的Ptx達到攻擊的目的。
2.1.3 d t和d p的關系
由傳播時間和接收功率所計算出的節點之間的距離在理想狀況下應該相等,即

2.1.4 檢測攻擊原理
由于攻擊者只能增大傳播時間改變節點之間的測量距離,假定惡意節點故意延時Δt回復未知節點的定位請求,為了達到攻擊的目的,惡意節點必須同時將功率改變使得由功率的改變量Δp引起的距離的改變量必須滿足與時間改變量引起的距離改變量相同。具體的方法有以下兩種:
A惡意節點將寫入回復請求數據包中的Ptx增大,實際發射功率不變

B惡意節點不改變寫入回復數據包中的,減小實際的發射功率

由上面兩式可以得出,無論采取哪種方式,p rcv和(T3-T0)對于惡意節點來說是一個未知數,不能精確得出Δp的解,所以可以利用功率損耗和信號傳播時間檢測是否存在攻擊。
1)未知節點id i于t0時刻發送定位請求信息包,并記錄 t0;
2)鄰居節點在t1時刻接收到請求信息包,自身位置信息已知的節點id j(包含信標節點和已經由定位算法獲得自身位置信息的節點)生成新的數據包回復id i的請求,數據包中包含的字段內容為{id j,(xj,y j),t1,t2,P tx},其中t2為節點id j發送回復數據包的發送時刻,(x j,y j)為id j的坐標,P tx為id j的發射功率;
3)未知節點id i于t3時刻收到由id j回復的數據包,計算d t,d p;
4)如果|d t-d p|≤ε(0≤ε)則無攻擊,接受 id j的所發送的定位信息,如果|d t-d p|>ε(0≤ε)則idj為欺騙攻擊節點。
以OPNET Modeler為仿真平臺[11]對本文所提出的欺騙攻擊檢測方法的性能進行分析。實驗中未知節點的定位采用RSSI定位機制。仿真參數配置為:節點天線為全向天線;通信半徑為15 m;節點分布范圍為100 m×100 m;信標節點密度為0.002~0.005(個/m2);未知節點密度為0.015~0.050(個/m2)。
圖4顯示了無攻擊時網絡節點的平均定位誤差(曲線3)、存在攻擊的情況下網絡節點的定位誤差(曲線1)以及采用欺騙攻擊檢測方法后節點的定位誤差(曲線2)。從圖中可以看出,在存在攻擊的情況下,節點的定位誤差較無欺騙攻擊存在時節點的定位誤差大了很多。在采用本文提出的惡意節點檢測的方法后,節點的定位誤差逼近于無攻擊時的定位誤差。

圖4 平均定位誤差曲線

圖5 成功檢測攻擊概率圖
圖5 顯示了成功檢測欺騙攻擊的概率隨著承擔檢測任務的節點的數目的增多而增大,檢測節點布置密度為0.02時,檢測成功的概率能達到90%,充分證明了本文提出的用來檢測欺騙攻擊方法的有效性。
本文分析了欺騙攻擊對于無線傳感器網絡定位過程的影響以及惡意節點實現欺騙攻擊的可能途徑,在此基礎上,將信號傳播時間與功率損耗的一致性作為檢測攻擊的標準。建立了基于該檢測標準的安全定位算法流程。仿真結果表明,該檢測方法能夠較好的檢測出惡意節點,從而降低惡意節點的攻擊效果,使未知節點擺脫欺騙攻擊的威脅。
[1] 張杰,胡向東.無線傳感器網絡中的蟲洞攻擊和防御[J].通信技術,2008,41(8):68-70.
[2] Ekici E,Vural S,Mc Nair J.Secure probabilistic location verification in randomly dep loy ed wireless sensor network s[J].Ad Hoc Networks,2008,6(2):195-209.
[3] Somanath Tripathy,Sukumar Nandi.Defense against outside attacks in wireless sensor network s[J].Computer Communications,2008,31:818-826.
[4] Eliana Stavrou,Andreas Pitsillides.A survey on secure multipath routing protocols in WSNs[J].Computer Networks,2010,54:2215-2238.
[5] Sukhyun Yun,Jaehun Lee,Wooyong Chung.A soft computing approach to localization in wirelesssensor networks[J].Expert Systems with Applications,2009,36(4):7552-7561.
[6] 王中生,曹琦.基于ZigBee技術的無線定位研究與實現[J].計算機技術與發展,2010,20(12):190-192.
[7] Dawood Al-Abri,Janise McNair.On theinteraction between localization and location verification for wireless sensor network s[J].Computer Network s,2008,52(14):2713-2727.
[8] 孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005,140-144.
[9] Demirbas M,Song Y.An RSSI-based Scheme for Sybil Attack Detection in Wireless Sensor Networks[C].Buffalo:Proc of International Symposium on World of Wireless,Mobile and Multimedia Networks,2006.
[10] 任秀麗,楊威,薜建生,等.一種基于測距的無線傳感網sy bil攻擊檢測方法[J].計算機應用,2009,29(6):1628-1631.
[11] Mohd Nazri Ismail,Abdullah Mohd Zin.Network Analyzer Development:Independent Data OPNET Simulation Tool and Real Network Comparison[J].Management and Technology,2010,1(1):97-105.