秦麗娜
(山西警察學(xué)院 網(wǎng)絡(luò)安全保衛(wèi)系,山西 太原 030401)
隨著計(jì)算機(jī)科學(xué)技術(shù)、互聯(lián)網(wǎng)技術(shù)和無(wú)線傳感技術(shù)的發(fā)展,各種類型的網(wǎng)絡(luò)已經(jīng)滲透到人類生活的各個(gè)角落,對(duì)人類社會(huì)的發(fā)展和人們的生活方式產(chǎn)生了積極的影響,與此同時(shí),也帶來(lái)了大量的安全問(wèn)題,如對(duì)國(guó)家和政府的網(wǎng)絡(luò)攻擊,對(duì)企業(yè)數(shù)據(jù)的竊取,對(duì)個(gè)人信息的販賣,給人類社會(huì)帶來(lái)了極大的經(jīng)濟(jì)損失和精神壓力[1-2]。因此,如何進(jìn)一步提高網(wǎng)絡(luò)的安全性,即對(duì)復(fù)雜多變的網(wǎng)絡(luò)通過(guò)認(rèn)知和理解來(lái)對(duì)其安全狀態(tài)進(jìn)行預(yù)測(cè),有利于對(duì)網(wǎng)絡(luò)的安全態(tài)勢(shì)進(jìn)行實(shí)時(shí)把控,提前做好安全防備工作,減少各類網(wǎng)絡(luò)安全隱患對(duì)人類社會(huì)和經(jīng)濟(jì)發(fā)展的破壞。
傳統(tǒng)的用于提高網(wǎng)絡(luò)安全的設(shè)備往往只關(guān)注某一方面的安全問(wèn)題,無(wú)法從整體上關(guān)注網(wǎng)絡(luò)的安全狀況[3]。網(wǎng)絡(luò)安全態(tài)勢(shì)感知作為一種通過(guò)對(duì)網(wǎng)絡(luò)安全中的要素進(jìn)行分析,從而感知網(wǎng)絡(luò)安全狀態(tài)的方法,可以用于預(yù)測(cè)網(wǎng)絡(luò)安全態(tài)勢(shì)。目前,網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)已成為了國(guó)內(nèi)外的一個(gè)焦點(diǎn)問(wèn)題[4]。
目前主流的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法主要基于神經(jīng)網(wǎng)絡(luò)、優(yōu)化算法和濾波器算法等。如文獻(xiàn)[5]提出了一種面向多步攻擊的網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估方法,建立攻擊場(chǎng)景的因果關(guān)聯(lián),建立相應(yīng)的攻擊軌跡和態(tài)勢(shì)量化標(biāo)準(zhǔn),實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)的評(píng)估。文獻(xiàn)[6]提出了一種網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,建立網(wǎng)絡(luò)安全態(tài)勢(shì)的非線性映射關(guān)系,并通過(guò)布谷鳥(niǎo)搜索算法對(duì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行參數(shù)優(yōu)化,在優(yōu)化過(guò)程中通過(guò)模擬退火和動(dòng)態(tài)發(fā)現(xiàn)機(jī)制來(lái)提高預(yù)測(cè)精度。文獻(xiàn)[7]提出了一種基于量子粒子群算法和進(jìn)化策略網(wǎng)絡(luò)安全狀態(tài)預(yù)測(cè)方法,并利用灰色模型來(lái)模型參數(shù)尋優(yōu)。文獻(xiàn)[8]提出了一種基于關(guān)聯(lián)熵的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,通過(guò)關(guān)聯(lián)熵來(lái)對(duì)網(wǎng)絡(luò)的各因素進(jìn)行分析,并通過(guò)卡爾曼濾波來(lái)對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)。
上述工作均研究網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè),本文設(shè)計(jì)了一種神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法,并通過(guò)實(shí)驗(yàn)證明了文中方法的有效性。
BP神經(jīng)網(wǎng)絡(luò)是一種通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)的組織來(lái)模擬生物大腦神經(jīng)元的功能的一種非線性逼近模型。相對(duì)于線性模型,BP神經(jīng)網(wǎng)絡(luò)具有更好的表示能力,對(duì)復(fù)雜系統(tǒng)的表示和逼近能力更強(qiáng),對(duì)于其他系統(tǒng)也具有更好的泛化能力。在BP網(wǎng)絡(luò)模型中,可以通過(guò)誤差反向傳播算法來(lái)實(shí)現(xiàn)輸出層誤差的反向傳遞,并通過(guò)誤差來(lái)調(diào)整隱藏層與輸出層的權(quán)重以及輸出層的偏差,然后進(jìn)一步反向傳播來(lái)調(diào)整輸入層與隱藏層的權(quán)重以及隱藏層的偏差。 一個(gè)三層的BP神經(jīng)網(wǎng)絡(luò)模型如圖1所示。
圖1 三層的BP神經(jīng)網(wǎng)絡(luò)
設(shè)計(jì)的基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型如圖1所示,該模型由數(shù)據(jù)輸入、網(wǎng)絡(luò)態(tài)勢(shì)映射和網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)輸出三部分組成。其中:
圖2 網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估模型
(1)數(shù)據(jù)輸入:網(wǎng)絡(luò)數(shù)據(jù)輸入是無(wú)線網(wǎng)絡(luò)中各節(jié)點(diǎn)安全態(tài)勢(shì)相關(guān)數(shù)據(jù),數(shù)據(jù)的表示形式為(節(jié)點(diǎn)1對(duì)應(yīng)的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)1、節(jié)點(diǎn)2對(duì)應(yīng)的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)2,...,節(jié)點(diǎn)3對(duì)應(yīng)的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)n)作為一組輸入數(shù)據(jù);
(2)網(wǎng)絡(luò)態(tài)勢(shì)數(shù)據(jù)映射:網(wǎng)絡(luò)態(tài)勢(shì)數(shù)據(jù)映射是通過(guò)神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行表示的,即通過(guò)神經(jīng)網(wǎng)絡(luò)的輸入層、隱藏層以及輸出層來(lái)表示。輸入層即獲取數(shù)據(jù)輸入,并將輸入的網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)通過(guò)加權(quán)計(jì)算以隱藏層激活函數(shù)后映射為隱藏層的輸出。
(3)網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)輸出:隱藏層獲取這些數(shù)據(jù)后,經(jīng)過(guò)再次加權(quán)映射后經(jīng)過(guò)輸出層的激活函數(shù)映射,得到最后的輸出。
網(wǎng)絡(luò)的結(jié)構(gòu)的確定包含輸入層神經(jīng)元個(gè)數(shù)的確定、隱藏層神經(jīng)元個(gè)數(shù)的確定以及輸出層神經(jīng)元的確定以及各神經(jīng)元激活函數(shù)的選擇。輸入層神經(jīng)元個(gè)數(shù)為網(wǎng)絡(luò)安全態(tài)勢(shì)數(shù)據(jù)的種類,輸出層神經(jīng)元個(gè)數(shù)為1,即在網(wǎng)絡(luò)輸入的情況下,輸出層的預(yù)測(cè)結(jié)果,網(wǎng)絡(luò)的隱藏層個(gè)數(shù)的確定可以根據(jù)經(jīng)驗(yàn)公式:
(1)
在式(1)中,網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型的輸入神經(jīng)元個(gè)數(shù)km和輸出神經(jīng)元個(gè)數(shù),而kout為網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型的輸入神經(jīng)元個(gè)數(shù),l為值域在[1,10]之間的隨機(jī)數(shù)。
神經(jīng)元激活函采用Sigmoid函數(shù):
y(x,λ)=1/(1+e-x)
(2)
其中,x為該神經(jīng)元的基函數(shù)輸入,該函數(shù)將輸入映射到[0,1]區(qū)間上,即當(dāng)輸入趨向正無(wú)窮時(shí),激活函數(shù)的值趨向1;當(dāng)輸入趨向負(fù)無(wú)窮大時(shí),激活函數(shù)的值趨向-1。
在學(xué)習(xí)網(wǎng)絡(luò)參數(shù)前,首先需要確定輸出層的誤差函數(shù),輸出層的誤差函數(shù)可以表示數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽值和網(wǎng)絡(luò)輸出值之間的均方誤差:
(3)
其中,E表示m個(gè)樣本對(duì)應(yīng)的輸出神經(jīng)元的總誤差。
權(quán)值參數(shù)和偏差參數(shù)的更新可以表示為:
(4)
基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)算法可以分為兩個(gè)部分,第一部分為模型的訓(xùn)練,主要包括步驟1到5;第二個(gè)部分為模型的預(yù)測(cè),主要包括步驟6。
步驟1:確定網(wǎng)絡(luò)結(jié)構(gòu),即網(wǎng)絡(luò)的層數(shù),網(wǎng)絡(luò)的輸入神經(jīng)元個(gè)數(shù)、隱藏層神經(jīng)元個(gè)數(shù)、輸出神經(jīng)元個(gè)數(shù);
步驟2:預(yù)處理網(wǎng)絡(luò)的輸入數(shù)據(jù)和輸出數(shù)據(jù),將輸入數(shù)據(jù)輸入網(wǎng)絡(luò),將輸出數(shù)據(jù)作為標(biāo)簽數(shù)據(jù);
步驟3:將輸入數(shù)據(jù)輸入網(wǎng)絡(luò)后得到實(shí)際的輸出數(shù)據(jù),此時(shí)根據(jù)公式(3)計(jì)算輸出端誤差;
步驟4:根據(jù)公式(3)并利用反向傳播算法,來(lái)對(duì)網(wǎng)絡(luò)的權(quán)值和偏差參數(shù)進(jìn)行調(diào)整;
步驟5:根據(jù)公式(3)計(jì)算網(wǎng)絡(luò)誤差,當(dāng)誤差小于一定閾值時(shí),訓(xùn)練結(jié)束;
步驟6:將新的數(shù)據(jù)輸入網(wǎng)絡(luò),得到數(shù)據(jù)對(duì)應(yīng)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)結(jié)果。
為了對(duì)基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)模型進(jìn)行驗(yàn)證,在NS2仿真工具下,以某對(duì)環(huán)境實(shí)時(shí)感知的物聯(lián)網(wǎng)在2016年1月1日00:00-12:00時(shí)的網(wǎng)絡(luò)作為仿真環(huán)境,該時(shí)間段通常對(duì)應(yīng)的網(wǎng)絡(luò)攻擊更為頻繁,采集數(shù)據(jù)并對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)進(jìn)行預(yù)測(cè)。在采用算法對(duì)模型進(jìn)行訓(xùn)練完成后,采用該模型來(lái)對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè),得到的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)結(jié)果如圖3所示。
圖3 網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)值
在圖3中,橫坐標(biāo)[0,12]表示時(shí)間標(biāo)號(hào),即從0點(diǎn)到12點(diǎn)的各個(gè)時(shí)刻,縱坐標(biāo)表示安全態(tài)勢(shì)的值,其范圍為[0,6],區(qū)間[0,2]表示網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)為安全值,區(qū)間[2,4]表示網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)為較安全的值,區(qū)間[4,6]表示網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)為危險(xiǎn)值。圖3得到的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)值與實(shí)際值基本保持一致。為了進(jìn)一步對(duì)網(wǎng)絡(luò)的安全態(tài)勢(shì)進(jìn)行評(píng)估,將圖3中訓(xùn)練得到的網(wǎng)絡(luò)模型用于預(yù)測(cè)下一天對(duì)應(yīng)的相應(yīng)時(shí)間段的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)值,得到的結(jié)果如圖4所示。
圖4 網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)結(jié)果
圖4對(duì)應(yīng)了該網(wǎng)絡(luò)在2016年1月2日00:00-12:00的預(yù)測(cè)結(jié)果 ,線條越高,表示其概率越高。從圖中可以看出,00:00-05:00均處于危險(xiǎn)狀態(tài)05:00-11:00之間處于安全狀態(tài),11:00-12:00處于危險(xiǎn)狀態(tài),顯然,從圖4中可以看出,通過(guò)本模型預(yù)測(cè)結(jié)果幾乎沒(méi)有差異,預(yù)測(cè)結(jié)果也與實(shí)際情況基本吻合,因此,本文所提模型能有效地根據(jù)三類安全態(tài)勢(shì),是一種有效的預(yù)測(cè)方法。
為了實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)的實(shí)時(shí)預(yù)測(cè),減少網(wǎng)絡(luò)安全隱患,盡可能減少由于網(wǎng)絡(luò)安全隱患對(duì)人類社會(huì)經(jīng)濟(jì)和生活的影響,設(shè)計(jì)了一種基于神經(jīng)網(wǎng)絡(luò)模型的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法。首先建立了基于神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)模型,然后提出對(duì)該模型進(jìn)行訓(xùn)練的算法,在模型訓(xùn)練完畢后,利用該模型來(lái)進(jìn)行預(yù)測(cè),仿真實(shí)驗(yàn)證明了該方法能有效地進(jìn)行預(yù)測(cè),并具有較高的預(yù)測(cè)準(zhǔn)確率。
[參考文獻(xiàn)]
[1]龔儉, 臧小東, 蘇琪,等. 網(wǎng)絡(luò)安全態(tài)勢(shì)感知綜述[J]. 軟件學(xué)報(bào),2017, 28(4):1010-1026.
[2]CIVICIOGLU P,BESDOK E.A conceptual comparison of the cuckoo-search, particle swarm optimization, differential evolution and artificial bee colony algorithms [J].Artificial Intelligence review,2013, 39( 4) : 315-346.
[3]楊豪璞, 邱輝, 王坤. 面向多步攻擊的網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估方法[J]. 通信學(xué)報(bào), 2017, 38(1):187-198.
[4]KERAMATI M,AKBARI A,KERAMATI M. CVSS-based security metrics for quantitative analysis of attack graphs [C]// ICCKE 2013: Proceedings of the 2013 International Conference on Computer and Knowledge Engineering. Piscataway, NJ: IEEE, 2013: 178-183.
[5]范九倫, 伍鵬. 基于RBF神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)預(yù)測(cè)方法[J]. 西安郵電大學(xué)學(xué)報(bào), 2017, 22(2):7-11.
[6]謝麗霞, 王志華. 基于布谷鳥(niǎo)搜索優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估方法[J]. 計(jì)算機(jī)應(yīng)用, 2017, 37(7):1926-1930.
[7]郭春曉,蘇旸. 一種新的基于量子進(jìn)化策略的網(wǎng)絡(luò)安全態(tài)勢(shì)優(yōu)化預(yù)測(cè)算法[J].小型微型計(jì)算機(jī)系統(tǒng),2014,6(35):1248-1252.
[8]劉念,劉孫俊,劉勇, 趙輝. 一種基于免疫的網(wǎng)絡(luò)安全態(tài)勢(shì)感知方法[J].計(jì)算機(jī)科學(xué), 2010,1(37):126-129.