田洪生仝 軍吳翠紅
(1.長春信息技術職業學院 計算機學院,吉林 長春 130103;2.長春電子科技學院 機電工程學院,吉林 長春 130000)
隨著傳感技術與通信技術的迅速發展,具有計算功能、感知功能與通信功能的無線傳感器網絡逐漸擁有了更為廣闊的應用空間。作為物聯網的重要組成部分,被廣泛應用于環境監測、智慧醫療、智能家居等領域[1]。
無線傳感器網絡綜合運用分布式信息處理技術與傳感器技術,通過實時監控、數據采集與感知來挖掘所需的信息,同時對這些信息進行系統性處理,以便作出適用的決策。但是無線傳感網絡屬于一種易受監聽和干擾的開放系統[2],且在現實環境中,傳感器故障或者環境因素的突變極易導致傳感器網絡中的部分采集數據出現異常[3]。此外,在實際應用中,傳感器網絡中的節點在功率、帶寬等方面存在的固有局限性非常容易導致網絡遭到惡意程序的破壞,從而影響數據集的完整性和可靠性。因此,不論是對外部突發異常的預警,還是對傳感器網絡自身的狀態監控,實時檢測傳感網絡數據的異常都具有非常重要的意義。
為此,文獻[4]提出一種基于深度信念網絡的高維傳感器數據異常檢測算法。其首先利用深度信念網絡提取高維數據特征,并檢測降維后的數據異常。然后結合的1/4超球面支持向量機(Quarter-Sphere Support Vector Machine,QSSVM)與滑動窗口模型實現了在線式異常檢測。文獻[5]針對廣播式自動相關監視(Automatic Dependent Surveillance-Broadcast,ADS-B)數據提出了一種異常數據檢測模型。在利用雙向門控循環單元(Bidirectional Gated Recurrent Unit,BiGRU)神經網絡預測數據的基礎上,對預測值和實際值作差,并將差值放入支持向量數據描述(Support Vector Data Description,SVDD)訓練,獲取能檢測異常數據的超球體分類器,然后通過選擇合適滑動窗口保證異常檢測的準確率。文獻[6]中針對光纖通信網絡,基于數據挖掘過程設計了一種異常數據檢方法。該方法在分類數據樣本屬性的基礎上,根據異常數據特征密度指標選取鄰域區間半徑,然后通過對高階統計量的大數據聚類度循環迭代,并優化特征提取參數,由樣本屬性概率計算熵目標函數的最優值,并利用最優值完成異常數據檢測。
國外學者也針對數據異常檢測展開了研究。文獻[7]中考慮了未知概率分布下的數據異常問題,提出了一種結合基于擬生成對抗網絡的異常檢測方法。其在訓練逆生成對抗網絡時,將數據轉換為經典的均勻與非均勻假設檢驗問題。文獻[8]中設計了一種基于物理定律的邊緣傳感器節點實驗數據異常檢測方法。該方法在檢查不同種類型的傳感器測量值之間的自然關系的基礎上,檢測傳感節點中是否存在任何數據異常。
為了提高無線傳感網絡環境的安全性、防止信息被竊取或攻擊,本文提出一種基于云框架直方圖的無線傳感網絡數據異常檢測方法。
云模型以高斯函數作為基礎,以熵值En(σ)、期望值Ex與超熵He這三種向量特征進行表述。其中,Ex能夠描述論域的中心值,En(σ)可描述為信息模糊程度,超熵He為數據離散程度。
通過分類云模型能夠得到模型內所有數據種類i的分類函數,通過一維云模型對所有數據屬性j進行建模。這個流程獲得的三個數字特征分別為超熵Heij、熵值Enij(σij)與期望值Exij,這三種值能夠使Hij=0,數據種類i的屬性j的建模結果為:
式中:x代表數據種類i的屬性j的隨機數值,Exij代表數據種類i的屬性j的中心值,Enij(σij)代表數據種類i的屬性j的熵值集合中的元素,Aij代表論域內隨機一種屬性值x的隸屬度值。
在數據挖掘的工作中開展異常檢測,其任務是發現與常規數據模式顯著不同的數據模式,亦可將異常檢測認為是一種對新模式的發現。若數據種類i的分類函數通過高維云模型進行描述,模型維數由數據種類的屬性總量評定,就是所有屬性的一維云模型構成數據種類i的高維分類模型,這時D維的分類模型可以表示為如下形式:

