張 曼
(西北政法大學,陜西 西安 710100)
混合多層結(jié)構(gòu)化網(wǎng)絡攻擊態(tài)勢預測算法是網(wǎng)絡安全主動防御的核心,該預測算法在網(wǎng)絡風險評估與分析中起到關(guān)鍵性作用。網(wǎng)絡攻擊防范技術(shù)逐漸從被動防護演變?yōu)橹鲃臃烙8鶕?jù)網(wǎng)絡攻擊態(tài)勢[1]可了解網(wǎng)絡當前攻擊形勢,并對未來一段時間內(nèi)的網(wǎng)絡攻擊形式進行預測,能夠在網(wǎng)絡遭受攻擊前,采用適當?shù)拇胧ζ溥M行防范,所以網(wǎng)絡攻擊態(tài)勢的精準預測對維護網(wǎng)絡安全起到關(guān)鍵作用。
傳統(tǒng)的預測方法以時間序列檢測法[2]為主,但網(wǎng)絡攻擊存在變化大及非線性的特點,針對于這些特點,時間序列方法還不能夠準確解決,但隨著人工智能不斷地發(fā)展與完善,研發(fā)了多種網(wǎng)絡攻擊態(tài)勢預測方法,例如:神經(jīng)網(wǎng)絡[3]、支持向量機[4]、馬爾科夫鏈[5],這些預測方法雖然有較高的預測精度,但經(jīng)大量的實驗結(jié)果表明,它們都含有一些弊端。神經(jīng)網(wǎng)絡存在參數(shù)選取困難、網(wǎng)絡數(shù)據(jù)收集速度慢,容易局限于最小點,導致預測結(jié)果易出現(xiàn)過擬合的狀況;支持向量機的預測算法雖解決了神經(jīng)網(wǎng)絡過擬合的狀況,但其參數(shù)選擇沒有理論指導,使客觀性較低,導致在參數(shù)的樣本較大時,訓練速度減低;馬爾科夫鏈對于預測模型的完成還不夠精確,需要用到多種公式求導,計算起來比較困難且消耗時間。所以,想要實現(xiàn)網(wǎng)絡攻擊態(tài)勢的預測并具有魯棒性,就要對參數(shù)進行優(yōu)化[6]。對此,提出一種遺傳算法[7]與支持向量機相結(jié)合的網(wǎng)絡攻擊態(tài)勢預測算法。遺傳算法通過全局搜索對支持向量機進行參數(shù)優(yōu)化,然后利用支持向量機算法對網(wǎng)絡攻擊態(tài)勢進行預測,最后根據(jù)仿真對預測算法精度進行檢驗與分析,實驗表明該網(wǎng)絡攻擊態(tài)勢預測方法具有準確性與時效性。
依據(jù)系統(tǒng)內(nèi)攻擊狀況,選取態(tài)勢指標,網(wǎng)絡態(tài)勢反映了當前受到攻擊的狀況以及攻擊發(fā)展變化趨勢。
網(wǎng)絡攻擊指標一般有兩種方式:①根據(jù)貝葉斯方法[8]對報警數(shù)量的增減程度進行預測,也就是根據(jù)安全設(shè)備報警數(shù)量累加,從而得到的指標;②綜合評定指標的衡量標準是由網(wǎng)絡風險相關(guān)因素決定的,比如網(wǎng)絡攻擊的報警次數(shù)、嚴重程度以及涉及到的資產(chǎn)價值,然后抽取某一時間段的報警數(shù)據(jù),選擇合適的相關(guān)模式檢測入侵設(shè)備,最后獲得指標。在處理混合多層結(jié)構(gòu)化網(wǎng)絡攻擊態(tài)勢上,應選取第二種網(wǎng)絡攻擊指標,同時考慮到ISO17799對網(wǎng)絡風險判定,本文采用層次分析法[9]求出網(wǎng)絡攻擊態(tài)勢評估指標。
在主機入侵監(jiān)測設(shè)備中,將監(jiān)測出的報警信息作為數(shù)據(jù)源加以分析,主要分為網(wǎng)絡報警、告警日志以及代理報警三部分信息。網(wǎng)絡報警指主機網(wǎng)絡數(shù)據(jù)包測試報警,包括IP包登錄、攻擊嗅探檢測等形式;告警日志包括登錄、注銷、遠程監(jiān)控等形式;代理報警包括注冊表、制定文件、木馬等監(jiān)控形式。網(wǎng)絡攻擊態(tài)勢指標模型如下所示:

