基于跳數(shù)的防御無線傳感器網(wǎng)絡(luò)中蟲洞攻擊方案
無線傳感器網(wǎng)絡(luò)作為一種新型的無線網(wǎng)絡(luò)形式,有著很好的發(fā)展前景。與此同時,由于無線傳感器網(wǎng)絡(luò)自組織、無控制中心和拓?fù)漕l繁變化等特點,其安全性也受到了越來越多的關(guān)注。無線傳感器網(wǎng)絡(luò)中的蟲洞攻擊就是一種主要針對網(wǎng)絡(luò)路由協(xié)議的惡意攻擊,該攻擊通過擾亂網(wǎng)絡(luò)路由層數(shù)據(jù)分組的傳輸,達到攻擊整個網(wǎng)絡(luò)的目的?,F(xiàn)有的針對蟲洞攻擊檢測和防御的相關(guān)研究中,有的方案引入GPS模塊或者有向天線等輔助硬件,還有一些方案依賴于網(wǎng)絡(luò)節(jié)點精確的地理位置信息或者節(jié)點之間的時鐘同步來對攻擊節(jié)點進行定位。這些方案對能量資源和處理能力都有限的網(wǎng)絡(luò)節(jié)點來說,是很大的挑戰(zhàn)。本文基于無線傳感器網(wǎng)絡(luò)反應(yīng)式路由協(xié)議——AODV路由協(xié)議,不需引入輔助硬件,也不要求節(jié)點間時鐘同步,僅通過對路由協(xié)議進行優(yōu)化,來實現(xiàn)對蟲洞攻擊的防御。
1 蟲洞攻擊
蟲洞攻擊一般由至少兩個相距較遠(yuǎn)的惡意節(jié)點合謀發(fā)起,合謀節(jié)點之間建立一條比正常節(jié)點間高效的私有信道。當(dāng)蟲洞攻擊發(fā)起時,合謀節(jié)點之一在網(wǎng)絡(luò)的一端獲取網(wǎng)絡(luò)中的數(shù)據(jù)分組,通過私有信道將數(shù)據(jù)分組傳遞至另一個合謀節(jié)點,然后該合謀節(jié)點再把數(shù)據(jù)分組重放回網(wǎng)絡(luò)中。數(shù)據(jù)分組在私有信道的傳遞過程中被惡意節(jié)點實施選擇性丟棄或者數(shù)據(jù)篡改等惡意行為,實現(xiàn)對網(wǎng)絡(luò)的攻擊。蟲洞攻擊模型如圖1所示。
N1和N2是網(wǎng)絡(luò)中相距較遠(yuǎn)的兩個節(jié)點,兩節(jié)點不在可通信范圍之內(nèi)。正常情況下,兩者需要經(jīng)過多跳路由才能實現(xiàn)互相通信。M1和M2是兩個惡意節(jié)點,它們之間建立起一條私有信道。M1和M2分別處于N1和N2的通信范圍,當(dāng)N1發(fā)送數(shù)據(jù)時,M1會首先收到該數(shù)據(jù),然后M1通過私有信道把該數(shù)據(jù)傳遞給其合謀節(jié)點M2。M2接收到數(shù)據(jù)后繼續(xù)將其轉(zhuǎn)發(fā)給N2。這樣,N1和N2就會誤認(rèn)為彼此是鄰居節(jié)點,M1和M2也因此獲得路由權(quán)。
表面現(xiàn)象讓我們覺得,如果蟲洞合謀節(jié)點是忠實可靠的節(jié)點,蟲洞私有信道反而形成了一條更加高效的網(wǎng)絡(luò)鏈路,提供了一個高效的網(wǎng)絡(luò)連接服務(wù),有效地減少了數(shù)據(jù)傳輸?shù)难訒r。但實際上,蟲洞合謀節(jié)點在數(shù)據(jù)傳遞的過程中并不忠實于傳遞所有數(shù)據(jù),而是對數(shù)據(jù)包實施選擇性丟棄或者數(shù)據(jù)篡改等惡意行為。更嚴(yán)重的是,即使網(wǎng)絡(luò)通信已經(jīng)采用了加密或認(rèn)證機制,惡意節(jié)點仍然可以發(fā)起蟲洞攻擊。
2 相關(guān)工作
參考文獻中提出了“數(shù)據(jù)包限制”機制,并采用一種有效的認(rèn)證協(xié)議TIK來對蟲洞節(jié)點檢測和防御。該機制的主要思想是在數(shù)據(jù)分組中附加地理限制信息或者時間限制信息來限制分組的最大傳輸距離。數(shù)據(jù)分組接收節(jié)點依據(jù)附加在數(shù)據(jù)分組中的地理限制信息或者時間限制信息來計算自己到發(fā)送節(jié)點間的最大傳輸距離,由此判斷數(shù)據(jù)分組來源的合法性。這種機制需要網(wǎng)絡(luò)中節(jié)點真實的地理信息和精確的時鐘同步。
參考文獻從數(shù)據(jù)分組的延時出發(fā)提出了蟲洞攻擊的檢測方案:記錄從源節(jié)點到目的節(jié)點之間所有的不相交路徑,然后計算出每條路徑的長度和延時,進而得到每條路徑平均每跳的延時。如果存在一條路徑,其平均每跳的延時相比較于其他路徑的平均每跳延時異常地大,那么就認(rèn)為這條路徑遭受到蟲洞攻擊。這種機制同樣需要網(wǎng)絡(luò)中節(jié)點的時鐘同步。
參考文獻基于數(shù)據(jù)包往返時間(RTT)的方法檢測蟲洞的存在,因為蟲洞節(jié)點之間傳輸數(shù)據(jù)包的RTT必然大于真實鄰居節(jié)點之間的RTT。這種方法雖然不需要額外的硬件,但是也需要網(wǎng)絡(luò)中節(jié)點的時鐘同步。
參考文獻提出使用統(tǒng)計分析的方法進行蟲洞檢測。在蟲洞攻擊下,惡意節(jié)點所在的路徑在路由表中出現(xiàn)的比例將很高。此方案統(tǒng)計出出現(xiàn)比例較高的路徑,并使用測試包對其進行測試,由此來確定惡意節(jié)點。但是這種方法只適合在多路徑協(xié)議中使用,對AODV等單播路由協(xié)議是失效的。
評論