孫 衛 喜
(渭南師范學院網絡安全與信息化學院 陜西 渭南 714099)
現今網絡已經成為國家戰略部署、人民日常生活、社會經濟發展的重要基礎。人們在工作、學習、生活等方面分享網絡帶來極大便利的同時也為經常出現的網絡安全問題感到困惑,而網絡結構的復雜化、數據的綜合化及協議的多樣化等使管理人員感到茫然[1],特別是互聯網環境高速進化中網絡安全威脅及網絡攻擊手段多樣化已超越了防范措施的推出速度[2]。面對網絡攻擊行為規模化、常態化發展的趨勢,研究如何在網絡攻擊之前,利用有效的防護措施及時發現攻擊行為并予以阻止就顯得非常有意義。
傳統的安全衛士、殺毒軟件、防火墻的網絡安全防護往往是單一的,難以主動防御網絡威脅。美國的Time Bass[3-4]針對網絡安全的復雜性于1999年提出了網絡安全態勢感知的概念,網絡安全態勢感知NSSA(Network Security Situation Awareness)能對影響網絡安全的各種因素信息進行解析、收集、綜合處理,并建立數學模型,給出評估網絡安全的方法,進而對網絡安全進行預測。NSSA包含對網絡態勢要素獲取、態勢信息融合量化及對未來態勢預測等方面的內容。傳統的網絡安全技術主要存在,檢測的數據流數據單一、速度慢、更新周期繁瑣等問題。與傳統的網絡安全技術相比,NSSA具有實時性、多樣性、整體性等優點。其更注重網絡安全細節的特征[5]。NSSA作為網絡安全的新技術,以網絡安全發展狀況為關注點,能從整體上感知網絡的安全狀況。它的數據支持來源于硬件設備與軟件系統,更加注重統籌分析影響網絡安全的各種因素,全面實時、多角度反映網絡當前時刻的安全狀況。采用更加科學合理的網絡安全評估手段和方法對網絡安全狀況實時監測,及時發現并處理發現的網絡安全問題,NSSA是網絡管理的發展方向。網絡安全態勢感知系統以網絡安全態勢要素為基礎,網絡安全態勢要素以數據精煉、對象精練、態勢精練三次抽象來獲取, 從網絡系統安全中獲取高質量的網絡態勢要素是實現網絡安全主動防御的前提[6]。
網絡安全的重要性無論是國家或單位都有充分的認識,紛紛構建其網絡安全態勢感知系統,該系統不僅需要對網絡實施漏洞檢查、入侵檢測、防火墻等基礎防御,更需要掌握全局網絡系統的安全運行數據,為管理者提供整個網絡變化的決策依據。
在實際操作中,NSSA能通過實時監測的手段了解大規模復雜網絡環境中影響網絡安全狀態的網絡、用戶、網絡設備運行情況。在技術上,NSSA通常通過對當前和早期檢測信息表現出的網絡安全狀態進行分析處理,預測后續的網絡安全態勢[7],從而使網絡管理者能及時利用可視化的網絡安全預測系統,對發現的網絡安全弱點、預測到的威脅,制定出相應的措施主動進行防御。本文研究的重點為網絡安全態勢感知中有關態勢預測的部分。
SA(Situation Awareness),態勢感知起源于軍事領域,用于對復雜結構、影響因素眾多、大范圍事件的整體理解及快速決策處理[8]。Endsley[9]以“在一定的范圍內,感知和理解環境狀況,并對后續發展趨勢進行推算” 最先確定了態勢感知,并將態勢獲取、態勢理解、態勢預測界定為態勢感知的三個方面。Loke[10]提出了“網絡態勢感知是網絡環境中所有信息按照邏輯約束關系進行組合的結果”,Lacey 等[11]通過系統研究網絡態勢感知給出了網絡空間態勢感知框架,雖然網絡態勢感知目前還沒有權威的定義,但網絡態勢感知作用很明確,即:通過感知系統觀測整個網絡的安全情況,依據觀測到的數據對網絡安全事件及時做出判斷,并以可視化方式提供給管理者決策[12]。
用于進行網絡安全態勢感知的三大技術包括數據挖掘、態勢評估以及態勢預測。其中,數據挖掘中力求準確、快速、全面地找到網絡威脅事件;態勢評估要求更為有效客觀地評價網絡安全態勢;態勢預測則強調預測網絡安全的準確性,以便網絡管理者依據預測結果采取相應的措施,保護網絡安全。本文的研究重點是在分析網絡安全態勢預測中的相關技術后,對其進行改進,并使改進后的態勢預測系統精度得以提高。
國外網絡安全態勢感知系統架構的建立主要采用的是集成化思想,卡內基梅隆大學SEI 2005年在網絡態勢感知系統中集成了Netflow工具,能對潛在的、惡意的網絡攻擊行為進行識別與響應并做出相應的防御。King等[13]在分類屬性網絡中運用深度包檢測技術提供了深刻全面的態勢感知結果,Varun 等在基于事件學習理論的基礎上構建了分析網絡攻擊態勢的網絡攻擊檢測模型,Bode等[14]構建了網絡態勢風險管理的貝葉斯網絡模型,Friedberg等[15]給出了網絡異常行為的態勢感知基于事件自動關聯的事件檢測AECID。CID(Cooperative Infrastructure Defense)中Fink等[16]提出了分層協同管理的思路,并在CID之上,提出了數字螞蟻的思路[17]。Szwed等[18]對網絡依賴關系中重要資產采用模糊認知圖的方式獲取并評估其危害程度,該方法存在數據來源單一、主觀性、誤差較大的問題。Liu等[19]基于隱馬爾可夫模型與報警觀測序列,以Viterbi 算法推導最大可能狀態轉移序列,實現攻擊意圖識別,但缺乏全網風險值量化。Ghasemigol 等[20]針對攻擊發生概率的不確定性,提出了一種綜合預測算法,提高了預測精度。Wu等[21]基于大數據分析提出了電網系統安全態勢感知機制,將博弈論和模糊聚類相結合,降低錯誤率提高預測效率。
國內研究網絡安全態勢感知主要包括:網絡安全數據的全面獲得,數據融合方法及數據之間的關聯性分析,網絡安全態勢指標體系的建立以及網絡安全態勢評估。陳秀真等[22]利用網絡運行情況與告警信息數據,對網絡結構及主機和服務發揮的作用進行系統分析,提取影響網絡態勢的多個因素,給出了網絡安全態勢計算方法和層次化的量化評估模型,但其缺乏對網絡攻擊間的聯系及整體性分析。李方偉等[23]給出的一種徑向基函數神經網絡的網絡安全態勢預測模型,雖然對網絡安全態勢預測精度有所提高,但有預測結果不穩定與過擬合的問題存在。韋勇等[24]依據層次化的思想,對節點上的安全要素利用D-S證據理論做了融合,再按照節點、子網、全網層融合,最后獲得網絡態勢值,從而在信息融合的基礎上建立網絡安全態勢評估模型。由于其有效處理了多源安全事件,使多源信息間的互補性得到了充分利用,從而使態勢感知的準確性進一步提高,也使得在網絡態勢感知中多源信息融合優于單源的特征得到驗證。周新衛等[25]基于安全態勢值與多節點網絡安全態勢重要影響因子值,采用構建的模型對多節點網絡安全態勢進行預測,實現對突變態勢的有效預測,提高網絡安全態勢的預測精度。劉效武等[26]以數據信息從融合異質多傳感器獲得,再用支持向量機結合特征約簡算法生成網絡安全態勢值,最后依據評價指標評價量化態勢感知。賈焰等[27]建立態勢感知模型時采用關聯分析與集中處理所收集到的網絡安全態勢數據,再對網絡安全態勢用建立的指標體系進行預測,該模型可用于較大規模的網絡環境。張丹等[28]利用自律反饋特性獲取網絡安全態勢數據,建立態勢評估模型時用層次分析法(AHP),再用神經網絡的改進方法對態勢進行預測。甘文道等[29]使用網絡徑向基函數神經網絡更利于神經網絡的結構與參數控制,使得用網絡安全態勢圖反映網絡安全更直觀。黃亮亮[30]在網絡安全態勢預測中用PSO(Particle Swarm Optimization)優化RBF(Radial Basis Function)網絡的方法,給出PSO-RBF網絡模型,通過對歷史數據分析并映射出未來的網絡態勢值。胡冠宇等[31]將云群的高維差分進化算法應用到預測網絡安全態勢中補充了算法的多樣性及搜索精度。琚安康等[32]將現有大數據處理技術與安全事件管理需求相結合,構建了集數據存儲、實時關聯檢測、收集整理、離線分析發現、態勢呈現、威脅預警等有效地實施了全流程網絡安全態勢預測。
經過專家學者對網絡安全態勢預測大量的分析研究及驗證,發現網絡式非線性的狀態特征使得時間序列應用于網絡安全態勢預測中存在許多問題。而傳統的統計學方法表示的是線性特征,因此需要借助于人工智能算法如支持向量機、馬爾可夫、神經網絡等提高對網絡安全態勢的預測精準,但支持向量機參數選定的盲目性、神經網絡參數的難以確定和馬爾可夫算法公式推導與建模過程的繁瑣也是網絡安全態勢預測面臨新的問題[33-35]。
網絡安全態勢感知常用的方法包括基于神經網絡的方法、支持向量機、模糊邏輯、知識推理、基于貝葉斯網絡、深度學習的方法等。神經網絡利用大量的實驗來進行神經網絡模型的建立,存在計算量大、選擇基函數較為困難的問題。知識推理方法克服數學模型難以處理的情況,避免客觀性受主觀因素的影響,模擬人類思維過程。貝葉斯網絡用有向圖表示,圖中每一個節點表示一種變遷狀態,可從狀態屬性圖最小割、重要性程度、可信任性等分析網絡系統。網絡安全態勢感知方法按照其原理可分為:基于模式識別的態勢研究方法、基于知識推理的態勢研究方法及基于數學模型的態勢研究方法。
已有文獻對網絡安全態勢預測提供了理論基礎以及思路上的借鑒。目前網絡安全態勢預測的技術尚不成熟,用于網絡安全態勢預測的技術一般為一些智能優化算法,然而這些算法較少考慮網絡安全態勢感知的實際情況。因此,造成了預測準確率低,時變性和非線性等因素未被考慮等問題。基于此,本文給出了一種將改進粒子群算法與支持向量機相結合的新算法來提高網絡安全態勢預測的精度。
網絡安全態勢的預測以發生網絡安全事件的數量、頻率、網絡受威脅程度等因素經過處理而獲取反映網絡態勢的數據為根據。目前關于網絡安全態勢預測思路與框架尚未完全形成,發展較快的網絡安全態勢預測方法主要有:灰色預測、神經網絡、時間序列預測法及支持向量機預測。
本文對上述網絡安全態勢預測的方法進行了分析比較[36-49],并給出了相關方法的優缺點以及適用范圍,具體如表1所示。

