郭 爽,王 寧
(1.重慶移通學院公共大數據安全技術重點實驗室,重慶 401420;2.公共大數據安全技術重慶市重點實驗室,重慶 401420;3.重慶移通學院 信息安全學院,重慶 401420)
無線傳感器網絡[1]采用分簇策略能夠改進其壽命,但選舉出的簇首節點不僅需要轉發簇內節點數據,還需要轉發鄰居簇首節點的數據到收集節點Sink 處,因此導致簇首節點能耗比較高,越靠近Sink節點的簇首節點能耗就越高,簇首節點很容易因為能量消耗完而提前失效,從而影響整個WSN 網絡壽命。為了保證網絡安全運行,提高數據傳輸效果,可以采用劃分優先級隊列[2]的方式,對同一隊列的查詢接收過程和處理轉發過程錯開適當的時序異步進行,以減小優先級隊列的平均排隊等待服務時間,縮短系統平均時延。然而隊列中的數據一旦遭受攻擊,整個隊列中的數據將都會受到影響。為此,研究優先級數據轉發攻擊檢測方法具有重要意義。
夏云舒等[3]首先利用GAN 模型獲取高質量的數據,然后采用Copula 函數構建關于數據狀態的關聯矩陣,最后將關聯矩陣輸入到GAN 模型中,并引入極端隨機樹分類器實現攻擊檢測。但是該方法受數據維度的影響,導致其檢測效率低。徐彬彬等[4]首先采用Ettercap 平臺對數據做出偏差攻擊采樣,然后結合支持向量機訓練出四種不同的數據狀態,最后將數據狀態輸入到LibSVM 分類器中,完成數據攻擊檢測。但是該方法受冗余數據、網絡裝置等問題的干擾,導致其能量消耗較高。Priyanga 等[5]針對工業控制系統容易受到網絡攻擊,從而破壞關鍵基礎設施的安全運行問題,采用增強主成分分析和卷積神經網絡提出了一種新的異常檢測方法。該方法包括使用增強主成分分析降維、使用卷積神經網絡進行異常檢測兩個階段。但是該方法受卷積神經網絡訓練時間過長的影響,造成檢測性能較低。
無線傳感器網絡數據傳輸隊列中,優先級越高的數據,越先被傳輸和轉發。該類數據相較于無線傳感器網絡中的其他普通數據而言,具有較低的任務占用時長,因此在傳輸過程中優先級數據會先于普通數據傳輸。同時,該類數據在轉發時受到攻擊將會降低整個隊列數據的安全性。為此,面向無線傳感器網絡,在優先級傳感數據降維的基礎上,構建攻擊檢測模型。通過設立的攻擊檢測閾值判定被攻擊的數據,并利用正態分布方法實現優先級數據轉發攻擊檢測,優化檢測性能。
為了降低數據中的稀疏性與共線差異性,無線傳感器網絡中的優先級數據轉發攻擊檢測方法采取監督判別投影算法[6]對數據做降維處理,具體步驟如下:
①監督判別投影算法根據數據近鄰點的分布狀態構建優先級數據的局部近鄰圖,然后通過局部近鄰圖成立局部散化矩陣,如式(1)所示:
式中:T表示局部散化矩陣;i、j分別表示優先級數據點;A表示近鄰點;l表示離散化程度。
②得到局部散化矩陣后,基于監督判別投影的數據降維算法,推算出優先級數據的全局散化矩陣,表達如式(2)所示:
式中:表示全局散化矩陣。
③引入齊次變換矩陣[7],保證經過監督判別投影處理后的數據可以具備最大全局散化矩陣與最小局部散化矩陣。然后建立變換矩陣的相關函數,如式(3)所示:
式中:H表示齊次變換矩陣的相關函數;C表示齊次變換矩陣;s表示數據點總數量。
④將特定約束條件[8]投入到H(C)中,然后通過分解正交基向量構建約束目標函數,并通過約束目標獲取優先級數據的極小向量值。如式(4)所示:
式中:amin表示優先級數據的極小向量;α表示特定約束條件;β表示約束系數。
⑤在滿足約束條件的限制下,采用擬合分解算法獲得約束目標函數的解集,實現高維度優先級數據在低維度空間上的投影分布,完成無線傳感器網絡優先級數據的降維。
采用主成分分析法[9]提取降維后優先級數據中的攻擊特征,降維優先級數據可以節約攻擊特征提取時間,去除無線傳感器網絡中的冗余變量,提高攻擊特征提取的準確度。具體步驟如下:
①無線傳感器網絡中的任意優先級數據都具備相應的特征值變量,將特征值變量視為原始變量,則經過主成分分析計算后得到若干個綜合變量,如式(5)所示:
式中:Z表示綜合變量;D表示原始變量;V表示特征值變量。
②將無線傳感器網絡中協方差最小的綜合變量作為原始變量的主成分分量,然后采用規范化算法[10]處理原始變量的協方差,得到優先級數據的樣本均值和標準差,如式(6)所示:
式中:表示樣本均值;b表示規范化處理;r表示優先級數據的標準差。
③根據式(6)得到的樣本均值與標準差,計算出無線傳感器網絡中優先級數據的標準化觀測矩陣[11]和關聯矩陣,如式(7)所示:
式中:P表示標準化觀測矩陣;Q表示關聯矩陣;v表示主成分分量;χ表示標準化系數。
④在關聯矩陣中計算出優先級數據對應的獨立元素q,然后特征分解[12]所有元素,并將特征值按照固定順序排列,如式(8)所示:
式中:b表示元素個數。
⑤保留特征值大于0 的元素,并且要求其累積貢獻率達到95%以上,這些特征值對應的特征向量即為提取的無線傳感器網絡中優先級數據的特征。累積貢獻率如式(9)所示:
式中:Y表示累積貢獻概率;δ表示特征值;n表示特征值數量。
構建關于優先級數據的轉發攻擊檢測模型,并將提取的第2 部分降維后的優先級數據攻擊特征輸入到模型中實現檢測。以上述降維后優先級數據提取的攻擊特征作為輸入,可以進一步節約轉發攻擊檢測模型存儲空間,降低數據中的稀疏性與共線差異性,提高攻擊檢測效果。具體步驟如下:
①引入數據觀測值,在正常狀態下設置無線傳感器網絡單位時間內各節點的統計量對應著優先級數據的特征向量,則可以得到特征向量的概率密度[13],如式(10)所示:
式中:I表示數學期望值;ε表示數據觀測值;x表示提取的特征;σ表示優先級數據的方差;p表示概率密度。
②為了保證攻擊檢測模型不受冗余數據、網絡裝置和傳感器性能等外界因素影響,將式(10)轉化成標準正態分布函數?,如式(11)所示:
式中:J表示正態分布[14];e為標準化正態隨機分量。
③當無線傳感器網絡中優先級數據的特征向量均滿足正態分布時,在任意時刻抽樣待檢測的樣本,并在這些測量值中取平均數。根據正態分布的性質,樣本均值也處于正態分布中,即滿足式(12)所示的條件:
式中:γ表示優先級數據的測量值。
④保證無線傳感器網絡中優先級數據的特征樣本均值不發生明顯變動,進而得到正常狀態下樣本均值的定義區間[15],如式(13)所示:
⑤在定義區間中,假設優先級數據的特征向量在某一時刻內包含任意一組觀測數據,其中,受到的攻擊概率如式(14)所示:
⑥根據數據受到的攻擊概率可以計算出無線傳感器網絡中優先級數據轉發攻擊的相應檢測概率,如式(15)所示:
式中:p′表示檢測概率。
⑦根據攻擊概率與檢測概率可知,標準化正態隨機分量為固定常數,根據式(11)變換可計算出優先級數據轉發攻擊的連接次數xmax,xmax即為攻擊檢測模型中的閾值[16],其取值范圍不低于2 跳,本文取值為2≤xmax≤20。當優先級數據的特征向量大于該閾值時,表明此時的數據正受到攻擊,完成無線傳感器網絡中的優先級數據轉發攻擊檢測。閾值公式如式(16)所示:
綜合上述分析,將無線傳感器網絡中的優先級數據轉發攻擊檢測方法流程,繪制為圖1。
根據圖1 所示的攻擊檢測流程,實現了無線傳感器網絡中的優先級數據轉發攻擊檢測。為了驗證其檢測效果,設計如下測試。
使用MATLAB 平臺構建無線傳感器網絡模型,如圖2 所示。

