魏明樺
(福州職業(yè)技術(shù)學(xué)院信息技術(shù)工程系,福建福州 350108)
最早關(guān)于網(wǎng)絡(luò)信息安全評估的工作為網(wǎng)絡(luò)安全要素分析,通過邀請專家打分、評判獲取初級安全要素,然后采用聚類等手段分離程度偏大的專家評判結(jié)果剔除,再將剩下的有意義的評判結(jié)果通過求解平均值給出結(jié)果[3].相比于網(wǎng)絡(luò)安全要素的數(shù)據(jù)分析和預(yù)測,網(wǎng)絡(luò)信息安全評估是針對網(wǎng)絡(luò)整體安全狀況而言,通過感知網(wǎng)絡(luò)整體中的安全要素的有效組合,挖掘各種網(wǎng)絡(luò)安全要素的內(nèi)在聯(lián)系,對網(wǎng)絡(luò)安全的保持有重要的意義.安全態(tài)勢預(yù)測旨在通過構(gòu)建安全態(tài)勢評估模型和方法,來對將來的安全態(tài)勢進行預(yù)測的方法.隨著人們對網(wǎng)絡(luò)信息安全的關(guān)注程度不斷升高,網(wǎng)絡(luò)信息安全評估應(yīng)同時包含當(dāng)前的和歷史上的專家評估意見.為建立合理的歷史網(wǎng)絡(luò)安全要素,一些研究者采用Markov隨機鏈[4]對時序數(shù)據(jù)處理,形成信息安全評估模型,完善了基于模型的信息安全評估方法.然而,Markov隨機鏈對局部網(wǎng)絡(luò)安全問題求解效果良好,但并未考慮全局的網(wǎng)絡(luò)安全要素.為了同時考慮局部和全局網(wǎng)絡(luò)安全要素,大量機器學(xué)習(xí)的算法應(yīng)用至網(wǎng)絡(luò)安全要素分析之中[5-6],包括BP神經(jīng)網(wǎng)絡(luò)、支持向量回歸以及以粒子群為代表的群體智能算法等,在不同網(wǎng)絡(luò)安全數(shù)據(jù)中,均取得了不錯的效果.雖然現(xiàn)有模型對網(wǎng)絡(luò)信息安全評估在一定程度上取得了不錯的進展,但是現(xiàn)有方法還存在以下關(guān)鍵問題亟待解決[7]:
(1)現(xiàn)有方法一般從數(shù)據(jù)層面入手提取關(guān)鍵特征再進行模式識別形成網(wǎng)絡(luò)安全預(yù)測結(jié)果,實際上數(shù)據(jù)層面屬于外部安全態(tài)勢特征,而網(wǎng)絡(luò)安全要素之間是相互關(guān)聯(lián)的,所以需要提取其內(nèi)外關(guān)聯(lián)的安全態(tài)勢特征,才能夠?qū)?fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)進行安全預(yù)測;
(2)現(xiàn)有方法均為面向簡單網(wǎng)絡(luò)結(jié)構(gòu)的安全預(yù)測,這些方法針對復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)會出現(xiàn)魯棒性降低,預(yù)測準確率降低等問題,淺層機器學(xué)習(xí)模型對更復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)學(xué)習(xí)能力較差,需要采用更為復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)對安全預(yù)測問題進行構(gòu)建.
針對上述問題,本文提出一種結(jié)合內(nèi)外安全態(tài)勢特征與循環(huán)神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢預(yù)測算法,該算法首先對網(wǎng)絡(luò)時間序列數(shù)據(jù)進行內(nèi)外安全態(tài)勢的特征提取,再將二者聯(lián)合起來作為安全預(yù)測特征,輸入至RNN中進行訓(xùn)練,并通過時序誤差反向傳播算法(BPTT)對RNN進行訓(xùn)練,經(jīng)過迭代優(yōu)化后,能夠?qū)W(wǎng)絡(luò)安全態(tài)勢作出準確預(yù)測,且該模型對復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)也有較好的結(jié)果.
定義1:一般情況下,網(wǎng)絡(luò)安全態(tài)勢GSA可以通過在網(wǎng)絡(luò)上存在的主機定義,所有主機在某個時刻t的安全態(tài)勢HSA加權(quán)獲得總體的網(wǎng)絡(luò)安全態(tài)勢.該網(wǎng)絡(luò)安全態(tài)勢可以通過離散化為五個層級.
定義2:組成網(wǎng)絡(luò)安全態(tài)勢的主機安全態(tài)勢主要包括三種主機態(tài)勢,其一是基礎(chǔ)運行的主機Y,其二是脆弱運行的主機U,其三則是遭到威脅運行的主機F.三種類型的主機安全態(tài)勢通過加權(quán)獲取主機安全態(tài)勢HSA.
圖1 網(wǎng)絡(luò)安全態(tài)勢可觀測指標體系及預(yù)測架構(gòu)Fig.1 Network security situation observable index system and prediction architecture
定義3:基礎(chǔ)運行的主機通過基礎(chǔ)運行指數(shù)IY加權(quán)獲得,脆弱運行的主機通過脆弱運行指數(shù)IU加權(quán)獲得,受威脅運行的主機通過受威脅運行指數(shù)IF加權(quán)獲得.
網(wǎng)絡(luò)安全態(tài)勢可觀測指標是預(yù)測的基礎(chǔ), 并且是外部可以用于觀測的信息來源.在本文的信息安全評估需要建立一套合理、 科學(xué)的可觀測指標體系, 充分利用多源異構(gòu)信息源,并且能夠全面評價預(yù)測當(dāng)前網(wǎng)絡(luò)的整體安全性能.網(wǎng)絡(luò)安全態(tài)勢可觀測指標體系及預(yù)測架構(gòu)如圖 1 所示.
本文對網(wǎng)絡(luò)安全態(tài)勢預(yù)測提取的特征為內(nèi)外結(jié)合特征[8],分別是內(nèi)部安全指標Safety,外部安全指標Security.Safety指標強調(diào)網(wǎng)絡(luò)系統(tǒng)中各個服務(wù)器、終端自身的可靠性,采用IP層的數(shù)據(jù)變化量來量化;Security指標則強調(diào)對于外界攻擊的防護水平,采用攻擊頻率與協(xié)議數(shù)據(jù)包所占比例共同量化.
Safety指標隨著時間變化的影響因子定義如下:
(1)
(2)
其中,IPdatan表示第n層的IP數(shù)據(jù)量,N為IP層字節(jié)總數(shù).
Security指標隨著時間變化的影響因子定義如下:
(3)
(4)
Securityt=[Yi,Xt]
(5)
其中,D={D1,D2,...,Dn}表示檢測到的外部攻擊數(shù)據(jù)包集合,DS為D中攻擊類型字段,S={S1,S2,...,Sm}表示m種攻擊類型的總集合,Yi為攻擊Si的數(shù)量.P={P1,P2,...,Pn}表示n種協(xié)議的數(shù)據(jù)總量,Xt為在t時刻上的協(xié)議占比比例.
最終,內(nèi)外安全態(tài)勢值S,由內(nèi)部態(tài)勢值Safety與外部態(tài)勢值Security的和組成:
St=[Safetyt,Securityt]
(6)
根據(jù)上述定義可知,內(nèi)外安全態(tài)勢值S由3維變量組成,假設(shè)時間長度為T,則該特征的維度為S∈R3×T,該特征屬于時間序列特征,由于在提取特征過程中不同對象常常擁有不同的量綱和物理意義,所以在構(gòu)建深度學(xué)習(xí)模型之前需要對內(nèi)外安全態(tài)勢評估指標進行歸一化處理,將每一個維度的特征數(shù)據(jù)歸一化至[0,1]范圍內(nèi),下式給出了歸一化的過程:
(7)
在特征提取完成后,一般采用各種機器學(xué)習(xí)模型對提取到的特征進行建模,再使用構(gòu)建的模型進行后續(xù)網(wǎng)絡(luò)數(shù)據(jù)的網(wǎng)絡(luò)信息安全評估.當(dāng)前最常用的學(xué)習(xí)模型包括BP神經(jīng)網(wǎng)絡(luò)、PSO優(yōu)化算法、SVM分類器等方法,隨著信息現(xiàn)代化的不斷進行,傳統(tǒng)淺層模型已經(jīng)逐漸不能滿足網(wǎng)絡(luò)信息安全評估的需要.深度學(xué)習(xí)是在淺層學(xué)習(xí)模型基礎(chǔ)上的更深層次的研究,近年來對機器學(xué)習(xí)和模式識別的影響較大.卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、深度信念網(wǎng)絡(luò)(DBN)是現(xiàn)有的三種主流深度神經(jīng)網(wǎng)絡(luò)模型[9],通常情況下,CNN用于處理空間分辨率較高的數(shù)據(jù),RNN用于處理時間分辨率較高的數(shù)據(jù),DBN則用于無監(jiān)督學(xué)習(xí)提取數(shù)據(jù)的本質(zhì)特征.
本文提取到的內(nèi)外安全態(tài)勢特征屬于時間序列數(shù)據(jù),在處理上可以采用RNN模型,該模型能夠根據(jù)時間序列數(shù)據(jù),逐步提取出網(wǎng)絡(luò)數(shù)據(jù)中最本質(zhì)的特征用于網(wǎng)絡(luò)安全預(yù)測,魯棒性更高.
圖2 基本的循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu)Fig.2 Basic recurrent neural network architecture
RNN網(wǎng)絡(luò)由輸入層、隱含層和輸出層組成,網(wǎng)絡(luò)的層數(shù)與時間上的采樣點數(shù)相同,各層的隱含層之間使用權(quán)重相連,相互之間傳遞信息,所以對時間序列特征的處理效果良好,通過計算前后時間之間的關(guān)系,有效提取時間前后之間的相關(guān)性,挖掘出特征隨著時間變化的關(guān)鍵特征,對未來時間的預(yù)測有較好的效果[10].圖2給出了常見的基本RNN網(wǎng)絡(luò)架構(gòu).
傳統(tǒng)RNN網(wǎng)絡(luò)的隱含層信息傳遞幾乎貫穿整個網(wǎng)絡(luò),隨著時間的推移其梯度會逐漸消失或呈指數(shù)增大,這將導(dǎo)致誤差反向傳播無法繼續(xù)進行,誤差無法傳遞至RNN前端部分[11].為了克服該缺陷,需要對隱含層之間的信息傳遞作出限制,一般采用GRU單元結(jié)構(gòu),該單元結(jié)構(gòu)使用了門結(jié)構(gòu)對信息傳播作出限制,能夠保證在誤差反向傳播過程中能夠保留住誤差,進而對網(wǎng)絡(luò)的權(quán)重完成更新.GRU單元是在LSTM單元的基礎(chǔ)上形成的簡化結(jié)構(gòu),能夠在每個循環(huán)單元中自適應(yīng)的獲得不同時間尺度的依賴,繼而保證誤差反向傳播過程中的梯度,與LSTM不同之處在,GRU在單元中構(gòu)造了reset gate和update gate獲得時間依賴保證梯度有效性,且采用候選輸出與上一次輸出的加權(quán)結(jié)果構(gòu)造輸出,從圖4的GRU單元結(jié)構(gòu)中可以看出,GRU需要如下的組合函數(shù)實現(xiàn):
更新門:
zt=σ(Wzxt+Uzht-1)
(8)
重置門:
rt=σ(Wtxt+Utht-1)
(9)
記憶單元:
(10)
隱含狀態(tài):
(11)
圖3 門限回歸記憶單元結(jié)構(gòu)圖Fig.3 Structure of threshold regression memory unit
在本文中,實驗數(shù)采用麻省理工林肯實驗室的DARPA
數(shù)據(jù)安全數(shù)據(jù)集[14],該數(shù)據(jù)集包含了網(wǎng)絡(luò)邊界和網(wǎng)絡(luò)內(nèi)資產(chǎn)分布狀態(tài),還有USTAT主機IDS給出的網(wǎng)絡(luò)警報信息,可以用于提取網(wǎng)絡(luò)信息安全評估的特征.下圖4給出了MIT DARPA數(shù)據(jù)集構(gòu)成的網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖,該數(shù)據(jù)集中主要包括三種主要業(yè)務(wù),分別是互聯(lián)網(wǎng)業(yè)務(wù)、文件傳輸業(yè)務(wù)和郵件業(yè)務(wù),各個服務(wù)器與終端也在圖中標示出來,該數(shù)據(jù)集給出了數(shù)量較多的攻防模擬場景,為了簡化攻防的常見,特選出以下攻擊步驟作為網(wǎng)絡(luò)信息安全評估步驟:
(1)普通終端在整個過程中一直進行Web,File Transfer和Mail業(yè)務(wù);
(2)使用SQL注入漏洞攻擊172.16.112.10服務(wù)器
(3)使用UDP泛洪攻擊172.16.112.100服務(wù)器
(4)使用蠕蟲病毒攻擊172.16.112.50服務(wù)器
圖5 三種不同RNN模型的迭代 次數(shù)與均方誤差的曲線圖Fig.5 The curve of iteration times and mean square error of three different RNN models
根據(jù)攻擊場景的設(shè)定,記錄下路由器的Snort攻擊信息,Netflow數(shù)據(jù)流信息以及其他終端的Nessus漏洞掃描信息,一共給出1000個樣本,每個樣本的時間點采樣長度為512個.然后根據(jù)上述定義的內(nèi)外網(wǎng)絡(luò)信息安全評估特征提取方法提取到穩(wěn)定特征,并將其中90%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),10%的數(shù)據(jù)作為驗證數(shù)據(jù),再將訓(xùn)練數(shù)據(jù)輸入至帶GRU記憶結(jié)構(gòu)單元的RNN網(wǎng)絡(luò)中,經(jīng)過BPTT算法不斷迭代,最終形成一個收斂的深度預(yù)測模型,再使用驗證數(shù)據(jù)進行網(wǎng)絡(luò)信息安全評估的驗證.
為了驗證本文提出的網(wǎng)絡(luò)信息安全評估的性能和時間復(fù)雜度,我們將RNN模型分別于FWNN,PSO和GA-SVM等淺層模型進行了對比.在RNN模型中分別比較了三種單元,tanH,LSTM和GRU.圖5給出了三種不同單元的RNN在隨著迭代次數(shù)增加的時候的平均誤差結(jié)果曲線.表1則給出了6種不同模型在信息安全評估過程中的訓(xùn)練和驗證時的時間復(fù)雜度.
從圖5中的結(jié)果可以看出,隨著迭代次數(shù)的增加,GRU單元獲得了最小的平均誤差.收斂到的0.1的誤差時,GRU使用了最小的迭代次數(shù)和最小的時間復(fù)雜度.從表1的結(jié)果可以看出,GRU比tanH和LSTM擁有更好的性能高.時間復(fù)雜度的結(jié)果可以看出GRU-RNN(198.35 ms),比tanH-RNNs (214.34 ms) 和 LSTM-RNNs (248.11 ms)稍微慢一些.但是比三種傳統(tǒng)淺層模型都快FWNN(233.23 ms),PSO(232.42 ms) 和GA-SVM(268.43 ms).
因為從原始數(shù)據(jù)中收集到的內(nèi)外安全態(tài)勢特征是時間序列數(shù)據(jù),更適合使用深度RNN模型來處理這類數(shù)據(jù).使用RNN模型處理的效果好于傳統(tǒng)的淺層模型.表3中的結(jié)果顯示出了,重點樣本表示的是整個網(wǎng)絡(luò)中危險系數(shù)最高的地方,一個算法評估網(wǎng)絡(luò)信息安全重要的是分析這些重點樣本的安全性評估.從表2中的重點樣本的檢測來看,深度RNN模型獲得了最穩(wěn)定、魯棒性的重點樣本檢測結(jié)果,比淺層模型效果好.GRU-RNN獲得了最好的重點樣本檢測結(jié)果,與真實結(jié)果相比最接近.
眾所周知,深度模型卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)在預(yù)測回歸和分類上已經(jīng)被廣泛運用.因為信息安全評估問題處理的是時間序列數(shù)據(jù),這些數(shù)據(jù)包含有時域特征,該特征很難使用CNN模型提取.為了驗證RNN模型更適合于提取這類特征,第三個對比實驗時比較CNN和RNN,采用序列上的典型樣本.平均的預(yù)測結(jié)果和方差通過統(tǒng)計模型計算,方差分析用于檢測兩個模型之間是否存在顯著性差異.表3中給出了對比結(jié)果.
表2 關(guān)鍵威脅點樣本的信息安全評估算法對比結(jié)果Tab.2 Comparison results of information security assessment algorithms for key threat point samples
表3 CNN以及GRU-RNN在關(guān)鍵威脅點評估的平均值、方差以及顯著性對比Tab.3 Comparison of mean value, variance and significance of CNN and gru-rnn in critical threat point assessment
從表3中的對比結(jié)果可以看出,在關(guān)鍵點上有70%的是GRU-RNN模型超過CNN模型,也就是說GRU-RNN比CNN 的模型在預(yù)測性能上來說好很多,并且在魯棒性上也比CNN模型要好.GRU-RNN模型提取到了時間域上的特征,這些特征更好的用于時間序列數(shù)據(jù)的信息安全評估.
根據(jù)實驗結(jié)果的對比分析,可以得到如下三個結(jié)論:
(1)在關(guān)鍵威脅點的檢測上,內(nèi)外安全態(tài)勢預(yù)測值能夠更好的把握住網(wǎng)絡(luò)態(tài)勢預(yù)測的內(nèi)在特征,且RNN深度模型與傳統(tǒng)淺層模型相比,能夠獲得更精確、更魯棒的威脅檢測結(jié)果.深度模型在網(wǎng)絡(luò)信息安全評估上是可行的.
(2)在整體的檢測上,RNN深度模型的均方誤差更低,對整體的檢測優(yōu)于淺層模型,但是深度模型的層數(shù)較多,需要花大量時間進行迭代、優(yōu)化、計算,所以RNN深度模型的時間復(fù)雜度更高,這主要由深度模型的特性決定的.
(3)深度模型在分類精度上效果更好,由于深度模型擁有更多的隱含層, 所以在訓(xùn)練上所需要的時間復(fù)雜度更高.然而,復(fù)雜度的消耗都是由于深度模型的特性造成的.
計算網(wǎng)絡(luò)和大數(shù)據(jù)飛速發(fā)展的背后,網(wǎng)絡(luò)安全問題逐漸成為人們關(guān)注的焦點.在網(wǎng)絡(luò)安全問題中,信息安全評估是當(dāng)前最重要的問題之一.本文通過深入研究現(xiàn)階段信息安全評估研究對象,以及常用的研究方法,并分析出現(xiàn)階段網(wǎng)絡(luò)安全態(tài)勢研究不足之處.針對現(xiàn)階段淺層模型對網(wǎng)絡(luò)復(fù)雜度的分析不足,提出一種結(jié)合內(nèi)外安全態(tài)勢特征值與GRU-RNN深度模型對信息安全進行評估.在公開數(shù)據(jù)集的測試上發(fā)現(xiàn),GRU-RNN深度模型能夠獲得更精確、更魯棒的關(guān)鍵威脅點預(yù)測,并在全局的預(yù)測上與淺層模型相比獲得了最小的均方誤差結(jié)果.GRU-RNN深度模型雖然在迭代中需要消耗更多的時間,但是能夠一定程度保證精確度的魯棒,在網(wǎng)絡(luò)安全態(tài)勢預(yù)測上有較強的實踐意義.今后的工作包括構(gòu)建隱含層更多的深度更深的深度模型,用于處理更大量的網(wǎng)絡(luò)安全態(tài)勢數(shù)據(jù).