郁 濱 熊 俊
(戰(zhàn)略支援部隊信息工程大學 鄭州 450000)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)流量異常檢測技術(shù)運用數(shù)據(jù)挖掘、機器學習等方法對流量數(shù)據(jù)進行統(tǒng)計分析,以判斷網(wǎng)絡(luò)是否存在異常運行或入侵行為,對維護網(wǎng)絡(luò)安全具有重要意義,如何及時、準確地檢測出異常流量是當前WSN流量異常檢測技術(shù)亟需解決的問題[1]。目前,網(wǎng)絡(luò)流量異常檢測技術(shù)主要包括基于神經(jīng)網(wǎng)絡(luò)模型、基于統(tǒng)計分析方法和基于聚類分析算法[2]。
在WSN流量異常實時檢測中,直接通過連續(xù)采樣獲得的流量數(shù)據(jù)是沒有標記的,考慮到通常需要利用大量帶標簽的數(shù)據(jù)訓練神經(jīng)網(wǎng)絡(luò)模型以增強模型的泛化能力[3,4],因此,基于神經(jīng)網(wǎng)絡(luò)模型的檢測技術(shù)不適用于實時的WSN流量異常檢測環(huán)境?;诮y(tǒng)計分析方法的檢測技術(shù)在檢測實時性、算法計算復(fù)雜度等方面具有優(yōu)勢,但現(xiàn)有方案大多缺乏合理的異常判決機制,且忽略了統(tǒng)計誤差對判決結(jié)果的影響,檢測準確度較低[5—7]?;诰垲惙治鏊惴ǖ臋z測技術(shù)無需預(yù)先處理輸入樣本,通過分析網(wǎng)絡(luò)流量數(shù)據(jù)內(nèi)部特征的相關(guān)性,以聚合具有相似特征的流量,并將稀疏簇內(nèi)的流量判決為異常數(shù)據(jù),逐漸成為網(wǎng)絡(luò)流量異常檢測技術(shù)的主要研究方向[8—10]。
現(xiàn)有的聚類分析算法可以被歸納為層次聚類分析、劃分聚類分析和智能聚類分析3類[11]。智能聚類分析技術(shù)主要基于深度學習、核函數(shù)等機器學習方法,該技術(shù)在WSN異常流量檢測應(yīng)用中存在與基于神經(jīng)網(wǎng)絡(luò)模型的檢測技術(shù)相同的不適用性。劃分聚類分析更傾向處理各個聚類簇大小比較接近的樣本,因此該技術(shù)往往無法將孤立點數(shù)據(jù)或異常點數(shù)據(jù)從樣本中分離出來,且聚類中心的選擇也會對其聚類結(jié)果產(chǎn)生較大影響,同時由于劃分聚類一般從總體上評判樣本間的相似性,導(dǎo)致其不支持增量式數(shù)據(jù)源。平衡迭代規(guī)約層次聚類(Balanced Iterative Reducing and Clustering using Hierarchies,BIRCH)作為一種經(jīng)典的層次聚類分析算法,僅通過一次掃描即可有效地組織大規(guī)模數(shù)據(jù),在聚類質(zhì)量、效率、穩(wěn)定性和擴展性方面具有明顯優(yōu)勢[12]。BIRCH的基本思想是通過肯定每一個樣本點的差異性,先將他們視作一個個單獨的聚類簇,再根據(jù)簇之間相似性的高低將他們分層合并。通過這種方式,BIRCH聚類分析算法不需要預(yù)先設(shè)定聚類值和聚類中心,在處理離散點方面表現(xiàn)突出,可以將異常點數(shù)據(jù)劃分到獨立的簇中,相較于劃分聚類分析技術(shù),更適用于網(wǎng)絡(luò)流量異常檢測。Pitolli等人[13]利用BIRCH聚類算法對樣本特征進行分類,用以識別海量軟件樣本集中的惡意數(shù)據(jù),具有較高的檢測率和計算效率。Peng等人[14]提出一種基于主成分分析的P-BIRCH聚類算法,時間成本隨著聚類數(shù)的增加而線性減少,有效地解決移動云環(huán)境下的大數(shù)據(jù)入侵檢測問題。
一方面,通過連續(xù)采樣獲得的WSN流量是典型的連續(xù)時間序列。根據(jù)時間序列相鄰值之間具有的時間相關(guān)性[15],針對出現(xiàn)在網(wǎng)絡(luò)流量平穩(wěn)階段或固定周期的突變流量,對比其前后一段時間內(nèi)的采樣流量可以發(fā)現(xiàn),這些流量的急劇變化是反常的,有理由相信他們?yōu)楫惓A髁俊H欢?,由于流量值僅僅體現(xiàn)了網(wǎng)絡(luò)在該采樣周期內(nèi)的流量大小,如果利用BIRCH對單一維度的流量序列進行聚類分析,會因為忽略了流量與其前后臨近流量的相關(guān)性,從而導(dǎo)致將異常突變流量劃分到高峰期或低谷期流量對應(yīng)的聚類簇中,使得異常檢測結(jié)果存在較大的偏差。
另一方面,Lorbeer等人[16]指出經(jīng)典BIRCH基于相同距離劃分簇類,存在不能處理自然數(shù)據(jù)形狀集合,對樣本輸入順序高度敏感等不足。針對此,Guo等人[17]提出一種基于鏈接的LBIRCH算法,通過建立鄰居表實現(xiàn)對任意形狀進行聚類。同時,由于經(jīng)典BIRCH采用全局靜態(tài)閾值建立聚類特征樹(Clustering Feature Tree, CF-Tree),只能獲得具有相同體積的聚類。因此,尚家澤等人[18]結(jié)合樸素貝葉斯算法,提出一種基于自適應(yīng)閾值的改進BIRCH,一定程度上解決了其不適用于聚類體積差異較大簇類的局限性,但算法執(zhí)行效率明顯下降。
綜上所述,針對WSN流量異常實時檢測需求,該文提出一種基于BIRCH的WSN流量異常檢測方案。首先,擴充WSN流量的特征維度,在此基礎(chǔ)上,設(shè)計一種優(yōu)化特征聚類樹(Optimized Clustering Feature Tree, OCF-Tree)結(jié)構(gòu)對BIRCH進行優(yōu)化。然后,提出基于拐點的綜合判決機制,進一步彌補聚類偏差對檢測結(jié)果的影響。最后,根據(jù)基于仿真平臺獲得的WSN流量數(shù)據(jù),對比該文方案與其他方案的流量異常檢測效果。
為方便對方案進行描述,該文相關(guān)符號及其含義如表1所示。
表1 符號定義
基于BIRCH的WSN流量異常檢測模型如圖1所示,主要包括流量特征聚類分析和流量異常判決兩個關(guān)鍵部分。
圖1 基于BIRCH的WSN流量異常檢測模型
2.2.1 流量特征聚類分析
流量特征聚類分析分為特征維度擴充和BIRCH聚類分析兩個環(huán)節(jié)。
WSN流量預(yù)測技術(shù)以網(wǎng)絡(luò)歷史流量信息為依據(jù)推測未來一段時間內(nèi)的流量趨勢[20]。根據(jù)定義2和定義3可知,某時刻流量預(yù)測值代表了該時刻流量的變化趨勢及基準值,即正常流量的變化可能在預(yù)測值附近小范圍波動,所以流量預(yù)測序列和預(yù)測誤差序列均隱含了原始流量的時序特征。因此,針對WSN流量的聚類特征維度較低的問題,特征維度擴充環(huán)節(jié)根據(jù)輸入的WSN流量序列S,利用其預(yù)測序列S?和預(yù)測誤差序列SΔ作為原始流量的新增特征,以擴充聚類分析輸入樣本的特征維度。
BIRCH聚類分析環(huán)節(jié)設(shè)計一種特殊的OCTTree結(jié)構(gòu),根據(jù)流量特征X將流量劃分成簇{Ci}(i=1,2,...,K),其中K為簇個數(shù)。一方面,由于WSN流量具有突發(fā)性、分布不均勻等特征,且存在稀疏的異常流量點,基于此,通過為每個聚類特征(Clustering Feature, CF) 單獨設(shè)置增量式的動態(tài)閾值T,使其適用于聚類體積存在較大差異的簇。另一方面,對于經(jīng)典BIRCH算法,每個節(jié)點只能容納固定數(shù)目的CF,聚類結(jié)果不總對應(yīng)于自然集群。同時,根據(jù)流量的輸入順序,特征差異較大的流量可能會被聚類到同一簇中,針對此,根據(jù)每個葉子特征CFL的鄰居簇對聚類結(jié)果進行全局優(yōu)化。
2.2.2 流量異常判決
流量異常判決環(huán)節(jié)根據(jù)拐點確定聚類截斷閾值c l u s t e r_T 和預(yù)測截斷閾值p r e d i c t_T,將cluster_T作為區(qū)分簇體積大小的依據(jù),predict_T作為區(qū)分預(yù)測誤差大小的依據(jù)。利用cluster_T從{Ci}中篩選出體積較小的簇,將小體積簇中的流量構(gòu)成聚類可疑點集合P,同時利用predict_T從SΔ中篩選出預(yù)測誤差較大的流量,構(gòu)成預(yù)測可疑點集合Q,并基于P, Q綜合判決WSN流量是否異常。
WSN流量的特征維度擴充如圖2所示,分別將流量序列作為第1維特征,預(yù)測序列作為第2維特征,預(yù)測誤差序列作為第3維特征,合并S,S?和SΔ,組成3維流量特征序列X=[X1,X2,...,Xn],其中Xi=[sis?iΔsi]T,i=1,2,...,n。特征維度擴充基于流量預(yù)測技術(shù),由于目前已有較為成熟的研究,眾多流量預(yù)測算法具有計算復(fù)雜度低、預(yù)測速度快、預(yù)測精度高等優(yōu)勢[21],因此m-p流量預(yù)測函數(shù)Γm-p(·)的內(nèi)部結(jié)構(gòu)不在該文討論范圍內(nèi)。
圖2 特征維度擴充示意圖
圖3 優(yōu)化聚類特征樹結(jié)構(gòu)
值得注意的是,BIRCH聚類算法所需內(nèi)存與閾值T有關(guān)。T越大,構(gòu)建的CT-Tree規(guī)模就越小,則所占用的內(nèi)存也越小。然而,如果T過大,會導(dǎo)致單個聚類簇的規(guī)模較大,則聚類程度十分粗略,從而影響聚類效果。由于本文著重研究如何提高BIRCH的聚類質(zhì)量,因此,假設(shè)流量特征聚類分析算法步驟均在內(nèi)存足夠的前提下進行。
基于此,流量異常判決環(huán)節(jié)設(shè)計一種基于拐點的綜合判決機制,利用拐點確定區(qū)分聚類簇體積大小的截斷閾值,如圖4(a) 所示。進一步,利用拐點確定區(qū)分流量預(yù)測是否失真的截斷閾值,如圖4(b)所示,以避免當網(wǎng)絡(luò)流量出現(xiàn)突發(fā)性變化或流量預(yù)測誤差較大時,正常流量被劃分到小體積的簇中的情況。流量異常判決方法具體步驟如下:
圖4 截斷閾值選取
根據(jù)上述方法步驟,實現(xiàn)對WSN流量異常的綜合檢測。
實驗基于Ubuntu系統(tǒng)平臺,利用NS-2網(wǎng)絡(luò)模擬器進行WSN仿真實驗,采用Python3.6語言和eclipse環(huán)境檢驗該文方案的有效性。
5.1.1 實驗數(shù)據(jù)
實驗利用NS-2網(wǎng)絡(luò)仿真平臺搭建WSN仿真環(huán)境,配置如表2所示。
表2 WSN仿真環(huán)境配置
實驗數(shù)據(jù)基于上述WSN仿真環(huán)境,以采樣頻率0.25 Hz統(tǒng)計WSN區(qū)域內(nèi)的流量以模擬實時采樣環(huán)節(jié),得到500個流量樣本點。將第1至400個樣本點作為Γm-p(·)輸入,以預(yù)測第401至500個流量樣本點,作為流量特征的擴充維度。針對本文方案提出的m-p流量預(yù)測函數(shù)Γm-p(·),采用文獻[21]提出的優(yōu)化FAEMD-OSELM流量預(yù)測模型,其中m=400, p=100。
在上述流量采樣過程中,分別采用Blackhole,F(xiàn)looding和Grayhole攻擊模型[22]在第451至480個樣本時間段模擬網(wǎng)絡(luò)異常情況,如圖5所示。將包含異常流量的第401至500個網(wǎng)絡(luò)流量分別作為Blackhole, Flooding和Grayhole測試數(shù)據(jù)集,其中第451至480個為網(wǎng)絡(luò)異常時的采樣流量,其余為網(wǎng)絡(luò)正常時的采樣流量。
圖5 WSN異常流量數(shù)據(jù)
5.1.2 實驗參數(shù)設(shè)置
實驗選擇文獻[23]中的ENDTW-O-CFSFDP流量異常檢測模型、文獻[24]中的BasisEvolution流量異常檢測模型和文獻[14]中的BIRCH流量異常檢測模型與本文方案進行對比,結(jié)合Blackhole, Flooding,Grayhole 3種測試數(shù)據(jù)集,綜合比較方案的流量異常檢測性能。相較于基于PCA-BIRCH的方案,本文方案設(shè)計的啟發(fā)式閾值T無需人為設(shè)定,更具自適應(yīng)性,其初始值T0由測試數(shù)據(jù)集Blackhole,F(xiàn)looding, Grayhole確定,分別為4.18, 3.89, 3.94。
本文方案需要設(shè)定的參數(shù)為非葉節(jié)點分支因子B和葉子節(jié)點分支因子L,通常B取4, 5, 6,L取4,5, 6, 7為最佳聚類效果經(jīng)驗值。由于B, L一定程度上決定了OCF-Tree的形狀以影響聚類效果,因此實驗針對3種測試數(shù)據(jù)集,分別設(shè)置B取2至10,L取1至10,研究B, L取值對本文方案檢測結(jié)果的F1值和準確率的影響。如圖6所示,若選取的B或L過大,距離簇質(zhì)心較遠的正常樣本將被劃分成獨立的聚類簇,并被判決為異常流量,從而增加了正常樣本被錯誤判決的比例;相反地,若選取的B或L過小,受限于OCF-Tree的節(jié)點分支數(shù)量,異常樣本將被強制劃分到距離最近的聚類簇中,并增大該聚類簇的規(guī)模,導(dǎo)致其被判決為正常流量,從而增加了異常樣本被錯誤判決的比例。在上述兩類情況下,本文檢測結(jié)果的F1值、準確率較低,檢測效果較差。因此,實驗選擇聚類效果最好時的B=4, L=5作為本文方案的實驗參數(shù)。
圖6 B, L的取值對F1值和準確率的影響
實驗選擇精確率 (Precise, Pr) 、召回率 (Recall,Re) 、F1值和準確率 (Accuracy, Ac) 作為方案流量異常檢測效果的評價指標。Pr為被正確判決的正常樣本占所有被判決為正常點的比例,Re為被正確判決的正常樣本占所有正常樣本的比例,F(xiàn)1為反映方案整體檢測效果的綜合評價指標,Ac為被正確判決的樣本占所有樣本的比例,其中Pr, Re,F(xiàn)1∈[0,1],其值越大表明方案檢測效果越好。通過20次獨立重復(fù)實驗,檢測方案針對3種測試數(shù)據(jù)集的Pr, Re, F1和Ac如表3所示。
表3 各方案檢測性能對比(%)
針對3種測試集,基于BasisEvolution方案將網(wǎng)絡(luò)流量判決為異常樣本的數(shù)量明顯高于其他方案,雖然該方案可以正確檢測出大部分的異常流量,在Pr方面具有絕對優(yōu)勢,但同時也將較多的正常流量錯誤地判決為異常樣本,導(dǎo)致其Re較低。相反地,基于ENDTW-O-CFSFDP方案正常流量的誤判率低于其他方案,在Re方面具有一定的優(yōu)勢,且略高于該文方案,但由于該方案的異常流量檢出率較低,其Pr較低?;贐IRCH的方案僅根據(jù)BIRCH聚類結(jié)果判斷流量是否異常,缺乏合理的異常判決機制,其Pr與Re均低于該文方案。
進一步,相較于基于ENDTW-O-CFSFDP,BasisEvolution, BIRCH的方案,在綜合指標F1值方面,本文方案對Blackhole測試集分別提高了5.3%, 3.3%, 11.0%,對Flooding測試集分別提高了5.8%, 5.4%, 12.4%,對Grayhole測試集分別提高了8.9%, 9.1%, 14.0%;在Ac方面,本文方案對Blackhole測試集分別提高了9.0%, 4.0%, 17.0%,對Flooding測試集分別提高了9.0%, 6.0%, 18.0%,對Grayhole測試集分別提高了15.0%, 10.0%, 20.0%,表明本文方案在檢出異常流量的同時,可以有效避免將正常樣本判決為異常樣本,且針對不同網(wǎng)絡(luò)攻擊造成的流量異?,F(xiàn)象都具有較好的檢測能力。
如表4所示,相較于基于ENDTW-O-CFSFDP,BasisEvolution, BIRCH的方案,本文方案F1值的均值分別提高了6.7%, 6.0%, 12.5%,Ac的均值分別提高了11.0%, 6.7%, 18.3%,具有較好的異常流量的檢出能力,表明本文方案對整個測試樣本的正負類判別準確度較好。同時,本文方案根據(jù)網(wǎng)絡(luò)流量特征之間的差異先篩選出可疑流量點,再結(jié)合預(yù)測值綜合判決流量是否異常,因此,本文方案對應(yīng)的F1值與Ac的標準差最小,表明本文方案針對不同類型網(wǎng)絡(luò)攻擊造成的異常流量都具有較為穩(wěn)定的檢測性能。
表4 各方案F1值、Ac的均值(%) 與標準差對比
綜上所述,本文提出的流量異常檢測方案可以有效檢測由不同WSN網(wǎng)絡(luò)攻擊導(dǎo)致的異常流量,且檢測性能穩(wěn)定。
本文在深入研究網(wǎng)絡(luò)流量異常檢測技術(shù)的基礎(chǔ)上,提出了一種基于BIRCH的WSN流量異常檢測方案。本文方案設(shè)計了基于OCF-Tree的BIRCH聚類分析算法,有效克服樣本的特征類型和輸入順序?qū)IRCH造成的影響,提高了聚類的質(zhì)量和穩(wěn)定性。同時,提出一種基于預(yù)測的特征維度擴充方法,通過在流量特征中增加隱含流量時序關(guān)系的預(yù)測序列和誤差序列,以適應(yīng)BIRCH聚類分析算法。進一步,根據(jù)流量序列特征分析,定義拐點概念,設(shè)計基于拐點的綜合判決機制,減少BIRCH聚類分析過程對檢測結(jié)果的影響,保證了流量異常檢測的準確性。實驗結(jié)果表明,相較于同類方案,本文方案在檢測效果和性能穩(wěn)定性方面具有明顯優(yōu)勢。
下一步研究中,將針對OCF-Tree結(jié)構(gòu)中分支因子B, L的選擇,設(shè)計啟發(fā)式算法求解最優(yōu)值,同時,解決如何在保證聚類質(zhì)量的前提下盡可能減小構(gòu)建OCF-Tree所需內(nèi)存的問題。