孫雋豐, 李成海, 曹 波
(1. 空軍工程大學防空反導學院, 陜西 西安 710051;2. 中國人民解放軍第94994部隊, 江蘇 南京 210000)
隨著網絡環境日益復雜,網絡安全問題已經成為當前時代國家重點關注的問題之一,網絡安全態勢預測任務應運而生。預測網絡未來的安全態勢可以為網絡防御提供指導,從而降低網絡攻擊所帶來的不利影響。
近年來,各行各業都將引入人工智能作為行業發展的方向,網絡安全態勢預測任務也不例外。其中,將神經網絡應用到網絡安全態勢預測領域已成為當前研究者們所重點關注的方向。相比傳統方法,神經網絡可以有效地逼近和擬合非線性時間序列數據,在態勢預測領域取得了較好的效果。文獻[1]提出了一種基于經驗模式分解和改進粒子群優化(particle swarm optimization, PSO)算法優化雙向門控循環單元神經網絡的網絡安全態勢預測方法,該方法對網絡安全態勢數據序列進行經驗模式分解后分別建立預測模型,最終將預測結果進行疊加,取得了較高的預測精度。文獻[2]提出了一種網絡安全態勢預測方法,該方法利用門控循環單元(gate recurrent unit, GRU)對樣本的特征進行降維后,輸入Transformer提取具有時序關系的特征,降低了訓練時間,提升了預測精度。文獻[3]提出了一種改進遺傳PSO算法優化極限學習機的網絡安全態勢預測方法,該方法對遺傳PSO算法進行改進,雖然收斂速度加快,但是樣本數目和滑動窗口數的設置對預測精度有很大影響。文獻[4]提出了一種基于改進的綜合學習的PSO(comprehensive learning PSO, CLPSO)算法優化徑向基函數(radial basis function, RBF)神經網絡的網絡安全態勢預測方法,該方法利用改進的CLPSO算法對RBF神經網絡的聚類半徑進行優化,使得模型準確性更高,收斂效果更好。文獻[5]提出了一種基于注意力機制的GRU神經網絡安全態勢預測方法,該方法融合了GRU和注意力機制,并用PSO算法進行超參數尋優,在網絡安全態勢預測中取得了較好的效果。
為更好地學習網絡安全各要素之間的關系對態勢預測的影響,本文提出一種網絡安全態勢預測方法,該方法的主要貢獻如下:
(1) 利用時域卷積網絡(temporal convolution network, TCN)在時間維度上學習網絡態勢值的序列特征;
(2) 引入注意力機制突出對態勢值影響較大的特征,提升態勢值的預測精度,并加快模型的收斂速度;
(3) 引入雙向長短期記憶(bi-directional long short-term memory, BiLSTM)網絡進一步學習數據的前后狀況以提取特征,并得到該時刻的網絡安全態勢值;
(4) 通過PSO算法優化網絡模型的超參數,提升模型的預測精度,降低預測誤差。
該方法的網絡模型主要包括4個部分:輸入層、TCN編碼器層、注意力層和BiLSTM預測層,具體結構如圖1所示。

圖1 基于TCN-BiLSTM預測方法的網絡模型
(1) 輸入層
選取國家互聯網應急中心[6]的安全數據作為實驗數據,每周進行態勢評估得到態勢值,將態勢值進行歸一化處理、滑動窗口處理,將其轉換為時間步長×輸入維度的形式。數據重構以滑動窗口s=5為例,數據重構結果如表1所示。