根據云模型的信息熵可以判斷網絡中各分段聚合數據的穩定性[9],從而判斷網絡的混亂程度。網絡越混亂,其中所包含的信息也就越多,熵值會越高;反之,熵值就會越低。在信息理論中,信息熵主要通過數值公式表示取值的不確定程度,其目標為刻劃信息總量,并采用SMOTE與ENN對少數類樣本進行過采樣解決不平衡問題,再對網絡流量數據的特征進行歸一化。
本研究在香農公式內,加入信息熵以衡量數據樣本內的分散與集中程度,數據樣本X={ni,i=1,…,N}代表檢測數據內樣本i出現了ni次,那么信息熵擬定如下所示:

考慮到數據樣本序列的密集與稀疏程度和樣本之間空間與時間距離沒有關聯,只與數據樣本值的異同狀態有關,那么可以假設:對兩種數目相等的樣本序列X與Y進行描述,X可代表1單位時間的數據樣本序列,Y代表2單位時間的數據樣本序列。當二者內每個樣本值都不同,且都達到了最稀疏狀況,就能夠認定這兩種數據樣本序列的分布稀疏程度相同。
根據上述設定,將連續數據包內隨機特征的序列值當作數據樣本計算特征熵值,依靠該熵值描述數據特征樣本序列的密集與稀疏程度。
由于無線傳感器網絡數據為細粒度的包數據,而不是粗粒度的流數據。因此,本文通過固定的細粒度包數W當做數據包間隔來計算數據信息熵值。然后基于數據包間隔計算數據內某個特征的熵值,從而精確反映該特征樣本序列的密集與稀疏程度。
在使用數據包間隔計算樣本數據熵值的過程中,數據包內樣本的總量W是一種可調節參數,該參數控制著特征短時內變化狀態,其值與鏈路帶寬的負載存在關聯,提高W就會減少熵的變化,從而縮減檢測的誤差率,但W在原則上需要盡量減小,可以使異常數據能夠被盡快檢測出來。因此,本文擬定值為W=6 000。流量為分秒級別,這是因為在檢測過程中,最小延遲只需要分秒級別。在對熵值進行計算時,需要計算連續的S個包的熵,然后轉移到下一個臨近的S個包計算其相應熵值。
以信息值作為無線傳感器網絡數據檢測閾值,如果超出該閾值就代表傳感網絡中數據分布較為混亂,證明其中可能存在異常數據。
無線傳感網絡是由多個小型傳感器分布式組成的,受到噪聲、接收信號強度、入侵攻擊等開放性因素的影響,無線傳感網絡中的數據并不總是可靠的[10]。為了減少誤報,需要對這些數據進行異常檢測[11]。
針對無線傳感器網絡數據,以往的串行運算很難滿足檢測的實時性需求。本文利用云框架下的直方圖來對其中的異常數據展開檢測。
1.3.1 直方圖數據屬性信息映射
通過檢測指標明確可能存在異常數據的混沌序列,但是不代表其中都含有異常數據,多數都是由于數據過于冗雜產生的分布混亂現象。為此,在簡單統計字節數與數據包的基礎上,構建數據時間序列的關聯模型,分析目標序列集合混亂趨勢,明確無線傳感器網絡數據間的自相關性,然后使用直方圖實現數據異常檢測。在這一過程中,根據對數據分布特征的分析結果,明確異常數據的具體位置。直方圖根據信息熵閾值的動態設定情況,結合細粒度的檢測數據信息,繼而找出更多沒有引起明顯異常變化的數據異常。
在利用云架構直方圖檢測數據異常時,根據不同的數據特征構建直方圖,映射數據在某個維度內的分布狀況。其中,直方圖的橫坐標代表某數據特征,一般表示為目標IP、端口或TCP標志位等,縱坐標代表通過維度內的網絡數據,構建源IP地址的數據直方圖,橫坐標為IP地址取值,具有n個部分,ci代表第i個部分相應的IP地址范圍中,數據包的大小,i∈[1,2,…,n],那么該直方圖能夠通過向量C=(c1,c2,…,cn)進行描述。對直方圖算法供給的數據分類理念上,依靠分布特征的變化對比熵閾值來檢測信息屬性數據是否存在異常數據。
檢測方法的第一步是對數據進行統計。首先挑選特征屬性,特征屬性通常挑選目標IP地址、端口號或TCP標志等常用的數據特征,所有數據特征都需要對應一個函數與一個數組,數組內會存在數據對應的計數器,在一條數據包達到計數器閾值時,使用數據特征對應的函數進行運算,同時映射至相應的數組坐標中,并對相應計算器進行更新。最后利用數組構建直方圖C=(c1,c2,…,cn)。
1.3.2 計算數據相似度
擬定兩個數據空間Hi、Hj,d(Hi,Hj)代表兩個數據空間的距離,d(Hik,Hjk)代表兩個數據空間k維屬性空間的距離,二者的表達式為:

