楊雅彬,劉 晴,武志成,袁 芬
(1. 天津工業大學,天津 300387; 2. 杭州電子科技大學計算機學院,浙江 杭州 310018;3. 浙江長征職業技術學院計算機與信息技術系,浙江 杭州 310023)
當今社會互聯網技術越發成熟,帶動光纖網絡規模與網絡建設技術也飛速發展。互聯網研究領域中普遍關注的問題之一,即網絡安全問題[1],隨著網絡技術的逐漸成熟,網絡已經成為人們日常生活工作中不可缺少的一部分,人們對于網絡安全的重視度也越來越高[2]。由分布在各個方位,同時存在不同終端的節點間相互連接形成的、具有網狀特征的網絡,即分布式網絡。分布式網絡內無中心節點,且隨機節點均同兩條或兩條以上線路相互連接,在其中一條線路出現問題的情況下,通信過程將轉移至除此線路外的其他任意一條正常工作的線路中進行,因此,采用分布式網絡傳輸的可靠性較高,分布式網絡成為當下通信傳輸的主要方式之一。為了提升分布式網絡通信的安全性能,研究分布式網絡傳輸異常數據檢測具有十分重要的意義[3]。
傳統基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法通過收集LSDB,使用改進路由算法計算全網路由形成路由域信息庫,對比LSDB快照和RIB快照確定異常數據[4],對數據不完整性較為敏感、檢測效率差。機器學習自上世紀晚期在人工智能領域中脫穎而出后,隨著其不斷發展,被廣泛應用在專家系統、數據挖掘、圖像識別、智能機器人以及故障診斷等領域。機器學期是人工智能的核心,本身包含統計學、算法復雜度理論以及概率論等多個學科,專注研究計算機對于人類行為的仿真,以此得到全新的能力,持續完善自身,具有表達性能高、方便推理和擴展知識描述等優勢。基于此,提出基于機器學習的分布式網絡傳輸異常數據智能檢測方法,將機器學習算法應用于異常數據檢測中,實現高效率、高精度的網絡傳輸異常數據檢測。
構建分布式網絡結構模型,采用K最近鄰分簇算法、貝葉斯分類算法提取分布式網絡結構模型中的異常簇。
1.1.1 分布式網絡結構模型
分布式網絡分簇模型主要包括以下4點優勢:
1)與分布式算法運算的匹配度高,適用于海量數據的分布,擴展性較強[5];
2)使用分簇模型管理數據時更加便捷;
3)通過簇頭節點處理數據時可以降低網絡通信開銷和能量耗損,提升分布式網絡使用壽命;
4)實施簇內節點時間同步處理的過程更簡單,易于分布式網絡安全策略的安排。
由于分簇模型具有以上諸多優勢,因此采用K最近鄰分簇算法對分布式網絡實施分簇,針對分布式網絡集合,通過K最近鄰分簇算法獲取的簇存在唯一性。
1.1.2 K最近鄰分簇算法
獲取k個聚類的中心H1,H2,···,Hk,確保不同數據點Xi同鄰近的聚類中心Hh間的距離最小是K最近鄰分簇算法的基本思想[6],若n表示節點數量,那么K最近鄰分簇算法的過程為:
1)確定任意聚類中心H1,H2,···,Hk共k個;
2)獲取與不同數據點樣本Xi距離最小的聚類中心Hh,同時將Xi分配至以Hh為標志的類內;
3)針對不同簇的中心Hh實施再次運算,條件限制為:依照特定簇心運算;
5)若偏差值收斂,那么返回H1,H2,···,Hk,且運算停止;若偏差未收斂,那么返回步驟2)再次運算。
K最近鄰分簇算法具有聚類效率好,計算過程簡單的優勢,用k、t和n分別表示聚類數、迭代次數和聚類的個數,且k,t< 1.1.3 貝葉斯分類算法 在機器學習中,貝葉斯分類算法是效用最佳的機器學習算法,其特性為無監督學習,其優勢為預測精度高、效率快、過程簡單等[7]。受分布式網絡節點能力的制約,本文采用貝葉斯分類算法對簇內各節點分類的過程為: 1)描述不同數據樣本時采用n維 特征向量X={x1,x2,···,xn}表示樣本內n個 屬性A1,A2,···,An的度量。 2)設數據樣本能夠劃分成H1,H2,···,Hm等m個類,將指定數據樣本X分類至Hi,當且僅當: 此時,P(Hi|X)最大的類Hi成為最大后驗假設。根據貝葉斯公式能夠得到: 3)因為針對全部類時,P(X)均為常數,因此僅需確保P(X|Hi)P(Hi)為最大。以Si和S分別表示類Hi內的訓練樣本數和訓練樣本總數,通過運算P(H1)=Si/S能夠獲取類的先驗概率[8]。假設無法確定類的先驗概率,一般情況下依照貝葉斯假設,取P(H1)=P(H2)= ···=P(Hm),則僅確保P(X|Hi)最大化即可。 4)在數據集屬性過多的情況下,對P(X|Hi)運算的開銷較大,若假設類條件獨立[9],可得到: 其中P(Xk|Hi)表示概率,通過訓練樣本能夠對P(X1|Hi),P(X2|Hi),···,P(Xn|Hi)估值。用Ak表示離散值屬性,可得到: 式中:Sik——類Hi內屬性Ak值為Xk的訓練樣本數量; Si——類Hi內訓練樣本數量。 假設Ak為服從高斯分布的連續屬性[10],進而得到: uHi——均值; σHi——標準差。 5)運算不同類Hi的P(X|Hi)P(Hi),在式(6)的條件下,可將樣本X分配至類Hi內。 1.1.4 檢測簇頭節點異常 檢測簇頭是否出現異常的方法采用簇中節點的平均概率[11],其過程為: 1)針對簇中不同節點,計算P(X|Hi)P(Hi)為正常節點的概率時采用貝葉斯算法。 2)對簇中節點的平均概率W實施運算,公式為 其中L為簇中節點數量。 3)簇中節點非異常條件下訓練數據過程中能夠得到簇中節點非異常條件下的W非異常同相應的標準偏差 δ,假設兩者相加得到的值高于簇中節點的W,那么這個簇被標為異常,用下式描述: 通過上述過程,檢測到分布式網絡傳輸過程中出現的異常簇,選取小波閾值降噪方法對獲取的異常簇內數據進行降噪處理,通過遺傳算法檢測降噪處理后異常簇中的異常數據。 采用小波閾值降噪過程中,定義小波系數內存在傳輸數據的關鍵信息,信息具有幅值高數量低的特性,相反小波系數內的噪聲分布一致,特性為幅值低數量高[12]。在大量小波系數內用零描述絕對值較小的系數,對應硬閾值,保存絕對值較高的系數與軟閾值相對,獲取估計小波系數,基于此完成信號重構,實現分布式網絡異常簇內數據降噪。式(1)描述含噪聲的一維信號: 式中:S(i)和f(i)——含噪聲的信號和實際信號; σ和e(i)——噪聲系數和噪聲信號。 舉例說明:用e(i)描述噪聲級為1的高斯白噪聲N(0,1)。實際應用時,有用信號和噪聲信號分別表現為低頻信號和高頻信號,且低頻信號波動幅度較小,因此在分布式網絡異常簇內數據降噪時可依照下述過程實施:1)對分布式網絡異常簇內數據信號實施小波分解,一般情況下信號的噪聲存在D1、D2、D3內,因此采用閾值形式處理小波系數;2)對信號實施重構以實現降噪的目的。 分布式網絡異常簇內數據降噪的實質就是抑制數據信號內的噪聲,在含噪聲的信號中獲取實際信號。完成異常簇內數據降噪過程后,采用遺傳算法對降噪后的分布式網絡異常簇內數據進行異常數據檢測。 根據遺傳算法,以最優解運算替代降噪處理后異常簇中的異常數據檢測[13],過程為: 1)確定初始群體 在檢測降噪處理后異常簇中的異常數據時,需確定初始群體,用M表示其大小。采用二進制向量Z表示群體內的染色體,用Z=(z1,z2,···,zn)描述,n和zi分 別為樣本點數值和遺傳算法內基因值。zi=1和zi=0分別表示此樣本數據未出現異常和此樣本數據出現異常。 2)確定適應度函數 在遺傳算法中,適應度函數是較為重要的參數,基于統計學理論,網絡傳輸數據匯總整體方差越小的個體,適應度越高,即遺傳至下一代的幾率越高。 一般情況下,網絡傳輸數據集存在較多屬性,用O表 示待檢測異常簇內的數據屬性的個數,用a1,a2,···,aO表示數據屬性,在異常數據檢測過程中,各屬性的作用有所差異,因此針對全部屬性設定一個權值,用 ?j表示,某屬性影響異常數據的水平用0 ≤ ?j≤ 1(j=1,2,···,O)表示。 采用公式(10)計算任意屬性的整體方差: 采用公式(11)結合整體方差與適應度函數: 其中Fmax、F(Z)分別表示合理的輸入值和適應度函數。 3)選擇操作 通過期望值方法確保良好個體無缺,使新的個體遺傳至新一代群體是選擇操作的目的。 運算下一代群體內個體i的期望值: 式中:Ni——期望值; ——群體內個體i的交叉及變異操作次數。 假設個體i實施交叉及變異操作,那么下一代群體內同其相對的期望值降低0.5,若沒由實施交叉及變異操作,則降低1。 4)交叉、變異操作及算法終止條件 根據適應度函數值降序排列群體內的個體,同時實施選擇操作;針對前M?1個個體實施交叉及變異操作,對第M個個體不實施操作,確保未破壞;根據群體內最佳個體與最差個體的適應度函數值的差值同既定閾值的比較結果確定算法結束與否:符合結束條件,輸出算法得到分布式網絡傳輸異常數據;不符合條件,將進化代數提升并再次確定適應度函數。 實驗為驗證本文提出的基于機器學習的分布式網絡傳輸異常數據智能檢測方法的有效性,分別從效率、精度、穩定性等方面對比本文方法和傳統基于鏈路狀態數據庫的網絡傳輸異常數據監測方法的檢測性能。 采用本文方法和傳統基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法檢測異常數據,對比不同方法的檢測時間,結果用圖1描述。 圖1 不同檢測方法的效率對比 分析圖1能夠得到,使用本文方法檢測異常數據時所用的時間明顯低于基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法,本文方法檢測異常數據時的時間波動范圍在7.42~10.00 s之間,平均時間大致為8.48 s;基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法檢測異常數據時的時間波動范圍在12.68~20.16 s之間,平均時間大致為16.51 s。實驗結果表明,使用本文方法檢測異常數據的效率較高。 在固定時間中,使用本文方法和基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法檢測異常數據,并將不同算法檢測到的異常數據量同實際異常數據量相比,結果如圖2所示。 圖2 不同檢測方法檢測準確度對比 分析圖2能夠得到,使用本文方法檢測異常數據得到的結果與真實異常數據量的差距較小,均低于8,而基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法檢測異常數據得到的結果與真實異常數據量的差距較大,最高異常數據量差距為60,說明本文方法檢測異常數據時的準確度較高。這主要是由于,使用本文所提的方法將最優解運算替代異常簇中的異常數據檢測,考慮了任意屬性的整體方差與適應度,使其可以得到最佳的檢測準確度。 使用本文方法和基于鏈路狀態數據庫的網絡傳輸異常數據檢測方法逼近最優解,對比分析不同方法最大適應度值的波動狀態,結果如圖3所示。 圖3 不同方法的最大適應度波動對比結果 分析圖3得出,當進化代數逐漸提升時,兩種方法的最大適應度均隨之逐漸提升進而達到平穩狀態,本文方法接近平穩狀態時的進化代數為119,相比基于鏈路狀態數據庫方法所得數據224更低。實驗結果表明,使用本文方法更易于接近平穩。這主要是由于本文方法檢測了簇頭節點異常情況,該檢測處理相當于分布式網絡傳輸異常數據檢測的預處理步驟,經過該步驟后,可一定程度提高方法的檢測精度,同時保證檢測方法的穩定性。 實驗為驗證本文方法的優勢性能,分別對比不同方法的優勢和劣勢,結果如表1所示。 表1 網絡傳輸異常數據檢測不同方法的優勢和劣勢對比結果 分析表1可得,本文方法相較于其他方法具有較強的推理概率能力,在提升聚類效果的同時,也提升了檢測效率等。實驗結果表明,本文方法具有較強的檢測性能優勢。 在計算機技術越發成熟的當今社會,傳統網絡傳輸異常數據檢測方法已經不能滿足當下日益復雜的網絡環境中異常數據檢測的需求,因此本文提出基于機器學習的分布式網絡傳輸異常數據智能檢測方法,將機器學習算法應用于網絡傳輸異常數據檢測中,通過K最近鄰分簇算法和貝葉斯分類算法實現異常簇的檢測,在此基礎上采用遺傳算法監測異常簇內的異常數據。分析實驗結果可得,使用本文方法檢測異常數據時,平均時間大致為8.48 s,檢測結果與真實異常數據量的差距低于8。實驗結果表明,使用本文方法檢測異常數據具有較高的效率和精度。在今后的研究中,將致力于進一步縮減檢測耗時上,以提高方法的運行效率,增強方法的實際應用性能。1.2 分布式網絡異常簇內數據降噪
1.3 基于遺傳算法的異常數據檢測
2 實驗分析
2.1 不同方法的檢測效率對比
2.2 不同方法的檢測準確度對比
2.3 不同方法的檢測穩定性對比
2.4 不同方法的性能優勢
3 結束語