熊中浩 ,張 偉 ,楊國玉
(1.中國大唐集團(tuán)科學(xué)技術(shù)研究院,北京 100040;2.大唐水電科學(xué)技術(shù)研究院有限公司,四川 成都 610031)
計(jì)算機(jī)通信網(wǎng)絡(luò)安全(網(wǎng)絡(luò)安全)關(guān)乎國家安全和個人安全。建立一個安全、穩(wěn)定、共享的網(wǎng)絡(luò)環(huán)境是個人和國家的美好愿景。但網(wǎng)絡(luò)建立初期到發(fā)展至今,惡意破壞網(wǎng)絡(luò)安全的事件只增不減,且愈演愈烈,從非法入侵竊取隱私數(shù)據(jù)到入侵工控網(wǎng)絡(luò)篡改運(yùn)行參數(shù),從經(jīng)濟(jì)損失到人員傷亡,危害國家安全。如2011年12月21日,CSDN網(wǎng)站遭到黑客攻擊,600多萬個明文注冊郵箱被公布,造成了個人隱私數(shù)據(jù)泄露[1]。2010年,一種針對工業(yè)控制網(wǎng)絡(luò)系統(tǒng)的蠕蟲病毒震網(wǎng)病毒大規(guī)模擴(kuò)散,伊朗核設(shè)施遭到破壞,造成設(shè)備運(yùn)行異常[2]。最近幾年,又出現(xiàn)NotPetya勒索軟件攻擊,危害電網(wǎng)安全。傳統(tǒng)的網(wǎng)絡(luò)安全防護(hù)辦法(如防火墻、漏洞掃描系統(tǒng)等)所提供的安全防御措施不能對網(wǎng)絡(luò)安全狀態(tài)進(jìn)行實(shí)施評估,各種防御手段之間存在信息無法交互協(xié)同,缺乏整體性、動態(tài)性和持續(xù)性[3]。態(tài)勢感知從上世紀(jì)90年代初發(fā)展以來,一直備受網(wǎng)絡(luò)安全專家的重視和青睞[4]。態(tài)勢感知具有全方位、全時段監(jiān)測網(wǎng)絡(luò)安全風(fēng)險的能力,以網(wǎng)絡(luò)安全大數(shù)據(jù)為基礎(chǔ),從全局視角監(jiān)測安全威脅,既可以對當(dāng)前網(wǎng)絡(luò)安全進(jìn)行評估,又可以預(yù)測將來時間的網(wǎng)絡(luò)安全指數(shù),為安全威脅處理決策和行動提供依據(jù),真正地做到防患于未然。發(fā)展至今,網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測是態(tài)勢感知的重要研究部分,主流的研究方法有:數(shù)學(xué)理論、知識推理和模式識別,其中基于模式識別的態(tài)勢評估和態(tài)勢預(yù)測方法是近十年研究的熱點(diǎn)[5]。文獻(xiàn)[6]、[7]利用粒子群優(yōu)化算法和灰色關(guān)聯(lián)分析法的優(yōu)點(diǎn),相應(yīng)地提出基于粒子群優(yōu)化指標(biāo)的SVM(Support Vector Machine)態(tài)勢評估模型和基于灰色關(guān)聯(lián)分析的SVM態(tài)勢評估模型;文獻(xiàn)[8]、[9]提出基于徑向基函數(shù)和基于灰色理論的BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢評估模型,解決了態(tài)勢要素與評估結(jié)果中的不確定性和模糊性問題,解釋了態(tài)勢要素間非線性映射的理論原因;文獻(xiàn)[10]構(gòu)建多維度的評價指標(biāo)體系,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)算法并對比驗(yàn)證其有效性。由于BP神經(jīng)網(wǎng)絡(luò)具有極強(qiáng)的非線性映射和自組織、自學(xué)習(xí)以及強(qiáng)泛化等特性,被眾多學(xué)者青睞并提出多種改進(jìn)算法的態(tài)勢感知和態(tài)勢預(yù)測模型[11-13]。近十年,深度學(xué)習(xí)算法研究迅猛進(jìn)步,應(yīng)用在網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測的研究也逐步顯現(xiàn),文獻(xiàn)[14]提出深度自編碼網(wǎng)絡(luò)作為基分類器,改善態(tài)勢要素提取機(jī)制;文獻(xiàn)[15]、[16]較早地提出基于深度學(xué)習(xí)算法的網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測模型。
通過廣泛的文獻(xiàn)搜索,深度學(xué)習(xí)算法在網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測模型建立方面的研究不夠深入,如模型架構(gòu)簡單、指標(biāo)選取不全面和數(shù)據(jù)集陳舊、單一等問題。本文分析了深度信念網(wǎng)(Deep Belief Network,DBN)的特點(diǎn)以及在網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測方面應(yīng)用的可行性。根據(jù)DBN在預(yù)測模型中具有非監(jiān)督學(xué)習(xí)的特點(diǎn),構(gòu)建廣義網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系。創(chuàng)新性地提出DBN在訓(xùn)練集的動態(tài)過程和輸出結(jié)果是網(wǎng)絡(luò)安全態(tài)勢評估模型的相關(guān)表達(dá),在校驗(yàn)集的動態(tài)過程和輸出結(jié)果是網(wǎng)絡(luò)安全態(tài)勢預(yù)測的相關(guān)表達(dá),為后續(xù)深度學(xué)習(xí)算法支持、論證網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測的理論化提供思路。
DBN屬于深度學(xué)習(xí)算法,是機(jī)器學(xué)習(xí)和智能算法的一個重要方向。2006年,人工智能領(lǐng)域領(lǐng)軍人物HINTON G E在《Science》期刊提出基于玻爾茲曼機(jī)的深度信念網(wǎng),完美解決了神經(jīng)網(wǎng)絡(luò)訓(xùn)練時出現(xiàn)的梯度彌散問題[17]。HINTON G E提出無監(jiān)督的貪心逐層網(wǎng)絡(luò)參數(shù)算法通過受限玻爾茲曼機(jī)的堆疊,克服或減弱了BP神經(jīng)網(wǎng)絡(luò)算法中出現(xiàn)的梯度彌散現(xiàn)象,首次成功地訓(xùn)練了3層隱含層的深度神經(jīng)網(wǎng)絡(luò),在眾多測試集上均取得滿意結(jié)果。DBN所具有多層網(wǎng)絡(luò)架構(gòu)能提取數(shù)據(jù)中隱含的更多特征值,訓(xùn)練數(shù)據(jù)的無標(biāo)簽化更好地展現(xiàn)了數(shù)據(jù)輸入與輸出間的關(guān)系表達(dá),使用的對比散度(CD)算法能保證網(wǎng)絡(luò)計(jì)算的快速收斂,滿足工業(yè)上輸入響應(yīng)快速性的要求[18]。DBN具有的這些特點(diǎn)和優(yōu)點(diǎn)滿足了網(wǎng)絡(luò)完全態(tài)勢評估和態(tài)勢預(yù)測的全局性、精確性和實(shí)時性的要求。
DBN的網(wǎng)絡(luò)架構(gòu)上為深層-前饋型-神經(jīng)網(wǎng)絡(luò)(Deep-Feedforward-Neural Networks,DFNN),DBN建模算法的核心部分是逐層預(yù)訓(xùn)練(layer-wise training)和微調(diào)(fine tune)。圖1詳細(xì)展示了DBN訓(xùn)練中逐層預(yù)訓(xùn)練和微調(diào)部分。
從圖1可以看出,逐層預(yù)訓(xùn)練策略就是對深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練參數(shù)進(jìn)行剖分式學(xué)習(xí),相近層級視為一個淺層神經(jīng)網(wǎng)絡(luò),可以發(fā)揮淺層神經(jīng)網(wǎng)絡(luò)的快速學(xué)習(xí)得到特征值的優(yōu)點(diǎn),每組輸出層級獲取初始化參數(shù)后通過堆棧形成深度神經(jīng)網(wǎng)絡(luò),既可以得到更多的隱含特征值表達(dá),也可以提高網(wǎng)絡(luò)計(jì)算速度,提高訓(xùn)練模型的泛化能力。DBN構(gòu)架由多個RBM堆棧組成,各個層級間的參數(shù)初始化利用RBM的學(xué)習(xí)方式獲得,即將RBM中的隱含層乘性偏置和權(quán)值連接矩陣直接賦予給相應(yīng)層級的權(quán)值矩陣和偏置。每一個RBM得到自身最優(yōu)參數(shù)的過程就是DBN無監(jiān)督預(yù)訓(xùn)練的過程。在反向通道中,通過有監(jiān)督的算法(如BP算法、wake-sleep算法)和少量帶有標(biāo)簽的樣本對整個網(wǎng)絡(luò)進(jìn)行微調(diào)。一個典型的DBN結(jié)構(gòu)圖如圖2所示。
圖1 DBN逐層預(yù)訓(xùn)練和微調(diào)
圖2 DBN網(wǎng)絡(luò)結(jié)構(gòu)
DBN建模中所使用的數(shù)據(jù)集分為:有類標(biāo)數(shù)據(jù)集(訓(xùn)練集)和無類標(biāo)數(shù)據(jù)集(校驗(yàn)集)。記為:
其中,數(shù)據(jù)集的個數(shù)為N+T。
網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系的建立是態(tài)勢評估和態(tài)勢預(yù)測的重要前提,是網(wǎng)絡(luò)安全的基本要素表現(xiàn)。它作為網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測模型的輸入部分,決定模型建立的合理性、架構(gòu)的完整性以及輸出結(jié)果的精確性。
網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)選一般遵循4個原則:獨(dú)立性、完備性、科學(xué)性和主成分性原則[19]。隨著網(wǎng)絡(luò)安全態(tài)勢感知系統(tǒng)的發(fā)展和網(wǎng)絡(luò)攻擊、威脅的升級,更多的態(tài)勢評估指標(biāo)被選擇,發(fā)現(xiàn)部分指標(biāo)間存在相容關(guān)系,如各主要數(shù)據(jù)包分布、子網(wǎng)數(shù)據(jù)流量和子網(wǎng)流量變化等。所提出的部分相容性原則能更好地解釋指標(biāo)間的內(nèi)在聯(lián)系和使評估、預(yù)測結(jié)果更準(zhǔn)確。參考GB/T 20984-2007網(wǎng)絡(luò)信息安全評估規(guī)范[20]并結(jié)合文獻(xiàn)[10]建立的威脅子態(tài)勢、基礎(chǔ)運(yùn)行子態(tài)勢和脆弱子態(tài)勢包含的17個二級指標(biāo)以及文獻(xiàn)[21]建立的33個一級指標(biāo),構(gòu)建脆弱性子態(tài)勢、容災(zāi)性子態(tài)勢、威脅性子態(tài)勢和穩(wěn)定性子態(tài)勢4個一級指標(biāo)和38個二級指標(biāo)的廣義網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系,如圖3所示。
圖3 廣義網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系
部分二級指標(biāo)可以直接數(shù)據(jù)集或產(chǎn)品資料中獲取,如子網(wǎng)數(shù)據(jù)流量、帶寬使用率等。其他二級指標(biāo)不能直接得到數(shù)據(jù)資料,需要進(jìn)行數(shù)學(xué)量化轉(zhuǎn)換。參考CVSS(Common Vulnerability Scoring System)標(biāo)準(zhǔn),部分二級指標(biāo)的量化公式如下。
(1)攻擊嚴(yán)重程度:考慮主機(jī)總數(shù)N、攻擊總數(shù)A,量化公式如下:
其中,Y表示攻擊的嚴(yán)重程度,數(shù)值越大,受攻擊越嚴(yán)重;Cji為第j個主機(jī)受攻擊i的次數(shù);Pji為第j個主機(jī)受第i種攻擊時的攻擊等級因素;Qj表示第j個主機(jī)的重要程度;Ij表示主機(jī)資料的重要性。
(2)漏洞嚴(yán)重程度:考慮漏洞總數(shù)A、漏洞種類數(shù)M、漏洞等級因素Wji,量化公式如下:
其中,L表示漏洞嚴(yán)重程度,Dji表示第i種漏洞在第j個主機(jī)上的個數(shù)。
為了消除數(shù)據(jù)樣本中存在的奇異數(shù)據(jù)和消除由于量綱不同而帶來的影響,對所有指標(biāo)數(shù)據(jù)進(jìn)行離差標(biāo)準(zhǔn)歸一化處理,使所有指標(biāo)數(shù)據(jù)在(0,1)范圍內(nèi):
其中,min(x)為需要處理數(shù)據(jù)中最小的數(shù)據(jù),max(x)為需要處理數(shù)據(jù)中最大的數(shù)據(jù),x′為歸一化后的數(shù)據(jù),x為需處理的數(shù)據(jù)集。
DBN具有深層堆棧式RBM網(wǎng)絡(luò)架構(gòu),對復(fù)雜函數(shù)的逼近表現(xiàn)出快速性、簡潔性。因?yàn)槭褂肦BM作為核心基礎(chǔ)網(wǎng)絡(luò)層,更好地體現(xiàn)出態(tài)勢評估指標(biāo)獨(dú)立性、相容性、主成分性原則。DBN屬于無監(jiān)督深度學(xué)習(xí)網(wǎng)絡(luò),其訓(xùn)練過程是網(wǎng)絡(luò)安全態(tài)勢評估過程的體現(xiàn);使用已訓(xùn)練的權(quán)值和偏置應(yīng)用在校驗(yàn)過程,是態(tài)勢預(yù)測過程的體現(xiàn)。
本文所建立的網(wǎng)絡(luò)安全態(tài)勢評估DBN模型如圖4所示。
圖4 態(tài)勢評估DBN模型
訓(xùn)練集數(shù)據(jù)樣本:選用經(jīng)過數(shù)據(jù)處理的CIC-IDS2017入侵檢測數(shù)據(jù)集,選取90 000組數(shù)據(jù)作為訓(xùn)練集數(shù)據(jù)。
指標(biāo)數(shù)據(jù)初選:根據(jù)所建立的廣義網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系,選取33個二級指標(biāo),考慮態(tài)勢評估具有時序效應(yīng),每個指標(biāo)再多選取3個采樣時間的數(shù)據(jù)作為輸入。一共選取輸入維數(shù)33×4=132個。
數(shù)據(jù)預(yù)處理:對所選取的132位輸入數(shù)據(jù)進(jìn)行數(shù)學(xué)公式化和離差歸一化處理,處理后均為在(0,1)區(qū)間上的有效數(shù)據(jù)。
態(tài)勢評估DBN模型:采用132-500(40層)-4-1結(jié)構(gòu)的DBN架構(gòu),即1個輸入層包含132個神經(jīng)元;41個隱含層,前40個隱含層每層包含500個神經(jīng)元,最后一個隱含層包含4個神經(jīng)元,體現(xiàn)出對二級指標(biāo)具有1級指標(biāo)的分類效應(yīng);1個輸出層,輸出態(tài)勢評估值。考慮網(wǎng)絡(luò)計(jì)算的快速性,激活函數(shù)選用ReLU函數(shù),初始權(quán)值均設(shè)為滿足正態(tài)分布N(0,0.1)的隨機(jī)數(shù),可見層和隱含層的初始權(quán)值均設(shè)為0,采用一步CD算法,即CD-1算法。加入態(tài)勢評估真實(shí)值數(shù)據(jù)對采用weak-sleep算法對輸出結(jié)果進(jìn)行微調(diào),對整體網(wǎng)絡(luò)的權(quán)值和偏置進(jìn)行優(yōu)化。保存訓(xùn)練好的權(quán)值w和偏置b。
態(tài)勢評估輸出值:輸出在(0,1)間的態(tài)勢評估值。
將態(tài)勢評估模型訓(xùn)練好的權(quán)值w和偏置b應(yīng)用在態(tài)勢預(yù)測模型上,所建立的網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型如圖5所示。
令表示參與者1選擇fi作為自身策略的概率,表示參與者2選擇作為自身策略的概率。參與者1的支付則可以表示為
圖5 態(tài)勢預(yù)測DBN模型
校驗(yàn)集數(shù)據(jù)樣本:選用經(jīng)過數(shù)據(jù)處理的CIC-IDS2017入侵檢測數(shù)據(jù)集,選取10 000組數(shù)據(jù)作為校驗(yàn)集數(shù)據(jù)。
指標(biāo)數(shù)據(jù)初選方法和數(shù)據(jù)預(yù)處理方法與態(tài)勢評估建模過程選用方法相同。
態(tài)勢預(yù)測模型:使用態(tài)勢評估模型訓(xùn)練好的權(quán)值w和偏置b作為態(tài)勢預(yù)測模型所使用的權(quán)值和偏置,預(yù)測建模過程無需使用態(tài)勢評估真實(shí)值進(jìn)行微調(diào)。其他DBN網(wǎng)絡(luò)設(shè)置與態(tài)勢評估DBN模型參數(shù)一致。
態(tài)勢預(yù)測輸出值:輸出在(0,1)間的態(tài)勢預(yù)測值。
CIC-IDS2017數(shù)據(jù)集共包含周一至周五5天的攻擊和正?;顒?,總量為55 GB,具有完整的網(wǎng)絡(luò)配置、完整的流量統(tǒng)計(jì)、標(biāo)簽數(shù)據(jù)集、完整的交互、完全捕獲、多可用協(xié)議、攻擊多樣性和異構(gòu)性。需要處理PCAP和CSV格式的文件。
為了保證實(shí)驗(yàn)的有效性,將數(shù)據(jù)集分割成5 200個時間片,在時間片中進(jìn)行數(shù)據(jù)處理,進(jìn)行相關(guān)態(tài)勢要素提取,對所提取的二級指標(biāo)數(shù)據(jù)進(jìn)行數(shù)學(xué)公式量化處理成DBN模型可以使用的訓(xùn)練集和校驗(yàn)集數(shù)據(jù)。PCAP文件使用Wireshark工具進(jìn)行文件回放,CSV文件使用Excel相關(guān)函數(shù)進(jìn)行處理,對復(fù)雜數(shù)據(jù)進(jìn)行預(yù)處理。經(jīng)過預(yù)處理后的二級指標(biāo)輸入數(shù)據(jù)部分如表1所示。
表1 部分二級指標(biāo)樣本輸入值
共制作5 200個樣本,其中劃分3 000個為訓(xùn)練組樣本(即態(tài)勢評估模型數(shù)據(jù)樣本)、2 200作為校驗(yàn)組樣本(即態(tài)勢預(yù)測模型數(shù)據(jù)樣本)。網(wǎng)絡(luò)安全態(tài)勢評估模型訓(xùn)練結(jié)果如圖6所示??梢钥闯瞿P陀?xùn)練是成功的,總體效果是不錯的,在峰值、拐點(diǎn)處存在極少評估失準(zhǔn)的情況。DBN態(tài)勢評估模型訓(xùn)練時間為65.32 s。
圖6 DBN網(wǎng)絡(luò)安全態(tài)勢評估模型訓(xùn)練圖
網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型使用網(wǎng)絡(luò)安全態(tài)勢評估模型訓(xùn)練成功的DBN的權(quán)值和偏置。網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型校驗(yàn)結(jié)果如圖7所示??梢钥闯瞿P托r?yàn)是成功的,總體效果是優(yōu)良的,未出現(xiàn)預(yù)測失準(zhǔn)的情況。DBN態(tài)勢預(yù)測模型訓(xùn)練時間25.45 s。
圖7 DBN網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型校驗(yàn)圖
其中,Y預(yù)測值表示態(tài)勢預(yù)測的預(yù)測值,Y平均值表示態(tài)勢預(yù)測的均值,Y真實(shí)值表示態(tài)勢預(yù)測的真實(shí)值,R2表示R方值。根據(jù)公式所示,R方值越接近0,表示曲線擬合越精準(zhǔn),效果越好。該DBN模型的R方值為0.001 844 2。
本文從網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測的深度信念網(wǎng)建模方法展開深入研究,具體如下:
(1)研究了深度信念網(wǎng)的數(shù)據(jù)驅(qū)動建模方法和其在網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測建模的可行性分析。DBN所使用的基礎(chǔ)網(wǎng)絡(luò)受限玻爾茲曼機(jī)以及逐層預(yù)訓(xùn)練和微調(diào)核心算法在理論上符合態(tài)勢評估和態(tài)勢預(yù)測的動力學(xué)表達(dá),使建立的模型更穩(wěn)定、精準(zhǔn)和快速。
(2)分析了網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)選取的4個原則,構(gòu)建了4個一級指標(biāo)和38個二級指標(biāo)的廣義網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系。
(3)建立基于DBN的網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測模型。對CIC-IDS2017數(shù)據(jù)集進(jìn)行預(yù)處理,使用5 200組數(shù)據(jù)樣本,其中3 000組作為訓(xùn)練組,2 200組作為校驗(yàn)組。根據(jù)實(shí)驗(yàn)仿真結(jié)果,模型建立成功,其精度、速度令人滿意。
本文使用DBN對網(wǎng)絡(luò)安全態(tài)勢評估和態(tài)勢預(yù)測進(jìn)行建模仿真,在研究過程中,發(fā)現(xiàn)有兩點(diǎn)可以進(jìn)一步研究:
(1)DBN模型算法的優(yōu)化,如增加學(xué)習(xí)動量項(xiàng)、考慮模型稀疏性等。
(2)網(wǎng)絡(luò)安全態(tài)勢評估指標(biāo)體系的優(yōu)化,如建立三級指標(biāo)體系、考慮各指標(biāo)間更加復(fù)雜的聯(lián)系關(guān)系等。