圖2 無線傳感器網絡模型
設圖2 所示傳感器網絡節點的隨機分布范圍為50 m×50 m,其余仿真參數如表1 所示。

表1 仿真參數情況
根據上述設置,在惡意節點比例為25%的情況下,分析本文方法應用后無線傳感器網絡優先級數據轉發攻擊檢測情況,如圖3 所示。

圖3 檢測結果對比
由圖3(a)可知,在無線傳感器網絡覆蓋區域內,正常節點和惡意節點都是隨機部署的,每個節點都有多個鄰居節點,每兩個鄰居節點都有多個相交的鄰居節點。由圖3(b)可知,大部分惡意節點均被本文方法檢測出,具有較高的檢測準確效率。考慮到文獻[3]改進生成對抗網絡方法和文獻[5]增強主成分分析和超圖卷積神經網絡方法在其相關領域具有較好的研究成果,為此,將其作為對比方法,將檢測效率、網絡吞吐量、路由開銷、能量消耗、攻擊檢測誤報率作為指標,取每組仿真100 次測試得到的結果平均值作為最終測試結果,完成仿真測試與結果分析。
①檢測效率
數據包傳輸率是指在無線傳感器網絡檢測過程中,優先級數據成功檢測的數據包數量占原始數據包的比例。數據包傳輸率越高,表明方法的攻擊檢測效率越高;數據包傳輸率越低,表明方法的攻擊檢測效率越低,其計算公式如式(17)所示:
式中:η為數據包傳輸率;S表示時間間隔;A為攻擊節點數量;B為節點總數。
在圖2 所示的無線傳感器網絡中,設置惡意節點數量為50 個,隊列中數據報文大小為256 bytes,每個時隙為10 ms,攻擊檢測閾值xmax為0.4。分別測試所提方法、文獻[3]方法和文獻[5]方法應用下,傳輸優先級隊列數據包的傳輸率,結果如圖4 所示。