式中:Exik、Exjk別代表數據空間Hi與Hj的第k維數據屬性空間的中心,σik與σjk分別代表兩種屬性空間的熵。
利用數據空間Hi、Hj表示第k維屬性空間的相似度,其通過公式能夠描述成:

式中:d(Hik,Hjk)=0,第k維屬性對Hi與Hj的分類并不會起到作用,d(Hik,Hjk)≥1,Hi與Hj即兩種互不干涉的數據空間,第k維屬性能夠把兩個數據空間分開,0<d(Hi,Hj)<1時,Hi與Hj第k維相交的數據空間,其相似度越大,對檢測的作用就越小。
擬定m(m>2)個D維數據空間的距離是:

而m(m>2)個D維數據空間的第k維屬性空間距離是:

對存在D種屬性的若干種數據空間進行檢測時,存在最小相似度的屬性對檢測的貢獻最大,計算數據相似度就能夠運算出屬性在檢測中的權值。
1.3.3 數據異常粗檢測
傳感網絡中的能量消耗大多來自于節點間彼此的通信過程。因此,異常檢測的關鍵是將計算過程分布到各個子級節點中,從而盡可能地降低網絡通信需求[12]。在無線傳感器網絡的通信過程中,異常數據會干擾到網絡的正常運行。因此,在計算數據相似度之后,需要對這些數據進行過濾。
假設在數據集合內存在m種直方圖,那么元素的數量不超過p×m且高于熵值的數據段被認定為不存在異常數據。一般擬定數據段閾值p=5。具體的粗檢測流程如下所示:①按照數據段的大小進行排列,θ→1;②如果滿足θ≥p,那么直接就能夠認定當前檢測數據為異常數據;③如果θ<p,那么重新迭代步驟2;④標記C1,C2,…,Cθ代表異常數據段。
綜上所述,數據異常粗流程如圖1所示。

圖1 數據異常粗檢測流程圖
1.3.4 數據異常細檢測
為了更加精確地檢測出數據是否存在異常,本文使用超矩形方法,在粗檢測基礎上對所有數據段分別運算其不同維度上的取值方位,擬定數據段Ci在維度j內的取值上界是U(Ci,j),下界是L(Ci,j),j∈(1,2,…,m),i∈(1,2,…,k),m代表維數,k代表元素個數,z代表數據段的總數。細檢測的具體流程如下所示:①初始化i→1;②初始化上界與下界,U(Ci,j)→I(dk,j),L(Ci,j)→I(dk,j),I(dk,j)代表數據段內元素dk在維度j內的值;③假如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)。隨后運行步驟③重新運算,輸出全局最優結果。
在檢測時,分別對比預檢測數據的所有維度。如果所有維度內的數都在同一個數據段內,那么該數據就是正常數據,反之則判定其為異常數據。
綜上所述,數據異常細流程如圖2所示。

圖2 數據異常細檢測流程圖
為了檢驗基于云框架直方圖的無線傳感網絡數據異常檢測方法的實用性能,設計如下仿真分析過程。
實驗以國際通用的IBRL數據集為對象,其由300個傳感器節點的數組組成,數據采樣頻率為10 s。在IBRL數據集中通過隨機的方式加入比例為5%的異常數據,然后再隨機抽選其中500 GB的有效數據量完成實驗。
在進行數據異常檢測前需要對數據實施歸一化處理,以達到降低數據冗余的目的,提高檢測效率和收斂性。在歸一化處理后,以95%為置信區間,對比本文方法的歸一化訓練曲線與實際訓練曲線,結果如圖3所示。

