張 曼
(西北政法大學(xué),陜西 西安 710100)
混合多層結(jié)構(gòu)化網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測算法是網(wǎng)絡(luò)安全主動防御的核心,該預(yù)測算法在網(wǎng)絡(luò)風(fēng)險評估與分析中起到關(guān)鍵性作用。網(wǎng)絡(luò)攻擊防范技術(shù)逐漸從被動防護(hù)演變?yōu)橹鲃臃烙?。根?jù)網(wǎng)絡(luò)攻擊態(tài)勢[1]可了解網(wǎng)絡(luò)當(dāng)前攻擊形勢,并對未來一段時間內(nèi)的網(wǎng)絡(luò)攻擊形式進(jìn)行預(yù)測,能夠在網(wǎng)絡(luò)遭受攻擊前,采用適當(dāng)?shù)拇胧ζ溥M(jìn)行防范,所以網(wǎng)絡(luò)攻擊態(tài)勢的精準(zhǔn)預(yù)測對維護(hù)網(wǎng)絡(luò)安全起到關(guān)鍵作用。
傳統(tǒng)的預(yù)測方法以時間序列檢測法[2]為主,但網(wǎng)絡(luò)攻擊存在變化大及非線性的特點(diǎn),針對于這些特點(diǎn),時間序列方法還不能夠準(zhǔn)確解決,但隨著人工智能不斷地發(fā)展與完善,研發(fā)了多種網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測方法,例如:神經(jīng)網(wǎng)絡(luò)[3]、支持向量機(jī)[4]、馬爾科夫鏈[5],這些預(yù)測方法雖然有較高的預(yù)測精度,但經(jīng)大量的實(shí)驗(yàn)結(jié)果表明,它們都含有一些弊端。神經(jīng)網(wǎng)絡(luò)存在參數(shù)選取困難、網(wǎng)絡(luò)數(shù)據(jù)收集速度慢,容易局限于最小點(diǎn),導(dǎo)致預(yù)測結(jié)果易出現(xiàn)過擬合的狀況;支持向量機(jī)的預(yù)測算法雖解決了神經(jīng)網(wǎng)絡(luò)過擬合的狀況,但其參數(shù)選擇沒有理論指導(dǎo),使客觀性較低,導(dǎo)致在參數(shù)的樣本較大時,訓(xùn)練速度減低;馬爾科夫鏈對于預(yù)測模型的完成還不夠精確,需要用到多種公式求導(dǎo),計(jì)算起來比較困難且消耗時間。所以,想要實(shí)現(xiàn)網(wǎng)絡(luò)攻擊態(tài)勢的預(yù)測并具有魯棒性,就要對參數(shù)進(jìn)行優(yōu)化[6]。對此,提出一種遺傳算法[7]與支持向量機(jī)相結(jié)合的網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測算法。遺傳算法通過全局搜索對支持向量機(jī)進(jìn)行參數(shù)優(yōu)化,然后利用支持向量機(jī)算法對網(wǎng)絡(luò)攻擊態(tài)勢進(jìn)行預(yù)測,最后根據(jù)仿真對預(yù)測算法精度進(jìn)行檢驗(yàn)與分析,實(shí)驗(yàn)表明該網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測方法具有準(zhǔn)確性與時效性。
依據(jù)系統(tǒng)內(nèi)攻擊狀況,選取態(tài)勢指標(biāo),網(wǎng)絡(luò)態(tài)勢反映了當(dāng)前受到攻擊的狀況以及攻擊發(fā)展變化趨勢。
網(wǎng)絡(luò)攻擊指標(biāo)一般有兩種方式:①根據(jù)貝葉斯方法[8]對報警數(shù)量的增減程度進(jìn)行預(yù)測,也就是根據(jù)安全設(shè)備報警數(shù)量累加,從而得到的指標(biāo);②綜合評定指標(biāo)的衡量標(biāo)準(zhǔn)是由網(wǎng)絡(luò)風(fēng)險相關(guān)因素決定的,比如網(wǎng)絡(luò)攻擊的報警次數(shù)、嚴(yán)重程度以及涉及到的資產(chǎn)價值,然后抽取某一時間段的報警數(shù)據(jù),選擇合適的相關(guān)模式檢測入侵設(shè)備,最后獲得指標(biāo)。在處理混合多層結(jié)構(gòu)化網(wǎng)絡(luò)攻擊態(tài)勢上,應(yīng)選取第二種網(wǎng)絡(luò)攻擊指標(biāo),同時考慮到ISO17799對網(wǎng)絡(luò)風(fēng)險判定,本文采用層次分析法[9]求出網(wǎng)絡(luò)攻擊態(tài)勢評估指標(biāo)。
在主機(jī)入侵監(jiān)測設(shè)備中,將監(jiān)測出的報警信息作為數(shù)據(jù)源加以分析,主要分為網(wǎng)絡(luò)報警、告警日志以及代理報警三部分信息。網(wǎng)絡(luò)報警指主機(jī)網(wǎng)絡(luò)數(shù)據(jù)包測試報警,包括IP包登錄、攻擊嗅探檢測等形式;告警日志包括登錄、注銷、遠(yuǎn)程監(jiān)控等形式;代理報警包括注冊表、制定文件、木馬等監(jiān)控形式。網(wǎng)絡(luò)攻擊態(tài)勢指標(biāo)模型如下所示:
圖1 網(wǎng)絡(luò)攻擊態(tài)勢指標(biāo)模型
通過目標(biāo)層、設(shè)備層、準(zhǔn)則層、指標(biāo)層依次表示攻擊態(tài)勢評估目標(biāo)、資產(chǎn)價值特點(diǎn)、報警類型以及等級分配。完成了網(wǎng)絡(luò)態(tài)勢評估指標(biāo)后,根據(jù)層次分析法建造判別矩陣,一次性測驗(yàn)層次單、總排序,獲取指標(biāo)層目標(biāo)權(quán)重,表示方法為R1~R24。N1~N24表示分類統(tǒng)計(jì)的數(shù)據(jù)源,根據(jù)式(1)計(jì)算,可以得到最終網(wǎng)絡(luò)攻擊態(tài)勢評估指標(biāo)值E。
E=N1×R1+N2×R2+N3×R3+…+N24×R24
(1)
支持向量機(jī)是目前應(yīng)用非常多的一種非線性預(yù)測技術(shù),大量的檢測分析表明,支持向量機(jī)能夠處理極其復(fù)雜的非線性問題,更能體現(xiàn)出算法的超高性能。
因?yàn)榫W(wǎng)絡(luò)攻擊態(tài)勢值波動頻率較大,所以會影響支持向量機(jī)的計(jì)算速度,對此,將重構(gòu)數(shù)據(jù)帶入到模型中學(xué)習(xí)并對其進(jìn)行歸一化處理[10],如式(2)所示
(2)
網(wǎng)絡(luò)攻擊態(tài)勢數(shù)據(jù)會在每一段時間監(jiān)測點(diǎn)對應(yīng)一個網(wǎng)絡(luò)態(tài)勢值,這種方法叫做一維時間序列,利用拓階法可變成多維時間序列,比如,一維時間順序組為{x1,x2,…,xn},設(shè)定最優(yōu)維數(shù)為m,完成后的多維時間序列為{x1,x2,…,xm},時間點(diǎn)為m+1,網(wǎng)絡(luò)態(tài)勢值為xm+1,然后進(jìn)行預(yù)測,從而得到的多維時間序列{x1,x2,…,xm+1},以此類推,最終得到多維時間序列,如表1所示。
表1 多維時間序列
由此網(wǎng)絡(luò)攻擊分為訓(xùn)練集與測試集,前者基于支持向量機(jī)對網(wǎng)絡(luò)攻擊態(tài)勢加以預(yù)測,后者預(yù)測準(zhǔn)確度。
支持向量機(jī)用來解決預(yù)測的基本算法如下:
設(shè)有網(wǎng)絡(luò)攻擊態(tài)勢的觀測樣本:{(x1,y1),…,(xn,yn)},其中xi表示網(wǎng)絡(luò)攻擊態(tài)勢的輸入向量,yi表示網(wǎng)絡(luò)攻擊態(tài)勢的輸出值,n表示實(shí)驗(yàn)采集的樣本數(shù)量。支持向量機(jī)預(yù)測是由一種非線性映射φ函數(shù),將網(wǎng)絡(luò)攻擊態(tài)勢的輸入向量xi投放到多維空間H,然后在多維空間內(nèi)進(jìn)行線性預(yù)測,如式(3)所示
(3)
其中,ω代表支持向量機(jī)超平面的權(quán)值向量,b代表偏置量。
所以,支持向量機(jī)預(yù)測就是在上所述的基礎(chǔ)上進(jìn)一步完善計(jì)算方法,展現(xiàn)統(tǒng)計(jì)學(xué)習(xí)理念核心思想,降低計(jì)算誤差,簡化計(jì)算步驟,獲取小期望風(fēng)險[11]。泛化能力提高預(yù)測表達(dá)式如式(4)所示
(4)
制約下述風(fēng)險函數(shù)條件為式(5)所示
(5)
(6)
利用拉格朗日函數(shù)和對偶原理,將非線性預(yù)測問題轉(zhuǎn)變成一個線性問題,如式(7)所示
(7)
由KKT條件以及式(4)的對偶性算出支持向量機(jī)預(yù)測問題,如式(8)所示
(8)
式中,k(x,xi)代表支持向量機(jī)函數(shù),主要對高維特征空間的內(nèi)積進(jìn)行概述。高斯核函數(shù)的性能要優(yōu)于其它核函數(shù),所以在選擇支持向量機(jī)核函數(shù)上會采用高斯核函數(shù),其定義如式(9)所示
(9)
風(fēng)險函數(shù)條件如式(10)所示
(10)
基于此,推導(dǎo)出支持向量機(jī)預(yù)測模型的表達(dá)式如式(11)所示
(11)
式中,σ代表徑向基函數(shù)。高斯核函數(shù)作為支持向量機(jī)的核函數(shù),其預(yù)測算法需要優(yōu)化的參數(shù)為ε、c和σ。將ε的值定為0.06,c為不限定控制因子,由設(shè)置σ的值為0.2來完成預(yù)測。
一般的支持向量機(jī)參數(shù)會選擇經(jīng)驗(yàn)分析法、列舉法和網(wǎng)絡(luò)信息檢索法,經(jīng)驗(yàn)證分析法中的參數(shù)性能和準(zhǔn)確度不高,列舉法和網(wǎng)絡(luò)信息檢索法應(yīng)用起來比較繁瑣,消耗時間,所以要想增強(qiáng)網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測的準(zhǔn)確度,就要完成參數(shù)的優(yōu)化。遺傳算法是根據(jù)生物界進(jìn)化規(guī)律發(fā)展而來,含有對全局搜索的特征,對于數(shù)據(jù)的求導(dǎo)沒有限制性。并能主動識別優(yōu)化范圍,具有較高的時效性。通過遺傳算法的這些特點(diǎn),對支持向量機(jī)的參數(shù)ε、c和σ進(jìn)行優(yōu)化。
網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測分為訓(xùn)練模塊以及預(yù)測模塊兩部分,在訓(xùn)練模塊中,基于網(wǎng)絡(luò)攻擊次數(shù),對支持向量機(jī)加以訓(xùn)練,保證預(yù)測算法精準(zhǔn)性,在獲取精準(zhǔn)的預(yù)測模型后,通過統(tǒng)計(jì)數(shù)據(jù)預(yù)測網(wǎng)絡(luò)攻擊態(tài)勢[12]。
1)由訓(xùn)練模塊完成準(zhǔn)確的預(yù)測需要分為以下幾個階段;
第一階段:需要先傳輸數(shù)據(jù)來設(shè)定多組時間序列,同時根據(jù)此時間序列確定時間限度。
第二階段:反復(fù)使用數(shù)據(jù)庫讀取模塊與評估模塊,將時間序列中的每一項(xiàng)進(jìn)行合計(jì),完成每項(xiàng)態(tài)勢評估后,根據(jù)評估值將時間序列分別輸入到各組List中。
第三階段:通過把預(yù)測訓(xùn)練模塊傳輸?shù)礁鹘MList中,來生成預(yù)測模型。
圖2 訓(xùn)練模塊結(jié)構(gòu)
2)預(yù)測模塊會通過最近時間段內(nèi)的網(wǎng)絡(luò)攻擊數(shù)據(jù),并采用支持向量機(jī)算法對網(wǎng)絡(luò)攻擊態(tài)勢進(jìn)行預(yù)測。
該模塊實(shí)現(xiàn)網(wǎng)絡(luò)攻擊態(tài)勢的預(yù)測算法需要分為以下幾個階段;
第一階段:由傳入數(shù)據(jù)來設(shè)定每項(xiàng)預(yù)測時間序列和時間范圍。
第二階段:反復(fù)使用數(shù)據(jù)庫讀取模塊與評估模塊,從而完成時間序列的架設(shè)。
第三階段:通過采用第二階段計(jì)算后的結(jié)果,基于攻擊態(tài)勢預(yù)測模塊完成預(yù)測過程。
第四階段:用顯示模塊來顯示攻擊態(tài)勢預(yù)測結(jié)果。
綜上所述,網(wǎng)絡(luò)安全態(tài)勢預(yù)測流程如圖3所示:
圖3 網(wǎng)絡(luò)安全態(tài)勢預(yù)測流程
為檢驗(yàn)預(yù)測算法的可行性,選取實(shí)驗(yàn)基地作為檢測環(huán)境。基于局域網(wǎng)互聯(lián)網(wǎng),此局域網(wǎng)包含一臺Wep服務(wù)器、一臺FTP服務(wù)器、10臺PC和2臺攻擊模擬機(jī)。實(shí)驗(yàn)設(shè)備以及參數(shù)信息如表2所示。
表2 實(shí)驗(yàn)參數(shù)信息
通過最優(yōu)輸入權(quán)值、隱含層閾值,重構(gòu)訓(xùn)練集,建立安全態(tài)勢預(yù)測模型,獲取預(yù)測誤差變化曲線。其中誤差的計(jì)算公式為:
(12)
式中,yk是網(wǎng)絡(luò)安全態(tài)勢的實(shí)際值,y′k是預(yù)測值,n是預(yù)測個數(shù)。
圖4 安全態(tài)勢值與預(yù)測誤差的變化曲線
由上圖所示,預(yù)測值與網(wǎng)絡(luò)安全態(tài)勢的實(shí)際值十分吻合,預(yù)測誤差很少,表明混合多層結(jié)構(gòu)化網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測算法可以很好刻畫擬合網(wǎng)絡(luò)安全態(tài)勢變化趨勢,是一種有效的網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型。主要原因在于所提方法采用支持向量機(jī)預(yù)測完善計(jì)算方法,獲得一個小的期望風(fēng)險,這樣可以提高預(yù)測的泛化能力,降低實(shí)際值與預(yù)測值之間的評估誤差。
威脅嚴(yán)重性評估指標(biāo)的建立要考慮評估對象多方面因素,信息多角度融合可以提高評估準(zhǔn)確程度,將攻擊途徑AV、入侵警告嚴(yán)重程度AS作為評估指標(biāo),具體實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 不同方法對安全態(tài)勢預(yù)測效果的影響分析
由圖5可以看出,在AV、AS兩個指標(biāo)變化的過程中,神經(jīng)網(wǎng)絡(luò)以及支持向量機(jī)方法的預(yù)測效果均呈現(xiàn)下降的趨勢,而所提方法的預(yù)測效果則穩(wěn)步上升,由此可見,混合多層結(jié)構(gòu)化網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測算法可高效預(yù)測網(wǎng)絡(luò)安全態(tài)勢。
網(wǎng)絡(luò)攻擊態(tài)勢變化具有時變性與非線性的問題,傳統(tǒng)支持向量機(jī)預(yù)測算法對于參數(shù)這一問題,沒有有效的解決辦法,且存在預(yù)測準(zhǔn)確性較低,所以,提出一種遺傳算法與支持向量機(jī)算法相結(jié)合的網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測算法。根據(jù)實(shí)驗(yàn)結(jié)果證明,通過遺傳算法全面檢索及尋優(yōu)能力,有效改善了支持向量機(jī)參數(shù)優(yōu)化問題,網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測的準(zhǔn)確性有較大增強(qiáng),與其它網(wǎng)絡(luò)攻擊態(tài)勢預(yù)測算法相比,該算法的預(yù)測效果更有實(shí)時性,同時也能較好的維護(hù)網(wǎng)絡(luò)安全運(yùn)行狀況,有效防御網(wǎng)絡(luò)攻擊。