表1 數據重構結果
(2) TCN編碼器層
TCN是Bai等[7]于2018年提出的,主要用于時序數據處理。TCN與普通一維卷積相比添加了兩個操作[8-9]:因果卷積和空洞卷積,并在各網絡層之間使用殘差連接,在對序列特征進行提取的同時,避免了梯度消失或爆炸現象的產生。其因果卷積與空洞卷積結構如圖2(a)所示,殘差模塊如圖2(b)所示。本文將TCN引入網絡安全態勢預測任務中,其因果卷積的應用可以有效地保證態勢信息從未來到過去不出現“泄露”現象,進而保證數據的完整性。而空洞卷積的應用則可使TCN以較少層數擁有較大的感受野,從而接收更長的歷史數據;ReLU激活函數、Dropout和恒等映射網絡能夠有效抑制網絡過擬合現象,從而提高網絡學習速度和準確率。具體而言,假設對于一個輸入x∈Rn的一維序列和一個卷積核f:{0,…,k-1}→R,對序列中的元素s的空洞卷積運算F被定義為
(1)
式中:d是膨脹因子;k是卷積核大小;s-d·i表示過去看的方向。在使用空洞卷積時,d通常會隨著網絡層數i的深度呈指數型增加,即d=O(2i),確保感受野增大的同時覆蓋輸入時間序列的所有有效輸入。
由于TCN的感受野依賴于網絡深度n、卷積核大小k和膨脹因子d,殘差連接的引入可以使TCN的感受野在網絡深度很深的情況下依舊穩定,其殘差模塊由網絡F和輸入x組成:
o=Activation(x+F(x))
(2)
(3) 注意力層
深度學習中的注意力機制[10]的主要作用為從大量信息中篩選出對當前任務目標最為重要的信息,凸顯出重要特征的作用。本文引入注意力機制,對TCN中不同時刻輸出的向量權重進行計算,可以有效地突出對態勢值影響較大的特征。
數據經TCN提取特征后輸出T,將其輸入到注意力層中得到初始狀態向量at,之后將其賦予權重系數αt,得到最終輸出的狀態向量Y,具體計算過程如下:
et=tanh(wtat+bt)
(3)
(4)
(5)
式中:et代表at對應的能量值;wt、bt分別代表第t個特征向量所對應的權重系數和偏置。
(4) BiLSTM網絡預測層
為解決傳統循環神經網絡的梯度爆炸或消失問題,1997年,Schmidhuber等[11]提出長短期記憶(long short-term memory, LSTM)網絡,通過門控機制實現信息選擇性的傳遞,其內部結構如圖3所示。

圖3 LSTM基本結構
其中,ft表示遺忘門;it表示輸入門;ot表示輸出門;xt表示當前時刻的輸入信息;ht-1和ht分別表示上一時刻和當前時刻的細胞輸出值;ct-1和ct分別表示上一時刻和當前時刻的記憶單元;σ表示sigmoid激活函數;t表示tanh激活函數。
輸入門it用于控制細胞信息更新的程度。
(6)
it=σ(Wt·[ht-1,xt]+bi)
(7)
遺忘門ft用于控制從細胞狀態中丟棄的信息。
ft=σ(Wf·[ht-1,xt]+bf)
(8)
(9)
輸出門ot用于控制細胞輸出值的信息量。
ot=σ(Wo·[ht-1,xt]+bo)
(10)
ht=ot?tanh(ct)
(11)
式中:W和b分別代表權重矩陣和偏置項。
在網絡安全態勢預測任務中,當前時刻網絡的狀況往往與之前之后都有關聯,若單一地使用TCN模型,則無法獲取從后到前的信息。為提升預測效果,本文引入BiLSTM網絡[12-13]進行網絡安全態勢預測。
BiLSTM由正向和反向LSTM疊加而成,其結構如圖4所示。

圖4 BiLSTM網絡模型

(12)
本文提出的TCN-BiLSTM模型中采用Ranger21優化算法[14-15],通過求解代價函數的最優化問題來求解模型的參數。Ranger21將AdamW[16]和LookAhead[17]等8個組件結合在一起,既結合了AdamW能夠獲取更好泛化性能的優點,又融合了其他組件的各項優點。Ranger21的具體算法如算法1所示。

