康亞楠,張懷相
(杭州電子科技大學(xué) 計(jì)算機(jī)學(xué)院,浙江 杭州 310018)
隨著無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)的應(yīng)用領(lǐng)域愈加廣泛,WSNs中的入侵檢測(cè)問題開始倍受關(guān)注[1]。由于WSNs中的大部分能量被消耗在數(shù)據(jù)通信過程而非節(jié)點(diǎn)計(jì)算過程,面對(duì)WSNs中大面積的節(jié)點(diǎn)部署和實(shí)時(shí)數(shù)據(jù)感知,“數(shù)據(jù)災(zāi)難”問題無(wú)疑會(huì)導(dǎo)致傳輸能耗量大,甚至由于入侵檢測(cè)復(fù)雜度的增加而影響精確度。因此,傳感器節(jié)點(diǎn)在數(shù)據(jù)傳輸前進(jìn)行處理、壓縮顯得尤為重要。由于WSNs自身時(shí)間、空間數(shù)據(jù)關(guān)聯(lián)度的特點(diǎn),張鵬、李力等[2-3]提出了基于空間關(guān)聯(lián)性的檢測(cè)模型,但只是使用簡(jiǎn)單的機(jī)器學(xué)習(xí)分類算法在傳感器節(jié)點(diǎn)進(jìn)行異常檢測(cè),不能解決傳感器中“數(shù)據(jù)災(zāi)難”的問題。目前,解決WSNs中“數(shù)據(jù)災(zāi)難”問題的主流方式是通過數(shù)據(jù)降維來(lái)減少數(shù)據(jù)傳輸量。傳統(tǒng)數(shù)據(jù)降維法主要以數(shù)據(jù)關(guān)聯(lián)的統(tǒng)計(jì)法[4-5]和近年流行的基于機(jī)器學(xué)習(xí)的主成分分析(Principal Component Analysis,PCA)[6-7]為主。統(tǒng)計(jì)法主要根據(jù)數(shù)據(jù)之間概率分布而推算數(shù)據(jù)關(guān)系再進(jìn)行降維,因此計(jì)算復(fù)雜度高,而PCA不能解決非線性數(shù)據(jù)降維的問題。針對(duì)以上不足,本文將Hinton提出的非線性降維的自編碼神經(jīng)網(wǎng)絡(luò)(Autoencoder,AE)[8]應(yīng)用到WSNs中,提出了基于時(shí)空關(guān)聯(lián)的自編碼(Temporal-Spatial Autoencoder,TS-AE)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行特征降維,提取出了更能反映數(shù)據(jù)本質(zhì)的抽象特征以減小數(shù)據(jù)冗余,同時(shí)減小了節(jié)點(diǎn)前數(shù)據(jù)傳輸量,節(jié)約了能耗,增強(qiáng)了入侵檢測(cè)的預(yù)測(cè)能力。
文中采用文獻(xiàn)[9]提出的基于簇的層次化無(wú)線傳感器網(wǎng)絡(luò)拓?fù)?,如圖1所示。
圖1 WSNs節(jié)點(diǎn)的時(shí)間和空間壓縮模型
單位時(shí)間內(nèi),上層傳感器節(jié)點(diǎn)(簇頭節(jié)點(diǎn))從對(duì)應(yīng)的下層鄰居節(jié)點(diǎn)(簇內(nèi)子節(jié)點(diǎn))收集發(fā)送的感知數(shù)據(jù)進(jìn)行壓縮,并且相應(yīng)的下層鄰居節(jié)點(diǎn)將在傳輸前獨(dú)立壓縮自己的冗余數(shù)據(jù)。此外,假設(shè)網(wǎng)絡(luò)拓?fù)溆梢唤M時(shí)間同步的傳感器組成,拓?fù)渲忻總€(gè)節(jié)點(diǎn)功能以及轉(zhuǎn)發(fā)下一跳的目標(biāo)如表1所示。
表1 網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)功能描述
無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)模型如圖2所示。
圖2 無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)模型
它主要包括以下三個(gè)步驟。
(1)時(shí)間壓縮:時(shí)間壓縮也稱為傳感器壓縮,是對(duì)特定位置單個(gè)簇內(nèi)子節(jié)點(diǎn)隨時(shí)間的測(cè)量形成的數(shù)據(jù)的壓縮。具體模型步驟中,簇內(nèi)各個(gè)傳感器子節(jié)點(diǎn)感知信息后,將單位時(shí)間內(nèi)感知的數(shù)據(jù)分批進(jìn)行預(yù)處理,包括計(jì)算丟失值、歸一化處理等。之后,對(duì)預(yù)處理的數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮,即時(shí)間壓縮。
(2)空間壓縮:空間壓縮也稱為傳感器間壓縮,是對(duì)特定時(shí)刻簇頭節(jié)點(diǎn)收集來(lái)自組內(nèi)多個(gè)傳感器節(jié)點(diǎn)空間數(shù)據(jù)的壓縮。具體模型步驟中,各簇內(nèi)傳感器子節(jié)點(diǎn)處理、壓縮感知信息并向簇頭發(fā)送感知內(nèi)容后,等待簇頭收集完簇內(nèi)節(jié)點(diǎn)數(shù)據(jù),并將數(shù)據(jù)融合后進(jìn)行空間壓縮,最終將壓縮后的數(shù)據(jù)傳輸?shù)交尽?/p>
(3)入侵檢測(cè):在基站處對(duì)各個(gè)簇頭節(jié)點(diǎn)壓縮處理后的子數(shù)據(jù)集使用由Vapnik[10]提出的支持向量機(jī)(Support Vector Machine,SVM)進(jìn)行入侵檢測(cè)。文獻(xiàn)[11-12]曾證明了SVM可有效避免經(jīng)典學(xué)習(xí)方法中出現(xiàn)的過學(xué)習(xí)、易陷入局部極小點(diǎn)等問題。當(dāng)檢測(cè)出入侵?jǐn)?shù)據(jù)時(shí),它可對(duì)網(wǎng)絡(luò)管理員進(jìn)行警報(bào),打印相應(yīng)數(shù)據(jù)包的時(shí)間、位置等傳感器節(jié)點(diǎn)信息,待管理員做進(jìn)一步處理。
自動(dòng)編碼器是一個(gè)典型的三層神經(jīng)網(wǎng)絡(luò),以無(wú)監(jiān)督模式通過特征提取來(lái)實(shí)現(xiàn)數(shù)據(jù)壓縮,特別是對(duì)大規(guī)模數(shù)據(jù)集有較好的優(yōu)化性能。
在網(wǎng)絡(luò)中第一層輸入X∈[0,1]L。將其映射到中間的隱藏層表示為Y∈[0,1]K,然后“重建”得到Z∈[0,1]L。如圖3所示,向量滿足:
其中θ=[Wenc,benc,Wdec,bdec]是必須通過適當(dāng)訓(xùn)練算法學(xué)習(xí)的實(shí)值參數(shù),參數(shù)Wenc和benc是編碼的權(quán)重和偏置向量,Wdec和bdec是解碼的權(quán)重和偏置向量,F(xiàn)(·)為每層激活函數(shù)。
圖3 神經(jīng)自編碼模型
在每個(gè)輸入數(shù)據(jù)X*和重構(gòu)θ之間的誤差最小化來(lái)優(yōu)化該模型的參數(shù)θ的過程中,將自動(dòng)編碼器的代價(jià)函數(shù)定義為:
最后,代價(jià)函數(shù)通過標(biāo)準(zhǔn)優(yōu)化算法如常見的L-BFGS訓(xùn)練出最優(yōu)參數(shù)θ。
多次組合自編碼神經(jīng)網(wǎng)絡(luò),即把網(wǎng)絡(luò)中當(dāng)前層的輸出作為下一層的輸入,構(gòu)成堆棧自編碼神經(jīng)網(wǎng)絡(luò)的深度結(jié)構(gòu),如圖4所示。
圖4 多層神經(jīng)自編碼模型
訓(xùn)練時(shí),可以利用貪婪逐層訓(xùn)練算法初始化網(wǎng)絡(luò)參數(shù),并使用反向傳播算法微調(diào),優(yōu)化整體性能。該訓(xùn)練算法首先利用無(wú)標(biāo)簽的樣本訓(xùn)練網(wǎng)絡(luò)第一隱層h1得到其參數(shù)(W1,b1);然后,將該層的輸出作為第二隱層h1的輸入,繼續(xù)訓(xùn)練得到(W2,b2);以此類推,直到完成預(yù)訓(xùn)練。最后,通過反向傳播算法調(diào)整所有層的參數(shù),對(duì)隱藏單元抽象的特征做進(jìn)一步調(diào)整。當(dāng)輸出層的輸出數(shù)據(jù)Z和輸入層的輸入數(shù)據(jù)X接近到一定程度時(shí),將證明網(wǎng)絡(luò)保留了原始數(shù)據(jù)的大部分信息。此時(shí),自動(dòng)編碼神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成。
KDD Cup 1999是無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)常用數(shù)據(jù)集[13-14]。本文實(shí)驗(yàn)使用NSL-KDD數(shù)據(jù)集,是一種處理KDD Cup 1999過多冗余重復(fù)的數(shù)據(jù)記錄而導(dǎo)致分類結(jié)果誤差問題的數(shù)據(jù)集。數(shù)據(jù)中每個(gè)記錄包含各種連續(xù)、離散和符號(hào)類型的41維特征數(shù)據(jù)(含40個(gè)特征值和一個(gè)標(biāo)簽)。訓(xùn)練數(shù)據(jù)集的攻擊類別分布如表2所示。
表2 NSL-KDD訓(xùn)練數(shù)據(jù)分布
針對(duì)NSL-KDD公共數(shù)據(jù)集四種攻擊與Normal分別進(jìn)行入侵檢測(cè)分類。考慮到數(shù)據(jù)總樣本數(shù)和平衡率,將數(shù)據(jù)集中的攻擊數(shù)據(jù)均標(biāo)記為Abnormal。表3是分類組合后的樣本信息,其中攻擊類為正類,正常數(shù)據(jù)類為負(fù)類。
表3 訓(xùn)練數(shù)據(jù)集描述
實(shí)驗(yàn)使用TensorFlow和Sklearn學(xué)習(xí)框架,在linux操作系統(tǒng)下使用3.40 GHz的Intel Core i7 CPU和8 GB RAM的機(jī)器運(yùn)行。實(shí)驗(yàn)設(shè)置稀疏自編碼神經(jīng)網(wǎng)絡(luò)為5層,隨機(jī)初始化網(wǎng)絡(luò)參數(shù)W1和b1,學(xué)習(xí)速率設(shè)為0.01,采用十折交叉驗(yàn)證法。神經(jīng)自編碼訓(xùn)練時(shí)采用L-BFGS優(yōu)化代價(jià)函數(shù),迭代次數(shù)設(shè)置為512次,且每層使用Sigmoid作為激活函數(shù)。在數(shù)據(jù)預(yù)處理后,分類模型SVM的懲罰因子C=1[15],徑向基(RBF)核函數(shù) K(gi,gj)=exp(-γ||gi-gj||)2,并設(shè)核參數(shù)γ=1/k,其中k是輸入數(shù)據(jù)的特征數(shù)。
為了驗(yàn)證本文提出的TS-AE特征提取的性能,實(shí)驗(yàn)主要與以下3個(gè)分類模型進(jìn)行對(duì)比:
(1)直接使用SVM算法對(duì)未進(jìn)行預(yù)處理的原始數(shù)據(jù)進(jìn)行分類;
(2)先通過PCA進(jìn)行特征提取,再由SVM算法進(jìn)行分類;
(3)先使用TS-AE提取特征,再用SVM算法進(jìn)行分類。
其中,每組實(shí)驗(yàn)均分兩次壓縮,以此模擬基于時(shí)間和空間壓縮的概念模型。
3.2.1 實(shí)驗(yàn)一:不同方法對(duì)比
為了驗(yàn)證算法的有效性,表4列出了SVM、PCA+SVM和TS-AE+SVM這3種方法下的檢測(cè)正確率。實(shí)驗(yàn)過程中使用試湊法先確定每個(gè)輸出層的節(jié)點(diǎn)個(gè)數(shù),同時(shí)設(shè)置隱藏層節(jié)點(diǎn)數(shù)初始值為35,并按照步長(zhǎng)5依次遞減至10,初步判斷某個(gè)區(qū)域的檢測(cè)正確率。
表4 不同分類方法的精確度對(duì)比 /(%)
由4中的正確率結(jié)果可以直觀看出,使用PCA或者TS-AE壓縮算法相對(duì)于直接使用SVM正確率均有明顯提高。同時(shí),在相同維度變化下,使用TS-AE+SVM比PCA+SVM能取得更高的正確率,這也說(shuō)明使用TS-AE壓縮算法比PCA算法效果好。
3.2.2 實(shí)驗(yàn)二:最佳壓縮維度研究
在表3中發(fā)現(xiàn),當(dāng)壓縮至35、30、25、20和10維時(shí),雖然使用TS-AE壓縮算法正確率有所提高,但提高幅度并不樂觀,且維度在15維附近時(shí)正確率最高。為了更好地研究15維度附近的正確率和誤報(bào)率變化,找出最佳壓縮維度,表5主要列出了從20維開始,以步長(zhǎng)2依次遞減至12維時(shí)使用PCA和TS-AE壓縮后的F1變化,第二層維度以27作為中間維度變化來(lái)做參照值。
表5 PCA與TS-AE壓縮后F1對(duì)比 /(%)
由表5可以看出,使用TS-AE相對(duì)于PCA具有更大的F1值。特別當(dāng)維度下降到16維時(shí),F(xiàn)1值明顯增高,相對(duì)于PCA壓縮算法增大了15.30%。同時(shí),為進(jìn)一步比較壓縮至16維時(shí)的正確率,實(shí)驗(yàn)中分別計(jì)算壓縮到16維時(shí)的正確率,得到PCA+SVM下正確率為88.03%,TS-AE+SVM下正確率為93.01%??梢?,后者比前者正確率提高了7.84%。
3.2.3 實(shí)驗(yàn)三:最佳壓縮維度下ROC圖和二維可視化圖
當(dāng)降維到16維時(shí),實(shí)驗(yàn)得到3種檢測(cè)模型的ROC曲線[16],如圖5所示。
圖5 降維至16維時(shí)三種分類模型的ROC圖
從ROC曲線可知,當(dāng)壓縮至16維時(shí),在同一誤報(bào)率下,TS-AE相對(duì)于PCA降維方法、SVM分類模型有著較高的準(zhǔn)確率。實(shí)驗(yàn)中,數(shù)據(jù)壓縮前后入侵與正常節(jié)點(diǎn)分布的二維可視化效果圖如圖6所示。
根據(jù)所有實(shí)驗(yàn)結(jié)果對(duì)比可以看出,提出的TS-AE模型相對(duì)于傳統(tǒng)特征提取模型,對(duì)網(wǎng)絡(luò)中的入侵檢測(cè)結(jié)果效果更好。雖然在壓縮節(jié)點(diǎn)數(shù)過高或者過低時(shí),效果提升不明顯,但這可能是維度變化不大時(shí)對(duì)數(shù)據(jù)處理的效果起不到良好的效果,而當(dāng)壓縮維度過低時(shí),可能會(huì)導(dǎo)致數(shù)據(jù)失真。文中實(shí)驗(yàn)最終得到,當(dāng)壓縮至16維時(shí),TS-AE模型有著最好的檢測(cè)效果。
本文針對(duì)無(wú)線傳感器網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)檢測(cè)中“數(shù)據(jù)災(zāi)難”導(dǎo)致的一系列問題,提出了一種基于時(shí)空關(guān)聯(lián)的檢測(cè)模型,并使用神經(jīng)自編碼進(jìn)行特征降維的入侵檢測(cè)算法。實(shí)驗(yàn)表明,TS-AE算法在某個(gè)臨界維度可以有效提高入侵檢測(cè)的正確率,使得網(wǎng)絡(luò)性能更加穩(wěn)定。此外,由于數(shù)據(jù)傳輸量的減少,也降低了能耗。但是,由于臨界維度的限制,實(shí)際應(yīng)用中必須事先對(duì)整個(gè)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,以找到降低維度的最佳數(shù)目。
參考文獻(xiàn):
[1] 張杰,胡向東.無(wú)線傳感器網(wǎng)絡(luò)中的蟲洞攻擊和防御[J].通信技術(shù),2008,41(08):68-70.ZHANG Jie,HU Xiang-dong.Worm Attack and Defense in Wireless Sensor Networks[J].Communications Technology,2008,41(08):68-70.
[2] 張鵬,馮欣,周建國(guó).無(wú)線傳感器網(wǎng)絡(luò)中基于空間關(guān)聯(lián)性的聚類異常檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用研究,2013,30(05):1370-1372.ZHANG Peng,FENG Xin,ZHOU Jian-guo.A Clustering Anomaly Detection Algorithm Based on Spatial Correlation in Wireless Sensor Networks[J].Application Research of Computers,2013,30(05):1370-1372.
[3] 李力.無(wú)線傳感網(wǎng)中一種基于支持向量機(jī)的異常事件檢測(cè)方案[J].計(jì)算機(jī)應(yīng)用與軟件,2015(02):272-277.LI Li.An Abnormal Event Detection Scheme Based on Support Vector Machine in Wireless Sensor Network[J].Computer Applications and Software,2015(02):272-277.
[4] Bertier M,Marin O,Sens P.Implementation and Performance Evaluation of an Adaptable Failure Detector[C].Dependable Systems and Networks,2017:354-363.
[5] Yu L,Liu H.Feature Selection for High-Dimensional Data:a Fast Correlation-Based Filter Solution[C].Twentieth International Conference on International Conference on Machine Learning,2003:856-863.
[6] Ahmad I,Abdullah A,Alghamdi A,et al.Optimized Intrusion Detection Mechanism Using Soft Computing Techniques[J].Telecommunication Systems,2013,52(04):2187-2195.
[7] 孫子文,梁廣瑋,白勇等.無(wú)線傳感器網(wǎng)絡(luò)分級(jí)入侵檢測(cè)模型[J].信息與控制,2013,42(06):670-676.SUN Zi-wen,LIANG Guang-wei,BAI Yong,et al.Hierarchical Intrusion Detection Model for Wireless Sensor Networks[J].Information and Control,2013,42(06):670-676.
[8] Hinton G E,Salakhutdinov R R.Reducing the Dimensional of Data with Neural Networks[J].Science,2006,313(28):504-507.
[9] Wang Y C.Data Compression Techniques in Wireless Sensor Networks[J].Pervasive Computi ng,2012,28(04):1914-1923.
[10] Vapnik V N.The Nature of Statistical Learning Theory[J].IEEE Transactions on Neural Networks,1997,8(06):1564.
[11] 尚文利,張盛山,萬(wàn)明等.基于PSO-SVM的Modbus TCP通訊的入侵檢測(cè)方法[J].電子學(xué)報(bào),2014,42(11):2314-2320.SHANG Wen-li,ZHANG Sheng-shan,WAN Ming,et al.Intrusion Detection Method for Modbus TCP Communication Based on PSO-SVM[J].Journal of Electr onics,2014,42(11):2314-2320.
[12] Chitrakar R,Huang C.Selection of Candidate Support Vectors in Incremental SVM for Network Intrusion Detection[M].Elsevier Advanced Technology Publications,2014.
[13] 白潤(rùn)資.無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)模型與算法研究[D].重慶:重慶郵電大學(xué),2011.BAI Run-zi.Research on Wireless Sensor Network Intrusion Detection Model and Algorithm[D].Chongqing:Chongqing University of Posts and Telecommunications,2011.
[14] 傅蓉蓉.無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)關(guān)鍵技術(shù)研究[D].北京:北京交通大學(xué),2013.FU Rong-rong.Wireless Sensor Network Intrusion Detection Key Technologies[D].Beijing:Beijing Jiaotong University,2013.
[15] 宋永東.支持向量機(jī)參數(shù)選擇的研究[D].武漢:華中師范大學(xué),2013.SONG Yong-dong.Research on Parameter Selection of Support Vector Machines[D].Wuhan:Central China Normal University,2013.
[16] Spackman,Kent A.Signal Detection Theory:Valuable Tools For Evaluating Inductive Learning[J].Proceedings of the Sixth International Workshop on MachinLearni ng,1989(283):160-163.