劉 冰,王學成
(1.浙江經濟職業技術學院 數字信息技術學院,浙江 杭州 310018;2.吉林大學 計算機科學與技術學院,吉林 長春 130012)
為了保障節點通信數據的安全性,如何對無線傳感器網絡的安全進行有效保障尤為重要[1-5]。目前黑客對無線傳感器網絡的攻擊主要采用病毒控制通信節點或者采用偽裝的通信節點(這些節點在文中統稱為惡意節點),進而對無線傳感器網絡造成破壞。
惡意節點破壞無線傳感器網絡的方式通常采用泛洪攻擊和蟲洞攻擊的方式,在泛洪攻擊中,惡意節點傳播混亂的信息使得大部分的鄰居節點將數據傳輸給它,竊取了其它節點的監測數據并破壞了正常的路由通信。在蟲洞攻擊中,兩個或以上的惡意節點通過私有的通訊管道互相傳遞信息,減少跳躍數來獲得繞路權,進而對隨后的資料封包造成被竊聽或者阻斷正常路由的數據傳遞服務的可能[6,7]。為了能夠有效識別惡意節點,從而阻止黑客對無線網絡的進一步破壞,國內外許多專家學者對這些問題進行了深入的探討并開展了研究工作,取得了一定的成果。
張琳等提出一種基于DPAM-MD算法的無線傳感器網絡惡意節點識別算法,該算法為了解決惡意節點檢測的低識別率和高誤判率等問題,引入了基于DPAM-MD算法的惡意節點識別方法,在傳統信譽閾值判斷模型的基礎上,通過結合曼哈頓度量和DPAM算法識別出亞攻擊性節點[8]。蔡紹濱等提出基于云模型的無線傳感器網絡惡意節點識別技術,該技術考慮到基于密碼的安全體系不能有效處理來自網絡內部的攻擊,識別出惡意節點,因此在識別惡意節點上基于云理論提出了一種信任模型,通過節點的可信度計算及更新來監測節點的異常操作,從而準確識別惡意節點[9,10]。Ho等提出一種無線傳感器網絡移動惡意攻擊節點分布式檢測方案,該方案的核心思想是采用連續的假設來檢驗某些特定時間段的沉默節點,采用一個時序概率比檢驗的統計決策過程來制定節點的動態閾值方案,區分惡意節點[11]。Ning等提出一種基于重復博弈的無線傳感器網絡的惡意節點檢測定位算法,該算法引入信任評價方法來區分惡意信標節點,并建立重復博弈框架來定位惡意節點[12]。
本文首先提取惡意節點區別于正常節點的特征屬性,再基于似然估計及多元分類理論提出判別函數,從而根據未標記節點的特征向量來判斷節點類型。
圖1為一個無線傳感器網絡的系統場景,在該場景中,S節點為匯聚節點,S節點負責收集所有采集節點的監測數據,所有的采集節點需要通過多跳的方式將數據發送至節點S。采用最短路徑的路由協議,節點A將數據傳輸至節點S需要通過路由A→B→C→D→E→S。假設此時節點C為惡意節點,惡意節點會阻礙其它節點將數據正常傳輸到S,例如在圖1中它會將節點A的大部分數據都轉發到不相關的節點F,阻礙了節點A與匯聚節點的正常通信,由于場景中節點D、E、G處于匯聚節點較近的距離,可以被S實施監控,因此本文將這些節點定義為類型已知的節點,簡稱TK節點,在當前的網絡場景下,本文的目標是在該網絡中尋找出所有的惡意節點。

圖1 網絡場景
多元統計分析是一種統計數據的形式,涵蓋多個結果變量的同時觀察和分析[13,14]。多元分類是一種結合多元統計分析的樣本分類方法[15]。一般多元分類有兩種形式,分別為基于似然和基于判別的分類形式,基于似然的分類是尋找一個參數的似然函數以及在給予一定的觀測結果下的一組參數值的似然性,它等于給出的那些參數值的觀測結果概率。該方法在估計來自一組統計數據的參數上有著關鍵作用,基于似然多元分類的基本原理如下:假設有一組樣本共可以分為M個類{1,2,…,m},對于一個隨機樣本xi,用D表示樣本xi的類,當p(D=a|xi)>p(D=b|xi),a,b∈M并且a≠b,則xi屬于類a,p(D|xi)表示后驗概率。根據后驗概率的定義[16]
(1)

(2)
通過式(2),可以放入一個隨機未標記樣本xi,并且選擇具有最大后驗概率的Da來作為該樣本的類型。

