劉海天,韓偉紅,賈 焰
(1. 國防科技大學 計算機學院,湖南 長沙 410073;2. 廣州大學 網絡空間先進技術研究院,廣東 廣州 510006;3. 電子科技大學 廣東電子信息工程研究院, 廣東 東莞 523808)
網絡已成為我國重要的信息基礎設施,而近年來國內頻繁發生的網絡安全事件對相關網絡軟硬件信息基礎設施帶來了嚴重威脅。在現有網絡安全基礎設施及技術基礎上,構建大規模網絡安全態勢分析系統,加強對網絡安全態勢掌控、分析、預測等處理已經成為了當前的迫切需求。網絡安全態勢評估(Network Security Situational Assessment,NSSA)技術應運而生,并迅速發展而成為“網絡信息安全領域”的一個新的研究熱點。
1999 年,Bass等人首次提出了網絡態勢感知概念[1],而于2005年,CMU/SEI領導的CERT/NetSA開發了SILK,旨在對大規模網絡安全態勢感知狀況進行實時監控。通過對現有文獻的研究,發現要準確預測網絡安全態勢并非易事,研究人員在這方面做了大量的工作,已經提出了類似“基于威脅傳播模型的網絡安全評估方法”[2]等有效模型,但并不完美。即便如此,也可以通過前人的經驗,結合神經網絡與網絡安全態勢評估技術,以評估結果為指導,提前將影響網絡安全的因素進行優化。
相關研究顯示,通過BP神經網絡模型[3],可以有效地模擬人類思維模式,進而有效地解決非線性問題。基于BP神經網絡的模型構建技術能夠很好地應用于網絡管理系統中,而采用BP神經網絡技術亦可以較好地對網絡的安全態勢進行評估,而且其在相關研究領域更是具有一定的借鑒價值。因此本文將BP神經網絡應用于網絡安全態勢評估之中,采用大量的實驗數據訓練模型,并用部分數據進行測試,取得了較好的效果。
1.1.1網絡安全態勢綜合指數
為了全面反映網絡的安全態勢,本文采用定量描述的方法對脆弱指數、風險指數和基礎運行指數[4]進行計算,這幾個指數代表網絡安全運行所需要的幾個必要條件,而綜合安全指數則是指在一定時間段內反映當下網絡整體安全態勢的數值,它由脆弱指數、風險指數和基礎運行指數通過加權法獲得,如下圖1所示。

圖1 網絡安全態勢綜合指數圖
在此,先以基礎運行指數作為唯一指標,對基礎運行指數進行進一步細化,包括CPU利用率、內存利用率、網絡帶寬利用率、端口峰值、丟包率、平均往返時延、傳輸率、吞吐率。選擇這8種指標作為評價指,將網絡的安全態勢進行分級,比如分為5個級別:Good、OK、 Warning、Bad、Critical,這 5 種狀態由高到低地標示出整個網絡安全狀態。
1.1.2BP神經網絡模型構建
該模型由態勢數據輸入、態勢映射和態勢輸出部分組成,各部分的功能設計如下。
(1)態勢輸入部分:分時段收集網絡中節點的態勢相關數據,作為態勢輸入部分的一組輸入數據。
(2)態勢映射部分:該部分由三層組成,包括輸入層、隱層和輸出層。
輸入層從態勢輸入部分獲取輸入數據,這些數據經過隱含層的運算得到隱含層的輸出,然后經過輸出層的運算得到輸出層的輸出,態勢數據映射完成。
輸入層的節點數與輸入數據數相同;輸出層的節點數與態勢評估結果數相同,隱含層數可以根據需要進行設置,但是層數越多、網絡越復雜,則訓練時間越長。在此,默認初始隱層節點數M為:
M=(N+l)1/2+δ
(1)
其中:N代表輸入層節點個數;l代表輸出層節點個數;δ代表0~10的常數,默認取值為1。
設輸入層有i個節點,隱含層有j個節點,輸出層有k個節點;輸入層到隱含層之間有連接權值wij,隱含層有閾值θj;隱含層到輸出層有連接權值vjk,輸出層有閾值rk;第j個隱含層節點的輸出值yj,第k個輸出層節點的輸出值為yk,則:
(2)
(3)
(3)態勢輸出部分:接收態勢映射部分傳遞過來的值。
BP神經網絡態勢構建流程[5],如圖2所示。

