田洪生仝 軍吳翠紅
(1.長春信息技術(shù)職業(yè)學院 計算機學院,吉林 長春 130103;2.長春電子科技學院 機電工程學院,吉林 長春 130000)
隨著傳感技術(shù)與通信技術(shù)的迅速發(fā)展,具有計算功能、感知功能與通信功能的無線傳感器網(wǎng)絡(luò)逐漸擁有了更為廣闊的應(yīng)用空間。作為物聯(lián)網(wǎng)的重要組成部分,被廣泛應(yīng)用于環(huán)境監(jiān)測、智慧醫(yī)療、智能家居等領(lǐng)域[1]。
無線傳感器網(wǎng)絡(luò)綜合運用分布式信息處理技術(shù)與傳感器技術(shù),通過實時監(jiān)控、數(shù)據(jù)采集與感知來挖掘所需的信息,同時對這些信息進行系統(tǒng)性處理,以便作出適用的決策。但是無線傳感網(wǎng)絡(luò)屬于一種易受監(jiān)聽和干擾的開放系統(tǒng)[2],且在現(xiàn)實環(huán)境中,傳感器故障或者環(huán)境因素的突變極易導致傳感器網(wǎng)絡(luò)中的部分采集數(shù)據(jù)出現(xiàn)異常[3]。此外,在實際應(yīng)用中,傳感器網(wǎng)絡(luò)中的節(jié)點在功率、帶寬等方面存在的固有局限性非常容易導致網(wǎng)絡(luò)遭到惡意程序的破壞,從而影響數(shù)據(jù)集的完整性和可靠性。因此,不論是對外部突發(fā)異常的預警,還是對傳感器網(wǎng)絡(luò)自身的狀態(tài)監(jiān)控,實時檢測傳感網(wǎng)絡(luò)數(shù)據(jù)的異常都具有非常重要的意義。
為此,文獻[4]提出一種基于深度信念網(wǎng)絡(luò)的高維傳感器數(shù)據(jù)異常檢測算法。其首先利用深度信念網(wǎng)絡(luò)提取高維數(shù)據(jù)特征,并檢測降維后的數(shù)據(jù)異常。然后結(jié)合的1/4超球面支持向量機(Quarter-Sphere Support Vector Machine,QSSVM)與滑動窗口模型實現(xiàn)了在線式異常檢測。文獻[5]針對廣播式自動相關(guān)監(jiān)視(Automatic Dependent Surveillance-Broadcast,ADS-B)數(shù)據(jù)提出了一種異常數(shù)據(jù)檢測模型。在利用雙向門控循環(huán)單元(Bidirectional Gated Recurrent Unit,BiGRU)神經(jīng)網(wǎng)絡(luò)預測數(shù)據(jù)的基礎(chǔ)上,對預測值和實際值作差,并將差值放入支持向量數(shù)據(jù)描述(Support Vector Data Description,SVDD)訓練,獲取能檢測異常數(shù)據(jù)的超球體分類器,然后通過選擇合適滑動窗口保證異常檢測的準確率。文獻[6]中針對光纖通信網(wǎng)絡(luò),基于數(shù)據(jù)挖掘過程設(shè)計了一種異常數(shù)據(jù)檢方法。該方法在分類數(shù)據(jù)樣本屬性的基礎(chǔ)上,根據(jù)異常數(shù)據(jù)特征密度指標選取鄰域區(qū)間半徑,然后通過對高階統(tǒng)計量的大數(shù)據(jù)聚類度循環(huán)迭代,并優(yōu)化特征提取參數(shù),由樣本屬性概率計算熵目標函數(shù)的最優(yōu)值,并利用最優(yōu)值完成異常數(shù)據(jù)檢測。
國外學者也針對數(shù)據(jù)異常檢測展開了研究。文獻[7]中考慮了未知概率分布下的數(shù)據(jù)異常問題,提出了一種結(jié)合基于擬生成對抗網(wǎng)絡(luò)的異常檢測方法。其在訓練逆生成對抗網(wǎng)絡(luò)時,將數(shù)據(jù)轉(zhuǎn)換為經(jīng)典的均勻與非均勻假設(shè)檢驗問題。文獻[8]中設(shè)計了一種基于物理定律的邊緣傳感器節(jié)點實驗數(shù)據(jù)異常檢測方法。該方法在檢查不同種類型的傳感器測量值之間的自然關(guān)系的基礎(chǔ)上,檢測傳感節(jié)點中是否存在任何數(shù)據(jù)異常。
為了提高無線傳感網(wǎng)絡(luò)環(huán)境的安全性、防止信息被竊取或攻擊,本文提出一種基于云框架直方圖的無線傳感網(wǎng)絡(luò)數(shù)據(jù)異常檢測方法。
云模型以高斯函數(shù)作為基礎(chǔ),以熵值En(σ)、期望值Ex與超熵He這三種向量特征進行表述。其中,Ex能夠描述論域的中心值,En(σ)可描述為信息模糊程度,超熵He為數(shù)據(jù)離散程度。
通過分類云模型能夠得到模型內(nèi)所有數(shù)據(jù)種類i的分類函數(shù),通過一維云模型對所有數(shù)據(jù)屬性j進行建模。這個流程獲得的三個數(shù)字特征分別為超熵Heij、熵值Enij(σij)與期望值Exij,這三種值能夠使Hij=0,數(shù)據(jù)種類i的屬性j的建模結(jié)果為:
式中:x代表數(shù)據(jù)種類i的屬性j的隨機數(shù)值,Exij代表數(shù)據(jù)種類i的屬性j的中心值,Enij(σij)代表數(shù)據(jù)種類i的屬性j的熵值集合中的元素,Aij代表論域內(nèi)隨機一種屬性值x的隸屬度值。
在數(shù)據(jù)挖掘的工作中開展異常檢測,其任務(wù)是發(fā)現(xiàn)與常規(guī)數(shù)據(jù)模式顯著不同的數(shù)據(jù)模式,亦可將異常檢測認為是一種對新模式的發(fā)現(xiàn)。若數(shù)據(jù)種類i的分類函數(shù)通過高維云模型進行描述,模型維數(shù)由數(shù)據(jù)種類的屬性總量評定,就是所有屬性的一維云模型構(gòu)成數(shù)據(jù)種類i的高維分類模型,這時D維的分類模型可以表示為如下形式:
根據(jù)云模型的信息熵可以判斷網(wǎng)絡(luò)中各分段聚合數(shù)據(jù)的穩(wěn)定性[9],從而判斷網(wǎng)絡(luò)的混亂程度。網(wǎng)絡(luò)越混亂,其中所包含的信息也就越多,熵值會越高;反之,熵值就會越低。在信息理論中,信息熵主要通過數(shù)值公式表示取值的不確定程度,其目標為刻劃信息總量,并采用SMOTE與ENN對少數(shù)類樣本進行過采樣解決不平衡問題,再對網(wǎng)絡(luò)流量數(shù)據(jù)的特征進行歸一化。
本研究在香農(nóng)公式內(nèi),加入信息熵以衡量數(shù)據(jù)樣本內(nèi)的分散與集中程度,數(shù)據(jù)樣本X={ni,i=1,…,N}代表檢測數(shù)據(jù)內(nèi)樣本i出現(xiàn)了ni次,那么信息熵擬定如下所示:
考慮到數(shù)據(jù)樣本序列的密集與稀疏程度和樣本之間空間與時間距離沒有關(guān)聯(lián),只與數(shù)據(jù)樣本值的異同狀態(tài)有關(guān),那么可以假設(shè):對兩種數(shù)目相等的樣本序列X與Y進行描述,X可代表1單位時間的數(shù)據(jù)樣本序列,Y代表2單位時間的數(shù)據(jù)樣本序列。當二者內(nèi)每個樣本值都不同,且都達到了最稀疏狀況,就能夠認定這兩種數(shù)據(jù)樣本序列的分布稀疏程度相同。
根據(jù)上述設(shè)定,將連續(xù)數(shù)據(jù)包內(nèi)隨機特征的序列值當作數(shù)據(jù)樣本計算特征熵值,依靠該熵值描述數(shù)據(jù)特征樣本序列的密集與稀疏程度。
由于無線傳感器網(wǎng)絡(luò)數(shù)據(jù)為細粒度的包數(shù)據(jù),而不是粗粒度的流數(shù)據(jù)。因此,本文通過固定的細粒度包數(shù)W當做數(shù)據(jù)包間隔來計算數(shù)據(jù)信息熵值。然后基于數(shù)據(jù)包間隔計算數(shù)據(jù)內(nèi)某個特征的熵值,從而精確反映該特征樣本序列的密集與稀疏程度。
在使用數(shù)據(jù)包間隔計算樣本數(shù)據(jù)熵值的過程中,數(shù)據(jù)包內(nèi)樣本的總量W是一種可調(diào)節(jié)參數(shù),該參數(shù)控制著特征短時內(nèi)變化狀態(tài),其值與鏈路帶寬的負載存在關(guān)聯(lián),提高W就會減少熵的變化,從而縮減檢測的誤差率,但W在原則上需要盡量減小,可以使異常數(shù)據(jù)能夠被盡快檢測出來。因此,本文擬定值為W=6 000。流量為分秒級別,這是因為在檢測過程中,最小延遲只需要分秒級別。在對熵值進行計算時,需要計算連續(xù)的S個包的熵,然后轉(zhuǎn)移到下一個臨近的S個包計算其相應(yīng)熵值。
以信息值作為無線傳感器網(wǎng)絡(luò)數(shù)據(jù)檢測閾值,如果超出該閾值就代表傳感網(wǎng)絡(luò)中數(shù)據(jù)分布較為混亂,證明其中可能存在異常數(shù)據(jù)。
無線傳感網(wǎng)絡(luò)是由多個小型傳感器分布式組成的,受到噪聲、接收信號強度、入侵攻擊等開放性因素的影響,無線傳感網(wǎng)絡(luò)中的數(shù)據(jù)并不總是可靠的[10]。為了減少誤報,需要對這些數(shù)據(jù)進行異常檢測[11]。
針對無線傳感器網(wǎng)絡(luò)數(shù)據(jù),以往的串行運算很難滿足檢測的實時性需求。本文利用云框架下的直方圖來對其中的異常數(shù)據(jù)展開檢測。
1.3.1 直方圖數(shù)據(jù)屬性信息映射
通過檢測指標明確可能存在異常數(shù)據(jù)的混沌序列,但是不代表其中都含有異常數(shù)據(jù),多數(shù)都是由于數(shù)據(jù)過于冗雜產(chǎn)生的分布混亂現(xiàn)象。為此,在簡單統(tǒng)計字節(jié)數(shù)與數(shù)據(jù)包的基礎(chǔ)上,構(gòu)建數(shù)據(jù)時間序列的關(guān)聯(lián)模型,分析目標序列集合混亂趨勢,明確無線傳感器網(wǎng)絡(luò)數(shù)據(jù)間的自相關(guān)性,然后使用直方圖實現(xiàn)數(shù)據(jù)異常檢測。在這一過程中,根據(jù)對數(shù)據(jù)分布特征的分析結(jié)果,明確異常數(shù)據(jù)的具體位置。直方圖根據(jù)信息熵閾值的動態(tài)設(shè)定情況,結(jié)合細粒度的檢測數(shù)據(jù)信息,繼而找出更多沒有引起明顯異常變化的數(shù)據(jù)異常。
在利用云架構(gòu)直方圖檢測數(shù)據(jù)異常時,根據(jù)不同的數(shù)據(jù)特征構(gòu)建直方圖,映射數(shù)據(jù)在某個維度內(nèi)的分布狀況。其中,直方圖的橫坐標代表某數(shù)據(jù)特征,一般表示為目標IP、端口或TCP標志位等,縱坐標代表通過維度內(nèi)的網(wǎng)絡(luò)數(shù)據(jù),構(gòu)建源IP地址的數(shù)據(jù)直方圖,橫坐標為IP地址取值,具有n個部分,ci代表第i個部分相應(yīng)的IP地址范圍中,數(shù)據(jù)包的大小,i∈[1,2,…,n],那么該直方圖能夠通過向量C=(c1,c2,…,cn)進行描述。對直方圖算法供給的數(shù)據(jù)分類理念上,依靠分布特征的變化對比熵閾值來檢測信息屬性數(shù)據(jù)是否存在異常數(shù)據(jù)。
檢測方法的第一步是對數(shù)據(jù)進行統(tǒng)計。首先挑選特征屬性,特征屬性通常挑選目標IP地址、端口號或TCP標志等常用的數(shù)據(jù)特征,所有數(shù)據(jù)特征都需要對應(yīng)一個函數(shù)與一個數(shù)組,數(shù)組內(nèi)會存在數(shù)據(jù)對應(yīng)的計數(shù)器,在一條數(shù)據(jù)包達到計數(shù)器閾值時,使用數(shù)據(jù)特征對應(yīng)的函數(shù)進行運算,同時映射至相應(yīng)的數(shù)組坐標中,并對相應(yīng)計算器進行更新。最后利用數(shù)組構(gòu)建直方圖C=(c1,c2,…,cn)。
1.3.2 計算數(shù)據(jù)相似度
擬定兩個數(shù)據(jù)空間Hi、Hj,d(Hi,Hj)代表兩個數(shù)據(jù)空間的距離,d(Hik,Hjk)代表兩個數(shù)據(jù)空間k維屬性空間的距離,二者的表達式為:
式中:Exik、Exjk別代表數(shù)據(jù)空間Hi與Hj的第k維數(shù)據(jù)屬性空間的中心,σik與σjk分別代表兩種屬性空間的熵。
利用數(shù)據(jù)空間Hi、Hj表示第k維屬性空間的相似度,其通過公式能夠描述成:
式中:d(Hik,Hjk)=0,第k維屬性對Hi與Hj的分類并不會起到作用,d(Hik,Hjk)≥1,Hi與Hj即兩種互不干涉的數(shù)據(jù)空間,第k維屬性能夠把兩個數(shù)據(jù)空間分開,0<d(Hi,Hj)<1時,Hi與Hj第k維相交的數(shù)據(jù)空間,其相似度越大,對檢測的作用就越小。
擬定m(m>2)個D維數(shù)據(jù)空間的距離是:
而m(m>2)個D維數(shù)據(jù)空間的第k維屬性空間距離是:
對存在D種屬性的若干種數(shù)據(jù)空間進行檢測時,存在最小相似度的屬性對檢測的貢獻最大,計算數(shù)據(jù)相似度就能夠運算出屬性在檢測中的權(quán)值。
1.3.3 數(shù)據(jù)異常粗檢測
傳感網(wǎng)絡(luò)中的能量消耗大多來自于節(jié)點間彼此的通信過程。因此,異常檢測的關(guān)鍵是將計算過程分布到各個子級節(jié)點中,從而盡可能地降低網(wǎng)絡(luò)通信需求[12]。在無線傳感器網(wǎng)絡(luò)的通信過程中,異常數(shù)據(jù)會干擾到網(wǎng)絡(luò)的正常運行。因此,在計算數(shù)據(jù)相似度之后,需要對這些數(shù)據(jù)進行過濾。
假設(shè)在數(shù)據(jù)集合內(nèi)存在m種直方圖,那么元素的數(shù)量不超過p×m且高于熵值的數(shù)據(jù)段被認定為不存在異常數(shù)據(jù)。一般擬定數(shù)據(jù)段閾值p=5。具體的粗檢測流程如下所示:①按照數(shù)據(jù)段的大小進行排列,θ→1;②如果滿足θ≥p,那么直接就能夠認定當前檢測數(shù)據(jù)為異常數(shù)據(jù);③如果θ<p,那么重新迭代步驟2;④標記C1,C2,…,Cθ代表異常數(shù)據(jù)段。
綜上所述,數(shù)據(jù)異常粗流程如圖1所示。
圖1 數(shù)據(jù)異常粗檢測流程圖
1.3.4 數(shù)據(jù)異常細檢測
為了更加精確地檢測出數(shù)據(jù)是否存在異常,本文使用超矩形方法,在粗檢測基礎(chǔ)上對所有數(shù)據(jù)段分別運算其不同維度上的取值方位,擬定數(shù)據(jù)段Ci在維度j內(nèi)的取值上界是U(Ci,j),下界是L(Ci,j),j∈(1,2,…,m),i∈(1,2,…,k),m代表維數(shù),k代表元素個數(shù),z代表數(shù)據(jù)段的總數(shù)。細檢測的具體流程如下所示:①初始化i→1;②初始化上界與下界,U(Ci,j)→I(dk,j),L(Ci,j)→I(dk,j),I(dk,j)代表數(shù)據(jù)段內(nèi)元素dk在維度j內(nèi)的值;③假如k≥|Ci|,那么i→i+1,重新運行步驟(2),反之k→k+1;④假如U(Ci,j)<I(dk,j),那么U(Ci,j)→I(dk,j),假如L(Ci,j)>I(dk,j),那么U(Ci,j)→I(dk,j)。隨后運行步驟③重新運算,輸出全局最優(yōu)結(jié)果。
在檢測時,分別對比預檢測數(shù)據(jù)的所有維度。如果所有維度內(nèi)的數(shù)都在同一個數(shù)據(jù)段內(nèi),那么該數(shù)據(jù)就是正常數(shù)據(jù),反之則判定其為異常數(shù)據(jù)。
綜上所述,數(shù)據(jù)異常細流程如圖2所示。
圖2 數(shù)據(jù)異常細檢測流程圖
為了檢驗基于云框架直方圖的無線傳感網(wǎng)絡(luò)數(shù)據(jù)異常檢測方法的實用性能,設(shè)計如下仿真分析過程。
實驗以國際通用的IBRL數(shù)據(jù)集為對象,其由300個傳感器節(jié)點的數(shù)組組成,數(shù)據(jù)采樣頻率為10 s。在IBRL數(shù)據(jù)集中通過隨機的方式加入比例為5%的異常數(shù)據(jù),然后再隨機抽選其中500 GB的有效數(shù)據(jù)量完成實驗。
在進行數(shù)據(jù)異常檢測前需要對數(shù)據(jù)實施歸一化處理,以達到降低數(shù)據(jù)冗余的目的,提高檢測效率和收斂性。在歸一化處理后,以95%為置信區(qū)間,對比本文方法的歸一化訓練曲線與實際訓練曲線,結(jié)果如圖3所示。
圖3 歸一化訓練結(jié)果
觀察圖3可以看出,在設(shè)定的置信區(qū)間中,本文方法的歸一化訓練結(jié)果基本符合理論歸一化處理的大致變化趨勢,且一直保持在95%的置信區(qū)間內(nèi),能夠證明所提方法歸一化精度高,為后續(xù)的異常檢測奠定了有效基礎(chǔ)。
為避免因?qū)嶒灲Y(jié)果單一而降低其說服力,將基于分布式壓縮感知的無線傳感器網(wǎng)絡(luò)異常數(shù)據(jù)處理方法(文獻[3]方法)和基于逆生成對抗網(wǎng)絡(luò)的數(shù)據(jù)異常檢測方法(文獻[7]方法)作為對比,從檢測過程耗時、檢測誤差以及檢測能耗的角度,與本文方法共同完成性能驗證。
2.3.1 檢測耗時分析
分別利用3種方法完成對500 GB數(shù)據(jù)集中數(shù)據(jù)異常的檢測,記錄不同方法的檢測耗時,結(jié)果如圖4所示。
圖4 不同方法的數(shù)據(jù)異常檢測耗時對比
通過分析圖4能夠看出,隨著待檢測數(shù)據(jù)量的增加,不同方法的檢測耗時也在逐步增加。在數(shù)據(jù)量達到400 GB時,文獻[7]方法的檢測耗時達到46 s,之后增幅明顯,而文獻[3]方法和本文方法的檢測耗時增長情況較為平穩(wěn)。相比之下,本文方法的檢測耗時更少,在數(shù)據(jù)量最大的情況下,其檢測耗時最多為41 s,說明本文方法具有檢測過程時效性高的應(yīng)用優(yōu)勢。這是因為本文方法以信息熵為判斷指標,針對可能存在異常數(shù)據(jù)的傳感網(wǎng)絡(luò)環(huán)境計算了數(shù)據(jù)間相似度,通過比較相似度避免擬定過多復雜的檢測指標,從而有效縮減了檢測耗時。
2.3.2 檢測誤差分析
在檢測耗時情況的基礎(chǔ)上,對異常數(shù)據(jù)樣本數(shù)量與檢測出的異常數(shù)據(jù)數(shù)量作差,再計算差值與異常數(shù)據(jù)樣本數(shù)量間的比值,從而獲得不同方法的檢測誤差,結(jié)果如圖5所示。
圖5 不同方法的數(shù)據(jù)異常檢測誤差對比
通過分析圖5能夠看出,隨著待檢測數(shù)據(jù)量的增加,不同方法的檢測誤差也隨之增加。但相比之下,本文方法的檢測誤差線始終處于另外兩種方法誤差線之下,在數(shù)據(jù)量最大時,其檢測誤差也僅為1.2%。而文獻[3]和文獻[7]方法的最大檢測誤差分別為2.6%、2.4%,明顯高于本文方法的檢測誤差。這是因為本文方法根據(jù)不同數(shù)據(jù)特征構(gòu)建云框架直方圖,通過比較低的數(shù)據(jù)間相似度閾值完成數(shù)據(jù)異常粗檢測,在此基礎(chǔ)上利用進一步的細檢測來保證檢測結(jié)果的有效性,從而降低了檢測誤差。
2.3.3 檢測能耗分析
在上述分析的基礎(chǔ)上,對異常數(shù)據(jù)檢測過程的能耗展開分析,從而進一步驗證不同方法的實用性能。實驗以不同方法異常數(shù)據(jù)檢測過程產(chǎn)生的能耗占數(shù)據(jù)中心機房總能耗的百分比為指標,得到實驗結(jié)果如圖6所示。
圖6 不同檢測方法的能耗占比對比
通過分析圖6能夠看出,隨著待檢測數(shù)據(jù)量的增加,不同方法在檢測異常數(shù)據(jù)過程中的能耗也隨之增加,其產(chǎn)生的能耗占數(shù)據(jù)中心機房總能耗的百分比數(shù)值也相應(yīng)增大。但根據(jù)圖4中的線段變化情況及其位置可以看出,本文方法的能耗量明顯少于兩種對比方法,這是因為本文方法分析設(shè)計了數(shù)據(jù)異常粗檢測和細檢測過程,在不同維度空間內(nèi),利用超矩形方法對比粗檢測后數(shù)據(jù)是否處于同一數(shù)段,避免盲目搜索,從而降低了檢測能耗。
本研究提出一種的基于云框架直方圖的無線傳感網(wǎng)絡(luò)數(shù)據(jù)異常檢測方法,利用直方圖與超矩形算法,實現(xiàn)對無線傳感網(wǎng)絡(luò)數(shù)據(jù)異常的粗、細二次檢測,使檢測結(jié)果更加精準有效。但是該方法會對每個網(wǎng)絡(luò)節(jié)點都進行直方圖變換,導致網(wǎng)絡(luò)系統(tǒng)出現(xiàn)小幅度的負載不均衡問題。因此,下一步的研究方向為:在不影響無線傳感網(wǎng)絡(luò)基礎(chǔ)性能的同時,引入分布式處理機制完成數(shù)據(jù)本地化檢測。