惡意節點攻擊通常采用3種攻擊模式:選擇性轉發攻擊:惡意節點將源節點的數據轉發至其它無法達到目的節點的鏈路,從而阻斷源節點與目的節點之間的通訊。假設節點C為選擇性轉發的惡意節點,它從節點A接收到數據后概率性地將數據轉發給路由路徑上的節點或者直接丟棄數據包,這使得惡意節點的下一跳節點D無法接收完全的數據包,導致網絡陷入混亂。其次,假設節點F為帶有sinkhole攻擊的惡意節點,該節點回應其所有鄰居節點的路由請求,并且聲稱它與匯聚節點之間有高質量的鏈,這使得鄰居節點與它建立起了鏈路,例如A→B→C→F,在這種情況下節點A,B和C的數據包無法達到匯聚節點。最后,假設F和G聯合采取了蟲洞攻擊,F類似采取了sinkhole攻擊,聲稱它與G節點之間有一個高質量的鏈路通往匯聚節點,從而建立起鏈路B→F→G→S,通過該方法惡意節點可以進行消息包裝或者更改數據傳輸過程中的消息。基于前面提到的節點屬性,對于節點i的特征矢量Xi={p(i),pr(i),MA,Ti},惡意節點的攻擊模式可以建模為:
(1)對于選擇性轉發攻擊的惡意節點
p(i)≤pT,i∩pr(i)≤prT,i
(3)
pT,i表示成功發送率的閾值,prT,i表示轉發率的閾值。在這里設置pT,i=0.9,prT,i=0.6。
(2)對于sinkhole攻擊的惡意節點
p(i)≤pT,i∩pr(i)≤prT,i∩Mi≥nT
(4)
其中,nT表示連通維度的閾值。
(3)對于蟲洞攻擊的惡意節點
Mi≥nT∩TH≥Ti
(5)
TH表示延遲比率閾值。
由于惡意節點的異常操作增加了能量損耗,因此相比正常節點具有更低的發送功率,并且成功發送數據包至下一跳節點的概率相比其它正常節點的概率要低。其中,具有選擇性轉發攻擊的惡意節點由于其惡性丟包的行為,其轉發率相比正常節點更低,此外,由于帶有sinkhole攻擊的惡意節點吸引其它節點向它轉發數據,因此具有較大的連通維度MA。當無線傳感器網絡中節點均勻分布時,節點之間的傳輸距離近似相等,因此節點的傳輸延遲幾乎相同,而帶有蟲洞攻擊的惡意節點的傳輸延遲具有一個更大的值,這是因為它通過改變路由信息將消息發送到更遠的節點。因此,在本文的無線傳感器網絡中,將通過這些節點特性的學習來將惡意節點區分出來。

在本文中將所有樣本通過基于似然多元分類算法進行學習,并生成一個類別來準確分類所有其它N-q個未知的節點。假設類條件概率密度p{X|Da}是一個正常的概率密度函數Nd(μa,∑a)[16]
(6)
定義判別函數wa(x),根據式(1)的貝葉斯規則可以得到

(7)
進行每個類別的最大似然估計,平均值及協方差矩陣的計算,分別得到

(8)


(9)

(10)
從而式(9)可以化簡為

(11)

在本節中,為了驗證所提出的基于似然多元分類的無線傳感器網絡動態惡意節點檢測算法的有效性,本文采用帶有擴展模型nrlsensorsim的NS2仿真器對算法進行編程仿真,并與多個同類算法進行實驗結果的對比分析,以此來檢驗本文算法的性能。實驗仿真參數見表1,接著本文將選擇性轉發攻擊與sinkhole攻擊的惡意節點部署在無線傳感器網絡中,并且設定選擇性轉發攻擊的節點的轉發率只有50%,未標記的惡意節點與其它未標記的正常節點隨機均勻分布在無線傳感器網絡中,其中4個為選擇性轉發攻擊節點,4個sinkhole攻擊節點,2個蟲洞攻擊節點。實驗中的對比算法采用的是文獻[11]和文獻[12]所提出的惡意節點檢測算法。

表1 仿真參數
實驗場景中共110個無線傳感器節點,用0代表正常節點的類型,1.0代表選擇性轉發攻擊的節點類型,-1.0和-2.0分別代表sinkhole攻擊和蟲洞攻擊的節點類型。圖2為本文算法的實驗檢測結果,從圖中可以看出,本文算法檢測到的惡意節點有10個,圖3和圖4分別為文獻[10]的檢測結果和文獻[11]的檢測結果,檢測到的惡意節點有8個和7個,表2為正確的檢測結果與各算法的檢測結果的對比表格。從表2的對比結果可以看出,本文算法檢測的惡意節點總數與正確結果一致,并且正確地為未知節點進行了標識,因此本文算法的檢測準確度優于文獻[10]和文獻[11]的方法。
為了更加準確地評價算法的檢測結果,在實驗中先后進行了100次仿真實驗,每次實驗的所有節點都初始化位置,隨機分布在無線傳感器網絡中,每次實驗后都統計各算法的檢測錯誤率,得到了圖5的算法平均檢測錯誤率分布圖,準確標識的惡意節點數與總惡意節點數的比值,再被100%減去后的結果為檢測錯誤率。例如表2中文獻[10]的算法識別出8個惡意節點,但準確標識的惡意節點有7個,因此錯誤率為100%-7/10=30%。從圖5的對比結果可以看出,仿真時間過短會影響算法的檢測結果,這是由于算法需要時間來對節點的特性進行提取,并且將惡意節點的特性與正常節點進行對比,實行準確分類。達到一定的所需時間后,算法檢測的錯誤率就不會隨著時間的增加而降低,從而達到一個穩定狀態。從圖5的對比結果可以看出,本文算法的檢測錯誤率低于文獻[10]和文獻[11]的算法,在準確檢測惡意節點上表現出了更好的優勢。

圖2 本文算法的檢測結果

圖3 文獻[10]的檢測結果

圖4 文獻[11]的檢測結果

表2 檢測結果對比

圖5 檢測錯誤率對比
針對無線傳感器網絡的惡意節點檢測識別問題,本文根據節點在無線傳感器網絡活動時的狀態信息,提取節點的特征屬性:成功發送率,轉發率,連通維度以及平均傳輸延遲,接著分析節點攻擊模式并結合節點特征屬性進行建模,再基于似然的多元統計分析方法對惡意節點進行分類。實驗采用NS2仿真器對算法進行編程仿真,并采用實驗結果對比分析的方法來驗證本文算法的性能,從實驗結果可以看出,本文算法在準確檢測并標識惡意節點上表現出了較好的效果。