熊中浩 ,張 偉 ,楊國玉
(1.中國大唐集團科學技術研究院,北京 100040;2.大唐水電科學技術研究院有限公司,四川 成都 610031)
計算機通信網絡安全(網絡安全)關乎國家安全和個人安全。建立一個安全、穩定、共享的網絡環境是個人和國家的美好愿景。但網絡建立初期到發展至今,惡意破壞網絡安全的事件只增不減,且愈演愈烈,從非法入侵竊取隱私數據到入侵工控網絡篡改運行參數,從經濟損失到人員傷亡,危害國家安全。如2011年12月21日,CSDN網站遭到黑客攻擊,600多萬個明文注冊郵箱被公布,造成了個人隱私數據泄露[1]。2010年,一種針對工業控制網絡系統的蠕蟲病毒震網病毒大規模擴散,伊朗核設施遭到破壞,造成設備運行異常[2]。最近幾年,又出現NotPetya勒索軟件攻擊,危害電網安全。傳統的網絡安全防護辦法(如防火墻、漏洞掃描系統等)所提供的安全防御措施不能對網絡安全狀態進行實施評估,各種防御手段之間存在信息無法交互協同,缺乏整體性、動態性和持續性[3]。態勢感知從上世紀90年代初發展以來,一直備受網絡安全專家的重視和青睞[4]。態勢感知具有全方位、全時段監測網絡安全風險的能力,以網絡安全大數據為基礎,從全局視角監測安全威脅,既可以對當前網絡安全進行評估,又可以預測將來時間的網絡安全指數,為安全威脅處理決策和行動提供依據,真正地做到防患于未然。發展至今,網絡安全態勢評估和態勢預測是態勢感知的重要研究部分,主流的研究方法有:數學理論、知識推理和模式識別,其中基于模式識別的態勢評估和態勢預測方法是近十年研究的熱點[5]。文獻[6]、[7]利用粒子群優化算法和灰色關聯分析法的優點,相應地提出基于粒子群優化指標的SVM(Support Vector Machine)態勢評估模型和基于灰色關聯分析的SVM態勢評估模型;文獻[8]、[9]提出基于徑向基函數和基于灰色理論的BP(Back Propagation)神經網絡的網絡安全態勢評估模型,解決了態勢要素與評估結果中的不確定性和模糊性問題,解釋了態勢要素間非線性映射的理論原因;文獻[10]構建多維度的評價指標體系,結合卷積神經網絡算法并對比驗證其有效性。由于BP神經網絡具有極強的非線性映射和自組織、自學習以及強泛化等特性,被眾多學者青睞并提出多種改進算法的態勢感知和態勢預測模型[11-13]。近十年,深度學習算法研究迅猛進步,應用在網絡安全態勢評估和態勢預測的研究也逐步顯現,文獻[14]提出深度自編碼網絡作為基分類器,改善態勢要素提取機制;文獻[15]、[16]較早地提出基于深度學習算法的網絡安全態勢評估和態勢預測模型。
通過廣泛的文獻搜索,深度學習算法在網絡安全態勢評估和態勢預測模型建立方面的研究不夠深入,如模型架構簡單、指標選取不全面和數據集陳舊、單一等問題。本文分析了深度信念網(Deep Belief Network,DBN)的特點以及在網絡安全態勢評估和態勢預測方面應用的可行性。根據DBN在預測模型中具有非監督學習的特點,構建廣義網絡安全態勢評估指標體系。創新性地提出DBN在訓練集的動態過程和輸出結果是網絡安全態勢評估模型的相關表達,在校驗集的動態過程和輸出結果是網絡安全態勢預測的相關表達,為后續深度學習算法支持、論證網絡安全態勢評估和態勢預測的理論化提供思路。
DBN屬于深度學習算法,是機器學習和智能算法的一個重要方向。2006年,人工智能領域領軍人物HINTON G E在《Science》期刊提出基于玻爾茲曼機的深度信念網,完美解決了神經網絡訓練時出現的梯度彌散問題[17]。HINTON G E提出無監督的貪心逐層網絡參數算法通過受限玻爾茲曼機的堆疊,克服或減弱了BP神經網絡算法中出現的梯度彌散現象,首次成功地訓練了3層隱含層的深度神經網絡,在眾多測試集上均取得滿意結果。DBN所具有多層網絡架構能提取數據中隱含的更多特征值,訓練數據的無標簽化更好地展現了數據輸入與輸出間的關系表達,使用的對比散度(CD)算法能保證網絡計算的快速收斂,滿足工業上輸入響應快速性的要求[18]。DBN具有的這些特點和優點滿足了網絡完全態勢評估和態勢預測的全局性、精確性和實時性的要求。
DBN的網絡架構上為深層-前饋型-神經網絡(Deep-Feedforward-Neural Networks,DFNN),DBN建模算法的核心部分是逐層預訓練(layer-wise training)和微調(fine tune)。圖1詳細展示了DBN訓練中逐層預訓練和微調部分。
從圖1可以看出,逐層預訓練策略就是對深度神經網絡的訓練參數進行剖分式學習,相近層級視為一個淺層神經網絡,可以發揮淺層神經網絡的快速學習得到特征值的優點,每組輸出層級獲取初始化參數后通過堆棧形成深度神經網絡,既可以得到更多的隱含特征值表達,也可以提高網絡計算速度,提高訓練模型的泛化能力。DBN構架由多個RBM堆棧組成,各個層級間的參數初始化利用RBM的學習方式獲得,即將RBM中的隱含層乘性偏置和權值連接矩陣直接賦予給相應層級的權值矩陣和偏置。每一個RBM得到自身最優參數的過程就是DBN無監督預訓練的過程。在反向通道中,通過有監督的算法(如BP算法、wake-sleep算法)和少量帶有標簽的樣本對整個網絡進行微調。一個典型的DBN結構圖如圖2所示。