圖2 BP神經網絡模型態勢流圖[5]
1.1.3網絡安全指標體系模型運行理論基礎
評測指標個數與輸入層神經元個數一一對應,若有8個評測指標,則網絡的輸入層有8個神經元,輸出要求的評估等級為5,則輸出層的神經元為5個,對應的網絡輸出模式為(1,0,*,*,*)。而經過實驗測試,可以進行單一輸出元神經輸出,隱含層的神經元個數也要確定,默認的取值原則為4個。
最后,經過輸入層、隱層得出第一輸出層節點(第二隱層節點)。
模擬基礎運行維,分別構建脆弱維與風險維的BP神經網絡,得到3×n個第二隱層節點,由此完成全局網絡的框架。
樣本數據m組,解決BP神經網絡的訓練問題,進行學習訓練,使用Eclipse平臺構建神經網絡作為平臺訓練BP神經網絡,初始化收斂權重并記錄,得出理想輸出。
各層神經元之間采用全連接方式進行連接,性能目標設為0.1,訓練步數設為n次一輸出,學習速率設為0.1~0.5,將m組訓練數據代入,經過多次迭代運算后達到收斂目標,得出收斂權重。結束訓練過程,保存訓練好的網絡,將5~500組不定測試數據代入網絡進行評估。
BP模型在當今的科學技術領域中有著相當廣泛的應用,其突出優點是具有很強的非線性映射能力以及根據具體問題靈活處理的柔性的網絡結構。但也正是由于BP模型建立了輸入與輸出之間非線性的函數關系,網絡誤差和網絡參數(權值和閾值)所構成的必定是含有多極點的非線性多維空間。
BP模型采用誤差梯度下降法,不論是按標準誤差或者是按全局誤差,計算流程都是向誤差變小的方向進展。由于空間是多極點的,因此計算過程往往滯留在局部極小點而“不能自拔”,又存在著大量的局部極小的“溝谷”,從而影響收斂速度,甚至難于收斂。其次是神經元的傳輸函數引起的“假飽和現象”等,具體體現為無法收斂(上下波動)和收斂到非目標收斂等現象。
2.1.1傳輸函數(激勵函數)的選取
在BP神經網絡中默認使用logsig激勵函數:
f(x)=1.0/(1.0+Math.exp(-x))
(4)
其中,x為所有輸入的加權和再減去偏置。
2.1.2誤差函數的選取
在BP神經網絡中默認使用以下激勵函數:
ej(n)=dj(n)-yj(n)
(5)

(6)
其中,ej(n)為迭代n時的神經元j輸出誤差;dj(n)為迭代n時的神經元j的期待響應;yj(n). 為迭代n時神經元j的實際響應;C為所有輸出單位的集合;E(n)為迭代n時的瞬間誤差平方和(或瞬間誤差能量和),對于n個訓練集E(n)的平均值為平均誤差能量EA:
(7)
而在此,可以考慮使用另一個誤差計算公式更為簡單,也更常用:
(8)
2.1.3反向傳播流程推導基礎
用微分的鏈式規則,E(n)對wji進行求導:
(9)
其中,wji為神經元i到j的權值;vj(n)為神經元j在迭代n時的函數激活信號,為突觸輸入的加權和減去偏執。
可得反向傳播公式為:
(10)
在一種簡單情況下,j為一個輸出神經元時:
(11)
其中,φ(x)為激活函數。
然后下面同樣分兩種情況討論:
(1)當神經元j為一個輸出神經元時:
(12)
(2)當神經元j為一個隱層神經元時:
(13)
(14)
其中,k為j右邊的節點。
2.2.1確定輸入和期望輸出(隨機擇取),反向傳播并確定權重,確認收斂性能
實驗結論:
(1)當輸入輸出組數過多時,需要更多的神經元對神經網絡的誤差進行消減,確保神經網絡的收斂性,在小數據范圍時,譬如各層神經元比值為輸入層神經元數=輸出層神經元數=隱層神經元數,擬定10組輸入輸出,如果不收斂,可以適當增加神經元數,如下圖3所示。