表1 網絡安全態勢預測方法比較

續表1
依據網絡安全態勢預測相關文獻及上述研究分析,得出網絡安全態勢預測具有以下特征:
(1) 數據呈現非線性,高維度等特征。
(2) 預測結果表現出不確定性,無周期性。
鑒于此,本文選擇支持向量機作為網絡安全態勢預測的基本模型。
然而傳統的支持向量機方法存在參數確定困難以及結果可能為局部最優等問題。針對傳統支持向量機存在的問題,本文引入了一種改進的粒子群算法。改進的粒子群算法與傳統粒子群算法相比,使用了混沌優化函數,使得改進后的算法更加偏向全局最優,從而解決了參數確定及局部最優的問題。
綜上所述,本文是在對目前網絡安全態勢預測方法大量的分析研究后,給出一種支持向量機與改進粒子群優化算法相結合的網絡安全態勢預測方法,即在SVM優點特征的基礎上引入改進的粒子群優化算法,通過用無體積無質量的粒子作為個體且規定各粒子的行為規則,使用個體之間的協作尋優在表現出復雜特性的整個粒子群中尋找最優解,進而優化支持向量機的三個參數。該安全態勢預測方法還克服了使用線性方法評估網絡安全態勢帶來的預測精度低、描述網絡目前狀態與未來狀態關系困難等問題,更適應網絡安全態勢變化時變性、非線性等特點。
本文將按照由簡單到復雜的順序行文。首先給出一般的支持向量機算法,然后,引入改進的粒子群算法確定支持向量機所需參數,最后,給出綜合算法的計算步驟。
2.2.1支持向量機算法
為解決復雜的模式識別問題,Vapnik提出了支持向量機,取得了較大進展[50],并在統計學習理論的基礎上給出了SVM分類器,較好地解決了線性不可分的問題[51]。后續的學者們研究出基于二叉樹的多分類方法[52]、序列最小優化訓練算法(SMO)[53]、多分類理論、決策導向非循環圖法(DDAG)[54]、1-a.r方法[55],近年來學者們又研究出Class-SVM、v-SVM、C-SVM等算法,進一步完善支持向量機的理論體系。張翔等[56]在態勢評估指標的時間序列預測中采用支持向量回歸預測方法。王庚等[57]采用遺傳算法的染色體編碼優化支持向量機參數。李潔等[58]給出的通過對態勢樣本集進行歸一化處理和相空間重構,利用相關向量機最優的超參數與和聲搜索算法搜索,采用wilcoxon符號秩檢驗驗證模型預測性能之間的差異性,提升了網絡安全態勢預測模型的預測精度和速度。
支持向量機SVM訓練樣本通過預設函數的支持向量機訓練,函數的確定是在用不斷擬合方法給出重要參數的基礎上獲得的。SVM泛化能力強,對復雜的非線性數據與小樣本數據的建模識別能力很好。
本文所給樣本集為:
{{X1,Y1},{X2,Y2},…,{Xn,Yn}}Xi∈Rn
觀測樣本值Yi∈Rn,設回歸模型為:
f(x)=ωTx+b
(1)
式中:ω為支持向量機法向量,b為偏移量。
實現合理擬合樣本集需要用到損失函數ε,|yi-f(xi)|=max{0,|yi-f(xi)|-ε}觀測值與f(xi)回歸預測值間誤差的相對值不能大于ε,因而:
(2)

