摘 要: 針對現(xiàn)有的網(wǎng)絡安全態(tài)勢預測方法沒有從影響網(wǎng)絡安全態(tài)勢的安全因子入手,不能準確地預測未來網(wǎng)絡安全態(tài)勢,提出了一種基于灰色理論和BP神經(jīng)網(wǎng)絡的預測方法。首先依據(jù)灰色模型系數(shù)的取值大小選擇最合適的背景值,并構(gòu)造了一種新的模型背景值函數(shù)。其次,結(jié)合GM(1,1)、GM(1,N)模型預測網(wǎng)絡安全態(tài)勢,并用BP神經(jīng)網(wǎng)絡對態(tài)勢預測值進行修正。最后,通過真實的網(wǎng)絡環(huán)境驗證了所提出的方法在網(wǎng)絡安全態(tài)勢預測中的有效性。
關(guān)鍵詞: 灰色理論;網(wǎng)絡安全態(tài)勢感知、預測;BP神經(jīng)網(wǎng)絡;粒子群算法
0 引言
隨著網(wǎng)絡信息技術(shù)的日益發(fā)展,互聯(lián)網(wǎng)正在成為社會的信息基礎(chǔ)設施。同時,網(wǎng)絡攻擊和破壞行為日益普遍,傳統(tǒng)的網(wǎng)絡安全防護設備(如防火墻、IDS等)功能單一、不能全方位地對網(wǎng)絡的安全狀態(tài)做出整體的評價和估計[1]。網(wǎng)絡安全態(tài)勢感知就是在這種背景下產(chǎn)生的。其中網(wǎng)絡安全態(tài)勢預測作為網(wǎng)絡安全態(tài)勢感知的一個重要部分,它能夠?qū)W(wǎng)絡系統(tǒng)整體運行的安全趨勢進行把握,實時地感知網(wǎng)絡所面臨的威脅;為及時、準確的決策提供可靠依據(jù),使由網(wǎng)絡不安全帶來的風險和損失降低到最低限度。
目前存在多方位、多層面的預測方法和模型,主要有:灰色GM(1,1)模型[2]、神經(jīng)網(wǎng)絡[3]、支持向量機(Support Vector Machine,SVM)[4]等。
上述預測方法都在一定程度上對網(wǎng)絡安全態(tài)勢進行了預測,存在的問題總結(jié)如下:預測方法僅從網(wǎng)絡歷史的整體安全態(tài)勢本身數(shù)據(jù)進行分析,忽略影響網(wǎng)絡安全態(tài)勢的安全因子[5],而實際上安全態(tài)勢的變化是與安全因子的變化密切相關(guān)的。
對此,本文從影響網(wǎng)絡安全態(tài)勢的安全因子入手,結(jié)合灰色GM模型、BP神經(jīng)網(wǎng)絡預測網(wǎng)絡安全態(tài)勢,并通過真實的實驗環(huán)境去驗證本方法的準確性。
1 網(wǎng)絡安全態(tài)勢安全因子
在互聯(lián)網(wǎng)實際應用中,本文從網(wǎng)絡基礎(chǔ)運行性、網(wǎng)絡脆弱性、網(wǎng)絡威脅性[6]劃分安全因子。脆弱性側(cè)重描述網(wǎng)絡本身的安全漏洞。因子包含:子網(wǎng)內(nèi)安全設備數(shù)目、關(guān)鍵設備開放端口的數(shù)量、關(guān)鍵設備漏洞數(shù)目。網(wǎng)絡基礎(chǔ)運行性主要指網(wǎng)絡本身的運行狀態(tài),能直接反映安全事件造成的影響。因子有:主機CPU、內(nèi)存等資源消耗量、子網(wǎng)流量增長率、子網(wǎng)數(shù)據(jù)流總量、子網(wǎng)帶寬占用率、數(shù)據(jù)丟包率。威脅性側(cè)重描述各種網(wǎng)絡攻擊對網(wǎng)絡內(nèi)部產(chǎn)生的危害程度,主要統(tǒng)計已知攻擊、疑似攻擊和惡意代碼的數(shù)量、頻率及危害度。因子包括:報警數(shù)目、惡意代碼數(shù)量、病毒木馬等的攻擊頻率、數(shù)目及危害度。
2 灰色預測模型
灰色理論[7]主要通過對部分已知信息的生成、開發(fā)、提取有價值的信息、實現(xiàn)對系統(tǒng)運行規(guī)律的正確認識從而達到科學的預測。
2.1 灰色GM(1,1)、GM(1,N)模型
灰色預測模型中最基本的是GM(1,1)模型,其預測的灰色微分方程為:
?。╥=1,2,…N,k=1,2,…n)
其中,為數(shù)據(jù)序列,為的累加生成序列,a為發(fā)展系數(shù),b為灰色作用量;模型背景值。讓,按最小二乘法擬合得。其中:
GM(1,N)模型是一種適合于建立各因子變量的動態(tài)關(guān)聯(lián)分析模型,含N個因子序列的預測灰色微分方程為:
參數(shù)向量可由B、Y按最小二乘法計算,微分方程的離散解為:
對式(6)累減還原得擬合預測值。
2.2 灰色背景值的改進
上述模型的背景值[8]函數(shù)采取均值生成方法構(gòu)造。而實際是在[k-1,k]上對式兩邊求積分。二者之間的差值是灰色模型精度不高的主要原因;參考文獻[9]在序例具有高指數(shù)規(guī)律的情況下,得到新的背景值構(gòu)造公式為:
基于此,本文設定:
當0<-a≤0.3,序列變化平穩(wěn)時,采取均值生成方法構(gòu)造背景值函數(shù)。
當0.3<-a≤0.8,序列變化呈中間狀態(tài)時,采用本文構(gòu)造的背景值:
參數(shù)l1、l2、l3由粒子群算法進行優(yōu)化。
當0.8<-a≤1時,原始序列呈高指數(shù)增長,選取新背景值構(gòu)造函數(shù)。
3 結(jié)合灰色理論和BP神經(jīng)網(wǎng)絡的預測原理
灰色理論具有建模簡單、運算方便等特點。神經(jīng)網(wǎng)絡具有自學習、自組織和自適應能力,對非線性數(shù)據(jù)的處理能力較弱,神經(jīng)網(wǎng)絡的特點恰好能對灰色模型進行補充。因此,以灰色模型的貧信息代替神經(jīng)網(wǎng)絡所需的大樣本,以BP神經(jīng)網(wǎng)絡的非線性處理能力彌補灰色模型非線性擬合差的缺點,建立性能更優(yōu)的灰色神經(jīng)網(wǎng)絡模型。
預測算法步驟如下:
?。?)對歷史安全因子、網(wǎng)絡安全態(tài)勢歷史序列無量綱歸一化處理。計算發(fā)展系數(shù)a,依據(jù)a的大小選擇對應的模型背景值函數(shù)。
?。?)將安全因子數(shù)據(jù)輸入到GM(1,1)模型中,得到安全因子預測值。
(3)結(jié)合歷史網(wǎng)絡安全態(tài)勢值,將安全因子所有預測值輸入到GM(1,N)模型中,得到網(wǎng)絡安全態(tài)勢預測值、殘差。
?。?)確定訓練樣本、預測樣本數(shù)目,以安全因子序列所有預測值輸入BP神經(jīng)網(wǎng)絡的輸入端、殘差作為輸出結(jié)果、所有訓練樣本通過BP神經(jīng)網(wǎng)絡的均方誤差為目標對BP神經(jīng)網(wǎng)絡進行訓練。最后用訓練好的BP神經(jīng)網(wǎng)絡對殘差進行預測,得到殘差預測值。
(5)對預測結(jié)果進行殘差修正,輸出最終網(wǎng)絡安全態(tài)勢預測值:
(9)
4 粒子群算法優(yōu)化模型背景值參數(shù)
4.1 粒子群算法
PSO粒子群算法屬于帶有全局策略和啟發(fā)性質(zhì)的群體智能進化計算方法。每個優(yōu)化問題的可行解都是搜索空間中的一個粒子。算法首先隨機生成一個粒子種群,然后追隨當前最優(yōu)粒子在種群中進行迭代搜索,直到達到要求,停止搜索。種群粒子的速度、位置進化公式如下:
vid(t+1)=vid(t)+c1×rand()×(pbest-xid(t))+c2×rand()×(Gbest-xid(t))(10)
xid(t+1)=xid(t)+vid(t)(11)
其中,vid是粒子的速度,維數(shù)為i×d維,c1、c2為學習因子,分別調(diào)節(jié)飛赴自身和鄰居的步長,rand()是介于(0,1)之間的隨機數(shù),xid(t)是粒子當前位置,pbest(t)代表粒子當前最好位置,Gbest(t)代表種群當前最好位置,即全局最優(yōu)位置。
4.2 PSO算法優(yōu)化背景值參數(shù)的步驟
算法設計思想:將背景值的所有參數(shù)映射成種群個體的位置。設定采用的適應度函數(shù)(本文為灰色GM(1,N)模型殘差平方和的倒數(shù)。搜尋使適應度滿足要求的粒子位置,新生成的個體位置還原為背景值的參數(shù),得到背景值最優(yōu)參數(shù)組合。
算法步驟如下:
?。?)隨機初始化背景值參數(shù)l1、l2、l3。
?。?)背景值參數(shù)映射為PSO種群粒子位置向量。
(3)隨機產(chǎn)生初始化種群(包括隨機種群數(shù)目M、速度、位置)。
?。?)依據(jù)粒子群算法更新粒子的速度和位置,得到新的粒子位置和速度。
?。?)計算粒子位置映射的背景值參數(shù)、殘差和適應度。
?。?)判斷適應度是否滿足設定值,如果滿足,輸出當前位置所對應的背景值參數(shù),終止迭代;否則,繼續(xù)下一步。
?。?)比較粒子的當前位置和歷史最優(yōu)位置,若當前位置較好,用當前位置替換歷史最優(yōu)位置;然后將粒子的個體最好位置與全局最優(yōu)位置做比較,若粒子的個體值更好則記錄此位置為新的全局最優(yōu)位置。
?。?)迭代次數(shù)t=t+1,如果t>Tmax,終止迭代,否則,轉(zhuǎn)到第(4)步。
通過PSO粒子群算法,搜尋到最優(yōu)的背景值參數(shù)組合,使灰色GM(1,N)模型的殘差最小,從而得到精度最好的模型。
5 實驗分析
實驗前本文采用參考文獻[10]的態(tài)勢評估方法結(jié)合安全因子對網(wǎng)絡安全態(tài)勢先進行評估,以便獲取實驗所需的網(wǎng)絡安全態(tài)勢數(shù)據(jù)。
5.1 實驗準備
本文搭建了由主機、路由器、交換機、服務器等組成的網(wǎng)絡進行實驗。
網(wǎng)絡中包含的受攻擊目標分別為Web服務器、備份數(shù)據(jù)庫、主數(shù)據(jù)庫、DNS服務器、TCP服務器。實驗過程中的數(shù)據(jù)來源于路由器中的Snort入侵檢測信息、Netflow數(shù)據(jù)流信息、主機的Nessus漏洞掃描信息、Firewall日志信息。實驗時將SQL注入漏洞攻擊數(shù)據(jù)庫、SYN Flood攻擊TCP服務器、Web服務器、UDP Flood攻擊DNS服務器等,然后從網(wǎng)絡節(jié)點獲得所需的異常數(shù)據(jù),在MATLAB7.0平臺進行仿真實驗。
實驗參數(shù):設定預測周期為12 h,即通過前11個時間段的態(tài)勢值預測之后的1個時間段的態(tài)勢值,選取訓練樣本數(shù)為101,預測樣本數(shù)為23。本次的粒子群算法中,粒子種群初始規(guī)模M設定為100,位置xid∈[0,1]、速度vid∈[-100,100],最大迭代次數(shù)Tmax=1 000、學習因子c1、c2均為2,適應度設定為:1 000。對比不經(jīng)任何優(yōu)化處理的灰色GM(1,1)模型、BP神經(jīng)網(wǎng)絡對網(wǎng)絡安全態(tài)勢進行預測。
5.2 實驗結(jié)果
預測結(jié)果曲線圖如圖1所示。
可以進一步通過對模型得到的預測值計算殘差、相對殘差、檢驗模型的準確性。表1為精度檢驗結(jié)果。
5.3 結(jié)果分析
從網(wǎng)絡安全態(tài)勢預測結(jié)果可以看出,3種方法檢驗結(jié)果誤差各有不同:灰色GM(1,1)只能粗略地反映網(wǎng)絡安全態(tài)勢的總體趨勢;BP神經(jīng)網(wǎng)絡預測結(jié)果誤差相對GM(1,1)模型小,但是其訓練樣本過大,訓練時間較長;對比GM(1,1)模型、BP神經(jīng)網(wǎng)絡,本方法預測精度更高。
6 結(jié)論
本文的方法在實際應用中有兩方面的難點:一是預測結(jié)果網(wǎng)絡安全因子的限制,如果選取的安全因子不完全,會很大地影響網(wǎng)絡安全態(tài)勢的預測結(jié)果,二是預測能力受安全因子預測能力的影響,因而如何提高安全因子預測的準確性將是下一步的工作重點。
參考文獻
[1] 王庚,張景輝,吳娜.網(wǎng)絡安全態(tài)勢預測方法的應用研究[J].計算機仿真,2012,29(2):98-101.
[2] 鄧聚龍.灰理論基礎(chǔ)[M].武漢:華中科技大學出版社,2002.
[3] 謝麗霞,王亞超,于巾博.基于神經(jīng)網(wǎng)絡的網(wǎng)絡安全態(tài)勢感知[J].清華大學學報,2013,53(12):1751-1760.
[4] 汪材印.灰色關(guān)聯(lián)分析和支持向量機相融合的網(wǎng)絡安全態(tài)勢評估[J].計算機應用研究,2013,30(6):1859-1862.
[5] 葉健健,文志誠,吳欣欣,等.基于多層次數(shù)據(jù)融合的網(wǎng)絡安全態(tài)勢分析方法研究[J].微型機與應用,2015,34(8):5-7,11.
[6] 孫德衡.基于指標融合的網(wǎng)絡安全態(tài)勢評估模型研究[D].西安:西北大學,2012.
[7] 劉思峰,謝乃明.灰色系統(tǒng)理論及其應用[M].北京:科學出版社,2008.
[8] 劉思峰,鄧聚龍.GM(1,1)模型的適應范圍[J].系統(tǒng)工程理論與實踐,2000(5):121-124.
[9] 何慶飛,陳桂明,陳小虎,等.基于改進灰色神經(jīng)網(wǎng)絡的液壓泵壽命預測[J].中國機械工程,2013,24(4):500-506.
[10] 王志平.基于指標體系的網(wǎng)絡安全態(tài)勢評估研究[D].長沙:國防科學技術(shù)大學,2010.