徐 宏,江 波,謝金輝
(中國電子科技集團公司第三十二研究所,上海 201800)
無線傳感器網絡(Wireless Sensor Networks,WSNs)由大量傳感器節點組成,由于采用無線廣播的通信方式,容易受到拒絕服務(Denial of Service,DoS)攻擊[1],并且傳感器節點受到各種資源(如存儲、計算、能量)的約束,使得無線傳感器網絡在安全方面相對于其他網絡面臨著更大的挑戰[2]。
針對無線傳感器網絡DoS 攻擊,文獻[3]提出基于流量預測的WSN 入侵檢測技術,利用自回歸滑動平均模型ARMA 得到正常節點接收率范圍,但該方法主要針對流量有較大影響的攻擊,無法檢測Sybil、蟲洞等攻擊手段。文獻[4]提出了一種基于博弈論的入侵檢測模型,通過分析模型均衡解來論證執行入侵檢測系統的必要性,該方法難于處理間斷性攻擊。文獻[5]采用支持向量機技術,通過檢測樣本的局部半徑和全局半徑閾值來檢測入侵,但是這種方法需要處理大量的數據,且計算復雜度較大。文獻[6]基于時空壓縮的神經自編碼模型,改進了傳統的節點感知數據處理方法,但是增加了節點計算能耗。文獻[7-11]中,綜合分析了不同DoS 攻擊行為的能耗差異,提出基于節點能量預測思想的網絡入侵檢測方案,通過對比節點預測能耗與實際能耗,將檢測到的攻擊根據能量閾值進行分類。
該文從能量角度進一步分析節點異常行為與能耗之間的關系,提出一種基于能耗特征的輕量入侵檢測模型(IDSEC),并通過對比實驗驗證該模型的有效性。
傳感器節點的異常行為是判斷其是否對網絡進行攻擊的重要依據[12-13],而節點的行為一般建立在消耗自身能量的基礎上。雖然節點能耗受到網絡拓撲、網絡協議、工作任務以及環境等多因素的共同作用,對于周期性收集發送數據的穩定無線傳感器網絡,單個節點的工作行為狀態一般具有穩定性??紤]在沒有DoS 攻擊發生或者受到其他非正常因素影響時,節點能耗會保持在一定的合理范圍內,并且節點執行相同任務所引起的能耗變動過程和任務本身具有一定程度的相關性,該文從節點周期能耗結果以及能耗變化過程兩個方面對節點進行異常檢測,并參考歷史檢測信息最終判定節點的安全狀態。由于該文基于能耗分析,因此未考慮防范數據篡改類型攻擊,且假設節點數據真實可靠。
1.2.1 能耗預測模型
假設節點工作時間T由l個工作時隙Δt組成,即T=l?Δt;每個時隙內節點只存在一種工作狀態,S={s1,s2,…,sM} 為節點有限工作狀態空間;E={e1,e2,…,eM}為對應工作狀態在一個時隙內的能耗;隨機過程{Xn,n∈N}表示傳感器節點工作過程,描述節點在不同工作時隙所處的狀態。
假設節點初始狀態為i,從狀態i到狀態j的一步轉移概率為pij=P(Xn+1=sj|Xn=si)。根據C-K 方程得到n步轉移概率為:

其中,0 假設節點的初始狀態概率分布為π=(π1,π2,…πM),則單個節點在時間T內的能耗預測值為: 1.2.2 能耗分析模型 節點在時間T內完成任務H時,電源模塊記錄每個時隙自身的功率pi,并形成一次功率觀測序列P=(p1,p2,…pl);對正常節點工作進行長期檢測,可得到功率統計序列,將其作為理論參考標準。 記ρP,Pˉ為一次觀測序列P與統計序列Pˉ的相關系數,簡記為ρ,計算公式如下: 其中,σP,Pˉ為P與的協方差,σP、σPˉ為P與的標準差。 定義State(vi)表示節點vi的能耗檢測結果,取值為{normal,abnormal},State(vi)=normal表示檢測正常,State(vi)=abnormal表示檢測異常。檢測規則如下: 其中,Δε=|E-|為能耗殘差,簡稱殘差;E為節點實際能耗;?為殘差上限,用于判定節點能耗是否存在異常;φ為相關系數下限,用于判定節點完成任務實際過程與理論過程的相關性。?與φ的取值根據具體情況設定。 假設節點在最近一段時間內共進行了α+β次檢測,α表示檢測為正常的次數,β表示檢測為異常的次數??紤]導致節點異常的原因可能是DoS 攻擊或者偶然因素導致的誤判。為了降低偶然因素導致的誤警,設計一種參考節點歷史行為的評價函數S(α,β),簡記為S,計算方法如下: 其中,S的取值范圍為[0,10];為懲罰因子,使得S的值隨檢測異常的增加迅速減小。根據實際情況設定連續觀測次數及S的判定閾值λ。當S<λ時,認為該節點行為持續異常并判定為入侵節點。 假設通過長期檢測,已知節點狀態轉移概率、功率統計序列Pˉ以及最近節點狀態檢測歷史記錄(正常次數α、異常次數β);并根據檢測數據設定能耗誤差閾值?、相關性閾值φ、判定閾值λ。算法通過節點vi獲取到當前時間T內實際能耗E及功率觀測序列P。入侵檢測算法具體步驟如下: Step1:數據準備。根據能耗預測模型預測節點vi在時間T內的能耗E?。 Step2:第一階段能耗檢測,檢測節點實際能耗是否出現大幅度波動。計算E與E?的殘差Δε。如果Δε,轉到Step3;否則State(vi)=abnormal,更新β=β+1,轉到Step4。 Step3:第二階段能耗檢測,檢測節點實際能耗過程與理論過程的相關性。計算P與Pˉ的相關系數ρ。如果ρ∈(φ,1],State(vi)=normal,更新α=α+1,轉到Step4;否則State(vi)=abnormal,更新β=β+1,轉到Step4。 Step4:入侵判定。根據Step3更新的α、β與式(6)計算S。如果S>λ,判定節點為正常節點;否則為入侵節點。 通過Matlab 對入侵檢測算法進行仿真實驗。實驗采用中移物聯網開發的搭載ESP8266 麒麟座mini的傳感器模塊作為數據獲取對象。傳感器節點工作周期為10 s,每隔0.5 s 進行一次能耗記錄,循環工作時序流程:監聽并接收數據(1.5 s)→待機(1 s)→環境感知與數據處理(4 s)→發送數據(2.5 s)→待機(1.5 s)。設定4 種模擬攻擊作為對照組實驗,分別是選擇轉發攻擊[14]、通過私有隧道遠距傳輸的蟲洞攻擊[15]、擁有兩個虛假身份的Sybil 攻擊[16]、延遲數據發送的時延攻擊[17]。 表1 為正常節點連續工作30 個周期的實際能耗和預測能耗。 表1 能耗數據 通過數據分析可得,實際能耗平均值為0.926 mJ,預測能耗平均值為0.913 mJ,平均殘差為0.091 mJ,殘差標準差σ為0.070 mJ。根據上述數據,設定殘差上限?=+σ,即?取0.161 mJ,約為正常能耗的17%;設定S參考前4 次觀測記錄,判定閾值λ為0.5。 圖1 為4 種模擬攻擊下的實際功耗的近似擬合曲線。 圖1 節點功耗擬合曲線 表2為4種模擬攻擊下的實際能耗統計數據。 表2 實驗統計數據 相對于正常節點,50%的選擇轉發節點平均減少耗能0.143 mJ,蟲洞節點平均增加耗能0.166 mJ,Sybil節點平均增加耗能0.280 mJ,時延節點與正常節點能耗接近;相關性方面,正常節點相對于自身統計數據相關系數為0.979,設定相關系數閾值下限φ=0.90。 檢測率是評價入侵檢測性能的重要指標。檢測率一般指被正確識別的入侵節點與所有入侵節點個數之比。為了直觀地分析該文IDSEC 算法的性能,選取文獻[7]IDSEP算法、文獻[10]IDSEM 算法進行對比實驗。模擬場景為100個節點隨機分布在100 m×100 m的自由空間,節點通信半徑為25 m,單路徑傳輸;模擬攻擊方式采用轉發率從0%~90%遞增的選擇轉發攻擊、蟲洞攻擊、Sybil攻擊、時延攻擊,攻擊節點占節點總數的15%。 圖2 為選擇轉發攻擊在3 種檢測模型中的檢測結果。 圖2 選擇轉發攻擊檢測率 表3 為4 種不同攻擊下3 種檢測模型的檢測率結果。 表3 蟲洞、Sybil、時延攻擊檢測率 對于選擇轉發攻擊,IDSEP、IDSEM、IDSEC 3 種模型的檢測率隨轉發率上升而下降。這是由于隨著惡意節點轉發率的提高,其行為表現就越接近正常節點,因此檢測率也隨之下降,但IDSEC 模型增加了對節點能耗過程的檢測,相較于其他兩種對比模型,檢測率下降較慢。對于蟲洞攻擊,由于IDSEP 模型相對其他兩種模型,能耗預測精度較低,IDSEP 模型檢測率僅為37.3%,IDSEM 模型、IDSEC 模型檢測結果接近,這是由于蟲洞攻擊本身主要通過提高自身發射功率建立私有通信隧道,對能耗結果的影響較大而對能耗過程的相似度影響較小。對于Sybil 攻擊,3 種模型均可準確檢測。對于時延攻擊,IDSEP與IDSEM 檢測率不足5%,而IDSEC 檢測結果為100%,這是由于時延攻擊只是延遲數據發送,對能耗結果影響不明顯,但對能耗過程影響較大。 為了進一步探究不同攻擊的能耗特征以及不同檢測模型差距的原因,根據仿真實驗選取4 種類型攻擊節點與正常節點的能耗實驗數據結果進行分析。選取節點的能耗相關系數為維度一(X軸表示),節點實際能耗與節點正常能耗均值比為維度二(Y軸表示),簡稱能耗比。根據節點兩個維度數據,將實驗數據繪入能耗特征分布圖中,如圖3 所示。 圖3 節點不同行為能耗特征分布圖 1)節點方面 相同行為的節點能耗特征具有相似性,集中分布在圖中某一區域;而不同行為的節點聚集區域不同。 仿真實驗使用以上4 種攻擊,描述了4 種節點異常行為:①選擇轉發攻擊所表現出的異常行為是節點未完成規定任務,節點能耗結果和相關系數隨節點工作完成度降低而降低;②時延攻擊所表現出的異常行為是節點雖完成規定任務但完成時序存在問題,因此耗能正常但相關系數異常;③Sybil 攻擊所表現出的異常行為是節點整體出現較大異常,因此能耗與相關系數均出現異常;④蟲洞攻擊所表現出的異常行為是節點工作整體流程正常,但局部工作行為出現耗能異?,F象,因此對相關系數影響較小,但對能耗結果影響較大。不難得出節點行為與能耗特性之間存在著一定的關聯關系,下一步工作可以根據節點能耗特征情況推測節點攻擊類型,進而采取相應的措施。 2)模型方面 使用檢測盲區這一概念來描述入侵檢測模型在能耗分布圖中不能識別入侵攻擊的區域。橫線A、A′代表能耗預測精度,兩條橫線之間的區域記為第一類檢測盲區;縱線B為相關性判定閾值,縱線右側的區域記為第二類檢測盲區?,F有的基于能耗的入侵檢測模型雖然檢測效果各有不同,但核心都是基于能耗預測,其檢測率取決于模型的預測精度,精度越高,第一類檢測盲區越小;文中模型使用兩階段能耗檢測,其檢測盲區為兩類盲區的重疊矩形區域,檢測盲區更小。 文中介紹了一種基于節點能耗特征的無線傳感器網絡輕量入侵檢測模型。從能耗結果與能耗過程兩個方面對節點異常行為進行檢測,并結合節點歷史檢測情況判斷是否存在入侵行為。通過仿真實驗,驗證了該方法對多種入侵行為具有較好的檢測效果,同時驗證了節點不同行為與能耗特征之間的關系。但是對非周期工作節點,該模型還存在一定的缺陷需要改進,這是下一階段需要解決的問題;如何通過節點的能耗特征識別攻擊模式還需要進一步的研究。


1.3 狀態判定


2 基于節點能耗特征的入侵檢測算法
3 仿真與分析
3.1 參數設定



3.2 仿真實驗


3.3 實驗分析

4 結論