圖4 不同方法的數據包傳輸率
分析圖4 可知,針對無線傳感器網絡中的優先級數據轉發攻擊檢測,所提方法的數據包傳輸率在0.95 bit/s 附近波動,文獻[3]方法和文獻[5]方法的數據包傳輸率分別在0.65 bit/s 和0.70 bit/s 附近波動。通過對比發現,在不同惡意節點數量下所提方法的數據包傳輸率均高于文獻[3]方法和文獻[5]方法的數據包傳輸率,說明所提方法的攻擊檢測效率高于文獻[3]方法和文獻[5]方法的檢測效率。所提方法在檢測前,采用監督判別投影算法對優先級數據做降維處理,預處理后的數據降低了其中的稀疏性與共線差異性,進而在攻擊檢測過程中不受惡意節點隱瞞數據包丟棄的影響,提高了數據包傳輸效率。
②網絡吞吐量
網絡吞吐量是指各方法在傳輸范圍內,從無線傳感器網絡全部節點中成功檢測到的數據包均值,是評價方法檢測效果的重要指標。吞吐量越大,表明方法的檢測效果越好;吞吐量越小,表明方法的檢測效果越差。其計算公式如式(18)所示:
式中:κ表示網絡吞吐量;R表示傳輸范圍。
設置無線傳感器網絡通信過程中,數據優先級隊列為0.6,通信幀長為500 ms,數據包生成間隔為1~10,分別利用所提方法、文獻[3]方法和文獻[5]方法,測試目標無線傳感器網絡的吞吐量。結果如圖5 所示。

圖5 不同方法的網絡吞吐量
分析圖5 可知,在不同的數據包生成間隔下,所提方法的吞吐量高于90 bit/s,相較于文獻[3]方法和文獻[5]方法的最高吞吐量78 bit/s 和79 bit/s 更高。因此,隨著數據包生成間隔的增大,雖然三種方法的網絡吞吐量均有所波動,但總體而言所提方法的網絡吞吐量均高于文獻[3]方法和文獻[5]方法的網絡吞吐量,說明所提方法的攻擊檢測效果更強。其主要原因是所提方法采用標準正態分布方式,保證了檢測過程中不受冗余數據、網絡裝置和傳感器性能等外界因素影響,提高了網絡吞吐量。
③路由開銷
路由開銷是指各個方法在一定時間間隔內完成攻擊檢測所付出的代價。路由開銷越大,表明方法的檢測性能越低;路由開銷越小,表明方法的檢測性能越高。其計算公式如式(19)所示:
式中:λ表示路由開銷;L表示持續時間內檢測所付出的代價。
設置無線傳感器網絡通信過程中,惡意節點丟包率為20%,該丟包率影響下的惡意節點占比為3%~30%。在該條件下,分析所提方法、文獻[3]方法和文獻[5]方法三種方法的路由開銷,結果如圖6所示。

