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