算法 1 Ranger21優化算法輸入 訓練集輸出 最優模型1 參數:隨機目標函數為ft(θ),學習率為η,權重衰減因子λ=10-4,衰減速率 β0=0.9、β1=0.9、β2=0.999、βlookahead=0.5,用于數值穩定的小常數ε=10-8、εclipping=10-3,自適應梯度裁剪閾值τclipping=10-2,更新頻率klookahead=5,迭代次數為tmax,學習率預熱迭代次數twarmup=0.22×tmax,學習率慢化迭代次數twarmdown=0.28×tmax2 模型初始化:設置模型參數θ0為近似0的隨機值3 參數更新4 初始化一階動量:m0←05 初始化二階動量:v0←06 初始化二階最大動量:vmax←07 for t←1 to tmax do8 從訓練集中采集包含m個樣本{x(1),…,x(m)}的小批量,對應目標為y(i)9 計算梯度:gt←Δft(θt-1)10 梯度裁剪:for r∈rows(gt) do11 if ‖grt‖max(‖θrt‖,εclipping)>τclipping then 12 grt←τclippingmax(‖θrt‖,εclipping)‖grt‖grt13 end if14 end for15 梯度中心化:gt=gt-mean(gt)16 更新一階動量估計:mt←β1mt-2+(1-β1)gt17 修正偏差:m^t←(1+β0)mt-β0mt-11-βt118 更新二階動量估計:vt←β2vt-1+(1-β2)g2t19 更新二階最大動量估計:vmax←max(vt,vmax)20 修正偏差:v^t←vmax1-βt221 更新矢量:ut←m^t(1+β0)2+β20(v^t+ε)22 自動調整學習率:ηt=min1,max1-β22·t,ttwarmup ,tmax-ttwarmdown η23 權重衰減:dt=ηtmean(v^t)λ1-1‖θt-1‖ θt-124 應用更新:θt←θt-1-ηtut-ηtdt25 LookAhead:if t%klookahead==0 then26 lt/k←βlookaheadlt/k-1+(1-βlookahead)θt27 θt←lt/k28 end if29 end for
在實際應用中,超參數選取的不同將會對模型訓練結果產生影響。本文采用PSO算法[18]對模型中的5個超參數:BiLSTM神經元數ln1、ln2和ln3、批處理大小batch_size、優化器的學習率lr進行尋優,以找到模型參數的最優解,具體算法詳見算法2。

算法 2 PSO算法輸入 訓練集輸出 最優模型1 參數配置:種群大小為5,迭代次數為30,慣性權重w為0.6,學習因子c1、c2為0.5,r1、r2為(0,1)的隨機數2 生成種群粒子:(ln1,ln2,ln3,batch_size,lr)3 初始化粒子的位置:x0i,J←[x0i,1,x0i,2,x0i,3,x0i,4,x0i,5]4 初始化粒子的速度:v0i,J←[v0i,1,v0i,2,v0i,3,v0i,4,v0i,5]5 設置粒子的適應度函數:模型的損失函數6 計算每個粒子的初始適應值7 將初始的適應值作為每個粒子的局部最優解。計算并保存每一次迭代每個粒子的最優位置。第d次迭代中各個粒子的最優位置為Pdi,J←[pdi,1,pdi,2,pdi,3,pdi,4,pdi,5]8 截至第d次迭代找到最優值,將其作為全局最優解的初值,并記錄其位置gdJ←[gd1,gd2,gd3,gd4,gd5]9 更新粒子的速度:vd+1i,j←wvdi,j+c1r1(pdi,j-xdi,j)+c2r2(gdj-xdi,j)10 更新粒子的位置:xd+1i,j←xdi,j+vd+1i,j11 重新計算每個粒子的適應度函數并更新個體最佳位置和群體最佳位置12 當迭代次數或粒子的適應度函數趨于穩定時停止,將群體最佳位置的粒子作為本次求得的最優參數組合
基于TCN-BiLSTM的網絡安全態勢預測方法主要步驟如下:
步驟 1獲取數據集,讀取數據并進行清洗,隨后進行歸一化處理、滑動窗口處理,并劃分出訓練集和測試集。
步驟 2初始化PSO中的相關參數,設定待優化的粒子中每個維度的取值范圍及粒子群算法的適應度函數,通過粒子群算法獲得最優參數賦予模型。
步驟 3將預處理后的訓練集送往參數優化后的TCN-BiLSTM網絡進行訓練。首先利用TCN學習態勢值的序列特征,之后引入注意力機制動態調整屬性的權值,然后利用BiLSTM學習態勢值的前后狀況以提取序列中的更多信息,最后將訓練好的模型保存下來。
步驟 4將測試集送入步驟3,以最終保存的TCN-BiLSTM網絡進行預測,得到預測態勢值,并分析結果。
采用國家互聯網應急中心發布的安全態勢周報數據作為實驗基礎。本文選取該網站發布的自2012年第30期至2022年第16期(共計509期)的態勢周報數據為基礎進行實驗驗證,其數據主要從5個角度進行評估。為了直觀體現網絡安全態勢,本文采用文獻[19]提到的態勢評估方法進行量化,根據對網絡安全威脅的程度高低分配不同權重,權重分配結果具體如表2所示,之后計算每周的態勢值:

