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