圖1 網(wǎng)絡攻擊態(tài)勢指標模型
通過目標層、設(shè)備層、準則層、指標層依次表示攻擊態(tài)勢評估目標、資產(chǎn)價值特點、報警類型以及等級分配。完成了網(wǎng)絡態(tài)勢評估指標后,根據(jù)層次分析法建造判別矩陣,一次性測驗層次單、總排序,獲取指標層目標權(quán)重,表示方法為R1~R24。N1~N24表示分類統(tǒng)計的數(shù)據(jù)源,根據(jù)式(1)計算,可以得到最終網(wǎng)絡攻擊態(tài)勢評估指標值E。
E=N1×R1+N2×R2+N3×R3+…+N24×R24
(1)
支持向量機是目前應用非常多的一種非線性預測技術(shù),大量的檢測分析表明,支持向量機能夠處理極其復雜的非線性問題,更能體現(xiàn)出算法的超高性能。
因為網(wǎng)絡攻擊態(tài)勢值波動頻率較大,所以會影響支持向量機的計算速度,對此,將重構(gòu)數(shù)據(jù)帶入到模型中學習并對其進行歸一化處理[10],如式(2)所示

(2)

網(wǎng)絡攻擊態(tài)勢數(shù)據(jù)會在每一段時間監(jiān)測點對應一個網(wǎng)絡態(tài)勢值,這種方法叫做一維時間序列,利用拓階法可變成多維時間序列,比如,一維時間順序組為{x1,x2,…,xn},設(shè)定最優(yōu)維數(shù)為m,完成后的多維時間序列為{x1,x2,…,xm},時間點為m+1,網(wǎng)絡態(tài)勢值為xm+1,然后進行預測,從而得到的多維時間序列{x1,x2,…,xm+1},以此類推,最終得到多維時間序列,如表1所示。

表1 多維時間序列
由此網(wǎng)絡攻擊分為訓練集與測試集,前者基于支持向量機對網(wǎng)絡攻擊態(tài)勢加以預測,后者預測準確度。
支持向量機用來解決預測的基本算法如下:
設(shè)有網(wǎng)絡攻擊態(tài)勢的觀測樣本:{(x1,y1),…,(xn,yn)},其中xi表示網(wǎng)絡攻擊態(tài)勢的輸入向量,yi表示網(wǎng)絡攻擊態(tài)勢的輸出值,n表示實驗采集的樣本數(shù)量。支持向量機預測是由一種非線性映射φ函數(shù),將網(wǎng)絡攻擊態(tài)勢的輸入向量xi投放到多維空間H,然后在多維空間內(nèi)進行線性預測,如式(3)所示

(3)
其中,ω代表支持向量機超平面的權(quán)值向量,b代表偏置量。
所以,支持向量機預測就是在上所述的基礎(chǔ)上進一步完善計算方法,展現(xiàn)統(tǒng)計學習理念核心思想,降低計算誤差,簡化計算步驟,獲取小期望風險[11]。泛化能力提高預測表達式如式(4)所示

(4)
制約下述風險函數(shù)條件為式(5)所示

(5)


(6)
利用拉格朗日函數(shù)和對偶原理,將非線性預測問題轉(zhuǎn)變成一個線性問題,如式(7)所示

(7)
由KKT條件以及式(4)的對偶性算出支持向量機預測問題,如式(8)所示
(8)
式中,k(x,xi)代表支持向量機函數(shù),主要對高維特征空間的內(nèi)積進行概述。高斯核函數(shù)的性能要優(yōu)于其它核函數(shù),所以在選擇支持向量機核函數(shù)上會采用高斯核函數(shù),其定義如式(9)所示

(9)
風險函數(shù)條件如式(10)所示

(10)
基于此,推導出支持向量機預測模型的表達式如式(11)所示

(11)
式中,σ代表徑向基函數(shù)。高斯核函數(shù)作為支持向量機的核函數(shù),其預測算法需要優(yōu)化的參數(shù)為ε、c和σ。將ε的值定為0.06,c為不限定控制因子,由設(shè)置σ的值為0.2來完成預測。
一般的支持向量機參數(shù)會選擇經(jīng)驗分析法、列舉法和網(wǎng)絡信息檢索法,經(jīng)驗證分析法中的參數(shù)性能和準確度不高,列舉法和網(wǎng)絡信息檢索法應用起來比較繁瑣,消耗時間,所以要想增強網(wǎng)絡攻擊態(tài)勢預測的準確度,就要完成參數(shù)的優(yōu)化。遺傳算法是根據(jù)生物界進化規(guī)律發(fā)展而來,含有對全局搜索的特征,對于數(shù)據(jù)的求導沒有限制性。并能主動識別優(yōu)化范圍,具有較高的時效性。通過遺傳算法的這些特點,對支持向量機的參數(shù)ε、c和σ進行優(yōu)化。
網(wǎng)絡攻擊態(tài)勢預測分為訓練模塊以及預測模塊兩部分,在訓練模塊中,基于網(wǎng)絡攻擊次數(shù),對支持向量機加以訓練,保證預測算法精準性,在獲取精準的預測模型后,通過統(tǒng)計數(shù)據(jù)預測網(wǎng)絡攻擊態(tài)勢[12]。
1)由訓練模塊完成準確的預測需要分為以下幾個階段;
第一階段:需要先傳輸數(shù)據(jù)來設(shè)定多組時間序列,同時根據(jù)此時間序列確定時間限度。
第二階段:反復使用數(shù)據(jù)庫讀取模塊與評估模塊,將時間序列中的每一項進行合計,完成每項態(tài)勢評估后,根據(jù)評估值將時間序列分別輸入到各組List中。
第三階段:通過把預測訓練模塊傳輸?shù)礁鹘MList中,來生成預測模型。