表2 網絡安全威脅權重分配
(13)
式中:NTi代表某周某種網絡安全威脅的數量(i代表安全威脅的種類);NTimax代表選取的509期數據中該種安全威脅的最大數量;ωi代表其對應的權重。經計算,網絡安全態勢值如圖5所示。

圖5 網絡安全態勢值
TCN-BiLSTM模型及所做的所有實驗均在TensorFlow深度學習框架下進行,具體實驗環境如表3所示。

表3 實驗環境配置
數據歸一化可以將特征的方差減少到一定的范圍,減少異常值的影響,提升模型的收斂速率。本文采用min-max歸一化的方法將特征數據規范到-1和1之間,其計算公式如下所示:
(14)
式中:x′為x映射到區間[-1,1]的數據;min(x)和max(x)是數據集中的最小值和最大值。
為驗證所提TCN-BiLSTM態勢預測算法的性能,本文設置多組實驗。
實驗1:不同優化算法分析
實驗2:不同池化方式分析
實驗3:模型超參數優化
實驗4:不同模型預測精度對比
實驗5:擬合度對比
實驗6:收斂性分析
為評價本文所提預測模型的效果,選取平均絕對誤差(mean absolute error,MAE)、均方誤差(mean square error,MSE)以及擬合優度決定系數(the coefficient of determination,R2)3個參數作為評價指標[20],評價指標的計算公式如下:
(15)
(16)
(17)

2.4.1 不同優化算法分析
為驗證本文選用的Ranger21算法的有效性,將其自適應矩估計(adaptive moment estimation, Adam)[21]、隨機梯度下降(stochastic gradient decent, SGD)[22]、自適應梯度(adaptive gradient, Adagrad)[23]優化算法進行對比實驗,不同優化算法預測對比結果如圖6所示。
從圖6可以看出,相比Adam算法、SGD算法、Adagrad算法,選用Ranger21算法對網絡訓練具有更快的收斂速度,且預測的擬合度均優于其他3種優化算法。實驗結果表明,選用Ranger21算法對網絡訓練優化具有一定的促進作用。
2.4.2 不同池化方式分析
為進一步提高模型的特征提取能力,本文在TCN編碼階段采用最大池化方法和平均池化方法同時提取特征[24-25],并將提取到的特征進行融合。為了驗證該方法的有效性,本文分別采用平均池化[26]、最大池化[27]、平均池化+最大池化3種不同的方案進行對比,其評價指標對比如表4所示。

表4 不同池化方式評價指標對比
實驗結果表明,同時采用平均池化和最大池化的方案的各項指標均優于單獨使用一種池化方式。經分析,原因為:最大池化和平均池化能夠分別有效提取帶有局部和全局意義的特征,通過池化融合將兩者提取的特征相結合,能夠更好地反映數據的本質,因此取得了更好的效果。
2.4.3 模型超參數優化
為更好地實現預測效果,本文采用PSO算法對這些超參數進行尋優,以找到模型參數的最優解。PSO算法相關參數設置如下:種群大小為5,迭代次數為30,慣性權重為0.6,學習因子c1、c2為0.5。
為加快收斂速度,防止粒子在搜索空間中漫無目的地搜索,現對尋優參數設置界限如下:BiLSTM神經元數取值范圍為[10,500],批處理大小取值范圍為[100,1 000],優化器的學習率取值范圍為[0.000 1,0.005]。
圖7展示了PSO算法優化TCN-BiLSTM模型的訓練結果。

