周慧芝,余員琴,歐洲洋
(湖南交通工程學院 電氣與信息工程學院,湖南 衡陽 421009)
無線傳感器網絡應用快速增長,其安全問題越來越突顯。保護系統中數據機密、可用、完整以及網絡免受入侵攻擊是現今學術界與商界共同關注的問題。入侵檢測系統(Intrusion Detection System,IDS)收集網絡中各種數據,通過收集到的數據可以檢測惡意攻擊或違反規則等造成的異常情況[1]。目前入侵檢測技術融合智能算法,基于機器學習是主流方法。傳統淺層機器學習難以提取現今隨時間變化的高維且非線性的海量數據的本質特征,入侵檢測準確率低,算法復雜且訓練時間過長,傳統網絡入侵檢查系統已不適用于WSN。針對WSN特點設計融合深度學習技術與侵檢測技術,考慮全網絡能量消耗、內存大小、通信帶寬、計算能力及檢測準確率等要求的入侵檢測系統是當前所趨。
網絡安全形勢日益復雜,其攻擊手段多樣化,危害程度不可控,依據檢測方法將其分為普通攻擊和新型攻擊兩類[2]。針對未知特征的新型攻擊和入侵檢測系統的實用性,本文設計分級式入侵檢測模型。考慮無線傳感器網絡(Wireless Sensor Network,WSN)的特點和入侵檢測需求,采用改進的動態競爭的非均勻分簇路由算法(Non-Uniform Clustering Routing Protocol Based on Energy Consumption, NCRP)路由協議;考慮簇頭與基站間傳輸信息量,網絡入侵檢測的效率,多種新型攻擊和精準率,基于深度學習算法在簇頭節點融合數據壓縮和異常檢測算法,在基站節點進行高級檢測,即二級入侵檢測響應。
在分級式入侵檢測模型上,基于深度學習算法的無線傳感器網絡入侵檢測模型分為傳感器節點(包括數據采集和數據預處理)、簇頭節點(包括路由協議和異常檢測)、基站節點(包括高級檢測和入侵響應)3個架構6個模塊。
入侵檢測過程主要分為以下3個步驟:
(1)布置在目標感知區域的傳感器節點實現數據采集和預處理模塊功能,將采集的敏感數據進行One-hot編碼且標準化后發送給其簇頭。
(2)首先嵌入在傳感器節點的改進NCRP的路由協議負責WSN中簇的劃分,簇頭和簇個數的選取;然后啟用神經網絡SAE(Sparse Atuo Encoder)和分類器(Support Vector Machine,SVM)整合成SAESM的異常檢測,檢測無異常,則壓縮數據并發送給基站,由基站啟用整合成SAE和LSTM(Long Short Term Memory Network),即SLSTM算法進行二級檢測以防簇頭的一級檢測出錯,反之,簇頭進行一級本地響應,再發送給基站,由基站進行二級檢測攻擊類型。
(3)基站的高級檢測模塊處理簇頭發送來正?;虍惓祿?若檢測正常數據仍為正常,則結束;若檢測正常數據為異常,則全網響應新型攻擊,并更新至網絡特征庫;若檢測的是異常數據,則進行攻擊類型識別,若無法識別,則更新至網絡特征庫。
設計以人工或機械方式隨機部署傳感器節點,其WSN具有以下特征:
(1)網絡中的全部傳感器節點有唯一ID,隨機部署后,不可改動傳感器節點ID信息。
(2)全網絡中的每個節點同構其初始能量和計算能力,基站固定布控在監測區外,存儲和計算能力無限。
(3)網絡中的全部節點以接收的信號強度值估計近似距離,以此選取自身的發射功率。
(4)網絡中的全部節點可進行數據融合,提高有效傳輸信息量。
(5)網絡中的全部節點可獲知自身當前剩余能量信息。
NCRP路由協議是基于LEACH協議的“輪”循環機制,每輪由非均勻分簇(選取簇首和簇群)、簇間多跳路由構建和數據轉發(簇內單跳傳輸和簇間多跳傳輸)3個階段[3]。針對靠近基站的簇首具有收發數據等多項任務,導致能量得到大量消耗,本文提出改進LEACH 算法,動態選取簇首使靠近基站形成更多的簇,均衡網絡能耗,延長WSN的生存期。
第一輪非均勻分簇。基于LEACH算法提出概率求自算公式(1),以節點與基站間的距離d為調節選取簇首因素,d值越小,候選簇首概率T越大,從而控制簇規模,實現簇群多,達到非均勻分簇,式(1)字符信息如表1所示。
(1)
基站以定值功率向全網廣播信號數據包,以此計算節點與基站間的近似距離,搜索dmin的節點,再使用式(3)計算當選候選簇首的概率,在[0,1]隨機選取一個數與Tn(i)比較,基小于Tn(i),則該節點進入候選簇首隊列,否則進入睡眠狀態,日后再被喚醒。
后續輪次非均勻分簇。設定臨界時間,在時間內簇首若未收到當選消息,以簇內r前1/p輪未當選簇首且能量最高的節點成為下一輪簇首,并廣播選取簇首信息并捎帶采集數據傳輸給簇內節點;若簇內不存在r前1/p輪未當選簇首節點,參照第一輪分均勻分簇,以此實現均衡節點能量,延長WSN生存期。
簇間多跳路由。NCRP協議中簇內單跳轉發數據簡單快捷,簇間多跳轉發數據,選取其鄰居簇首為中繼節點,轉發至基站??紤]簇間數據的差異性和算法的復雜性不做數據融合,直接轉發完整數據包。黃廷輝等[4]通過貪婪算法的最小代價函數來建立簇間多跳路由,其代價函數如公式(2)所示,式(2)字符信息如表2所示。

