徐 宏,江 波,謝金輝
(中國(guó)電子科技集團(tuán)公司第三十二研究所,上海 201800)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)由大量傳感器節(jié)點(diǎn)組成,由于采用無(wú)線廣播的通信方式,容易受到拒絕服務(wù)(Denial of Service,DoS)攻擊[1],并且傳感器節(jié)點(diǎn)受到各種資源(如存儲(chǔ)、計(jì)算、能量)的約束,使得無(wú)線傳感器網(wǎng)絡(luò)在安全方面相對(duì)于其他網(wǎng)絡(luò)面臨著更大的挑戰(zhàn)[2]。
針對(duì)無(wú)線傳感器網(wǎng)絡(luò)DoS 攻擊,文獻(xiàn)[3]提出基于流量預(yù)測(cè)的WSN 入侵檢測(cè)技術(shù),利用自回歸滑動(dòng)平均模型ARMA 得到正常節(jié)點(diǎn)接收率范圍,但該方法主要針對(duì)流量有較大影響的攻擊,無(wú)法檢測(cè)Sybil、蟲(chóng)洞等攻擊手段。文獻(xiàn)[4]提出了一種基于博弈論的入侵檢測(cè)模型,通過(guò)分析模型均衡解來(lái)論證執(zhí)行入侵檢測(cè)系統(tǒng)的必要性,該方法難于處理間斷性攻擊。文獻(xiàn)[5]采用支持向量機(jī)技術(shù),通過(guò)檢測(cè)樣本的局部半徑和全局半徑閾值來(lái)檢測(cè)入侵,但是這種方法需要處理大量的數(shù)據(jù),且計(jì)算復(fù)雜度較大。文獻(xiàn)[6]基于時(shí)空壓縮的神經(jīng)自編碼模型,改進(jìn)了傳統(tǒng)的節(jié)點(diǎn)感知數(shù)據(jù)處理方法,但是增加了節(jié)點(diǎn)計(jì)算能耗。文獻(xiàn)[7-11]中,綜合分析了不同DoS 攻擊行為的能耗差異,提出基于節(jié)點(diǎn)能量預(yù)測(cè)思想的網(wǎng)絡(luò)入侵檢測(cè)方案,通過(guò)對(duì)比節(jié)點(diǎn)預(yù)測(cè)能耗與實(shí)際能耗,將檢測(cè)到的攻擊根據(jù)能量閾值進(jìn)行分類(lèi)。
該文從能量角度進(jìn)一步分析節(jié)點(diǎn)異常行為與能耗之間的關(guān)系,提出一種基于能耗特征的輕量入侵檢測(cè)模型(IDSEC),并通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證該模型的有效性。
傳感器節(jié)點(diǎn)的異常行為是判斷其是否對(duì)網(wǎng)絡(luò)進(jìn)行攻擊的重要依據(jù)[12-13],而節(jié)點(diǎn)的行為一般建立在消耗自身能量的基礎(chǔ)上。雖然節(jié)點(diǎn)能耗受到網(wǎng)絡(luò)拓?fù)洹⒕W(wǎng)絡(luò)協(xié)議、工作任務(wù)以及環(huán)境等多因素的共同作用,對(duì)于周期性收集發(fā)送數(shù)據(jù)的穩(wěn)定無(wú)線傳感器網(wǎng)絡(luò),單個(gè)節(jié)點(diǎn)的工作行為狀態(tài)一般具有穩(wěn)定性。考慮在沒(méi)有DoS 攻擊發(fā)生或者受到其他非正常因素影響時(shí),節(jié)點(diǎn)能耗會(huì)保持在一定的合理范圍內(nèi),并且節(jié)點(diǎn)執(zhí)行相同任務(wù)所引起的能耗變動(dòng)過(guò)程和任務(wù)本身具有一定程度的相關(guān)性,該文從節(jié)點(diǎn)周期能耗結(jié)果以及能耗變化過(guò)程兩個(gè)方面對(duì)節(jié)點(diǎn)進(jìn)行異常檢測(cè),并參考?xì)v史檢測(cè)信息最終判定節(jié)點(diǎn)的安全狀態(tài)。由于該文基于能耗分析,因此未考慮防范數(shù)據(jù)篡改類(lèi)型攻擊,且假設(shè)節(jié)點(diǎn)數(shù)據(jù)真實(shí)可靠。
1.2.1 能耗預(yù)測(cè)模型
假設(shè)節(jié)點(diǎn)工作時(shí)間T由l個(gè)工作時(shí)隙Δt組成,即T=l?Δt;每個(gè)時(shí)隙內(nèi)節(jié)點(diǎn)只存在一種工作狀態(tài),S={s1,s2,…,sM} 為節(jié)點(diǎn)有限工作狀態(tài)空間;E={e1,e2,…,eM}為對(duì)應(yīng)工作狀態(tài)在一個(gè)時(shí)隙內(nèi)的能耗;隨機(jī)過(guò)程{Xn,n∈N}表示傳感器節(jié)點(diǎn)工作過(guò)程,描述節(jié)點(diǎn)在不同工作時(shí)隙所處的狀態(tài)。
假設(shè)節(jié)點(diǎn)初始狀態(tài)為i,從狀態(tài)i到狀態(tài)j的一步轉(zhuǎn)移概率為pij=P(Xn+1=sj|Xn=si)。根據(jù)C-K 方程得到n步轉(zhuǎn)移概率為:
其中,0 假設(shè)節(jié)點(diǎn)的初始狀態(tài)概率分布為π=(π1,π2,…πM),則單個(gè)節(jié)點(diǎn)在時(shí)間T內(nèi)的能耗預(yù)測(cè)值為: 1.2.2 能耗分析模型 節(jié)點(diǎn)在時(shí)間T內(nèi)完成任務(wù)H時(shí),電源模塊記錄每個(gè)時(shí)隙自身的功率pi,并形成一次功率觀測(cè)序列P=(p1,p2,…pl);對(duì)正常節(jié)點(diǎn)工作進(jìn)行長(zhǎng)期檢測(cè),可得到功率統(tǒng)計(jì)序列,將其作為理論參考標(biāo)準(zhǔn)。 記ρP,Pˉ為一次觀測(cè)序列P與統(tǒng)計(jì)序列Pˉ的相關(guān)系數(shù),簡(jiǎn)記為ρ,計(jì)算公式如下: 其中,σP,Pˉ為P與的協(xié)方差,σP、σPˉ為P與的標(biāo)準(zhǔn)差。 定義State(vi)表示節(jié)點(diǎn)vi的能耗檢測(cè)結(jié)果,取值為{normal,abnormal},State(vi)=normal表示檢測(cè)正常,State(vi)=abnormal表示檢測(cè)異常。檢測(cè)規(guī)則如下: 其中,Δε=|E-|為能耗殘差,簡(jiǎn)稱(chēng)殘差;E為節(jié)點(diǎn)實(shí)際能耗;?為殘差上限,用于判定節(jié)點(diǎn)能耗是否存在異常;φ為相關(guān)系數(shù)下限,用于判定節(jié)點(diǎn)完成任務(wù)實(shí)際過(guò)程與理論過(guò)程的相關(guān)性。?與φ的取值根據(jù)具體情況設(shè)定。 假設(shè)節(jié)點(diǎn)在最近一段時(shí)間內(nèi)共進(jìn)行了α+β次檢測(cè),α表示檢測(cè)為正常的次數(shù),β表示檢測(cè)為異常的次數(shù)??紤]導(dǎo)致節(jié)點(diǎn)異常的原因可能是DoS 攻擊或者偶然因素導(dǎo)致的誤判。為了降低偶然因素導(dǎo)致的誤警,設(shè)計(jì)一種參考節(jié)點(diǎn)歷史行為的評(píng)價(jià)函數(shù)S(α,β),簡(jiǎn)記為S,計(jì)算方法如下: 其中,S的取值范圍為[0,10];為懲罰因子,使得S的值隨檢測(cè)異常的增加迅速減小。根據(jù)實(shí)際情況設(shè)定連續(xù)觀測(cè)次數(shù)及S的判定閾值λ。當(dāng)S<λ時(shí),認(rèn)為該節(jié)點(diǎn)行為持續(xù)異常并判定為入侵節(jié)點(diǎn)。 假設(shè)通過(guò)長(zhǎng)期檢測(cè),已知節(jié)點(diǎn)狀態(tài)轉(zhuǎn)移概率、功率統(tǒng)計(jì)序列Pˉ以及最近節(jié)點(diǎn)狀態(tài)檢測(cè)歷史記錄(正常次數(shù)α、異常次數(shù)β);并根據(jù)檢測(cè)數(shù)據(jù)設(shè)定能耗誤差閾值?、相關(guān)性閾值φ、判定閾值λ。算法通過(guò)節(jié)點(diǎn)vi獲取到當(dāng)前時(shí)間T內(nèi)實(shí)際能耗E及功率觀測(cè)序列P。入侵檢測(cè)算法具體步驟如下: Step1:數(shù)據(jù)準(zhǔn)備。根據(jù)能耗預(yù)測(cè)模型預(yù)測(cè)節(jié)點(diǎn)vi在時(shí)間T內(nèi)的能耗E?。 Step2:第一階段能耗檢測(cè),檢測(cè)節(jié)點(diǎn)實(shí)際能耗是否出現(xiàn)大幅度波動(dòng)。計(jì)算E與E?的殘差Δε。如果Δε,轉(zhuǎn)到Step3;否則State(vi)=abnormal,更新β=β+1,轉(zhuǎn)到Step4。 Step3:第二階段能耗檢測(cè),檢測(cè)節(jié)點(diǎn)實(shí)際能耗過(guò)程與理論過(guò)程的相關(guān)性。計(jì)算P與Pˉ的相關(guān)系數(shù)ρ。如果ρ∈(φ,1],State(vi)=normal,更新α=α+1,轉(zhuǎn)到Step4;否則State(vi)=abnormal,更新β=β+1,轉(zhuǎn)到Step4。 Step4:入侵判定。根據(jù)Step3更新的α、β與式(6)計(jì)算S。如果S>λ,判定節(jié)點(diǎn)為正常節(jié)點(diǎn);否則為入侵節(jié)點(diǎn)。 通過(guò)Matlab 對(duì)入侵檢測(cè)算法進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)采用中移物聯(lián)網(wǎng)開(kāi)發(fā)的搭載ESP8266 麒麟座mini的傳感器模塊作為數(shù)據(jù)獲取對(duì)象。傳感器節(jié)點(diǎn)工作周期為10 s,每隔0.5 s 進(jìn)行一次能耗記錄,循環(huán)工作時(shí)序流程:監(jiān)聽(tīng)并接收數(shù)據(jù)(1.5 s)→待機(jī)(1 s)→環(huán)境感知與數(shù)據(jù)處理(4 s)→發(fā)送數(shù)據(jù)(2.5 s)→待機(jī)(1.5 s)。設(shè)定4 種模擬攻擊作為對(duì)照組實(shí)驗(yàn),分別是選擇轉(zhuǎn)發(fā)攻擊[14]、通過(guò)私有隧道遠(yuǎn)距傳輸?shù)南x(chóng)洞攻擊[15]、擁有兩個(gè)虛假身份的Sybil 攻擊[16]、延遲數(shù)據(jù)發(fā)送的時(shí)延攻擊[17]。 表1 為正常節(jié)點(diǎn)連續(xù)工作30 個(gè)周期的實(shí)際能耗和預(yù)測(cè)能耗。 表1 能耗數(shù)據(jù) 通過(guò)數(shù)據(jù)分析可得,實(shí)際能耗平均值為0.926 mJ,預(yù)測(cè)能耗平均值為0.913 mJ,平均殘差為0.091 mJ,殘差標(biāo)準(zhǔn)差σ為0.070 mJ。根據(jù)上述數(shù)據(jù),設(shè)定殘差上限?=+σ,即?取0.161 mJ,約為正常能耗的17%;設(shè)定S參考前4 次觀測(cè)記錄,判定閾值λ為0.5。 圖1 為4 種模擬攻擊下的實(shí)際功耗的近似擬合曲線。 圖1 節(jié)點(diǎn)功耗擬合曲線 表2為4種模擬攻擊下的實(shí)際能耗統(tǒng)計(jì)數(shù)據(jù)。 表2 實(shí)驗(yàn)統(tǒng)計(jì)數(shù)據(jù) 相對(duì)于正常節(jié)點(diǎn),50%的選擇轉(zhuǎn)發(fā)節(jié)點(diǎn)平均減少耗能0.143 mJ,蟲(chóng)洞節(jié)點(diǎn)平均增加耗能0.166 mJ,Sybil節(jié)點(diǎn)平均增加耗能0.280 mJ,時(shí)延節(jié)點(diǎn)與正常節(jié)點(diǎn)能耗接近;相關(guān)性方面,正常節(jié)點(diǎn)相對(duì)于自身統(tǒng)計(jì)數(shù)據(jù)相關(guān)系數(shù)為0.979,設(shè)定相關(guān)系數(shù)閾值下限φ=0.90。 檢測(cè)率是評(píng)價(jià)入侵檢測(cè)性能的重要指標(biāo)。檢測(cè)率一般指被正確識(shí)別的入侵節(jié)點(diǎn)與所有入侵節(jié)點(diǎn)個(gè)數(shù)之比。為了直觀地分析該文IDSEC 算法的性能,選取文獻(xiàn)[7]IDSEP算法、文獻(xiàn)[10]IDSEM 算法進(jìn)行對(duì)比實(shí)驗(yàn)。模擬場(chǎng)景為100個(gè)節(jié)點(diǎn)隨機(jī)分布在100 m×100 m的自由空間,節(jié)點(diǎn)通信半徑為25 m,單路徑傳輸;模擬攻擊方式采用轉(zhuǎn)發(fā)率從0%~90%遞增的選擇轉(zhuǎn)發(fā)攻擊、蟲(chóng)洞攻擊、Sybil攻擊、時(shí)延攻擊,攻擊節(jié)點(diǎn)占節(jié)點(diǎn)總數(shù)的15%。 圖2 為選擇轉(zhuǎn)發(fā)攻擊在3 種檢測(cè)模型中的檢測(cè)結(jié)果。 圖2 選擇轉(zhuǎn)發(fā)攻擊檢測(cè)率 表3 為4 種不同攻擊下3 種檢測(cè)模型的檢測(cè)率結(jié)果。 表3 蟲(chóng)洞、Sybil、時(shí)延攻擊檢測(cè)率 對(duì)于選擇轉(zhuǎn)發(fā)攻擊,IDSEP、IDSEM、IDSEC 3 種模型的檢測(cè)率隨轉(zhuǎn)發(fā)率上升而下降。這是由于隨著惡意節(jié)點(diǎn)轉(zhuǎn)發(fā)率的提高,其行為表現(xiàn)就越接近正常節(jié)點(diǎn),因此檢測(cè)率也隨之下降,但I(xiàn)DSEC 模型增加了對(duì)節(jié)點(diǎn)能耗過(guò)程的檢測(cè),相較于其他兩種對(duì)比模型,檢測(cè)率下降較慢。對(duì)于蟲(chóng)洞攻擊,由于IDSEP 模型相對(duì)其他兩種模型,能耗預(yù)測(cè)精度較低,IDSEP 模型檢測(cè)率僅為37.3%,IDSEM 模型、IDSEC 模型檢測(cè)結(jié)果接近,這是由于蟲(chóng)洞攻擊本身主要通過(guò)提高自身發(fā)射功率建立私有通信隧道,對(duì)能耗結(jié)果的影響較大而對(duì)能耗過(guò)程的相似度影響較小。對(duì)于Sybil 攻擊,3 種模型均可準(zhǔn)確檢測(cè)。對(duì)于時(shí)延攻擊,IDSEP與IDSEM 檢測(cè)率不足5%,而IDSEC 檢測(cè)結(jié)果為100%,這是由于時(shí)延攻擊只是延遲數(shù)據(jù)發(fā)送,對(duì)能耗結(jié)果影響不明顯,但對(duì)能耗過(guò)程影響較大。 為了進(jìn)一步探究不同攻擊的能耗特征以及不同檢測(cè)模型差距的原因,根據(jù)仿真實(shí)驗(yàn)選取4 種類(lèi)型攻擊節(jié)點(diǎn)與正常節(jié)點(diǎn)的能耗實(shí)驗(yàn)數(shù)據(jù)結(jié)果進(jìn)行分析。選取節(jié)點(diǎn)的能耗相關(guān)系數(shù)為維度一(X軸表示),節(jié)點(diǎn)實(shí)際能耗與節(jié)點(diǎn)正常能耗均值比為維度二(Y軸表示),簡(jiǎn)稱(chēng)能耗比。根據(jù)節(jié)點(diǎn)兩個(gè)維度數(shù)據(jù),將實(shí)驗(yàn)數(shù)據(jù)繪入能耗特征分布圖中,如圖3 所示。 圖3 節(jié)點(diǎn)不同行為能耗特征分布圖 1)節(jié)點(diǎn)方面 相同行為的節(jié)點(diǎn)能耗特征具有相似性,集中分布在圖中某一區(qū)域;而不同行為的節(jié)點(diǎn)聚集區(qū)域不同。 仿真實(shí)驗(yàn)使用以上4 種攻擊,描述了4 種節(jié)點(diǎn)異常行為:①選擇轉(zhuǎn)發(fā)攻擊所表現(xiàn)出的異常行為是節(jié)點(diǎn)未完成規(guī)定任務(wù),節(jié)點(diǎn)能耗結(jié)果和相關(guān)系數(shù)隨節(jié)點(diǎn)工作完成度降低而降低;②時(shí)延攻擊所表現(xiàn)出的異常行為是節(jié)點(diǎn)雖完成規(guī)定任務(wù)但完成時(shí)序存在問(wèn)題,因此耗能正常但相關(guān)系數(shù)異常;③Sybil 攻擊所表現(xiàn)出的異常行為是節(jié)點(diǎn)整體出現(xiàn)較大異常,因此能耗與相關(guān)系數(shù)均出現(xiàn)異常;④蟲(chóng)洞攻擊所表現(xiàn)出的異常行為是節(jié)點(diǎn)工作整體流程正常,但局部工作行為出現(xiàn)耗能異常現(xiàn)象,因此對(duì)相關(guān)系數(shù)影響較小,但對(duì)能耗結(jié)果影響較大。不難得出節(jié)點(diǎn)行為與能耗特性之間存在著一定的關(guān)聯(lián)關(guān)系,下一步工作可以根據(jù)節(jié)點(diǎn)能耗特征情況推測(cè)節(jié)點(diǎn)攻擊類(lèi)型,進(jìn)而采取相應(yīng)的措施。 2)模型方面 使用檢測(cè)盲區(qū)這一概念來(lái)描述入侵檢測(cè)模型在能耗分布圖中不能識(shí)別入侵攻擊的區(qū)域。橫線A、A′代表能耗預(yù)測(cè)精度,兩條橫線之間的區(qū)域記為第一類(lèi)檢測(cè)盲區(qū);縱線B為相關(guān)性判定閾值,縱線右側(cè)的區(qū)域記為第二類(lèi)檢測(cè)盲區(qū)?,F(xiàn)有的基于能耗的入侵檢測(cè)模型雖然檢測(cè)效果各有不同,但核心都是基于能耗預(yù)測(cè),其檢測(cè)率取決于模型的預(yù)測(cè)精度,精度越高,第一類(lèi)檢測(cè)盲區(qū)越?。晃闹心P褪褂脙呻A段能耗檢測(cè),其檢測(cè)盲區(qū)為兩類(lèi)盲區(qū)的重疊矩形區(qū)域,檢測(cè)盲區(qū)更小。 文中介紹了一種基于節(jié)點(diǎn)能耗特征的無(wú)線傳感器網(wǎng)絡(luò)輕量入侵檢測(cè)模型。從能耗結(jié)果與能耗過(guò)程兩個(gè)方面對(duì)節(jié)點(diǎn)異常行為進(jìn)行檢測(cè),并結(jié)合節(jié)點(diǎn)歷史檢測(cè)情況判斷是否存在入侵行為。通過(guò)仿真實(shí)驗(yàn),驗(yàn)證了該方法對(duì)多種入侵行為具有較好的檢測(cè)效果,同時(shí)驗(yàn)證了節(jié)點(diǎn)不同行為與能耗特征之間的關(guān)系。但是對(duì)非周期工作節(jié)點(diǎn),該模型還存在一定的缺陷需要改進(jìn),這是下一階段需要解決的問(wèn)題;如何通過(guò)節(jié)點(diǎn)的能耗特征識(shí)別攻擊模式還需要進(jìn)一步的研究。1.3 狀態(tài)判定
2 基于節(jié)點(diǎn)能耗特征的入侵檢測(cè)算法
3 仿真與分析
3.1 參數(shù)設(shè)定
3.2 仿真實(shí)驗(yàn)
3.3 實(shí)驗(yàn)分析
4 結(jié)論