于 翔,陳 盈,陳 爽
(1.臺州學(xué)院 電子與信息工程學(xué)院,浙江 臺州 318000;2.臺州學(xué)院 航空工程學(xué)院,浙江 臺州 318000)
異常檢測作為信息安全領(lǐng)域中廣泛應(yīng)用的技術(shù),通常被用來檢測違反統(tǒng)計規(guī)則的異常行為或異常數(shù)據(jù)。隨著物聯(lián)網(wǎng)時代的到來,人們可以方便地獲得大量的數(shù)以百萬計的傳感器數(shù)據(jù),由于無線傳感器網(wǎng)絡(luò)具有機(jī)動靈活等優(yōu)點(diǎn),所以其被廣泛用于物聯(lián)網(wǎng)應(yīng)用中[1]。目前,有超過200顆在軌衛(wèi)星正在捕獲來自地球觀測的遙感數(shù)據(jù),這些數(shù)據(jù)被用于預(yù)測異常,如氣候異?;虻刭|(zhì)異常的情況。此外,目前幾乎所有的汽車生產(chǎn)線都通過傳感器數(shù)據(jù)檢測來發(fā)現(xiàn)異常情況。
大多數(shù)傳統(tǒng)的異常檢測方法都依賴于已知模式的類別,無論是正常模式還是異常模式。只有當(dāng)檢測到的行為與已知的異常模式相匹配時,才能被識別為異常。當(dāng)出現(xiàn)新的異常行為時,其可能被錯誤地檢測為正常[2]。有鑒于此,在一些異常檢測策略中引入了機(jī)器學(xué)習(xí)的方法,可以從新出現(xiàn)的行為中學(xué)習(xí),以更新現(xiàn)有的異常模式。然而,來自傳感器的數(shù)據(jù)的變化情況以及數(shù)據(jù)變化的相關(guān)性仍常常被忽略[3]。假設(shè)部署在某林區(qū)的一個溫度傳感器在某一時刻向中心管理節(jié)點(diǎn)發(fā)回一個異常溫度值,但隨后它會發(fā)回一系列正常的溫度值。這種異??赡苁怯捎陉柟馔高^露珠聚焦于溫度傳感器上而產(chǎn)生。當(dāng)陽光的照射角度改變時,溫度值自然恢復(fù)正常。顯然,這種情況不應(yīng)該觸發(fā)警報。但是,如果溫度傳感器不斷地將異常溫度值發(fā)送回中心管理節(jié)點(diǎn),這就可能是一個真正的警報。因此,有必要提出一種啟發(fā)式方法準(zhǔn)確、科學(xué)地檢測異常行為和異常事件。
鑒于傳統(tǒng)的異常檢測方法不能滿足無線傳感器網(wǎng)絡(luò)環(huán)境下的物聯(lián)網(wǎng)異常檢測要求,研究人員相繼提出了一系列基于無線傳感器網(wǎng)絡(luò)的物聯(lián)網(wǎng)異常檢測方法。2015年,陳等人提出了一種全分布式通用異常檢測方法(GAD),該方法使用圖論并通過時空相關(guān)性進(jìn)行實(shí)時異常檢測[4],但是GAD無法有效檢測到由一系列相關(guān)異常行為組成的異常事件。2017年,劉等人提出了一種無監(jiān)督異常檢測框架,該框架能夠從空間維度和時間維度檢測異常行為和事件。盡管該方法充分考慮了傳感器數(shù)據(jù)的相關(guān)性,但卻忽視了數(shù)據(jù)變化的情況[5]。
本文提出的基于時間維度的異常事件檢測方法TDB-AEDM(Time Dimension-Based Anomalous Events Detection Method)通過分析傳感器數(shù)據(jù)變化的情況,可以準(zhǔn)確地檢測出個體異常以及異常事件。在TDB-AEDM中,異常檢測到的個體行為不會被視為異常事件,只有當(dāng)同一傳感器發(fā)送的行為(數(shù)據(jù))持續(xù)顯示異常時,這些傳感器數(shù)據(jù)才可能觸發(fā)異常事件。
在大多數(shù)情況下,數(shù)據(jù)極值比正常數(shù)據(jù)更應(yīng)該引起人們的關(guān)注,例如金融危機(jī)預(yù)警、氣候極端異常、銀行貸款異常等。在本節(jié)中,首先將給出個體異常行為和異常事件的定義,其次介紹基于無監(jiān)督學(xué)習(xí)的聚類方法等,最后在此基礎(chǔ)上提出TDB-AEDM異常檢測模型。
如圖1所示,基于時間的異常行為與其時間維度上的上下文異常行為共同組成異常事件。某個傳感器發(fā)送的傳感器數(shù)據(jù),隨著時間的變化,存在一系列相鄰異常行為以及兩個個體異常行為,分別由圖中矩形虛線框和圓圈構(gòu)成。
定義1(個體)異常行為:在某一時間區(qū)間內(nèi),當(dāng)來自傳感器的輸入超過某閾值或低于某閾值時,則該時間點(diǎn)所對應(yīng)行為被識別為個體異常行為。
定義2異常事件:在給定時間區(qū)間內(nèi)發(fā)生的一系列連續(xù)異常行為,即某時間范圍內(nèi)傳感器數(shù)據(jù)超過或低于某預(yù)先給定的閾值,則此一系列連續(xù)異常行為稱為異常事件。
在我們的模型中,來自無線傳感器網(wǎng)絡(luò)中的一系列傳感器數(shù)據(jù)被作為輸入數(shù)據(jù),基于時間維度對傳感器數(shù)據(jù)進(jìn)行分析,對檢測到的所有個體異常進(jìn)一步分析得到異常事件。TDB-AEDM異常檢測模型包括數(shù)據(jù)準(zhǔn)備階段和異常檢測階段,如圖2所示。
圖1 個體異常行為與異常事件
圖2 TDB-AEDM異常檢測模型
1.2.1 數(shù)據(jù)準(zhǔn)備
在數(shù)據(jù)準(zhǔn)備階段,首先對來自無線傳感器網(wǎng)絡(luò)的傳感器數(shù)據(jù)進(jìn)行清理和規(guī)范化,因?yàn)閹缀鯚o法避免數(shù)據(jù)丟失或出現(xiàn)噪聲的情況,這可能會導(dǎo)致數(shù)據(jù)傾斜進(jìn)而影響數(shù)據(jù)采集過程中的數(shù)據(jù)分布。此外,對傳感器數(shù)據(jù)進(jìn)一步進(jìn)行特征提取可以提高檢測效率,減少冗余特征干擾。
1.2.2 異常檢測
在異常檢測階段,將檢測到所有個體異常行為以及異常事件,通過分析時間區(qū)間內(nèi)個體異常行為的分布,檢測時間異常事件。當(dāng)在時間維度上的一系列相鄰個體異常,又符合預(yù)定的異常事件定義時,則被認(rèn)為是時間異常事件。其余的異常則被認(rèn)為是個體的異常行為。
以下我們詳細(xì)描述了異常檢測模型中的關(guān)鍵步驟。如上所述,TDB-AEDM的完整算法包括兩個關(guān)鍵步驟,即數(shù)據(jù)準(zhǔn)備的步驟和異常檢測的步驟。數(shù)據(jù)準(zhǔn)備的步驟包括過濾丟失數(shù)據(jù)、清除傳感器噪聲數(shù)據(jù)以及數(shù)據(jù)標(biāo)準(zhǔn)化等;異常檢測的步驟包括個體異常行為檢測以及時間異常事件檢測。完整的算法如下:
算法1.TDB-AEDM
輸入:D=Dt1,Dt2,…,Dtp—p個時間點(diǎn)獲得的傳感器數(shù)據(jù)集
dq=dt1,dt2,…,dtp—傳感器q在p個時間點(diǎn)獲得的傳感器數(shù)據(jù)
η—時間閾值參數(shù)
輸出:AnoTE—異常事件集
①AnoTE=φ;//初始化異常事件集
②AnoB=φ;//異常行為集
③Attr=φ;//抽取特征集
④for(eachDtiinD)
⑤{清洗Dti中的缺失值;
⑥過濾Dti中的噪聲數(shù)據(jù);}
⑦for(eachDtiinD)
⑧{result=Clustering(Dti);//初始化聚類
⑨AnoBti=AnomalyDetect(result);}//檢測ti時刻的異常
⑩for(eachdqinD)
?{SegAno=SegAno∪FilterNor(dq,η);//檢測異常事件
?AnoTE=AnoTE∪SegAno;}
?returnAnoTE;
本文根據(jù)KDD CUP'99網(wǎng)絡(luò)入侵(Http)數(shù)據(jù)集對TDB-AEDM的性能進(jìn)行評估,KDD CUP'99網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)集包含網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)。對于數(shù)據(jù)集中的數(shù)據(jù),我們只需要連續(xù)值,二進(jìn)制屬性和標(biāo)稱屬性將被刪除。
文中比較了TDB-AEDM與三種基線方法的性能,這三種方法的性能都很好,可以用來評價異常檢測方法的性能。實(shí)驗(yàn)中采用的第一種基線方法是ORCA,它基于k-最近鄰(kNN)方法。同時,ORCA采用了樣本隨機(jī)化策略和簡單的剪枝規(guī)則,且?guī)缀蹙哂芯€性時間復(fù)雜性。實(shí)驗(yàn)中采用的第二種基線方法是常被用于評估異常檢測效果的one-class SVM(支持向量機(jī))方法。第三種基線方法是局部離群因子(LOF),它是一種基于密度的方法,可以在高維數(shù)據(jù)集中準(zhǔn)確地發(fā)現(xiàn)異常值。為了評價TDB-AEDM的性能,實(shí)驗(yàn)中采用了三個常用的評價指標(biāo),分別是檢測率(DR)、虛警率(FAR)和運(yùn)行時間。
在這個實(shí)驗(yàn)中,我們比較了ORCA、LOF、一類支持向量機(jī)和TDB-AEDM的性能。對于ORCA和LOF,我們設(shè)置K=15以保證K大于最大異常簇的大小。對于一類支持向量機(jī),我們使用常用的徑向基函數(shù)核。如圖3所示的ROC曲線,TDB-AEDM和LOF的表現(xiàn)均優(yōu)于one-class SVM,而ORCA表現(xiàn)最差,這主要是因?yàn)镺RCA受聚類形狀的影響所致。
本實(shí)驗(yàn)主要驗(yàn)證各算法的運(yùn)行效率。如圖4所示,TDB-AEDM和LOF具有相似的運(yùn)行時間,比ORCA稍好。而one-class SVM需要的運(yùn)行時間最多,并且在這四種方法中,其效率最差。
圖3 檢測性能分析(Http)
圖4 運(yùn)行時間比較
迄今為止,研究人員已經(jīng)提出了許多種異常檢測方法,但是能夠準(zhǔn)確檢測到傳感器數(shù)據(jù)中異常事件的方法卻很少。文中提出了一種基于時間維度的物聯(lián)網(wǎng)異常檢測方法,其優(yōu)點(diǎn)包括:(1)與傳統(tǒng)的異常檢測方法相比,文中方法不受數(shù)據(jù)分布情況的影響。(2)基于TDB-AEDM模型,不僅可檢測到個體異常行為,還可以有效檢測到異常事件。(3)該模型具有一定的可擴(kuò)展性,改進(jìn)后可檢測不同應(yīng)用場景中的異常,如遙感應(yīng)用或物聯(lián)網(wǎng)應(yīng)用。在今后的工作,我們將進(jìn)一步改進(jìn)TDB-AEDM模型,以提高其在實(shí)時數(shù)據(jù)流中檢測異常的能力。