圖2 訓練模塊結(jié)構(gòu)
2)預測模塊會通過最近時間段內(nèi)的網(wǎng)絡攻擊數(shù)據(jù),并采用支持向量機算法對網(wǎng)絡攻擊態(tài)勢進行預測。
該模塊實現(xiàn)網(wǎng)絡攻擊態(tài)勢的預測算法需要分為以下幾個階段;
第一階段:由傳入數(shù)據(jù)來設(shè)定每項預測時間序列和時間范圍。
第二階段:反復使用數(shù)據(jù)庫讀取模塊與評估模塊,從而完成時間序列的架設(shè)。
第三階段:通過采用第二階段計算后的結(jié)果,基于攻擊態(tài)勢預測模塊完成預測過程。
第四階段:用顯示模塊來顯示攻擊態(tài)勢預測結(jié)果。
綜上所述,網(wǎng)絡安全態(tài)勢預測流程如圖3所示:

圖3 網(wǎng)絡安全態(tài)勢預測流程
為檢驗預測算法的可行性,選取實驗基地作為檢測環(huán)境。基于局域網(wǎng)互聯(lián)網(wǎng),此局域網(wǎng)包含一臺Wep服務器、一臺FTP服務器、10臺PC和2臺攻擊模擬機。實驗設(shè)備以及參數(shù)信息如表2所示。

表2 實驗參數(shù)信息
通過最優(yōu)輸入權(quán)值、隱含層閾值,重構(gòu)訓練集,建立安全態(tài)勢預測模型,獲取預測誤差變化曲線。其中誤差的計算公式為:

(12)
式中,yk是網(wǎng)絡安全態(tài)勢的實際值,y′k是預測值,n是預測個數(shù)。

圖4 安全態(tài)勢值與預測誤差的變化曲線
由上圖所示,預測值與網(wǎng)絡安全態(tài)勢的實際值十分吻合,預測誤差很少,表明混合多層結(jié)構(gòu)化網(wǎng)絡攻擊態(tài)勢預測算法可以很好刻畫擬合網(wǎng)絡安全態(tài)勢變化趨勢,是一種有效的網(wǎng)絡安全態(tài)勢預測模型。主要原因在于所提方法采用支持向量機預測完善計算方法,獲得一個小的期望風險,這樣可以提高預測的泛化能力,降低實際值與預測值之間的評估誤差。
威脅嚴重性評估指標的建立要考慮評估對象多方面因素,信息多角度融合可以提高評估準確程度,將攻擊途徑AV、入侵警告嚴重程度AS作為評估指標,具體實驗結(jié)果如圖5所示。

圖5 不同方法對安全態(tài)勢預測效果的影響分析
由圖5可以看出,在AV、AS兩個指標變化的過程中,神經(jīng)網(wǎng)絡以及支持向量機方法的預測效果均呈現(xiàn)下降的趨勢,而所提方法的預測效果則穩(wěn)步上升,由此可見,混合多層結(jié)構(gòu)化網(wǎng)絡攻擊態(tài)勢預測算法可高效預測網(wǎng)絡安全態(tài)勢。
網(wǎng)絡攻擊態(tài)勢變化具有時變性與非線性的問題,傳統(tǒng)支持向量機預測算法對于參數(shù)這一問題,沒有有效的解決辦法,且存在預測準確性較低,所以,提出一種遺傳算法與支持向量機算法相結(jié)合的網(wǎng)絡攻擊態(tài)勢預測算法。根據(jù)實驗結(jié)果證明,通過遺傳算法全面檢索及尋優(yōu)能力,有效改善了支持向量機參數(shù)優(yōu)化問題,網(wǎng)絡攻擊態(tài)勢預測的準確性有較大增強,與其它網(wǎng)絡攻擊態(tài)勢預測算法相比,該算法的預測效果更有實時性,同時也能較好的維護網(wǎng)絡安全運行狀況,有效防御網(wǎng)絡攻擊。