武永強(qiáng),劉正剛
(新興鑄管股份有限公司,河北邯鄲 056300)
工業(yè)通信網(wǎng)絡(luò)支持光纖通信與工業(yè)制造流程通信,現(xiàn)有的控制網(wǎng)絡(luò)包括樓宇自動化、工廠自動化及流程自動化。隨著網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展,主干通信網(wǎng)的頻寬逐漸增大,所攜帶的信息量也日益多樣化,而超負(fù)荷的業(yè)務(wù)也給通信網(wǎng)的經(jīng)營帶來了更加復(fù)雜的問題。通過全鏈路數(shù)據(jù)異常檢測,可以有效地保證整個通信網(wǎng)的安全性,從而增強(qiáng)通信網(wǎng)的反應(yīng)能力。
周伯陽等[1]提出了基于多尺度低秩模型的檢測方法,利用小波分析技術(shù)估算了多尺度低秩模式的參數(shù),通過量化的方法測量了異常流量對模式估算的作用,并對異常流量進(jìn)行了有效檢測。陳曦等[2]提出了基于SIMI 模型的檢測方法,針對S7 協(xié)議中的SIMI,給出了一種新的S7 通信網(wǎng)絡(luò)異常流量的新算法。研究S7 的特點和漏洞,結(jié)合SIMI 的分類特點對S7 的異常流量進(jìn)行了檢測。以上兩種方法雖然能夠有效實現(xiàn)異常檢測,但在實際應(yīng)用中會存在一定誤差,從而影響檢測結(jié)果。因此,提出了基于決策樹的工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)異常檢測方法。
為有效實現(xiàn)工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)異常檢測,提出一種決策樹算法[3],即在對同一屬性的數(shù)據(jù)進(jìn)行分類時,將其作為一種基于內(nèi)部節(jié)點、葉節(jié)點和邊界的判別標(biāo)準(zhǔn)?;趦?nèi)部節(jié)點的特征來標(biāo)識邊緣,而葉節(jié)點則通過邊界分割來獲得判別的結(jié)果[4-5]。在檢測模型中,用IP 標(biāo)識節(jié)點作為工業(yè)通信網(wǎng)絡(luò)的IP 地址,用失效或正常標(biāo)識葉子名稱,用標(biāo)注箭頭表示邊界線。利用信息提取功能構(gòu)造決策樹,并對其進(jìn)行了裁剪,從而得到了相應(yīng)的學(xué)習(xí)信息[6]。基于修剪后決策樹的全鏈路數(shù)據(jù)檢測結(jié)構(gòu)如圖1 所示。
圖1 修剪后決策樹全鏈路數(shù)據(jù)檢測結(jié)構(gòu)
決策樹算法是一種能夠反映目標(biāo)特征與目標(biāo)價值映射關(guān)系的機(jī)器學(xué)習(xí)方法,在決策樹生成過程中,選取決策樹創(chuàng)建中內(nèi)部節(jié)點分枝是決策樹的核心問題[7]。根據(jù)信息熵原理,選取了最大值的信息來進(jìn)行歸類。
假設(shè)樣本集A的最優(yōu)劃線單元為A={a1,a2,…,an},那么該數(shù)據(jù)的增益系數(shù)為:
式(1)中,Z1(A,δ)表示在分割抽樣集合時,引進(jìn)了檢測條件δ來獲得信息增益;?(A,δ)為分割信息熵。在工業(yè)通信網(wǎng)絡(luò)中,利用信息增益比對全鏈路中各節(jié)點分支所造成的問題進(jìn)行了分析[8-9]。劃分所生成的分割數(shù)據(jù)非常少,且所得到的增益數(shù)值也不太平穩(wěn),這樣的不確定性會造成大量信息增加,導(dǎo)致信息增益率很可能為0,從而造成更大檢測誤差[10]。利用最小距離分割算法構(gòu)造了一棵決策樹,將范式距離確定成兩個分區(qū)之間的間距,并將最接近于理想分割的特征值作為當(dāng)前的判斷標(biāo)準(zhǔn)[11]。
設(shè)工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)特征屬性作為檢測條件得到的劃分結(jié)果為A′,那么理想劃分結(jié)果與實際劃分的范式距離可表示為:
決策樹的范式距離是由樹枝長短組成的序列,因此需要對距離數(shù)據(jù)曲線斜率進(jìn)行分析,以此檢測異常數(shù)據(jù),基于此構(gòu)建的檢測模型為:
式(3)中,x(i)、x(j)分別表示第i個、第j個檢測數(shù)據(jù)。根據(jù)構(gòu)建的決策樹檢測模型,能夠獲取工業(yè)通信網(wǎng)全鏈路異常數(shù)據(jù)集[12]。
在構(gòu)造決策樹的檢測模型后,確定決策樹下的異常數(shù)據(jù)檢測對象。由于工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)量較大,需要對決策數(shù)據(jù)集進(jìn)行預(yù)處理,避免影響檢測結(jié)果[13]。標(biāo)定檢測目標(biāo)值,依據(jù)檢測的特征決策節(jié)點,建立聯(lián)合的數(shù)據(jù)集合,并在數(shù)據(jù)集合內(nèi)設(shè)置不同的變量矢量,并與決策樹相聯(lián)系,以確定通信數(shù)據(jù)矢量的變動幅度。在通信網(wǎng)絡(luò)中集中了大量信息,通過決策樹將各個特征節(jié)點連接起來,形成了一個集群[14]。各簇彼此獨立,其簇集群結(jié)構(gòu)關(guān)系如圖2所示。
圖2 簇集群結(jié)構(gòu)關(guān)系
由圖2 可知,該集群是由一個與所探測到的異常數(shù)據(jù)相結(jié)合的異常信息集群,并求出了一個目標(biāo)權(quán)重相關(guān)的平均值。公式為:
式(4)中,x′表示識別異常差值;α表示聚類特征系數(shù);o表示向量中心值;Γ表示綜合簇群范圍。通過上述算法,獲得了被檢測對象的實際權(quán)重,將其平均約束設(shè)定為一條探測指令,并將其納入了無線通信的運行區(qū)間[15]。利用決策樹建立分類域,在描述節(jié)點檢測過程中,通過增強(qiáng)對集群檢測網(wǎng)絡(luò)進(jìn)行監(jiān)控,實現(xiàn)對異常數(shù)據(jù)的預(yù)處理。
在決策樹檢測模型的基礎(chǔ)上,建立了一個基于決策樹的檢測模式,及時對異常數(shù)據(jù)檢測。將待檢測數(shù)據(jù)輸入到?jīng)Q策樹檢測模式中,計算實際與檢測差值,能夠判斷出目標(biāo)數(shù)據(jù)是否異常。異常數(shù)據(jù)檢測流程如下所示:
步驟1:采用標(biāo)準(zhǔn)化的處理算法來訓(xùn)練基于決策樹的檢測模式,從而加快了算法的收斂性。可以用以下的公式來表達(dá)標(biāo)準(zhǔn)化處理結(jié)果:
式(5)中,xt表示t時刻的實際通信網(wǎng)全鏈路數(shù)據(jù);xmin、xmax分別表示處理過程中數(shù)據(jù)最小和最大值。因此,需要從全部數(shù)據(jù)中生成一組數(shù)據(jù)以進(jìn)行決策樹訓(xùn)練。
步驟2:在通信網(wǎng)絡(luò)中,通過對多個具有一定拓?fù)潢P(guān)系的多個節(jié)點進(jìn)行測量,得出各個節(jié)點的振幅。用以下公式來表示線路兩端節(jié)點關(guān)系:
式(6)中,xc表示初始端節(jié)點數(shù)據(jù);xyy、xwy分別表示有用、無用數(shù)據(jù)。
當(dāng)幅度達(dá)到某一精度時,就能進(jìn)行相應(yīng)的信號探測和校正[16]。利用多個網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對多個節(jié)點進(jìn)行了測試,得到了每個節(jié)點的振幅。在振幅達(dá)到某一特定精度后,就能對檢測結(jié)果進(jìn)行校正。
步驟3:在對決策樹下工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)檢測方法設(shè)計前,必須準(zhǔn)確地對其進(jìn)行異常數(shù)據(jù)辨識。在此基礎(chǔ)上,根據(jù)決策樹建立特定的檢測規(guī)則,將測量裝置插入到通信網(wǎng)絡(luò)的通信信道之中。在確定了測距的基礎(chǔ)上,抽取通信網(wǎng)絡(luò)檢測的環(huán)境特性,利用特征量的改變來實現(xiàn)控制通信網(wǎng)絡(luò)的波動,以此為依據(jù)檢測異常數(shù)據(jù),可將其描述為如下公式:
式(7)中,ue表示檢測結(jié)果域;n表示檢測總次數(shù);μ表示檢測均衡系數(shù);e表示檢測波動偏差。根據(jù)以上的結(jié)果,得到了實際異常數(shù)據(jù)波動性,使檢測的各個參量與波動性相符合。針對與檢測節(jié)點相連的多條線路上,存在一個本時刻計算值最大可能誤差σ,如果x˙≤σ,則說明檢測結(jié)果中的數(shù)據(jù)是正常數(shù)據(jù);如果x˙>σ,則說明檢測結(jié)果中的數(shù)據(jù)是異常數(shù)據(jù)。
實驗所選取的工業(yè)通信網(wǎng)全鏈路結(jié)構(gòu),如圖3所示。
圖3 工業(yè)通信網(wǎng)全鏈路結(jié)構(gòu)
工業(yè)通信網(wǎng)全鏈路結(jié)構(gòu)中的各個工作站與傳輸數(shù)據(jù)的傳輸接口是由傳輸方和接收方共同完成的。所以,許多場合都是采用全雙工通信模式,利用以太網(wǎng)交換系統(tǒng)來建立網(wǎng)絡(luò),使計算機(jī)與交換機(jī)端口之間一對一連接,達(dá)到全雙工通信目的。
在對基于決策樹的工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)異常檢測方法驗證前,需要先搭建實驗測試環(huán)境。將多組數(shù)據(jù)采集結(jié)果作為實驗數(shù)據(jù),根據(jù)不同窗口之間關(guān)聯(lián)性,設(shè)置實驗參數(shù)。為了方便實驗,在每個時間段只注入一種攻擊類型,注入攻擊后工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)屬性交叉熵會出現(xiàn)明顯變化,以源IP 地址為例,分析注入攻擊后8 個時間段IP 熵值變化情況,如表1 所示。
表1 IP熵值變化數(shù)據(jù)集
由表1 可知,受到端口掃描的影響使IP 熵值變化最大,影響最小的是網(wǎng)絡(luò)掃描攻擊方式。
對于IP 熵值變化數(shù)據(jù)集,分別使用基于多尺度低秩模型的檢測方法(文獻(xiàn)[1]方法)、基于SIMI 模型的檢測方法(文獻(xiàn)[2]方法)和基于決策樹的檢測方法(所提方法),對比分析不同攻擊模式下數(shù)據(jù)異常檢測結(jié)果,如圖4 所示。
圖4 不同方法數(shù)據(jù)異常檢測結(jié)果分析
由圖4 可知,使用基于多尺度低秩模型的檢測方法在網(wǎng)絡(luò)掃描攻擊模式下IP 熵值變化最小,在端口掃描攻擊模式IP 熵值變化最大,這一點與實際檢測結(jié)果相符,但I(xiàn)P 熵值與實際檢測結(jié)果不一致;使用基于SIMI 模型的檢測方法在端口掃描攻擊模式下,IP 熵值變化最大,最大為0.8,與實際異常數(shù)據(jù)嚴(yán)重不符;使用基于決策樹的檢測方法在端口掃描攻擊模式下,IP 熵值變化最大,最大為0.6,與實際異常數(shù)據(jù)檢測結(jié)果一致。
為有效實現(xiàn)數(shù)據(jù)異常精準(zhǔn)檢測,提出了基于決策樹的工業(yè)通信網(wǎng)全鏈路數(shù)據(jù)異常檢測方法。該方法通過構(gòu)建決策樹檢測異常數(shù)據(jù),并通過實驗驗證了該方法研究的可靠性,能夠在不同攻擊模式下精準(zhǔn)檢測異常數(shù)據(jù),具有較好的檢測效果。