周先存,黎明曦,陳振偉,毛德梅
(1.皖西學(xué)院 信息工程學(xué)院,安徽 六安237012;2.中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥230027)
無(wú)線傳感器網(wǎng)絡(luò) (Wireless Sensor Network,WSN)是集信息采集、信息傳輸和信息處理于一體的綜合智能信息系統(tǒng),由部署在監(jiān)測(cè)區(qū)域內(nèi)的大量的微型傳感器節(jié)點(diǎn)協(xié)作地感知、采集和處理網(wǎng)絡(luò)覆蓋地理區(qū)域中感知對(duì)象的信息,并發(fā)布給監(jiān)測(cè)者,可廣泛應(yīng)用于軍事和民用領(lǐng)域[1]。由于其工作的環(huán)境無(wú)人值守,當(dāng)傳感器網(wǎng)絡(luò)作為軍事用途被布置在敵方區(qū)域時(shí),缺乏物理保護(hù)的傳感器節(jié)點(diǎn)很容易遭到外來(lái)的干擾和攻擊,其中一種常見(jiàn)的攻擊是節(jié)點(diǎn)復(fù)制攻擊[2],其攻擊模式是通過(guò)俘獲傳感器節(jié)點(diǎn),獲取相關(guān)信息,并將克隆的偽節(jié)點(diǎn)加入網(wǎng)絡(luò)中以獲取、篡改或偽造網(wǎng)絡(luò)信息,甚至攻擊、影響和破壞網(wǎng)絡(luò)的正常運(yùn)行[3\|4]。如果沒(méi)有全局檢測(cè)算法的支持,網(wǎng)絡(luò)中的節(jié)點(diǎn)無(wú)法判斷鄰居節(jié)點(diǎn)中是否存在復(fù)制攻擊節(jié)點(diǎn)[5],抵御入侵攻擊的最簡(jiǎn)單的辦法是在傳感器節(jié)點(diǎn)上搭載具有防護(hù)能力的硬件設(shè)備。然而基于硬件的防護(hù)措施成本較高,這對(duì)于資源有限的傳感器節(jié)點(diǎn)來(lái)說(shuō)是不切實(shí)際的。于是,各種各樣的基于軟件的入侵節(jié)點(diǎn)檢測(cè)方案和協(xié)議近年來(lái)陸續(xù)被提出來(lái)。Thanh提出一種輕量級(jí)的檢測(cè)方案[6],它包括兩個(gè)協(xié)議LANCE和SACRED方案?;镜乃枷刖褪窃诓渴鹎?,每個(gè)節(jié)點(diǎn)和服務(wù)器同步一個(gè)計(jì)數(shù)器,這個(gè)計(jì)數(shù)器每隔一定時(shí)間就加1。節(jié)點(diǎn)部署后,首先廣播一個(gè)Hello信息給它的鄰居,這個(gè)Hello消息中包含一個(gè)常數(shù)計(jì)數(shù)值,當(dāng)某個(gè)節(jié)點(diǎn)收到消息后,將這個(gè)計(jì)數(shù)器值與自己的計(jì)數(shù)器值相比較,如果相等,就認(rèn)為是合法節(jié)點(diǎn),如果小于自己的計(jì)數(shù)器值,就認(rèn)為它是復(fù)制節(jié)點(diǎn)。Xing提出了一個(gè)利用含有鄰居節(jié)點(diǎn)信息的指紋檢測(cè)復(fù)制節(jié)點(diǎn)的 集 中 式 檢 測(cè) 方 案[7]。其 中,隨 機(jī) 多 播(Randomized Multicast,RM)基本思想如下,每個(gè)節(jié)點(diǎn)生成一個(gè)自己簽名的位置聲明消息,將該消息在一跳鄰居范圍內(nèi)廣播。它的鄰居節(jié)點(diǎn)收到消息后,以一定概率p決定是否轉(zhuǎn)發(fā)此消息。若某個(gè)鄰居節(jié)點(diǎn)決定轉(zhuǎn)發(fā)此消息,則它通過(guò)一個(gè)預(yù)置函數(shù)在網(wǎng)絡(luò)中選擇g個(gè)節(jié)點(diǎn),將此消息發(fā)送到這g個(gè)目標(biāo)節(jié)點(diǎn)。如果網(wǎng)絡(luò)中的節(jié)點(diǎn)總數(shù)為n,則取。如果網(wǎng)絡(luò)中存在復(fù)制節(jié)點(diǎn),即有兩個(gè)同樣ID的節(jié)點(diǎn),根據(jù)生日悖論理論,那么這兩個(gè)節(jié)點(diǎn)的聲明信息至少會(huì)到達(dá)g個(gè)節(jié)點(diǎn)中的某一個(gè)節(jié)點(diǎn)(這個(gè)節(jié)點(diǎn)就稱(chēng)為驗(yàn)證節(jié)點(diǎn)),驗(yàn)證節(jié)點(diǎn)通過(guò)對(duì)比就會(huì)發(fā)現(xiàn)沖突,從而發(fā)現(xiàn)復(fù)制節(jié)點(diǎn)。隨機(jī)多播還可進(jìn)行改進(jìn),其中線性選擇多播(Line-Selected Multicast,LSM)方案在聲明消息到達(dá)驗(yàn)證節(jié)點(diǎn)的路由路徑中,所有中繼過(guò)該消息的節(jié)點(diǎn)要在本地存儲(chǔ)該消息,并和己經(jīng)存儲(chǔ)的位置聲明消息進(jìn)行比對(duì),檢查是否存在沖突。與此相似,Conti提出了一個(gè)隨機(jī)高效的分布式協(xié)議(Randomized Efficient And Dtributed Protocol,RED),在LSM 基礎(chǔ)上作了進(jìn)一步改進(jìn),取消了隨機(jī)選擇驗(yàn)證節(jié)點(diǎn)時(shí)的獨(dú)立性,而采用全網(wǎng)共享的隨機(jī)種子和相同的偽隨機(jī)函數(shù)來(lái)生成驗(yàn)證節(jié)點(diǎn),使得同一ID的節(jié)點(diǎn)所生成的驗(yàn)證節(jié)點(diǎn)是相同的,這樣可以選擇更少的驗(yàn)證節(jié)點(diǎn),而檢測(cè)效率不受影響。Zhijun Li提出了一個(gè)基于隨機(jī)方向探索(Randomly Directed Exploration)的檢測(cè)方案。每個(gè)節(jié)點(diǎn)生成含有其鄰居列表的位置聲明信息,隨機(jī)選擇一個(gè)鄰居進(jìn)行傳遞。對(duì)所有傳遞該聲明信息的中間節(jié)點(diǎn),通過(guò)方向探索技術(shù)確定下一個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn),同時(shí)將收到的消息中的鄰居列表與自己存儲(chǔ)的鄰居列表進(jìn)行比較,如發(fā)現(xiàn)沖突則發(fā)現(xiàn)復(fù)制節(jié)點(diǎn)。
以上的復(fù)制攻擊檢測(cè)協(xié)議都需要精確的節(jié)點(diǎn)位置信息或系統(tǒng)同步信息作為對(duì)比的依據(jù),從而對(duì)復(fù)制節(jié)點(diǎn)進(jìn)行檢測(cè)。目前對(duì)節(jié)點(diǎn)復(fù)制攻擊檢測(cè)協(xié)議的研究基本上都停留在算法研究階段,實(shí)驗(yàn)驗(yàn)證也基本是通過(guò)軟件仿真,盡管在實(shí)驗(yàn)仿真中獲得較好的實(shí)驗(yàn)數(shù)據(jù),但由于現(xiàn)有條件與技術(shù)的限制,在實(shí)際網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)起來(lái)卻十分的困難。在本文中,筆者不僅提出運(yùn)用多節(jié)點(diǎn)間相互測(cè)距的方法檢測(cè)網(wǎng)絡(luò)中的入侵節(jié)點(diǎn),確定了三種檢測(cè)準(zhǔn)則,而且設(shè)計(jì)并實(shí)現(xiàn)一個(gè)節(jié)點(diǎn)復(fù)制攻擊檢測(cè)系統(tǒng)。
本系統(tǒng)由傳感器節(jié)點(diǎn)、數(shù)據(jù)采集終端、嵌入式系統(tǒng)和數(shù)據(jù)分析軟件組成。系統(tǒng)組成和體系結(jié)構(gòu)如圖1所示。圖中實(shí)心圓圈表示復(fù)制攻擊節(jié)點(diǎn),空心圓圈表示網(wǎng)絡(luò)中的正常節(jié)點(diǎn)。根據(jù)復(fù)制節(jié)點(diǎn)與網(wǎng)絡(luò)中正常節(jié)點(diǎn)的位置關(guān)系,制定出三種檢驗(yàn)準(zhǔn)則。數(shù)據(jù)終端對(duì)傳回來(lái)的鄰近節(jié)點(diǎn)地址表進(jìn)行對(duì)照檢查,根據(jù)檢驗(yàn)準(zhǔn)則判斷節(jié)點(diǎn)的鄰近節(jié)點(diǎn)地址表中的ID號(hào)之間是否存在矛盾,從而確定有無(wú)復(fù)制節(jié)點(diǎn)。
圖1 系統(tǒng)體系結(jié)構(gòu)圖
2.2.1 問(wèn)題描述
假定一個(gè)隨機(jī)部署的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用區(qū)域,面積為S,網(wǎng)絡(luò)節(jié)點(diǎn)規(guī)模為Q(節(jié)點(diǎn)數(shù)為n),節(jié)點(diǎn)穩(wěn)定通信距離為L(zhǎng),節(jié)點(diǎn)編號(hào)為x,x1,x2,…,xn-1,系統(tǒng)中存在復(fù)制節(jié)點(diǎn)x′和節(jié)點(diǎn)x具有相同的節(jié)點(diǎn)ID號(hào)xi,xi∈{x,x1,x2,…,xn-1}。通過(guò)運(yùn)用多節(jié)點(diǎn)測(cè)距,在不需要節(jié)點(diǎn)精確位置信息和系統(tǒng)同步時(shí)鐘的支持下,檢測(cè)出被攻擊節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)xi。
2.2.2 檢測(cè)原理
當(dāng)系統(tǒng)被隨機(jī)部署在某個(gè)區(qū)域后,為保證網(wǎng)絡(luò)的正常工作,通常需要定時(shí)進(jìn)行全網(wǎng)的拓?fù)渚S護(hù),可在節(jié)點(diǎn)相互通信時(shí)完成節(jié)點(diǎn)間的測(cè)距,并分別記錄與自身距離為的節(jié)點(diǎn)ID號(hào),并將其發(fā)送給數(shù)據(jù)終端(注:R為傳感器節(jié)點(diǎn)的檢測(cè)半徑,以下同),由數(shù)據(jù)終端對(duì)數(shù)據(jù)進(jìn)行分析處理,從而判斷出網(wǎng)絡(luò)中是否存在偽節(jié)點(diǎn)(復(fù)制節(jié)點(diǎn)),并且記錄偽節(jié)點(diǎn)的ID號(hào)。相鄰節(jié)點(diǎn)信息表如表1所示。
表1 相鄰節(jié)點(diǎn)信息表
網(wǎng)絡(luò)中節(jié)點(diǎn)周期性地廣播自己的鄰居節(jié)點(diǎn)信息表。通過(guò)比較節(jié)點(diǎn)的鄰居節(jié)點(diǎn)信息表,系統(tǒng)可以檢測(cè)到偽節(jié)點(diǎn)。下面我們定義三種判定準(zhǔn)則,當(dāng)符合其中任一準(zhǔn)則,則意味著節(jié)點(diǎn)復(fù)制攻擊發(fā)生。
(1)準(zhǔn)則一
當(dāng)復(fù)制節(jié)點(diǎn)x′位于節(jié)點(diǎn)x的探測(cè)范圍內(nèi)時(shí),也就是復(fù)制節(jié)點(diǎn)x′與節(jié)點(diǎn)x之間距離小于探測(cè)半徑R時(shí),兩個(gè)節(jié)點(diǎn)可以相互探測(cè)到對(duì)方,因此在兩個(gè)節(jié)點(diǎn)的相鄰節(jié)點(diǎn)信息表中會(huì)產(chǎn)生與自身ID號(hào)相同的矛盾,即在距自己半徑為R的范圍內(nèi)存在一個(gè)與自己相同ID的節(jié)點(diǎn),這意味著節(jié)點(diǎn)復(fù)制攻擊發(fā)生。
(2)準(zhǔn)則二
當(dāng)復(fù)制節(jié)點(diǎn)x′與節(jié)點(diǎn)x的距離為時(shí)候,有可能存在一個(gè)節(jié)點(diǎn)xk,可在其鄰節(jié)點(diǎn)信息表中檢測(cè)出節(jié)點(diǎn)x′與節(jié)點(diǎn)x的ID號(hào)相等但距節(jié)點(diǎn)xk距離不等的矛盾。即在距節(jié)點(diǎn)xk半徑為R的范圍內(nèi)存在兩個(gè)節(jié)點(diǎn)x,且這兩個(gè)節(jié)點(diǎn)距節(jié)點(diǎn)xk的距離不相等,這意味著節(jié)點(diǎn)復(fù)制攻擊發(fā)生。
(3)準(zhǔn)則三
當(dāng)復(fù)制節(jié)點(diǎn)x′處于某節(jié)點(diǎn)xki的監(jiān)測(cè)范圍內(nèi),節(jié)點(diǎn)x處于另一個(gè)節(jié)點(diǎn)xkj的檢測(cè)范圍內(nèi),且此時(shí)節(jié)點(diǎn)xki和節(jié)點(diǎn)xkj之間的距離大于R,則會(huì)出現(xiàn)在網(wǎng)絡(luò)的不同部分具有相同ID的節(jié)點(diǎn)的矛盾,這意味著節(jié)點(diǎn)復(fù)制攻擊發(fā)生。
本系統(tǒng)的軟件實(shí)現(xiàn)分為兩部分:嵌入式軟件和數(shù)據(jù)分析軟件。其中嵌入式軟件運(yùn)行在傳感器節(jié)點(diǎn)上;數(shù)據(jù)分析軟件運(yùn)行在數(shù)據(jù)終端上。兩部分獨(dú)立運(yùn)行,同時(shí)通過(guò)相互間的網(wǎng)絡(luò)通信實(shí)現(xiàn)數(shù)據(jù)交互。軟件運(yùn)行的詳細(xì)流程,如圖2所示。
圖2 算法流程
該系統(tǒng)有如下功能:
(1)節(jié)點(diǎn)采集信號(hào)強(qiáng)度測(cè)距數(shù)據(jù),與所設(shè)閥值對(duì)比,處理后,將數(shù)據(jù)發(fā)往基站。
(2)上位機(jī)終端通過(guò)基站串口接收數(shù)據(jù),重新定義數(shù)據(jù)結(jié)構(gòu)后,依據(jù)三種準(zhǔn)則,判斷系統(tǒng)中是否存在偽節(jié)點(diǎn)。
(3)如果存在,記錄偽節(jié)點(diǎn)ID號(hào),并由終端多媒體動(dòng)態(tài)顯示和報(bào)告復(fù)制節(jié)點(diǎn)信息。
(4)終端自動(dòng)向基站發(fā)送指令,廣播至所有節(jié)點(diǎn),各節(jié)點(diǎn)自動(dòng)屏蔽偽節(jié)點(diǎn)數(shù)據(jù)包。
(1)實(shí)驗(yàn)設(shè)備
節(jié)點(diǎn)32個(gè)(30個(gè)正常節(jié)點(diǎn),一個(gè)基站節(jié)點(diǎn),一個(gè)偽節(jié)點(diǎn));PC機(jī)一臺(tái)、卷尺一把、串口線一根。
(2)實(shí)驗(yàn)步驟
1)在10m×8m的空曠區(qū)域中心,均勻布置30個(gè)傳感器節(jié)點(diǎn),節(jié)點(diǎn)編號(hào)是2~1F(十六進(jìn)制)。這些節(jié)點(diǎn)組成WSN網(wǎng)絡(luò)。
2)打開(kāi)所有節(jié)點(diǎn),全網(wǎng)開(kāi)始正常工作,每個(gè)節(jié)點(diǎn)記錄其通信距離R內(nèi)的FLAG值。
3)我們?cè)诰W(wǎng)絡(luò)不同位置放置偽節(jié)點(diǎn),檢驗(yàn)此網(wǎng)絡(luò)是否能實(shí)時(shí)準(zhǔn)確檢測(cè)出偽節(jié)點(diǎn)并進(jìn)行全網(wǎng)屏蔽。測(cè)試實(shí)驗(yàn)傳感器網(wǎng)絡(luò)部署如圖3所示。本次測(cè)試實(shí)驗(yàn)是對(duì)ID號(hào)為0x13的節(jié)點(diǎn)進(jìn)行攻擊。
圖3 測(cè)試實(shí)驗(yàn)傳感器網(wǎng)絡(luò)部署圖
實(shí)驗(yàn)中接收的關(guān)鍵節(jié)點(diǎn)數(shù)據(jù)如表2所示。
表2 實(shí)驗(yàn)中接收的關(guān)鍵數(shù)據(jù)
(4)實(shí)驗(yàn)結(jié)果
系統(tǒng)應(yīng)用RSSI(基于接收信號(hào)強(qiáng)度指示)測(cè)距,實(shí)現(xiàn)了對(duì)無(wú)線傳感器網(wǎng)絡(luò)中復(fù)制節(jié)點(diǎn)的檢測(cè),達(dá)到了系統(tǒng)設(shè)計(jì)方案中的要求。在不獲取節(jié)點(diǎn)位置信息和系統(tǒng)時(shí)鐘同步信息的情況下,通過(guò)測(cè)量信號(hào)強(qiáng)度衰減值進(jìn)行分析,獲得復(fù)制節(jié)點(diǎn)的ID,并對(duì)其數(shù)據(jù)幀進(jìn)行過(guò)濾。系統(tǒng)運(yùn)行中,能自適應(yīng)地采用三種判定準(zhǔn)則對(duì)不同位置的復(fù)制節(jié)點(diǎn)進(jìn)行識(shí)別,在30個(gè)節(jié)點(diǎn)規(guī)模的實(shí)驗(yàn)中獲得了良好的結(jié)果。實(shí)驗(yàn)表明:多點(diǎn)測(cè)距算法能夠有效地、自動(dòng)地檢測(cè)出復(fù)制節(jié)點(diǎn)。由于本系統(tǒng)采用的是無(wú)線射頻信號(hào)的信號(hào)強(qiáng)度值,因此可以被嵌入到各種無(wú)線傳感器網(wǎng)絡(luò)和其他無(wú)線網(wǎng)絡(luò)中,具有很強(qiáng)的移植性。
運(yùn)用節(jié)點(diǎn)特征的節(jié)點(diǎn)復(fù)制攻擊檢測(cè)就要依賴(lài)節(jié)點(diǎn)定位、網(wǎng)絡(luò)同步時(shí)鐘信息,這導(dǎo)致了檢測(cè)系統(tǒng)的成本大幅度提升,因此實(shí)用性和可靠性低。我們提出了測(cè)距法來(lái)檢測(cè)節(jié)點(diǎn)的復(fù)制攻擊,設(shè)計(jì)了一個(gè)無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)復(fù)制攻擊檢測(cè)算法,其中尤為重要的是確定了是否存在復(fù)制節(jié)點(diǎn)的判定準(zhǔn)則。準(zhǔn)則的制定基于對(duì)節(jié)點(diǎn)間距測(cè)量的比較和分析,充分考慮了當(dāng)網(wǎng)絡(luò)中存在復(fù)制節(jié)點(diǎn)時(shí)節(jié)點(diǎn)間測(cè)距會(huì)出現(xiàn)怎樣的特殊情況。但文中所提出的檢測(cè)方法在以下兩個(gè)方面尚有待進(jìn)一步研究:(1)雖然在實(shí)驗(yàn)環(huán)境中RSSI表現(xiàn)出良好的特性,但是RSSI測(cè)距精度仍有待進(jìn)一步提高;(2)如果復(fù)制節(jié)點(diǎn)不對(duì)外發(fā)送數(shù)據(jù),僅僅接收網(wǎng)絡(luò)中的傳輸數(shù)據(jù),則可以隱蔽地獲取網(wǎng)絡(luò)中的數(shù)據(jù)且無(wú)法被檢測(cè)。以上兩個(gè)問(wèn)題將是下一步研究的重點(diǎn)。
[1]楊峰,周學(xué)海,張起元,等.無(wú)線傳感器網(wǎng)絡(luò)惡意節(jié)點(diǎn)溯源追蹤方法研究[J].電子學(xué)報(bào),2009,37(1):202-206.
[2]PARNO B,PERRIG A,GLIGOR V.Distributed Detec-tion of Node Replication Attacks in Sensor Networks[C].Proceedings of IEEE Symposium on Security and Privacy.2005:49-63.
[3]Karlof C,Wagner D.Secure Routing in Wireless Sensor Networks:Attacks and Countermeasures[C].Proceedings of First IEEE International Workshop on Sensor Network Protocols and Applications.2003:113-127.
[4]LIU F,CHENG X Z,CHEN D C.Insider Attacker Detection in Wireless Sensor Networks[C].INFOCOM'07.2007:1937-1945.
[5]CONTI M,PIETRO R,MANCI NI L,et al.Distributed Detection of Clone Attacks in Wireless Sensor Networks[J].IEEE Transaction on Dependable & Secure Computing,2011.8(5):1-14.
[6]Dai T T and Agbinya J I.Early and Lightweight Distributed Detection of Node Replication Attack in Sensor Networks\[C\].in the proceedings WCNC 2010,IEEE,2010:18-21.
[7]Xing Kai,Liu Fang,Cheng Xiuzhen,et al.Real-Time Detection of Clone Attacks in Wireless Sensor Networks\[C\].ICDCS'08.The 28th International Conference on Distributed Computing Systems,2008:3-10.
[8]CONTI M,PIETRO R,MANCI NI L.A randomized,Efficient,and Distributed Protocol for the Detection of Node Replication Attacks in Wireless Sensor Networks[C].Proceedings of the 8th ACM International Symposium on Mobile Ad Hoc Networking and Computing(MobiHoc'07).2007:80-89.
[9]Li Zhijun and Gong Guang.Randomly Directed Exploration:An Efficient Node Clone Detection Protocol in Wireless Sensor Networks\[C\].MASS'09,6th International Conference on Mobile Ad-h(huán)oc and Sensor Systems,IEEE,2009:12-15.