蘇小玉,董兆偉,孫立輝,徐奎奎
(河北經(jīng)貿(mào)大學(xué) 信息技術(shù)學(xué)院,河北 石家莊 050700)
國家互聯(lián)網(wǎng)應(yīng)急中心(簡稱“CNCERT”)發(fā)布的《2019年我國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述》[1]報告指出,隨著國內(nèi)互聯(lián)網(wǎng)技術(shù)中云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能等新技術(shù)新應(yīng)用的大規(guī)模發(fā)展,網(wǎng)絡(luò)安全事件日益增多。對于日益復(fù)雜化和多樣化的網(wǎng)絡(luò)攻擊,傳統(tǒng)防護(hù)措施如防火墻、訪問控制、漏洞掃描和入侵檢測等從主動防御和被動防御兩方面進(jìn)行防護(hù),這些安全設(shè)備雖然具有安全事件和安全日志的記錄功能,但是各設(shè)備之間相互獨立,安全信息分散,無法共享。網(wǎng)絡(luò)安全管理員很難監(jiān)控全局網(wǎng)絡(luò)狀況,攻擊發(fā)生時無法做出適當(dāng)決策。為解決上述問題,T.Bass[2]首次將態(tài)勢感知的概念引入網(wǎng)絡(luò)安全領(lǐng)域,態(tài)勢預(yù)測作為態(tài)勢感知中的主要研究部分,根據(jù)歷史態(tài)勢數(shù)據(jù)的分析構(gòu)建預(yù)測模型,獲取態(tài)勢數(shù)據(jù)之間的規(guī)律,預(yù)測網(wǎng)絡(luò)未來的變化狀況。
網(wǎng)絡(luò)安全態(tài)勢變化具有復(fù)雜性、非線性和時變性特點,而神經(jīng)網(wǎng)絡(luò)技術(shù)對于復(fù)雜系統(tǒng)具有更高的容錯性,更強的非線性映射能力和泛化能力。因此一些學(xué)者將神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于網(wǎng)絡(luò)安全態(tài)勢預(yù)測領(lǐng)域。與傳統(tǒng)的機器學(xué)習(xí)模型相比,深度學(xué)習(xí)模型在網(wǎng)絡(luò)安全態(tài)勢預(yù)測領(lǐng)域顯示出巨大的潛力。文獻(xiàn)[3-4]研究了基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢預(yù)測模型。雖然BP神經(jīng)網(wǎng)絡(luò)對于網(wǎng)絡(luò)安全態(tài)勢預(yù)測具有一定的效果,但是BP神經(jīng)網(wǎng)絡(luò)自身算法的不足導(dǎo)致存在很多的局限性。網(wǎng)絡(luò)安全態(tài)勢感知復(fù)雜場景和動態(tài)變化的特點使得網(wǎng)絡(luò)安全事件的發(fā)生具有極大的概率性和突發(fā)性,文獻(xiàn)[5]提出基于LSTM的網(wǎng)絡(luò)安全態(tài)勢預(yù)測方法,LSTM神經(jīng)網(wǎng)絡(luò)是對遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的改進(jìn),在處理時間序列數(shù)據(jù)具有強大的性能。文獻(xiàn)[6]提出基于LSTM的網(wǎng)絡(luò)流量預(yù)測方法,引入粒子濾波約束算法優(yōu)化網(wǎng)絡(luò)的參數(shù)。針對基于LSTM神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)訓(xùn)練過程中收斂速度慢影響訓(xùn)練成本的問題,文獻(xiàn)[7-11]提出采用智能優(yōu)化算法提高LSTM神經(jīng)網(wǎng)絡(luò)模型的收斂速度。
文獻(xiàn)[12]針對傳統(tǒng)神經(jīng)網(wǎng)絡(luò)在預(yù)測中存在的預(yù)測精度不高、效率低的問題,提出一種基于門控遞歸單元(GRU)的遞歸神經(jīng)網(wǎng)絡(luò)預(yù)測的新方法。該方法從原始的時間序列數(shù)據(jù)中提取信息特征應(yīng)用到深度RNN模型中進(jìn)行訓(xùn)練和驗證。經(jīng)過迭代和優(yōu)化,訓(xùn)練的模型可以獲得網(wǎng)絡(luò)安全預(yù)測的準(zhǔn)確性。文獻(xiàn)[13]提出一個基于兩層遞歸神經(jīng)網(wǎng)絡(luò)LSTM和GRU的預(yù)測方法,該方法組合了兩種改進(jìn)的遞歸神經(jīng)網(wǎng)絡(luò),雖然預(yù)測精度有所提高,但是模型的復(fù)雜度有所增加,還延長了訓(xùn)練模型的時間。
針對LSTM神經(jīng)網(wǎng)絡(luò)改進(jìn)的變體中沒有將消失梯度的降低作為關(guān)鍵研究方向,該文提出一種基于sigmoid加權(quán)強化機制的LSTM網(wǎng)絡(luò)安全態(tài)勢預(yù)測方法。該方法在傳統(tǒng)LSTM神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上改變激活函數(shù),引入sigmoid加權(quán)線性單元處理反向傳播中的梯度問題,將輸入值乘以sigmoid激活函數(shù),使得LSTM具有更復(fù)雜的結(jié)構(gòu)來捕捉輸入層與隱藏層之間的遞歸關(guān)系。
還有研究表明,LSTM神經(jīng)網(wǎng)絡(luò)的超參數(shù)對于網(wǎng)絡(luò)性能有較大影響,在前期LSTM神經(jīng)網(wǎng)絡(luò)的改進(jìn)方法中,針對LSTM神經(jīng)網(wǎng)絡(luò)的隱含層數(shù),每層神經(jīng)元的個數(shù)以及學(xué)習(xí)率等超參數(shù)的確定主要是主觀選取,該文引入布谷鳥搜索算法進(jìn)行超參數(shù)的自動尋優(yōu)加速網(wǎng)絡(luò)的訓(xùn)練時間。實驗結(jié)果顯示,該方法具有更高的準(zhǔn)確率和穩(wěn)定性。
LSTM網(wǎng)絡(luò)作為一種特殊的遞歸神經(jīng)網(wǎng)絡(luò)(RNN),與傳統(tǒng)的RNN遞歸結(jié)構(gòu)不同,LSTM在解決長期和短期依賴問題方面具有穩(wěn)定而強大的能力。記憶細(xì)胞取代了傳統(tǒng)神經(jīng)元的隱藏層,是LSTM網(wǎng)絡(luò)的核心。由于有三個門,即輸入門、輸出門和遺忘門,LSTM網(wǎng)絡(luò)可以向細(xì)胞狀態(tài)添加或刪除信息。LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
其中,it為輸入門限層,用來控制信息輸入;ft為遺忘門限層,用來控制細(xì)胞歷史狀態(tài)的保留;ot為輸出門限層,用來控制信息的輸出;σ表示標(biāo)準(zhǔn)的sigmoid函數(shù),用公式(1)表示,tanh函數(shù)用公式(2)表示。
(1)
(2)
LSTM神經(jīng)網(wǎng)絡(luò)的預(yù)測性能主要取決于激活函數(shù),激活函數(shù)的輸入向量包括當(dāng)前輸入和先前狀態(tài),再根據(jù)隱藏層的結(jié)果預(yù)測輸出。由于神經(jīng)元在權(quán)值調(diào)整的基礎(chǔ)上學(xué)習(xí)輸入和輸出之間的非線性關(guān)系,因此權(quán)值的分配和調(diào)整對于激活函數(shù)的結(jié)果有很大影響。在訓(xùn)練階段,由于學(xué)習(xí)率高,初始階段的權(quán)值變化差異較大;當(dāng)權(quán)值接近零時,權(quán)值變化逐漸減小,學(xué)習(xí)停止,此時說明輸入的變化對輸出沒有影響。通過分析研究激活函數(shù)的作用,發(fā)現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)中最常用的激活函數(shù)有sigmoid函數(shù)、雙曲正切(tanh)函數(shù)和校正線性單元(ReLU)。每個激活函數(shù)各有優(yōu)缺點,sigmoid函數(shù)映射0到1之間的任何輸入值范圍。該函數(shù)將大的輸入值壓縮到小的輸出范圍,在反向傳播過程中,函數(shù)的梯度呈指數(shù)下降,導(dǎo)致神經(jīng)網(wǎng)絡(luò)初始層的權(quán)值調(diào)整很小,這個問題被定義為梯度消失。tanh函數(shù)可以接受的輸入范圍在-1到1之間,從而可以計算負(fù)輸入的輸出,因此tanh函數(shù)的消失梯度比sigmoid小,但是仍然存在這個問題。之后研究學(xué)者為了找到更好的激活函數(shù)來緩解梯度問題,研究了校正線性單元(ReLU)激活函數(shù)。ReLU函數(shù)只包含兩個簡單的約束條件,如公式(3)所示。ReLU函數(shù)將所有負(fù)值映射為0,其他值映射為x,因此即使很小的輸入值也反映出輸出的顯著變化。然而,ReLU激活函數(shù)存在一個問題。在ReLU激活函數(shù)的導(dǎo)數(shù)中,x的所有負(fù)值都被映射到零,使得網(wǎng)絡(luò)停止學(xué)習(xí),這將導(dǎo)致神經(jīng)元在一定數(shù)量的無梯度連續(xù)輸入后停止學(xué)習(xí)。ReLU激活函數(shù)的導(dǎo)數(shù),如公式(4)所示。
(3)
(4)
為了避免梯度消失的問題,有必要將梯度保持在一定的反向傳播水平,從而在整個訓(xùn)練階段神經(jīng)元都處于活動狀態(tài)時繼續(xù)學(xué)習(xí)。LSTM神經(jīng)網(wǎng)絡(luò)作為RNN的改進(jìn),增加了存儲單元。存儲單元模仿人類大腦處理決定時的方式,執(zhí)行操作來更新信息。標(biāo)準(zhǔn)的LSTM神經(jīng)網(wǎng)絡(luò)包含三個sigmoid函數(shù)和兩個tanh函數(shù)。遺忘門決定是否保持當(dāng)前的輸入,輸出門產(chǎn)生預(yù)測值,這兩個門已經(jīng)包含在存儲單元中進(jìn)行信息的處理。而輸入門和候選向量在更新細(xì)胞狀態(tài)中起著重要作用,LSTM從細(xì)胞狀態(tài)中學(xué)習(xí)新的信息,并根據(jù)當(dāng)前輸入進(jìn)行分析預(yù)測輸出值。該文提出將輸入值和輸入門的sigmoid函數(shù)相乘,以及輸入值和候選向量中的tanh函數(shù)相乘,降低梯度消失問題帶來的影響,使得LSTM具有更復(fù)雜的結(jié)構(gòu)來捕獲輸入層和隱藏層之間的遞歸關(guān)系。
SiLU-LSTM的結(jié)構(gòu)如圖2所示。
圖2 SiLU-LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
當(dāng)決定保留當(dāng)前輸入時,網(wǎng)絡(luò)通過將當(dāng)前輸入與以前的狀態(tài)進(jìn)行比較來學(xué)習(xí)當(dāng)前輸入攜帶的新信息。前一狀態(tài)向量ht-1包含前一輸入和輸出變化的內(nèi)容。在此基礎(chǔ)上,首先輸入門中的sigmoid函數(shù)的范圍是0到1之間的值,描述了當(dāng)前輸入中可用的新信息的范圍,并且所得值乘以輸入值,如公式(5)所示?,F(xiàn)在輸入門值的范圍是[0,+∞),避免了輸入向量中相同值范圍的消失梯度,從而使網(wǎng)絡(luò)能夠從每個輸入中學(xué)習(xí)。
it=xt*σ(Wi·[ht-1,xt]+bi)
(5)
(6)
上述改進(jìn)的LSTM神經(jīng)網(wǎng)絡(luò)具有自穩(wěn)定的優(yōu)點,它降低了傳播速率,并且在導(dǎo)數(shù)為零的情況下,收斂到全局最小值,進(jìn)而作為正則化器隱式地抑制了大幅度權(quán)值的學(xué)習(xí)。因此,總有一個梯度網(wǎng)絡(luò)通過最小化數(shù)據(jù)丟失和網(wǎng)絡(luò)產(chǎn)生的誤差來學(xué)習(xí)新的信息。
LSTM的存儲單元輸出為ht(當(dāng)前隱藏狀態(tài))和Ct(當(dāng)前存儲狀態(tài))。LSTM神經(jīng)網(wǎng)絡(luò)的輸出門和隱藏狀態(tài)如公式(7)、(8)所示。
ot=σ(Wo·[ht-1,xt]+bo)
(7)
ht=ot*tanh(Ct)
(8)
由于各層利用激活函數(shù)產(chǎn)生神經(jīng)網(wǎng)絡(luò)的基本單元即神經(jīng)元的輸出,損失函數(shù)的梯度接近于零,使得網(wǎng)絡(luò)訓(xùn)練繁瑣。通過將輸入數(shù)據(jù)序列與輸入門和候選層的激活函數(shù)相乘,達(dá)到了緩解這種消失梯度問題的目的。在減小消失梯度后,訓(xùn)練網(wǎng)絡(luò)所需的時間減少。這種時間的減少會導(dǎo)致高學(xué)習(xí)率,從而減少損失。對學(xué)習(xí)率和損失的影響會使得誤差值降低。
LSTM的遞歸神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)序列數(shù)據(jù)之間相關(guān)性的能力,是分析時間序列數(shù)據(jù)的有效模型。超參數(shù)在優(yōu)化學(xué)習(xí)模型中起著非常重要的作用。在選擇超參數(shù)方面進(jìn)行綜合研究發(fā)現(xiàn),布谷鳥搜索算法作為新型智能算法對于參數(shù)尋優(yōu)具有很好的效果。布谷鳥算法的聚集性和多樣性通過自然界中優(yōu)勝劣汰和對環(huán)境的適應(yīng)性能力演化而來,對于參數(shù)尋優(yōu)問題能夠有效降低搜索時間,其中的萊維飛行更新使算法具有較強的全局搜索能力。因此該文利用元啟發(fā)式算法布谷鳥搜索(cuckoo search)自動尋找適合LSTM網(wǎng)絡(luò)超參數(shù)[14],從而獲得更優(yōu)質(zhì)的模型。
布谷鳥搜索(cuckoo search,CS),也叫杜鵑搜索,是由劍橋大學(xué)的楊新社教授和S.Deb[15]于2009年提出的一種新興啟發(fā)算法,算法的靈感來自于競爭性繁殖模式。在自然界中,某些種屬的布谷鳥將自己的卵偷偷產(chǎn)入宿主巢穴,由于布谷鳥后代的孵化時間比宿主的幼雛早,布谷鳥的后代幼雛會本能地破壞同一巢穴中其他的卵(退出巢穴),并發(fā)出比宿主幼雛更響亮的叫聲。很多宿主通過后代的叫聲大小判斷其健康程度,而健康后代獲得的食物較多,進(jìn)而擁有更高的存活率。在某些情況下,宿主也會發(fā)現(xiàn)巢穴中的陌生卵。這時,宿主將遺棄該巢穴,并選擇其他地方重新筑巢。在與宿主不斷的生存競爭中,布谷鳥的卵和幼雛叫聲均朝著模擬宿主的方向發(fā)展,以對抗宿主不斷進(jìn)化的分辨能力。
自然界中,動物尋找食物采用隨機的方式。一般情況下,動物覓食路徑實際上是一個隨機游走,因為下一步的行動取決于兩個因素,一個是當(dāng)前的位置/狀態(tài),另一個是過渡到下一個位置的概率。Levy飛行行走的步長滿足一個重尾(heavy-tailed)的穩(wěn)定分布,在這種形式的行走中,短距離的探索與偶爾較長距離的行走相間。在智能優(yōu)化算法中采用Levy飛行,能擴(kuò)大搜索范圍、增加種群多樣性,更容易跳出局部最優(yōu)點。
標(biāo)準(zhǔn)CS使用三個簡化規(guī)則:
(1)每只布谷鳥一次產(chǎn)一個卵,并隨機選擇寄生巢來孵化它,一個卵對應(yīng)一個解向量;
(2)在隨機選擇的一組寄生巢中,最好的寄生巢(解決方案)將會被保留到下一代;
(3)可利用的寄生巢數(shù)量是固定的,一個寄生巢的主人能發(fā)現(xiàn)一個外來鳥蛋的概率為Pa(即新的解決方案的概率為Pa)。在這種情況下,宿主可以選擇去掉這個卵,也可以選擇放棄巢,到新的地方建立一個全新的巢。
在這個簡化的場景中,每個巢對應(yīng)一個卵,這個卵也代表一只布谷鳥。從數(shù)學(xué)上講,布谷鳥搜索使用局部隨機游走和全局隨機游走的組合,由概率Pa控制。
局部隨機游走,如公式(9)所示。
(9)
使用Levy飛行進(jìn)行的全局隨機游走,如公式(10)所示。
(10)
(11)
其中,α是步長比例因子,與所求解問題的規(guī)模有關(guān)?!啊睆娬{(diào)按照隨機數(shù)L(s,λ)進(jìn)行搜索的步驟應(yīng)該從Levy分布中抽取。
公式(11)表示一個指數(shù)為λ的冪律分布對Levy分布的近似。采用Levy飛行搜索使得算法具有更高的遍歷性和可探索性,算法更容易跳出任何局部最優(yōu)解。
步驟1:初始化神經(jīng)網(wǎng)絡(luò)的超參數(shù),確定迭代次數(shù),學(xué)習(xí)速率,神經(jīng)網(wǎng)絡(luò)隱含層的節(jié)點數(shù)的變化區(qū)間。
步驟2:設(shè)鳥巢個數(shù)Nest為10,鳥蛋被鳥巢主人發(fā)現(xiàn)的概率Pa為0.25。隨機生成鳥巢的位置,每個鳥巢的位置包含4個參數(shù)(迭代次數(shù),學(xué)習(xí)速率,兩層隱含層的節(jié)點個數(shù))。根據(jù)鳥巢初始化的各個參數(shù)進(jìn)行訓(xùn)練,計算每個鳥巢的預(yù)測值,根據(jù)預(yù)測誤差找到誤差最小的鳥巢位置,保存到下一代。
步驟3:根據(jù)位置和路徑更新公式(10)鳥巢進(jìn)行更新,通過LSTM神經(jīng)網(wǎng)絡(luò)計算預(yù)測誤差,與上一步中除最小的鳥巢之外的其他鳥巢進(jìn)行對比,得出的誤差最小的鳥巢替代誤差最大的鳥巢,從而得到當(dāng)前的最優(yōu)鳥巢位置。
步驟4:得到最優(yōu)的鳥巢,即可得出超參數(shù)的最優(yōu)組合,若達(dá)到精度要求,則返回上一步繼續(xù)搜索,否則輸出當(dāng)前最優(yōu)值。
步驟5:在每一次迭代之后,有一部分巢按照丟棄概率被拋棄,使得該搜索算法可以獲得最佳適應(yīng)度值。
步驟6:在神經(jīng)網(wǎng)絡(luò)模型中輸入訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,若未達(dá)到預(yù)測精度或超出迭代范圍,則不斷學(xué)習(xí);若達(dá)到迭代次數(shù)或預(yù)測精度,則停止神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),保存當(dāng)前最優(yōu)超參數(shù)組合。
網(wǎng)絡(luò)安全態(tài)勢預(yù)測描述的是安全態(tài)勢隨時間動態(tài)變化的行為,根據(jù)歷史態(tài)勢值預(yù)測未來態(tài)勢值。網(wǎng)絡(luò)安全時間序列數(shù)據(jù)的預(yù)測可以協(xié)助預(yù)防網(wǎng)絡(luò)安全事件發(fā)生提供決策支持。該文針對LSTM神經(jīng)網(wǎng)絡(luò)的梯度消失問題,通過將輸入序列分別輸入門和候選向量的激活函數(shù)相乘來緩解梯度消失問題,同時利用布谷鳥搜索算法優(yōu)化LSTM超參數(shù)以提高網(wǎng)絡(luò)安全態(tài)勢預(yù)測精度。
步驟1:將網(wǎng)絡(luò)安全態(tài)勢值數(shù)據(jù)集劃分為訓(xùn)練集和測試集,再對樣本數(shù)據(jù)進(jìn)行預(yù)處理,形成標(biāo)準(zhǔn)樣本矩陣。模型的輸入輸出如表1所示。
表1 模型輸入輸出
表中輸入選取當(dāng)前序列輸入m和前m-1個態(tài)勢值,模型的輸出是m+1時刻的態(tài)勢值。
步驟2:初始化LSTM神經(jīng)網(wǎng)絡(luò),輸入層節(jié)點m個,輸出層節(jié)點1個,隨機產(chǎn)生迭代次數(shù),學(xué)習(xí)速率,隱含層節(jié)點個數(shù),并初始化優(yōu)化超參數(shù)的變化區(qū)間。
步驟2.1:設(shè)鳥巢個數(shù)Nest為10,鳥蛋被鳥巢主人發(fā)現(xiàn)的概率Pa為0.25。隨機生成鳥巢的位置,每個鳥巢的位置包含4個參數(shù)(迭代次數(shù),學(xué)習(xí)速率,兩層隱含層的節(jié)點個數(shù))。根據(jù)鳥巢初始化的各個參數(shù)進(jìn)行訓(xùn)練,計算每個鳥巢的預(yù)測值,根據(jù)預(yù)測誤差找到誤差最小的鳥巢位置,保存到下一代。
步驟2.2:根據(jù)位置和路徑更新公式(10)鳥巢進(jìn)行更新,通過LSTM神經(jīng)網(wǎng)絡(luò)計算預(yù)測誤差,與上一步中除最小的鳥巢之外的其他鳥巢進(jìn)行對比,得出的誤差最小鳥巢替代誤差最大的鳥巢,從而得到當(dāng)前的最優(yōu)鳥巢位置。
步驟2.3:得到最優(yōu)的鳥巢,即可得出超參數(shù)的最優(yōu)組合,若達(dá)到精度要求,則返回上一步繼續(xù)搜索,否則輸出當(dāng)前最優(yōu)值。
步驟3:在神經(jīng)網(wǎng)絡(luò)模型中輸入訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練,若未達(dá)到預(yù)測精度或超出迭代范圍,則不斷學(xué)習(xí);若達(dá)到迭代次數(shù)或預(yù)測精度,則停止神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),保存當(dāng)前最優(yōu)超參數(shù)組合。
步驟4:構(gòu)建遺忘門,初始化其偏置量為1,作用是減小在訓(xùn)練的初始階段遺忘過多的信息。
步驟6:構(gòu)建輸出門的過程與傳統(tǒng)的模型一致,通過ot和Ct獲得當(dāng)前時刻的輸出值。
步驟7:計算輸出值之后,為驗證算法的準(zhǔn)確性,將測試樣本數(shù)據(jù)集輸入預(yù)測模型中得到預(yù)測態(tài)勢值作為模型的輸出結(jié)果,構(gòu)造預(yù)測模型的均方誤差函數(shù)MSE作為模型的目標(biāo)函數(shù),利用Adam算法更新神經(jīng)網(wǎng)絡(luò)的權(quán)重和偏置量,直到模型的訓(xùn)練誤差達(dá)到預(yù)先設(shè)定的目標(biāo)并保存模型。
該文采用的實驗數(shù)據(jù)為國家互聯(lián)網(wǎng)應(yīng)急中心(簡稱CNCERT)官方網(wǎng)站公布的真實數(shù)據(jù)。選取2012年12月31日至2020年5月31日《網(wǎng)絡(luò)安全信息與動態(tài)周報》的數(shù)據(jù),該數(shù)據(jù)集以周為單位統(tǒng)計態(tài)勢信息。選取2013年至2019年的數(shù)據(jù)作為已知數(shù)據(jù)訓(xùn)練模型。當(dāng)預(yù)測模型對2020第一周態(tài)勢值進(jìn)行預(yù)測之后,把預(yù)測值納入已知數(shù)據(jù)集,以此類推預(yù)測2020年共計22周態(tài)勢值。最后將預(yù)測態(tài)勢值與真實態(tài)勢值對比并計算誤差,進(jìn)而判斷預(yù)測模型的預(yù)測精度。
該文以專家經(jīng)驗為指導(dǎo)對五種網(wǎng)絡(luò)安全威脅進(jìn)行權(quán)重分配,如表2所示。
表2 五種網(wǎng)絡(luò)安全威脅進(jìn)行權(quán)重分配
該方法直觀體現(xiàn)網(wǎng)絡(luò)安全態(tài)勢值。具體的網(wǎng)絡(luò)安全態(tài)勢值計算方法為:
(12)
其中,SA表示網(wǎng)絡(luò)安全態(tài)勢值;i表示網(wǎng)絡(luò)安全威脅種類,ω表示對應(yīng)的權(quán)重,Ti表示某種網(wǎng)絡(luò)安全威脅事件數(shù)量,Timax表示該威脅最大時的數(shù)值。
對網(wǎng)絡(luò)安全態(tài)勢值進(jìn)行歸一化預(yù)處理,公式如下:
(13)
網(wǎng)絡(luò)安全態(tài)勢圖如圖3所示。
圖3 網(wǎng)絡(luò)安全態(tài)勢時間序列
該文選取預(yù)測評估指標(biāo)中的平均絕對誤差(mean absolute error,MAE)、均方根誤差(root mean square error,RMSE)和平均絕對百分比誤差(mean absolute percentage error,MAPE)用來對提出的預(yù)測模型進(jìn)行評價。
公式如下:
(14)
(15)
(16)
4.3.1 與前饋神經(jīng)網(wǎng)絡(luò)對比
將傳統(tǒng)的LSTM的神經(jīng)網(wǎng)絡(luò)模型與GRU和前饋BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對比,如圖4所示。LSTM和GRU都是特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN類型,針對傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)RNN存在的問題,LSTM和GRU的提出解決了不能長期依賴的問題,但是對比LSTM和GRU可以看出,LSTM更適用于當(dāng)前的網(wǎng)絡(luò)安全態(tài)勢數(shù)據(jù)集,LSTM神經(jīng)網(wǎng)絡(luò)的擬合效果相對較好。
圖4 傳統(tǒng)模型的態(tài)勢值對比
4.3.2 與傳統(tǒng)LSTM及優(yōu)化后的LSTM神經(jīng)網(wǎng)絡(luò)對比
經(jīng)過對比實驗(1)之后,發(fā)現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)比其他的傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的誤差小。因此在進(jìn)一步的實驗中,選擇優(yōu)化LSTM神經(jīng)網(wǎng)絡(luò),對LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)具體是將輸入值和輸入門的sigmoid函數(shù)相乘,以及輸入值和候選向量中的tanh函數(shù)相乘,降低梯度消失問題帶來的影響,使得LSTM具有更復(fù)雜的結(jié)構(gòu)來捕獲輸入層和隱藏層之間的遞歸關(guān)系。圖5表示優(yōu)化后的模型對于測試樣本的預(yù)測中,文中提出的模型總體擬合度優(yōu)于其他方法。
圖5 不同預(yù)測模型的態(tài)勢值對比
如圖6所示,文中提出的模型在整體誤差精度上比其他模型小,尤其在均方誤差中較為明顯,相比傳統(tǒng)的BP、LSTM、GRU誤差降低了7.4%、4.5%、5.6%。實驗結(jié)果表明,文中提出的模型對于網(wǎng)絡(luò)安全態(tài)勢值的預(yù)測具有更好的準(zhǔn)確性。根據(jù)表3預(yù)測評估指標(biāo)衡量預(yù)測結(jié)果的準(zhǔn)確性,不同預(yù)測指標(biāo)的值越小表明模型的預(yù)測效果預(yù)測越好。
圖6 不同模型的誤差對比
表3 不同模型的誤差分析
網(wǎng)絡(luò)安全態(tài)勢序列存在時序性和非線性特點,LSTM神經(jīng)網(wǎng)絡(luò)由于具有良好的處理長期依賴問題的能力,在處理時間序列時具有強大的性能。針對LSTM神經(jīng)網(wǎng)絡(luò)降低消失梯度的問題,提出基于強化LSTM神經(jīng)網(wǎng)絡(luò)模型進(jìn)行網(wǎng)絡(luò)安全態(tài)勢預(yù)測,結(jié)合預(yù)測模型挖掘?qū)W(wǎng)絡(luò)安全態(tài)勢要素和態(tài)勢值之間的關(guān)聯(lián)規(guī)律,同時引入布谷鳥算法自動確定網(wǎng)絡(luò)的超參數(shù),避免主觀因素影響網(wǎng)絡(luò)性能,準(zhǔn)確提供給網(wǎng)絡(luò)安全管理人員較好的決策。實驗結(jié)果表明,該模型提高了預(yù)測精度。