圖7 PSO優化TCN-BiLSTM模型的超參數變化
從圖7中可以看出,訓練誤差隨著算法的更新逐漸收斂并趨于穩定,驗證了PSO算法的有效性。
經過PSO算法優化后的網絡模型參數具體如表5所示。

表5 優化后的模型參數設置
2.4.4 預測精度對比
為有效對比本文所提模型與其他模型預測能力的差別,本文設置以下實驗:在相同的實驗條件下設置滑動窗口數s=5,分別用TCN-BiLSTM、LSTM、GRU[28]、BiLSTM、自適應輸入選擇的LSTM(LSTM with adaptive input selection, AIS-LSTM)[29]、Attention-GRU[5]、Attention-BiLSTM[30]這7種模型進行預測,得到預測值與真實值對比圖如圖8所示;不同模型評價指標如表6所示。

表6 不同模型評價指標對比
從圖8可以看出,所有模型均可達到預測效果,而本文所提TCN-BiLSTM預測模型融合了TCN和BiLSTM在提取時間序列之間關系的特性,同時融入了注意力機制,預測結果更加準確。
從表6可以看出,本文所提TCN-BiLSTM預測模型的誤差值最小,相比其他模型有很大的優勢。與LSTM模型相比,MAE降低了84.9%,MSE降低了96.6%;與GRU模型相比,MAE降低了85.5%,MSE降低了97.1%;與BiLSTM模型相比,MAE降低了82.0%,MSE降低了94.1%;與AIS-LSTM模型相比,MAE降低了81.3%,MSE降低了94.1%;與Attention-GRU模型相比,MAE降低了79.5%,MSE降低了94.3%;與Attention-BiLSTM模型相比,MAE降低了82.6%,MSE降低了94.1%。結果表明,TCN-BiLSTM模型對于網絡安全態勢值的預測較為有效,且相比其他模型預測精度較高。
2.4.5 擬合度對比
為進一步驗證本文所提TCN-BiLSTM模型的有效性,對不同模型擬合度進行對比,如表7所示。

表7 不同模型擬合度對比
從表7可以看出,在相同模型中引入注意力機制后,模型擬合度明顯提高,證明了引入注意力機制可以提升模型的預測精度。TCN-BiLSTM模型的擬合度相較其他6種模型最高,擬合度相比其他6種模型均提升了1.0%以上,進一步證明了本文所提TCN-BiLSTM預測模型所得到的預測曲線相較其他模型更加準確。同時,也證明了TCN-BiLSTM預測模型在預測態勢值時的有效性和準確性。
2.4.6 收斂性分析
圖9給出了模型訓練誤差隨迭代步數變化的曲線圖。從圖9可以看出,在相同模型中引入注意力機制后,模型收斂速度明顯變快,證明了加入注意力機制可以提升模型的收斂速度;本文所提TCN-BiLSTM預測模型在收斂速度和收斂精度上均優于其他模型,證明了本文所提模型能夠充分學習時序數據的特征,效果較好。

圖9 誤差值隨迭代次數的變化曲線
本文將TCN和BiLSTM網絡進行了融合,并引入注意力機制及PSO算法,提出了一種基于TCN-BiLSTM的網絡安全態勢預測方法,將TCN處理時間序列問題的優勢與BiLSTM能夠學習序列前后狀況的優勢結合起來,更好地提取態勢值的序列特征。之后引入注意力機制,為屬性分配不同的權值,并利用PSO算法對模型進行超參數尋優,提升了預測能力。本文通過不同優化算法分析實驗、不同池化方式分析實驗模型超參數優化實驗、預測精度對比實驗、擬合度對比實驗、收斂性分析實驗證明了模型在處理網絡安全態勢數據時具有的較強的特征提取能力、較高的預測精度和預測效率,驗證了本文模型的有效性。