圖3 歸一化訓練結果
觀察圖3可以看出,在設定的置信區間中,本文方法的歸一化訓練結果基本符合理論歸一化處理的大致變化趨勢,且一直保持在95%的置信區間內,能夠證明所提方法歸一化精度高,為后續的異常檢測奠定了有效基礎。
為避免因實驗結果單一而降低其說服力,將基于分布式壓縮感知的無線傳感器網絡異常數據處理方法(文獻[3]方法)和基于逆生成對抗網絡的數據異常檢測方法(文獻[7]方法)作為對比,從檢測過程耗時、檢測誤差以及檢測能耗的角度,與本文方法共同完成性能驗證。
2.3.1 檢測耗時分析
分別利用3種方法完成對500 GB數據集中數據異常的檢測,記錄不同方法的檢測耗時,結果如圖4所示。

圖4 不同方法的數據異常檢測耗時對比
通過分析圖4能夠看出,隨著待檢測數據量的增加,不同方法的檢測耗時也在逐步增加。在數據量達到400 GB時,文獻[7]方法的檢測耗時達到46 s,之后增幅明顯,而文獻[3]方法和本文方法的檢測耗時增長情況較為平穩。相比之下,本文方法的檢測耗時更少,在數據量最大的情況下,其檢測耗時最多為41 s,說明本文方法具有檢測過程時效性高的應用優勢。這是因為本文方法以信息熵為判斷指標,針對可能存在異常數據的傳感網絡環境計算了數據間相似度,通過比較相似度避免擬定過多復雜的檢測指標,從而有效縮減了檢測耗時。
2.3.2 檢測誤差分析
在檢測耗時情況的基礎上,對異常數據樣本數量與檢測出的異常數據數量作差,再計算差值與異常數據樣本數量間的比值,從而獲得不同方法的檢測誤差,結果如圖5所示。

圖5 不同方法的數據異常檢測誤差對比
通過分析圖5能夠看出,隨著待檢測數據量的增加,不同方法的檢測誤差也隨之增加。但相比之下,本文方法的檢測誤差線始終處于另外兩種方法誤差線之下,在數據量最大時,其檢測誤差也僅為1.2%。而文獻[3]和文獻[7]方法的最大檢測誤差分別為2.6%、2.4%,明顯高于本文方法的檢測誤差。這是因為本文方法根據不同數據特征構建云框架直方圖,通過比較低的數據間相似度閾值完成數據異常粗檢測,在此基礎上利用進一步的細檢測來保證檢測結果的有效性,從而降低了檢測誤差。
2.3.3 檢測能耗分析
在上述分析的基礎上,對異常數據檢測過程的能耗展開分析,從而進一步驗證不同方法的實用性能。實驗以不同方法異常數據檢測過程產生的能耗占數據中心機房總能耗的百分比為指標,得到實驗結果如圖6所示。

圖6 不同檢測方法的能耗占比對比
通過分析圖6能夠看出,隨著待檢測數據量的增加,不同方法在檢測異常數據過程中的能耗也隨之增加,其產生的能耗占數據中心機房總能耗的百分比數值也相應增大。但根據圖4中的線段變化情況及其位置可以看出,本文方法的能耗量明顯少于兩種對比方法,這是因為本文方法分析設計了數據異常粗檢測和細檢測過程,在不同維度空間內,利用超矩形方法對比粗檢測后數據是否處于同一數段,避免盲目搜索,從而降低了檢測能耗。
本研究提出一種的基于云框架直方圖的無線傳感網絡數據異常檢測方法,利用直方圖與超矩形算法,實現對無線傳感網絡數據異常的粗、細二次檢測,使檢測結果更加精準有效。但是該方法會對每個網絡節點都進行直方圖變換,導致網絡系統出現小幅度的負載不均衡問題。因此,下一步的研究方向為:在不影響無線傳感網絡基礎性能的同時,引入分布式處理機制完成數據本地化檢測。