程海青,王 華,王 芳,王華奎
(1.太原理工大學a.信息工程學院;b.計算機科學與技術學院,太原030024;2.太原科技戰(zhàn)略研究院,太原030009)
在無線傳感器網(wǎng)絡中,傳感器節(jié)點自身位置信息的正確性直接影響傳感器網(wǎng)絡所采集環(huán)境信息的有效性。傳感器節(jié)點可以利用節(jié)點定位技術完成自身位置的定位,現(xiàn)有的定位技術大都假設傳感器節(jié)點處于安全、良好的環(huán)境中,但是在實際的工程應用領域,由于傳感器節(jié)點經(jīng)常被布置到無人維護或者維護比較困難的惡劣環(huán)境中,節(jié)點失效、環(huán)境毀壞等不可控因素將影響局部乃至整個網(wǎng)絡的定位效果。尤其在軍事領域的應用中,敵方可能通過俘獲傳感器節(jié)點使得節(jié)點虛報定位信息,從而達到降低傳感器網(wǎng)絡有效性的目的[1,2]。研究安全可靠的定位算法對于無線傳感器網(wǎng)絡必不可少[3,4]。在常見的針對定位技術的攻擊模型中,欺騙攻擊是較為常見的一種攻擊,本文分析了欺騙攻擊的性質(zhì),總結了欺騙攻擊所采用的途徑及欺騙攻擊所固有的薄弱環(huán)節(jié),提出了一種檢測攻擊節(jié)點的安全定位方法。
在傳感器網(wǎng)絡節(jié)點定位技術中,定位技術旨在得到節(jié)點的精確位置信息。自身位置信息未知的傳感器節(jié)點(稱為未知節(jié)點)通過與已知位置信息的節(jié)點(稱為信標節(jié)點)互相通信,得到定位所需要的參數(shù),運用定位算法估算自身的位置坐標。其中信標節(jié)點可以通過GPS等定位技術獲得自身的精確位置。現(xiàn)有的定位技術可大致分為兩種類型:基于距離的定位技術和距離無關的定位技術[5,6]。前者需要測量信標節(jié)點與未知節(jié)點的絕對距離或角度,后者無須獲得與參考節(jié)點的精確距離或者方位信息,僅利用節(jié)點間的估計距離計算節(jié)點位置[7]。
欺騙攻擊是較為常見的一種攻擊,攻擊者僅需俘獲一個良好節(jié)點就能達到攻擊的目的。被俘獲的節(jié)點我們稱之為惡意節(jié)點。惡意節(jié)點可以通過改變節(jié)點定位過程中需要的一些定位參數(shù)完成攻擊的任務,根據(jù)所修改的參數(shù)不同可以將欺騙攻擊細分為重放、延時攻擊(Replay/Delay Attack);偽造功率攻擊(Forge Attack);篡改坐標攻擊(Distort/Tamper Attack)等。
惡意節(jié)點延時傳播、偽造或篡改未知節(jié)點定位所需的定位參數(shù),損壞定位所需信息的有效性和真實性。如圖1-a所示,未知節(jié)點S向鄰居節(jié)點發(fā)送定位請求,惡意節(jié)點B4收到S節(jié)點請求,向S節(jié)點回復S所需要的定位參數(shù)。惡意節(jié)點B 4對定位參數(shù)進行篡改、偽造或者延時重放,致使節(jié)點S錯誤定位。
圖1 欺騙攻擊示例
1)篡改坐標攻擊。如圖1-b所示,惡意節(jié)點B4篡改自身的坐標值使其與實際值不相符,致使S節(jié)點定位錯誤。B4在回復S請求的數(shù)據(jù)包中將自身實際坐標(x4,y4)修改為(x′4,y′4),S 得到錯誤的關于B 4的坐標,S定位失敗。
2)重放、延時攻擊。如圖1-c所示,惡意節(jié)點B4通過重放或者延時改變B4與S節(jié)點之間的測量距離。B4收到S的數(shù)據(jù)包后,故意延時處理,使S依據(jù)傳播時間計算節(jié)點之間的距離增大。
3)偽造功率攻擊。如圖1-d所示,惡意節(jié)點B4可以改變發(fā)送功率的大小,使數(shù)據(jù)包中寫入的發(fā)送功率與實際的發(fā)送功率不一致,達到改變測量距離的目的。B4以P′tx發(fā)送回復數(shù)據(jù)包,但在數(shù)據(jù)包中寫入發(fā)送功率為P tx,與P′tx相對應,S接收功率為P′rcv,從數(shù)據(jù)包中得到發(fā)送功率為Ptx,S節(jié)點得到錯誤的功率損耗值,定位錯誤。
假定無線傳感器網(wǎng)絡中的節(jié)點是靜止的,那么節(jié)點之間的客觀距離是不變的,也就是在不存在攻擊的情況下,通過信號傳送時間所計算的節(jié)點之間的距離應該等于由接收功率所計算出的距離(在考慮誤差存在的情況下,兩距離之間的差應該小于某個值)。如果惡意節(jié)點想要達到攻擊的目的,必須同時改變兩個參數(shù),即信號傳送時間和接收功率。因此,可以設計特殊的定位機制,使得惡意節(jié)點不能同時改變兩個參數(shù),然后通過監(jiān)視由時間計算的距離和由接收功率得到的距離的一致性來判斷是否存在欺騙攻擊。承擔監(jiān)視和檢測任務的節(jié)點本文稱之為檢測節(jié)點,可以是未知節(jié)點也可以是信標節(jié)點。
2.1.1 節(jié)點間距離與信號傳播時間的關系
信號傳播時間跟節(jié)點之間的距離成正比[8],滿足公式(1)
式中:d t為由信號在節(jié)點之間傳播的時間差計算出的距離,v是信號傳播的速度,t0為未知節(jié)點發(fā)送請求定位信號的時間點,t1為此信號到達信標節(jié)點的時間點,如圖2所示。信標節(jié)點將t1寫入回復未知節(jié)點請求的數(shù)據(jù)包中。如果信標節(jié)點被俘獲,攻擊者可以通過改變t1值來改變節(jié)點之間的測量距離,t1值既可以增大也可以減小。為了減小惡意節(jié)點攻擊的可能性,本文利用信號的回傳時間計算節(jié)點之間的距離,如圖3所示。
圖3 信號回傳時間測距原理圖
圖2 TOA測距原理圖
未知節(jié)點時間點發(fā)送請求定位數(shù)據(jù)包,該包于t1時到達信標節(jié)點,信標節(jié)點于t2時回復請求,t3時回復包到達未知節(jié)點。(t2-t1)為信標節(jié)點處理數(shù)據(jù)包的時間,處理器的處理速度一定,(t2-t1)的值約等于常數(shù)??梢钥闯?利用回傳時間計算節(jié)點之間的距離可以減小惡意節(jié)點的攻擊的可能性,即攻擊者只能延長信號的傳播時間,也就是只能增大節(jié)點之間距離。
2.1.2 節(jié)點間距離與接收功率的關系
在相同的發(fā)送功率的情況下,節(jié)點的接收功率同與節(jié)點之間的距離成反比[9-10],滿足公式(3)
式中:dp表示由功率損耗計算出的距離;c和α為常數(shù);P r cv為未知節(jié)點接收到的功率;P tx為信標節(jié)點寫入數(shù)據(jù)包的發(fā)送功率,當信標節(jié)點被攻擊者俘獲時,惡意節(jié)點可以通過改變寫入數(shù)據(jù)包中的Ptx達到攻擊的目的。
2.1.3 d t和d p的關系
由傳播時間和接收功率所計算出的節(jié)點之間的距離在理想狀況下應該相等,即
2.1.4 檢測攻擊原理
由于攻擊者只能增大傳播時間改變節(jié)點之間的測量距離,假定惡意節(jié)點故意延時Δt回復未知節(jié)點的定位請求,為了達到攻擊的目的,惡意節(jié)點必須同時將功率改變使得由功率的改變量Δp引起的距離的改變量必須滿足與時間改變量引起的距離改變量相同。具體的方法有以下兩種:
A惡意節(jié)點將寫入回復請求數(shù)據(jù)包中的Ptx增大,實際發(fā)射功率不變
B惡意節(jié)點不改變寫入回復數(shù)據(jù)包中的,減小實際的發(fā)射功率
由上面兩式可以得出,無論采取哪種方式,p rcv和(T3-T0)對于惡意節(jié)點來說是一個未知數(shù),不能精確得出Δp的解,所以可以利用功率損耗和信號傳播時間檢測是否存在攻擊。
1)未知節(jié)點id i于t0時刻發(fā)送定位請求信息包,并記錄 t0;
2)鄰居節(jié)點在t1時刻接收到請求信息包,自身位置信息已知的節(jié)點id j(包含信標節(jié)點和已經(jīng)由定位算法獲得自身位置信息的節(jié)點)生成新的數(shù)據(jù)包回復id i的請求,數(shù)據(jù)包中包含的字段內(nèi)容為{id j,(xj,y j),t1,t2,P tx},其中t2為節(jié)點id j發(fā)送回復數(shù)據(jù)包的發(fā)送時刻,(x j,y j)為id j的坐標,P tx為id j的發(fā)射功率;
3)未知節(jié)點id i于t3時刻收到由id j回復的數(shù)據(jù)包,計算d t,d p;
4)如果|d t-d p|≤ε(0≤ε)則無攻擊,接受 id j的所發(fā)送的定位信息,如果|d t-d p|>ε(0≤ε)則idj為欺騙攻擊節(jié)點。
以OPNET Modeler為仿真平臺[11]對本文所提出的欺騙攻擊檢測方法的性能進行分析。實驗中未知節(jié)點的定位采用RSSI定位機制。仿真參數(shù)配置為:節(jié)點天線為全向天線;通信半徑為15 m;節(jié)點分布范圍為100 m×100 m;信標節(jié)點密度為0.002~0.005(個/m2);未知節(jié)點密度為0.015~0.050(個/m2)。
圖4顯示了無攻擊時網(wǎng)絡節(jié)點的平均定位誤差(曲線3)、存在攻擊的情況下網(wǎng)絡節(jié)點的定位誤差(曲線1)以及采用欺騙攻擊檢測方法后節(jié)點的定位誤差(曲線2)。從圖中可以看出,在存在攻擊的情況下,節(jié)點的定位誤差較無欺騙攻擊存在時節(jié)點的定位誤差大了很多。在采用本文提出的惡意節(jié)點檢測的方法后,節(jié)點的定位誤差逼近于無攻擊時的定位誤差。
圖4 平均定位誤差曲線
圖5 成功檢測攻擊概率圖
圖5 顯示了成功檢測欺騙攻擊的概率隨著承擔檢測任務的節(jié)點的數(shù)目的增多而增大,檢測節(jié)點布置密度為0.02時,檢測成功的概率能達到90%,充分證明了本文提出的用來檢測欺騙攻擊方法的有效性。
本文分析了欺騙攻擊對于無線傳感器網(wǎng)絡定位過程的影響以及惡意節(jié)點實現(xiàn)欺騙攻擊的可能途徑,在此基礎上,將信號傳播時間與功率損耗的一致性作為檢測攻擊的標準。建立了基于該檢測標準的安全定位算法流程。仿真結果表明,該檢測方法能夠較好的檢測出惡意節(jié)點,從而降低惡意節(jié)點的攻擊效果,使未知節(jié)點擺脫欺騙攻擊的威脅。
[1] 張杰,胡向東.無線傳感器網(wǎng)絡中的蟲洞攻擊和防御[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技術的無線定位研究與實現(xiàn)[J].計算機技術與發(fā)展,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] 孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡[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] 任秀麗,楊威,薜建生,等.一種基于測距的無線傳感網(wǎng)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.