◆陳海文 余員琴 王葉 李晨
(湖南交通工程學院電氣與信息工程學院 湖南 421009)
無線傳感器網(wǎng)絡(luò)的爆炸式增長使得保護系統(tǒng)和網(wǎng)絡(luò)免受入侵攻擊成為關(guān)鍵,保護系統(tǒng)中數(shù)據(jù)真實、實時、可靠和網(wǎng)絡(luò)免受入侵攻擊變得更加重要。入侵檢測系統(tǒng)(Intrusion Detection System,IDS)以收集網(wǎng)絡(luò)中各種數(shù)據(jù),通過收集到的數(shù)據(jù)可以檢測惡意攻擊或違反規(guī)則等造成的異常情況,是現(xiàn)今重要的網(wǎng)絡(luò)安全技術(shù)之一。
IDS的設(shè)計是維護網(wǎng)絡(luò)安全的關(guān)鍵技術(shù)。機器學習方法近年來被廣泛應(yīng)用于網(wǎng)絡(luò)異常檢測,其采用收集網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)為輸入特征的數(shù)據(jù)流。惡意攻擊針對無線傳感器網(wǎng)絡(luò)實行入侵攻擊,不是竊聽網(wǎng)絡(luò)數(shù)據(jù),而是攻擊網(wǎng)絡(luò)節(jié)點和無線傳感器網(wǎng)絡(luò)感測的數(shù)據(jù)為目的,使傳感器節(jié)點無法采集數(shù)據(jù)或數(shù)據(jù)無法正常傳送,甚至使整個WSN陷入癱瘓。機器學習方法不適合WSN動態(tài)連續(xù)數(shù)據(jù)流環(huán)境,從而研究基于無線傳感器網(wǎng)絡(luò)入侵檢測方法提高網(wǎng)絡(luò)安全性能是現(xiàn)階段的熱點難點問題。
何翼等針對無線傳感器網(wǎng)絡(luò)能耗問題提出基于機器學習入侵檢測,采用聚類方法對原始數(shù)據(jù)預(yù)處理,后利用處理后的數(shù)據(jù)生成單分類支持向量機提高WSN異常值識別準確率[1]。但傳統(tǒng)機器學習是一個靜態(tài)的數(shù)據(jù)集合建立模型,無法應(yīng)用于數(shù)據(jù)流環(huán)境下。針對無法一次性收集完備的訓(xùn)練數(shù)據(jù)集,對未知入侵行為識別率不高,陳昌娜等提出增量集成學習算法,利用滑動窗口獲得數(shù)據(jù)塊,以此訓(xùn)練獲得子分類器,再結(jié)合歷史與當前數(shù)據(jù)塊的結(jié)構(gòu)選取子分類器進行集成,以此不斷完善分類模型自適應(yīng)識別未知攻擊行為[2]。集成學習思想引入到增量學習中確實提升了學習效果,大多采用加權(quán)投票方式實現(xiàn)多個同質(zhì)分類器集成,但沒能很好地提高增量學習中的穩(wěn)定與可塑性問題[3]。針對此問題本文提出一種基于概念漂移的集成增量學習方法(Integrated incremental learning method based on concept drift,CDIL),采用不同結(jié)構(gòu)的多個基分類器組合集成增量學習模型,即異構(gòu)集成增量學習模型,采集新數(shù)據(jù)訓(xùn)練多個基分類器加入到異構(gòu)集成模型中,采用HDDM(Heoffding’s inequality based Drift Detection Method)使用Heoffding不等式可定位漂移位置,并向異構(gòu)集成學習兩級分類模型發(fā)送警報信號,以增量學習方式將最新送達的輸入數(shù)據(jù)流更新模型,來檢測入侵攻擊。
概念漂移技術(shù)是衡量隨時間數(shù)據(jù)分布演變的重要指標。其定義是給定數(shù)據(jù)流中的某時刻t和上一時刻t-△,若,則當前數(shù)據(jù)流穩(wěn)定;反之,則發(fā)生了概念漂移[4]。依據(jù)概念漂移的速率和變化形式分為突變型漂移、增量型漂移、漸變型漂移和重現(xiàn)型漂移四種類別[5],其介紹如表1所示。
表1 概念漂移種類介紹
集成學習是通過一定方式由相同或不同結(jié)構(gòu)的多個基分類器組合,是強于單個分類器的集成模型,以此來提高模型準確度,適合用于多種概念漂移的數(shù)據(jù)流中。組合方法是組合模型間差異性和提升模型性能的主關(guān)鍵因素,而集成學習算法決定組合方法,使用不同的學習算法生成異構(gòu)分類器。其框架如圖1所示。
圖1 集成學習框架
增量學習是早期批量學習因數(shù)據(jù)均要訓(xùn)練,模型無法實現(xiàn)或承擔代價更新而提出的一種動態(tài)更新模型,以持續(xù)不斷的學習新的知識來提高模型的分類準確率[6]。增量學習模型的學習過程如下。
(1)式中S是假設(shè)增量學習的訓(xùn)練數(shù)據(jù)集,d0是訓(xùn)練初始模型F0的訓(xùn)練數(shù)據(jù)集,dt是t時刻更新當前模型F(t-1)使用的新數(shù)據(jù)集合。
(2)式中有n條數(shù)據(jù),是第i條數(shù)據(jù)的特征,是第i條數(shù)據(jù)的類別,n是一個大于1的數(shù)。t時刻獲得更新數(shù)據(jù)集dt更新當前t-1時刻的模型F(t-1)得到更新后模型Ft。
集成增量學習融合集成學習與增量學習的優(yōu)勢,以集成學習為模型用增量學習不斷地對模型進行動態(tài)更新。
在無線傳感器網(wǎng)絡(luò)中針對入侵攻擊利用概念漂移檢測數(shù)據(jù)特性異常,并向集成分類器發(fā)送警報信號,分類器利用新的到達數(shù)據(jù)來更新和保持較高的分類精度?;诸惼鞑捎弥鞣诸惼骱蛡溆梅诸惼麟p分類器集成學習模型設(shè)計,檢測到概念漂移時,更新備用分類器,并替換主分類器來處理概念漂移數(shù)據(jù)流?;赪SN入侵檢測系統(tǒng)(IDS)設(shè)計流程如下:
第一步:采集原始數(shù)據(jù)集。
第二步:數(shù)據(jù)預(yù)處理。
(1)清洗無用樣本;
(2)連續(xù)數(shù)據(jù)歸一化,One-Hot編碼,字符類型數(shù)值化。
第三步:入侵檢測。
(1)概念漂移數(shù)據(jù)集;
(2)概念漂移檢測器檢測概念漂移數(shù)據(jù)集是否異常;
(3)正常進入集成學習模型;
(4)異常進行模型新型。
第四步:輸出結(jié)果。
從第一步到第四步以增量學習方式進行,其模型設(shè)計如圖2所示。相比傳統(tǒng)IDS,本模型中的漂移檢測器同樣是數(shù)據(jù)分析和單元處理,但同時傳送給網(wǎng)絡(luò)管理員概念漂移檢測器產(chǎn)生檢測信號,并且以此判斷分類模型是否需要更新。
圖2 基于概念漂移的集成增量學習模型
概念漂移檢測是處理數(shù)據(jù)流分布隨時間變化的關(guān)鍵技術(shù),檢測隨時間推移的數(shù)據(jù)實體是否服從同一分布。其檢測分為基于數(shù)據(jù)分布的檢測、基于錯誤率的檢測和基于多層假設(shè)檢驗的檢測三類[7],其三類檢測介紹如表2所示。
表2 概念漂移檢測技術(shù)簡介
基于數(shù)據(jù)分布的概念漂移檢測具體方法有基于概率密度函數(shù)的漂移檢測方法和分布差異性度量方法TV。最早典型的基于概率密度函數(shù)的漂移檢測方法有ITA(Information-Theoretic Approach)算法[9],使用KD樹(K維搜索樹)將新數(shù)據(jù)和歷史數(shù)據(jù)劃分為多個bin(二進制文件),使用K-L散度(Kullback-Leibler Divergence,又稱相對熵)來計算每個bin密度分布的差異性,使用假設(shè)檢驗來檢測漂移;LSDD-CDT(Least Squares Density Difference-based Change Detection Test)和其增量化版LSDD-INC(Least Squares Density Difference-based Incremental)[10],相對ITA魯棒性更好。適應(yīng)高維空間概念漂移檢測,Qahtan提出PCA(Principal Component Analysis)漂移檢測框架PCACD[11],應(yīng)用于基主成分分析的PCA提高在高維空間密度估計的計算效率。
目前使用最廣的方法是基于錯誤率的檢測,依據(jù)分類錯誤率來發(fā)現(xiàn)概念漂移。相比基于數(shù)據(jù)分布的概念漂移檢測方法提高了計算效率,因其需要先獲得分類結(jié)果再進行判定,同時具有檢測遲滯。其最早的檢測方法有DDM(Drift Detection Method)[12],是在線計算預(yù)測錯誤率和標準差,以最小的錯誤率和標準差保存為當前值通過假設(shè)檢驗是否發(fā)生漂移,以其設(shè)定的漂移、警告和錯誤3個置信度水平,分類器的錯誤率與訓(xùn)練示例數(shù)量是正比例關(guān)聯(lián),即存在概念漂移,重構(gòu)當前模型;錯誤率與其偏差達到兩倍,即生成警告信號;在警告級別上,若錯誤降到警告閾值以下,即錯誤并刪除此特殊窗口[13]。針對突變型漂移有良好的表現(xiàn),但因漸變型漂移存在長時間觸發(fā)概念漂移的假設(shè)檢驗水平[13],不適合于此。文獻[14]Liu等人針對此情況提出擴展FWDDM(Fuzzy Windowing Drift Detection Method),改進DDM中傳統(tǒng)窗口的一種模糊時間窗口技術(shù)。針對概念漂移的敏感性,提出EDDM(Early Drift Detection Method)計算實例距離角度進行改進DDM[15],在數(shù)據(jù)流發(fā)生緩慢變化時有較好的性能,ECDD(EWMA for Concept Drift Detection)使用觀察指數(shù)加權(quán)移動平均值變化改進DDM,LLDD(Learning with Local Drift Detection),ADWIN(Adaptive Windowing)基于霍夫丁界,使用一個自適應(yīng)調(diào)整大小窗口技術(shù)劃分新數(shù)據(jù)和歷史數(shù)據(jù),通過新舊兩者數(shù)據(jù)的均值差異檢測漂移,維護窗口尺寸和空間復(fù)雜度。HDDM(Heoffding’s inequality based Drift Detection Method)[16]使用Heoffding不等式替換DDM中的假設(shè)檢驗并可定位漂移位置,采用檢測錯誤率的增量和減量雙樣本統(tǒng)計檢測漂移和誤差估計,在恒定的時間和空間復(fù)雜度內(nèi)處理每個輸入值,以假正負率保證性能。
基于多層假設(shè)檢驗的檢測是基于數(shù)據(jù)分布和錯誤率的概念漂移的關(guān)鍵技術(shù)。Zhang等人提出三層概念漂移檢測方法[17]。HHT-AG(Hierarchical Hypothesis Testing With Attribute-wise Goodness-of-fit)具有少量類標的樣本集上處理概念漂移。LFR(Linear Four Rate drift detection)和HLFR在線檢測TP(True Positive)、TN(True Negative)、FP(False Positive)和FN(False Negative)指標變化。
集成學習是構(gòu)造一組強弱分類器的高效學習算法,通過加權(quán)投票得到最終結(jié)果。由不同的學習算法生成異構(gòu)分類器,針對無線傳感器網(wǎng)絡(luò)入侵檢測,本文設(shè)計兩級分類器集成學習模型如圖3所示。
圖3 兩級分類器集成學習模型
第一級分類器由多個異構(gòu)獨立分類器組成,每個基分類器利用原始數(shù)據(jù)訓(xùn)練出一個分類模型,依據(jù)新數(shù)據(jù)特征給定分類和預(yù)測值,預(yù)測值為新數(shù)據(jù)的特征加上原始數(shù)據(jù)新標簽組成一條新的數(shù)據(jù)實例,輸入到第二級分類器,最終得到預(yù)測結(jié)果,此結(jié)構(gòu)的集成學習為Stacking。其工作流程如下:
第一步:建構(gòu)集成學習每級分類器兩個相同的模型,一個為主分類器,一個為備用分類器,初始訓(xùn)練集進行主備分類器訓(xùn)練。
第二步:概念漂移檢測器檢測。
(1)檢測發(fā)出警告,新到達數(shù)據(jù)流更新備用分類器;
(2)檢測發(fā)出漂移,備用分類器先取代主分類器,后漂移數(shù)據(jù)自動更新主分類器,主分類器更新完后取代備用分類器,最后主備分類器同步;
(3)檢測發(fā)出正常,數(shù)據(jù)流穩(wěn)定,無需處理。
第三步:輸出最終預(yù)測值。
第四步:由二級分類器產(chǎn)生的結(jié)果引入動態(tài)加權(quán)投票實現(xiàn)集成學習模型性能最大化。
設(shè)計入侵檢測實驗數(shù)據(jù)集采用無線傳感器網(wǎng)絡(luò)入侵檢測專用數(shù)據(jù)集即WSN—DS(A Dataset for Intrusion Detection Systems in Wireless Sensor Networks)[18],如表3所示。
表3 數(shù)據(jù)集分布
基于單分類模型的概念漂移集成增量學習方法(簡稱IL)與基于兩級分類模型的概念漂移集成增量學習方法(簡稱CDIL)的準確性比較如圖4所示。圖中IL前后期模型準確率折線弧度較大,而CDIL在所有批次數(shù)據(jù)中都表現(xiàn)相對平滑,尤其是第73批數(shù)據(jù)中CDIL的準確率在91%以上,而IL的準確率在80%以下,CDIL的優(yōu)勢更加突顯,可以看出CDIL比IL的準確性在二分類中更高更穩(wěn)定,結(jié)果驗證設(shè)計的兩級分類器模型檢測精度高且穩(wěn)定,概念漂移的集成增量學習模型入侵檢測方法有很好的魯棒性。
圖4 單基分類器與兩級分類器集成增量學習模型準確率比較
本文基于WSN提出了一融合概念漂移和增量學習入侵檢測方法,概念漂移檢測器采用HDDM方法檢測網(wǎng)絡(luò)數(shù)據(jù)流異常,再在此基礎(chǔ)上設(shè)計兩級分類器的集成學習以模型以增量學習方式動態(tài)更新模型,來提高檢測正確率及穩(wěn)定性,是WSN不增加額外資源的一種有效方法。