(3)
(4)
懲罰因子C>0,利用拉格朗日乘子求解,即:
(5)
(6)
并滿足:
(7)
把式(6)代入式(4)獲取優化目標函數,給出K(x,xi)核函數來替換點積運算,則:
(8)
(9)
于是,問題就變為二次規劃問題,該問題的解:
(10)
鑒于在支持向量機核函數中使用高斯核函數較好,對高斯核函數做如下設定:
(11)
如下表達式是支持向量機預測模型:
(12)
高斯核函數寬度用σ表示。
2.2.2改進的粒子群優化算法
使用SVM算法能從龐雜的網絡安全因素中找出規律,足以說明其對網絡安全態勢預測的有效性,而傳統確定SVM參數的方法如網絡搜索法、窮舉法及經驗法存在耗時長、難以找到最優參數、模型的預測精度較低等問題,分析前期對SVM用于網絡安全態勢預測的研究,發現SVM參數的優化問題是決定預測精度的關鍵。支持向量機的主要參數是:① 核函數的寬度σ,非線性問題最優解的復雜度用σ確定,σ的取值關系支持向量機的泛化能力;② 懲罰因子C,是過學習還是欠學習由C的取值過大或過小決定;③ 不敏感損失函數ε,支持向量數目和計算復雜度由ε確定,其表示訓練時的誤差期望。支持向量機主要參數的選取決定其預測精度,本文采用粒子群結合混沌優化兩種算法對SVM的三個參數進行了優化。
粒子群算法是基于群體智能的優化理論所抽象出算法,其包括三方面內容:一是用一個具備初始位置和速度的粒子表示優化問題的解;二是按其最優位置以及全局最優位置動態調整粒子飛行速度和當前所處位置,搜尋粒子最好的目標獲得最優解;三是用適應度函數衡量解的優劣程度。
粒子群優化算法是一種全局優化進化算法,有著進化初期需要調整的參數少、容易實現、概念簡單、快速收斂等特征。但在用PSO優化SVM的三個主要參數時發現:粒子群中當單個粒子搜索到某個局部最優解時會影響到其周圍的其他尋優粒子,導致它們快速靠近該粒子,這樣就會出現局部最優解及粒子早熟等問題[59]。針對PSO存在局部最優解及粒子早熟的問題,本文引入了混沌優化算法對粒子群優化算法做了改進。混沌優化算法具有全局性的優點[60],其可以按某種規則一次性搜索一定范圍內的所有情況,當粒子群出現部分收斂后,再按照粒子群變化的適應情況對粒子群最優值及情況差的粒子進行混沌變異,使粒子群優化算法避開部分最優的能力得到進一步的提高。
采用改進的PSO算法優化支持向量機中參數的思路為:將支持向量機中的三個參數作為一個組合優化(σ,C,ε),計算利用該組合得到的模擬值f(x)與實際值y的標準差(MSE),并以此為目標建立多目標規劃模型,設置初始化參數并進行迭代,最終得到目標最小值。在迭代過程中,需要注意每個粒子的適應度值。若適應度值大于所給閾值,則使用一般PSO算法進行更新,若適應度值小于所給閾值,則使用混沌優化算法進行處理,再對粒子進行更新。
當模型取最小值時,得到的組合為SVM的最優參數。值得指出的是,需要預先給出這三個參數的取值范圍,并作為多目標規劃的約束。
式中:y為實際值,f(x)為利用SVM得到的模擬值。
ming(z1,z2,…,zi)=minMSE
s.t.ai≤zi≤bij=1,2,3
(13)
式中:z1、z2、z3分別對應SVM中需要得到的三個參數σ、C、ε,[ai,bi]分別為其對應的上下界。
使用PSO算法進行迭代的公式為:
(14)
(15)