圖3 最終穩定誤差值圖表
(2)數據模型正常運行,在增大輸入神經元或者減少輸出神經元時可以在一定程度減少最終穩定誤差,在進行BP神經網絡相關的網絡安全指標體系構建時,應盡量確定單一輸出,優化并合理提高輸入指標數。相關數據如圖4所示。本文輸入輸出推薦使用8:1。

圖4 最終穩定誤差值圖表
2.2.2確定輸入和初始權重,得出期望輸出,反向傳播并重新確定權重,確認單一收斂
實驗結論:
(1)當輸入輸出合理,已確定有合理權重的情況下肯定可以使BP神經網絡收斂時,輸入輸出組數規模較小時,神經元數不會影響神經網絡收斂性,但實際權值與理想權值誤差則波動極大,如圖5所示。

圖5 當輸入神經元為4,隱層神經元同為4時,最終穩定誤差值和權重誤差值圖表
當網絡安全指標體系構建時,應該默認合理權重存在,使BP神經網絡完美收斂,而同一個BP神經網絡可以通過不同的權重指標進行收斂,在構建網絡安全指標體系時,也可以考慮不同的權重指標組可以代表不同的有效網絡安全體系指標結構構建。在此,或許可以一定程度考慮忽略神經元數對指標體系構建的影響,關于這一點,可以按實際情況討論。
(2)在數據模擬進行模糊處理時效果極度不佳,在不進行模糊處理時效果依舊有待改進,在實際考慮中應該優先考慮在P值足夠小的情況下便可滿足條件,而權重誤差值則是另一個靠慮課題,如圖6所示。

圖6 當輸入神經元為8:4:1時,對比模糊處理的權重誤差值圖表
如果考慮收效,不應該墨守成規,可以用實際值進行測試。而在不進行模糊處理時,效果依舊有待改進,則可視之無法收斂到唯一最優解。
BP神經網絡本質上為一個基于梯度的技術,其網絡結構的選擇尚無統一且完善的理論指導體系,無法訪問內在規律,基于簡單BP神經網絡對網絡安全指標體系的構建,根據指標體系構架的收斂問題,在此進行相關的實驗與研究,通過一定量的測試,得出對于基于網絡安全指標體系構建時的相關參數的優化改良方案,得到了一批可用的基本參數,與改良結果的基礎數據結論對比,實現指標體系的自我調節與改進。
經典的BP神經網絡優化法有隨機優選法、改變誤差函數、變步長法、連接權重的選擇等[6],但在實際實驗中進行嘗試,證明其效果寥寥,較為重點的發現有譬如可以將權重初值限制在[-0.5,0.5]區間內隨機選取,可使收斂效果良好等,但結果仍舊不理想??偠灾疚拇篌w上實現了此次研究的目的與意義,但在此方向上仍需繼續努力。
關于網絡安全指標體系的建模問題,對于基于BP神經網絡的收斂問題為該研究的最核心課題,如何將一個基本的BP神經網絡契合網絡安全指標體系的構建,然后讓網絡安全指標體系框架進行進化升級,最終得出符合我們要求的神經網絡,在這里,提供三個大的方向:
(1)基于普通的梯度下降方法的改進,如隨機優選法、動態算法、可變學習速率的自適應調節算法、初始權重選取改進算法等,本文提出的相關算法皆屬于第一種;
(2)基于數值計算的改進,如基本的LM算法、牛頓法、最小二乘法等;
(3)混合算法,如BP算法與遺傳算法、模糊算法等的結合算法。
參考文獻
[1] MURPHY P. The OSPF not-so-stubby area (NSSA) option[M]. RFC Editor, 2003.
[2] 陳鋒, 劉德輝, 張怡,等. 基于威脅傳播模型的層次化網絡安全評估方法[J]. 計算機研究與發展, 2011, 48(6):945-954.
[3] 蔣文科, 呂玉江, 化建寧. 神經網絡BP模型的設計與實現[J]. 河北農業大學學報, 2000, 23(1):88-90.
[4] 王志平. 基于指標體系的網絡安全態勢評估研究[D]. 長沙:國防科技大學, 2010.
[5] 唐金敏. 使用BP神經網絡進行網絡安全態勢評估[J]. 電腦知識與技術, 2011, 7(14):3265-3266.
[6] 高洪深, 陶有德. BP神經網絡模型的改進[J]. 系統工程理論與實踐, 1996, 16(1):67-71.