圖1 DBN逐層預訓練和微調

圖2 DBN網絡結構
DBN建模中所使用的數據集分為:有類標數據集(訓練集)和無類標數據集(校驗集)。記為:

其中,數據集的個數為N+T。
網絡安全態勢評估指標體系的建立是態勢評估和態勢預測的重要前提,是網絡安全的基本要素表現。它作為網絡安全態勢評估和態勢預測模型的輸入部分,決定模型建立的合理性、架構的完整性以及輸出結果的精確性。
網絡安全態勢評估指標選一般遵循4個原則:獨立性、完備性、科學性和主成分性原則[19]。隨著網絡安全態勢感知系統的發展和網絡攻擊、威脅的升級,更多的態勢評估指標被選擇,發現部分指標間存在相容關系,如各主要數據包分布、子網數據流量和子網流量變化等。所提出的部分相容性原則能更好地解釋指標間的內在聯系和使評估、預測結果更準確。參考GB/T 20984-2007網絡信息安全評估規范[20]并結合文獻[10]建立的威脅子態勢、基礎運行子態勢和脆弱子態勢包含的17個二級指標以及文獻[21]建立的33個一級指標,構建脆弱性子態勢、容災性子態勢、威脅性子態勢和穩定性子態勢4個一級指標和38個二級指標的廣義網絡安全態勢評估指標體系,如圖3所示。

圖3 廣義網絡安全態勢評估指標體系
部分二級指標可以直接數據集或產品資料中獲取,如子網數據流量、帶寬使用率等。其他二級指標不能直接得到數據資料,需要進行數學量化轉換。參考CVSS(Common Vulnerability Scoring System)標準,部分二級指標的量化公式如下。
(1)攻擊嚴重程度:考慮主機總數N、攻擊總數A,量化公式如下:

其中,Y表示攻擊的嚴重程度,數值越大,受攻擊越嚴重;Cji為第j個主機受攻擊i的次數;Pji為第j個主機受第i種攻擊時的攻擊等級因素;Qj表示第j個主機的重要程度;Ij表示主機資料的重要性。
(2)漏洞嚴重程度:考慮漏洞總數A、漏洞種類數M、漏洞等級因素Wji,量化公式如下:

其中,L表示漏洞嚴重程度,Dji表示第i種漏洞在第j個主機上的個數。
為了消除數據樣本中存在的奇異數據和消除由于量綱不同而帶來的影響,對所有指標數據進行離差標準歸一化處理,使所有指標數據在(0,1)范圍內:

其中,min(x)為需要處理數據中最小的數據,max(x)為需要處理數據中最大的數據,x′為歸一化后的數據,x為需處理的數據集。
DBN具有深層堆棧式RBM網絡架構,對復雜函數的逼近表現出快速性、簡潔性。因為使用RBM作為核心基礎網絡層,更好地體現出態勢評估指標獨立性、相容性、主成分性原則。DBN屬于無監督深度學習網絡,其訓練過程是網絡安全態勢評估過程的體現;使用已訓練的權值和偏置應用在校驗過程,是態勢預測過程的體現。
本文所建立的網絡安全態勢評估DBN模型如圖4所示。