表2 式(2)字符信息
cost(i,j)=
(2)
因此cost(RNi)=min{ cost(i,j) },簇首Si的中繼節點是本身,則直接發送數據到基站;否則,簇首Si發送數據到中繼節點RNi,當每個簇首都找到中繼節點,簇間多跳路由建立。
數據轉發階段。數據轉發主要指簇內成員節點將采集的數據單跳轉發給簇首,簇首再將收到的數據進行融合后轉發至其中繼節點。直至中繼節點接到所有簇首轉發的數據,即完成數據采集一周期。
(1)產生候選簇首;
(2)產生最終簇首;
(3)簇間多跳路由;
(4)轉發數據;
(5)每簇r前1/p輪未當選簇首節點數≥2,滿足則選取每簇能量最高的2個節點當選簇首,不滿足則至(1)重新一輪。
自動編碼器(Auto Encoder,AE)是典型三層神經網絡[5],針對海量非線性高維數據時,改進AE成棧式自動編碼器,把前一個AE的隱藏層的輸出作為后一個AE的輸入,即級聯起。
棧式自動編碼器通過每一層的神經元自動地學習到數據中潛在的規律,用來表征高維的輸入數據。而海量高維非線性數據在棧式自動編碼器隱藏層節點數小于輸入/輸出層的節點數,其學習效果才好,否則失去學習能力,導致原始數據輸出。本文引入稀疏,設置隱藏層節點數大于輸入輸出層的節點數,在同一時刻設置隱藏層節點部分神經元處“興奮”狀態,其他神經元保持“抑制”狀態,即稀疏自動編碼器(Sparse Auto Encoder,SAE)實現了整個神經網絡稀疏。
支持向量機(Support Vector Machine,SVM)是一類按監督學習方式對數據進行二元分類的廣義線性分類器,其基本原理是在空間尋找最優決策面,使不同類別的數據能分布在決策面的兩側,從而實現分類。SVM按其構建模型由簡至繁可分為線性可分支持向量機、線性支持向量機和非線性支持向量機[6]。輸入向量[x1,x2,...,xm]通過SVM映射到中間節點,后線性組合,并加偏置b,得到結果y。
整合SAE和SVM,設計基于深度學習的SAESM的簇頭節點數據壓縮及異常檢測算法,即實現數據降維后進行異常檢測,只對數據處理,與路由協議無關。其網絡假定條件同2.1一樣。
遞歸神經網絡(Recurrent Neural Network,RNN)是深度學習中一種非常重要的神經網絡[7],通過在淺層的人工神經網絡(Artificial Neural Network,ANN)中引入自反饋神經元,讓整個網絡記憶所處理過的數據及關聯時間序列數據信息,便于充分挖掘輸入樣本間存在的關聯性,主要有輸入層、隱藏層和輸出層。針對RNN處理長距離依賴數據產生梯度爆炸,梯度消失及記憶不足等問題,Hochreiter等[8]提出一種長短時記憶網絡(Long Short Term Memory Network,LSTM),引入可控自循環,使梯度長時間可持續流動且跟蹤信息。
整合SAE壓縮算法編碼輸出的數據發送到基站后使用LSTM多分類檢測算法進行入侵檢測,二者深度融合成SLSTM。
本文采用分簇式網絡拓撲,改進NCRP算法與傳統LEACH對比分析,充分考慮了傳感器節點間的距離和能量問題,有效延長網絡工作時間;設計NCRP+SAESM算法基站節點接收數據量最多,比NCRP或LEACH單獨使用分別高出1.16倍和1.33倍,異常檢測的準確率高達94.42%,有效提高數據傳輸量和異常效率;SLSTM算法的準確率高達97.82%,相對RNN的記憶能力不足和存在梯度消失等,改進后算法提高了4.9%,檢測時間減少到33.50 s。與其他算法相比,本文算法實時性較強。