圖6 不同方法的路由開銷
分析圖6 可知,在惡意節點占比為3%~30%時,所提方法的路由開銷最高為19 MB,相較于文獻[3]方法和文獻[5]方法路由開銷低值30 MB 和20 MB更低。說明針對無線傳感器網絡中的優先級數據轉發攻擊的檢測,所提方法可以在不同惡意節點占比下,保持較低的路由開銷,維持無線傳感器網絡的穩定運行。其主要原因是所提方法在檢測惡意節點前,對優先級數據進行了降維處理,優化了檢測效率,降低了路由開銷。
④能量消耗
在無線傳感器網絡檢測過程中由于數據之間的傳遞、接收、和計算而消耗能量,對比不同方法在攻擊檢測過程中消耗的能量,能量消耗越大,表明方法的復雜度越高;能量消耗越低,表明方法的復雜度越低。能量消耗公式如式(20)所示:
式中:E表示能量消耗;E0表示初始能量;ν表示隨機數。
設置每10s 源節點(無線傳感網絡基站)發送一事件包,無其他事件發生,且信道誤碼率設為0,即不考慮信道誤碼率對此次實驗的影響,分別在無線傳感網絡的覆蓋區域中設置1~10 個觀察檢測點,10 組觀測點距離源節點距離以2 跳為間隔,跳數區間為2~20。所提方法、文獻[3]方法和文獻[4]方法的能量消耗測試結果,如圖7 所示。

圖7 不同方法的能量消耗
分析圖7 可知,針對無線傳感器網絡中的優先級數據轉發攻擊檢測,所提方法的能量消耗在500 J附近波動;文獻[3]方法和文獻[5]方法的能量消耗分別在570 J 和590 J 附近波動。通過對比發現,在源節點到觀測點距離下所提方法的能量消耗均小于文獻[3]方法和文獻[5]方法的能量消耗,表明所提方法的檢測復雜度低于文獻[3]方法和文獻[5]方法的檢測復雜度。其主要原因是所提方法降低了優先級數據維度,并提取了其特征,將其輸入至檢測模型后避免了冗余數據等干擾,降低了檢測復雜度,減少了能量消耗。
⑤攻擊檢測效果測試
該測試選擇的實驗數據集為KDD Cup99 數據集,從中選取拒絕服務攻擊Dos 為攻擊類型,對圖2所示的無線傳感器網絡進行攻擊。以誤報率為指標,驗證所提方法、文獻[3]方法、文獻[5]方法的攻擊檢測效果。誤報率表示將正常數據當作異常數據的幾率,如式(21)所示:
式中:FP 表示樣本為正,被預測為負;TN 表示樣本為負被預測成負類。
測試過程中,普通數據為1 026 byte,優先級數據為2 217 byte,惡意攻擊數據為1 593 byte。三種方法的攻擊檢測效果如圖8 所示。

圖8 不同方法的攻擊檢測誤報率
分析圖8 可知,針對無線傳感器網絡中的優先級數據轉發攻擊檢測,所提方法的攻擊檢測誤報率低于4.76%;文獻[3]方法和文獻[5]方法的攻擊檢測誤報率分別低于10.11%和9.63%,最小值為3.72%和4.18%。通過對比發現,在不同優先級數據維度下所提方法的攻擊檢測誤報率均低于文獻[3]方法和文獻[5]方法的攻擊檢測誤報率,表明所提方法的攻擊檢測效果優于文獻[3]方法和文獻[5]方法。其主要原因是所提方法預先對優先級數據進行了降維處理,并通過設定攻擊檢測閾值,優化檢測效果,降低了攻擊檢測誤報率。
針對無線傳感器網絡數據轉發攻擊檢測效率低、網絡吞吐量小、路由開銷大、能量消耗高、攻擊檢測誤報率較高等問題,提出無線傳感器網絡中的優先級數據轉發攻擊檢測方法。該方法首先對優先級數據做降維處理,其次提取優先級數據特征,最后將提取的特征輸入到攻擊檢測模型中完成無線傳感器網絡中的優先級數據轉發攻擊檢測。仿真結果表明,所提方法在提高檢測效率和網絡吞吐量的同時,一定程度上也降低了路由開銷、能量消耗和攻擊檢測誤報率。