圖4 態勢評估DBN模型
訓練集數據樣本:選用經過數據處理的CIC-IDS2017入侵檢測數據集,選取90 000組數據作為訓練集數據。
指標數據初選:根據所建立的廣義網絡安全態勢評估指標體系,選取33個二級指標,考慮態勢評估具有時序效應,每個指標再多選取3個采樣時間的數據作為輸入。一共選取輸入維數33×4=132個。
數據預處理:對所選取的132位輸入數據進行數學公式化和離差歸一化處理,處理后均為在(0,1)區間上的有效數據。
態勢評估DBN模型:采用132-500(40層)-4-1結構的DBN架構,即1個輸入層包含132個神經元;41個隱含層,前40個隱含層每層包含500個神經元,最后一個隱含層包含4個神經元,體現出對二級指標具有1級指標的分類效應;1個輸出層,輸出態勢評估值。考慮網絡計算的快速性,激活函數選用ReLU函數,初始權值均設為滿足正態分布N(0,0.1)的隨機數,可見層和隱含層的初始權值均設為0,采用一步CD算法,即CD-1算法。加入態勢評估真實值數據對采用weak-sleep算法對輸出結果進行微調,對整體網絡的權值和偏置進行優化。保存訓練好的權值w和偏置b。
態勢評估輸出值:輸出在(0,1)間的態勢評估值。
將態勢評估模型訓練好的權值w和偏置b應用在態勢預測模型上,所建立的網絡安全態勢預測模型如圖5所示。
令表示參與者1選擇fi作為自身策略的概率,表示參與者2選擇作為自身策略的概率。參與者1的支付則可以表示為

圖5 態勢預測DBN模型
校驗集數據樣本:選用經過數據處理的CIC-IDS2017入侵檢測數據集,選取10 000組數據作為校驗集數據。
指標數據初選方法和數據預處理方法與態勢評估建模過程選用方法相同。
態勢預測模型:使用態勢評估模型訓練好的權值w和偏置b作為態勢預測模型所使用的權值和偏置,預測建模過程無需使用態勢評估真實值進行微調。其他DBN網絡設置與態勢評估DBN模型參數一致。
態勢預測輸出值:輸出在(0,1)間的態勢預測值。
CIC-IDS2017數據集共包含周一至周五5天的攻擊和正常活動,總量為55 GB,具有完整的網絡配置、完整的流量統計、標簽數據集、完整的交互、完全捕獲、多可用協議、攻擊多樣性和異構性。需要處理PCAP和CSV格式的文件。
為了保證實驗的有效性,將數據集分割成5 200個時間片,在時間片中進行數據處理,進行相關態勢要素提取,對所提取的二級指標數據進行數學公式量化處理成DBN模型可以使用的訓練集和校驗集數據。PCAP文件使用Wireshark工具進行文件回放,CSV文件使用Excel相關函數進行處理,對復雜數據進行預處理。經過預處理后的二級指標輸入數據部分如表1所示。

表1 部分二級指標樣本輸入值
共制作5 200個樣本,其中劃分3 000個為訓練組樣本(即態勢評估模型數據樣本)、2 200作為校驗組樣本(即態勢預測模型數據樣本)。網絡安全態勢評估模型訓練結果如圖6所示。可以看出模型訓練是成功的,總體效果是不錯的,在峰值、拐點處存在極少評估失準的情況。DBN態勢評估模型訓練時間為65.32 s。

圖6 DBN網絡安全態勢評估模型訓練圖
網絡安全態勢預測模型使用網絡安全態勢評估模型訓練成功的DBN的權值和偏置。網絡安全態勢預測模型校驗結果如圖7所示。可以看出模型校驗是成功的,總體效果是優良的,未出現預測失準的情況。DBN態勢預測模型訓練時間25.45 s。

圖7 DBN網絡安全態勢預測模型校驗圖

其中,Y預測值表示態勢預測的預測值,Y平均值表示態勢預測的均值,Y真實值表示態勢預測的真實值,R2表示R方值。根據公式所示,R方值越接近0,表示曲線擬合越精準,效果越好。該DBN模型的R方值為0.001 844 2。
本文從網絡安全態勢評估和態勢預測的深度信念網建模方法展開深入研究,具體如下:
(1)研究了深度信念網的數據驅動建模方法和其在網絡安全態勢評估和態勢預測建模的可行性分析。DBN所使用的基礎網絡受限玻爾茲曼機以及逐層預訓練和微調核心算法在理論上符合態勢評估和態勢預測的動力學表達,使建立的模型更穩定、精準和快速。
(2)分析了網絡安全態勢評估指標選取的4個原則,構建了4個一級指標和38個二級指標的廣義網絡安全態勢評估指標體系。
(3)建立基于DBN的網絡安全態勢評估和態勢預測模型。對CIC-IDS2017數據集進行預處理,使用5 200組數據樣本,其中3 000組作為訓練組,2 200組作為校驗組。根據實驗仿真結果,模型建立成功,其精度、速度令人滿意。
本文使用DBN對網絡安全態勢評估和態勢預測進行建模仿真,在研究過程中,發現有兩點可以進一步研究:
(1)DBN模型算法的優化,如增加學習動量項、考慮模型稀疏性等。
(2)網絡安全態勢評估指標體系的優化,如建立三級指標體系、考慮各指標間更加復雜的聯系關系等。