下面給出用使用改進的PSO算法計算支持向量機參數的步驟:

Step2利用式(12)-式(13)計算所有粒子的初始個體極值以及全局初始極值。



Step5輸出最優解向量。得到支持向量機所對應的函數表達式f(x)。
本文充分綜合上述兩種算法的優點計算SVM的三個參數。用混沌優化算法在參數選取時能使用普遍的參數選取法,不用考慮模型的變量維數和復雜度的特性,再利用混沌理論的規律性、遍歷性、隨機性等特點有效地解決了用PSO算法優化時出現的局部最優解及粒子早熟的問題,也就是用混沌變異算子對粒子群優化算法進行必要的改進。在粒子群進化中確定粒子是否早熟依據粒子群適應度最優變化情況,若變化不大于確定值時,則對粒子群中優勝粒子的位置與速度進行更換,再用混沌變量映射非優勝粒子,然后把替換了的優勝粒子與使用混沌優化后的非優粒子組成新種群。使用混沌優化法對此時全局最優值進行擾動,以便增加尋找全局最優解的幾率,使得粒子群經過本操作后避開出現局部最優點的問題。粒子的速度與位置經混沌變量隨機性初始化后,種群的遍歷性及多樣性得到進一步的提高。
預測步驟如圖1所示。

圖1 網絡安全態勢預測
(1) 收集、整理網絡安全態勢數據,量化處理網絡安全監測數據。
(2) 數據歸一化處理,影響網絡安全態勢的因素眾多,有時收集到的數據差異明顯,而支持向量機數據預測敏感區在(0,1)之間,故需要在(0,1)之間歸類原始的網絡安全態勢數據。
(3) 在前兩步的基礎上通過確定嵌入維數和時間延遲將一維的網絡安全態勢數據轉換為多維樣本態勢數據。
(4) 把獲得的樣本數據分為測試集與訓練集兩部分,把訓練集數據輸入SVM學習。
(5) SVM主要參數的優化采用改進的粒子群優化算法,實現用最優參數建立預測模型。
(6) 對測試集使用建立的預測模型進行預測,完成反歸一化預測結果等處理,再依據得到的處理數據預測網絡安全態勢。
選取某公司2017年3月1日-4月29日和5月1日-6月29日的安全測試數據,每天取樣4回,安全測試數據按兩月為一批,通過計算后每批各獲得240個態勢值,以相同的過程分別對兩批數據進行實驗,通過MATLAB 2016b進行實驗。
累加所得的各組態勢值,以獲得新數據樣本,實行歸一化處理新數據樣本。把NSSA時間延遲設定為1,用試湊法得到的嵌入維數為6,這樣SVM就有了1個輸出變量和5個輸入變量,最后通過嵌入維數與延遲時間對獲得的數據進行重構,生成SVM的測試集與訓練集樣本,再將生成的訓練集樣本數據輸入到預測模型中學習。預測模型為改進的粒子群優化后的SVM。
對本文所給網絡安全態勢預測模型通用性與有效性的檢驗,采用上述獲得的兩組重構數據,以未改進的PSO-SVM模型與改進后的模型分別進行預測,然后比較兩種模型所得的預測結果。具體操作方法采用:① 先將兩組重構數據的前200個點作為訓練樣本,用于兩種方法的訓練及模型的構建;兩組數據的后40個點作為測試樣本,用于將兩種模型的預測結果與實際值進行比較。② 分別將兩組重構數據的訓練樣本輸入SVM進行學習,SVM的三個參數用改進的粒子群優化算法進行優化,獲得用第一批數據時σ=5、ε=0.001、C=98;第二批數據時σ=5、ε=0.001、C=76.12。③ 用兩組數據所獲得的三個參數再分別將兩組重構數據輸入到支持向量機進行學習、訓練得到新模型的預測結果。④ 圖2為比對未經處理的原始值、本文所給方法得到的預測結果及未改進PSO-SVM得到的預測結果,圖3為PSO-SVM改進前后的誤差比較。

圖2 三種數據比較圖

圖3 兩種方法誤差比較
結果表明,采用本文給出的網絡安全態勢預測方法,預測未來的網絡安全狀態精度高、誤差小。
本文給出的采用支持向量機與改進粒子群優化算法相結合的網絡安全態勢預測方法,是基于實際問題展開的,理論基礎深厚、可實施性強。實驗表明,該方法進一步提高了網絡安全預測的精確度及有效性。用本文給出的網絡安全態勢預測模型,能對先前網絡安全態勢的變化趨勢做出準確、客觀的評估,很好地預測后續的網絡安全態勢,便于指導網絡管理者做出更好應對網絡安全威脅的決策。