于 海, 李 峰, 霍英哲, 尹曉華
(國網遼寧省電力有限公司信息通信分公司, 沈陽 110006)
隨著中國電網向智能化、網絡化、自動化發展,電力信息網絡間的信息交互愈發頻繁深入[1]。電力信息網絡是電力生產和管理正常運行的基礎,電力信息網絡的安全性是電力系統安全穩定運行的重要基礎[2]。同時大量智能量測裝置和遠程控制設備都面臨受攻擊風險,使得電力信息網絡結構日趨復雜,停電事故時有發生[3]。因此為了預防電網停電事故的發生,需要預測電網的安全運行狀態,即對電網的安全態勢進行感知[4]。電力信息網絡面臨的主要威脅有:日趨復雜的網絡拓撲帶來的網絡安全問題;漏洞頻發的操作系統漏洞帶來的主機系統安全問題;以及大量電力信息數據傳輸存儲中面臨的數據應用安全問題。為此,國家電網公司制訂了“雙網雙機、分區分域、安全接入、動態感知、精益管理、全面防護”的主動防御策略,構筑互聯網與信息外網之間強化控制策略、信息外網與內網之間強邏輯隔離、管理信息與生產控制物理隔離的信息安全三道防線,配備了入侵檢測、防火墻、漏洞掃描、防病毒等一系列安全設備,對電力信息網絡取得了較好的防護效果。
但是,隨著攻擊者功利性和專注性的提高,當前電力信息網絡中各類安全設備缺乏聯動,容易形成安全孤島[5]。海量的日志數據關聯度較低,需要分析人員進行大量的人工分析,無法保證及時性和準確度。因此,電力信息網絡安全需要達到更高的標準,面向電力信息網絡的及時高效的安全態勢評估愈發顯得重要。
在此背景下,電力信息網絡安全態勢評估技術應運而生,并取得了很大的進展。Bass[6]首先對網絡安全態勢感知進行了定義,網絡安全態勢感知是指通過數據提煉、目標細化、態勢改善來獲取網絡安全態勢的因素。賈瑞生等[7]通過各種威脅獲得整體安全態勢,分析安全情況。周新衛等[8]通過多節點網絡安全態勢重要影響因子值與安全態勢值計算狀態向量,構建了一種新的基于改進G-K算法的多節點網絡安全態勢預測模型。Kou等[9]提出了一種基于攻擊意圖識別的網絡安全態勢評估方法,該方法在對攻擊事件進行因果分析后,根據每個攻擊階段進行態勢評估,并根據所得態勢識別出攻擊意圖,能夠更準確地反映攻擊的真實性。Tao等[10]提出了一種基于圖數據庫的分層多域網絡安全態勢感知數據存儲方法,將網絡劃分為不同的域,可以更有效地收集和處理感知數據。Vellaithurai等[11]提出了網絡-物理安全指標以衡量基礎網絡物理環境的安全級別,并使用運行日志以及電力網絡拓撲信息構建貝葉斯模型,來推斷出正在進行的惡意攻擊。陳麗莎[12]提出基于反向傳播(back propagation,BP)和神經網絡(neural network,NN)的大規模網絡態勢評估模型,該模型抽象為輸入層、隱層、輸出層,并進行各層相關元素的設計,評估網絡的安全態勢等級。Zhao等[13]提出基于粒子群優化的神經網絡模型,用于評估網絡安全態勢,仿真結果表明該模型具有更快的收斂速度和評估精度。于群等[4]將深度學習與電網的安全態勢感知相結合,完成對電網安全態勢的感知,并將其與BP神經網絡和徑向基函數(radical basis function,RBF)神經網絡進行了對比分析,驗證了深度學習對電網安全態勢感知的有效性。高翔等[14]引入灰色關聯分析出電力信息網絡安全指標權重,并利用支持向量機建立了評估模型,提高了網絡安全態勢的評估準確率。茹葉棋等[15]建立了信息設備關聯的業務可靠性模型,并結合層次分析法和貝葉斯網絡對電網信息物理系統進行了可靠性分析。
但現有基于神經網絡的網絡安全態勢評估方法容易陷入局部最優,且效率較低[16],現提出一種基于改進人工蜂群算法(artificial bee colony algorithm, ABC)優化神經網絡的復雜電力信息網絡安全態勢評估方法。新方法通過引入混沌序列改進蜂群的初始化,以提高蜂群的多樣性。然后,利用改進的人工蜂群算法計算神經網絡的各個神經元連接權值,來代替反向傳播算法。
網絡安全態勢評估的一般步驟如下[17]:首先,建立網絡安全態勢評估模型的指標體系;然后,建立不同的模型計算網絡安全態勢的評估值,從而實現網絡安全態勢評估模型的構建。神經網絡具有強大的非線性映射能力[18],能夠有效擬合復雜電力網絡安全態勢評估中的感知數據與安全態勢之間的隱函數關系,進而計算出網絡安全態勢評估值,能夠有效反映出網絡安全態勢評估的情況。基于神經網絡的網絡安全態勢評估模型如圖1所示。

x1,x2,…,xn為神經網絡的輸入值,即網絡安全態勢評估指標;為神經網絡的權重參數;Σ為線性求和,作為激活函數f的輸入;y為神經網絡的輸出值,即網絡安全態勢的評估值
基于神經網絡的安全態勢模型主要包含三部分:以網絡安全態勢指標為輸入的輸入層,態勢指標到態勢評估的隱含層,以態勢評估值為輸出的輸出層。
電力信息網絡安全態勢指標主要由Snort日志的報警信息等提供。主要指標包括一定時間窗內傳輸控制協議(transmission control protocol,TCP)、用戶數據報協議(user datagram protocol,UDP)、Internet控制報文協議(Internet control message protocol, ICMP)各類數據包的分布以及包字節數比重,流入流出流量變化率,攻擊頻率,攻擊源數量等。這些態勢指標數據歸一化后構成向量(x1,x2,…,xn)作為神經網絡的輸入層,以消除不同物理單位量綱的影響。根據一般的網絡安全態勢指標選取原則[19],以及復雜電力信息網絡安全特點,選取10個電力信息網絡安全態勢指標,構成指標體系。包括{ TCP包分布,TCP包字節數分布,UDP包分布,UDP包字節數分布,ICMP包分布,ICMP包字節數分布,流入流量變化率,流出流量變化率,攻擊頻率,攻擊源數量}。
1.1.1 協議包分布
設電力信息網絡中TCP包總量為nTCP,UDP包總量為nUDP,ICMP包總量為nICMP,則TCP包分布為
(1)
UDP包分布為
(2)
ICMP包分布為
(3)
1.1.2 流量變化率
設t時刻網絡流入數據量為Nt,t+Δt時刻網絡數據字節總量為Nt+Δt,則流量變化率為
(4)
1.1.3 攻擊頻率歸一化

(5)
式(5)中:f為單位時間內發生攻擊的次數。
1.1.4 攻擊源數量歸一化

(6)
式(6)中:n為攻擊源的數目。
神經網絡中隱含層的層數及每層的神經元個數決定了神經網絡的映射能力。一般來說,神經網絡的層數越深,從輸入層到輸出層的映射能力越強,但同時會導致訓練參數的增加,降低神經網絡的訓練速度。神經網絡的學習過程本質上是一個找到能夠匹配輸入輸出的最佳連接權重參數的優化過程。但傳統的反向傳播神經網絡訓練算法,訓練時間較長,且容易陷入局部最優,不利于及時發現網絡安全態勢中的風險。因此,論文采用雙隱含層的網絡結構,并通過人工蜂群算法訓練神經網絡的權值。既提高了神經網絡的表征能力,又能夠有效減少神經網絡的訓練時間,及時為網絡安全態勢提供實時評估值。

(7)
(8)
(9)
式中:f為激活函數,一般采用sigmoid激活函數。
安全態勢評估值借鑒國家互聯網中心對網絡安全態勢的劃分標準,根據網絡安全形勢特點,將安全態勢由安全到危險劃分為五個等級,并用實數區間進行定量描述。
由于傳統BP神經網絡訓練時間一般較長,且容易陷入局部最優,未必是最優的權值和閾值[20]。因此采用ABC算法優化神經網絡的權值和偏置值,獲得最優的權值和偏置值,使ABCNN(attention-based convolutional neural network)模型評估結果更準確。ABC算法是最近幾年提出的一種非常強大的群智能優化算法,為神經網絡權值的優化構造了一種新的解決方案[21]。ABC算法模仿自然界中蜜蜂的群體覓食行為,蜂群中包括雇傭蜂(employed bee,EB),旁觀蜂(onlooker bee,OB)和偵察蜂(scouter bee,SB)三種。雇傭蜂的任務是采集當前位置的蜜源,然后以不同形式的舞蹈與旁觀蜂分享蜜源(花蜜數量,距離等)信息。旁觀蜂的數量與雇傭蜂相同,根據雇傭蜂的舞蹈擇優選擇蜜源(適應度函數值)。而離開蜜源的雇傭蜂轉化為偵查蜂,通過隨機游走搜索新的潛在蜜源。ABC算法與粒子群算法(particle swarm optimization,PSO)、遺傳算法(genetic algorithm,GA)進行的benchmark函數測試比較結果表明,ABC算法收斂速度要比PSO和GA算法更快,更有可能獲得全局最優值[22]。
在ABCNN模型中,神經網絡的待優化的權值參數作為蜜源的位置,神經網絡輸出的評估值與真實安全態勢評估值的差值平方作為蜜源的適應度函數。即
(10)
式(10)中:fitness()為蜜源的適應度函數值;y為神經網絡輸出的評估值;d為真實安全態勢評估值。
ABC算法的步驟如下。
步驟1 隨機初始化N個雇傭蜂位置,即為神經網絡權值,并計算相應的適應度函數值。
步驟2 雇傭蜂對蜜源附近鄰域搜索,若鄰域蜜源比原位置蜜源更好,則用鄰域替代原位置;否則,保持原位置不變。
步驟3 旁觀蜂以一定概率Pi選擇要跟隨的雇傭蜂,并進行鄰域搜索。若鄰域蜜源比原位置蜜源更好,則用鄰域替代原位置;否則,保持原位置不變。即
(11)
步驟4 若某蜜源的適應函數值多次循環后仍保持不變,則相應的雇傭蜂轉變為偵查蜂,重新隨機搜索。
步驟5 迭代截止時返回最優蜜源位置與最優目標函數值;否則,跳轉到步驟2。
由于初始化過程的隨機性會很大程度上影響全局最優解的精度和收斂,因此具有長周期和良好均勻性的隨機序列會提升算法的性能。而混沌系統由于其簡單確定性動力系統的隨機性取決于其初始條件和參數的靈敏度,逐漸被認為是有效的初始化機制,能夠提高種群的多樣性[23-24]。因此,引入了以不規則性、遍歷性和隨機性為特征的混沌序列,以執行整個群體的初始化過程?;诨煦缧蛄械姆淙撼跏蓟襟E如下。
步驟1 設置混沌最大迭代次數。
步驟2 隨機初始化混沌變量λ0,j∈(0,1)。
步驟3 更新λi+1,j=μλi,j(1-λi,j),其中,μ為混沌控制參數。
步驟4 若達到最大迭代次數,則輸出混沌隨機值;否則,跳轉到步驟3。
步驟5xi,j=xmin,j+λt,j(xmax,j-xmin,j),其中xmin,j和xmax,j分別是輸入態勢指標的上界和下界。
圖2給出了基于人工蜂群算法的網絡安全態勢評估模型。

圖2 基于人工蜂群算法的網絡安全態勢評估模型Fig.2 The model of complex network security situation assessment based on ABC
論文構建了電力信息網絡安全態勢評估的實驗環境,包括2 臺路由器、3 臺防火墻、2 臺交換機、2 臺Snort入侵檢測系統、2 臺電力數據庫服務器、1 臺電力系統網站服務器、1 臺電力系統文件服務器以及4臺電腦。各服務器通過出口路由對互聯網上的用戶和攻擊者開放。如圖3所示。

圖3 網絡安全態勢評估仿真實驗拓撲圖Fig.3 The simulation experiment topology of network security situation assessment
實驗模擬了互聯網上的攻擊者利用漏洞對各服務器(數據庫服務器、網站服務器、文件服務器)的聯合攻擊過程。各服務器涉及的攻擊漏洞如表1所示。

表1 各服務器涉及的攻擊漏洞Table 1 The vulnerability of servers
漏洞攻擊將直接影響各服務器的功能使用,且會造成信息泄露,會對電力信息網絡造成重大威脅[20]。通過分析數據包的變化情況可發現這些攻擊,因此選取TCP、UDP、ICMP數據包的分布以及包字節數比重,流入流出流量變化率作為網絡安全態勢評估中的輸入指標,如表2所示。這些安全態勢指標在仿真攻擊過程中,由入侵檢測系統收集并存入SQLServer數據庫中。

表2 網絡安全態勢評估指標Table 2 The indicators of network security situation assessment
ABCNN網絡安全態勢評估模型通過MATLAB R2014b編譯實現。實驗平臺在Intel Xeon 2.4 GHz E5-2665 CPU、16 G內存、操作系統為Windows 7的計算機上搭建。ABC算法中蜂群種群規模為30,迭代上限為50,混沌迭代上限為50。神經網絡輸入層
節點數根據輸入指標數設計為8,雙隱層神經元個數也均為8,輸出層節點數為1,激活函數采用常用的sigmoid函數。
漏洞采用通用漏洞評分系統(common vulnerability scoring system,CVVS)以及10 位網絡安全專家進行綜合評分[16,20],并將漏洞評分進行了[0,1]歸一化處理,作為網絡安全態勢的評估結果。安全等級分為安全[0,0.2),輕度危險[0.2,0.4),一般危險[0.4,0.75),中度危險[0.75,0.9)以及高度危險[0.9,1.0]。實驗中收集了150 組數據,其中120 組數據作為訓練樣本,30 組數據作為測試樣本。
圖4給出了人工蜂群優化神經網絡(ABCNN)與傳統神經網絡(BPNN)以及遺傳算法優化神經網絡(GANN)的對比迭代曲線圖。由于群智能算法具有隨機性,因此實驗取30 次運行的平均結果。從圖4中可以看出,ABCNN的適應度迭代曲線要優于GANN和BPNN的收斂曲線,獲得了更小的誤差值,具有更快的收斂速度。

圖4 適應度誤差迭代曲線圖Fig.4 The iteration curve of fitness error
為了給出更加量化的結果,表3給出了ABCNN、BPNN和GANN運行30 次的平均值、方差以及最好值的結果對比??梢钥吹?,無論是平均值、方差,還是最好值,ABCNN都取得了優于BPNN和GANN的結果。說明相較于對比算法,ABCNN獲得的結果精度更高,魯棒性更強。

表3 ABCNN與BPNN和GANN的統計結果對比Table 3 The comparison of ABCNN with BPNN and GANN
圖5給出了三種算法ABCNN、BPNN和GANN對剩余30 組網絡安全態勢數據進行預測輸出的比較結果。可以看出,對于BPNN來說,除了樣本20和25之外,ABCNN的輸出結果均要更接近實際安全態勢值;而對于GANN來說,除了樣本2之外,ABCNN的輸出結果均要優于GANN的輸出結果。

圖5 網絡安全態勢預測結果比較Fig.5 Comparison of network security situation prediction
為了進一步量化各種比較算法的輸出結果與實際安全態勢值之間的誤差,采用平均相對誤差M進行計算,即
(12)
式(12)中:yi為算法得出的安全態勢預測輸出值;di為網絡安全實際態勢值;n為測試樣本個數。
根據式(12)可以得到 ABCNN、BPNN 和 GANN對網絡安全態勢預測值的平均相對誤差分別為4.55%、10.31%和7.72%。基于ABCNN的網絡安全態勢評估方法的平均相對誤差比BPNN和GANN分別低5.76%和3.17%,因此基于ABCNN的網絡安全態勢評估方法的預測準確度更高,能夠更加精準地反映網絡安全的態勢情況。
綜上,基于人工蜂群優化的神經網絡安全態勢評估方法,在收斂速度、訓練和預測精度、魯棒性上均要優于傳統的基于BPNN和GANN的評估方法。
提出了一種基于改進人工蜂群優化神經網絡的電力信息網絡安全態勢評估方法。該方法通過引入混沌序列改進人工蜂群算法提高蜂群的多樣性,增加了蜂群的全局搜索能力。并利用改進的蜂群算法優化神經網絡的各權值參數對網絡安全態勢進行評估預測。實驗表明,基于改進的人工蜂群和神經網絡的安全評估方法有效提高了網絡安全態勢的評估精度,加快了收斂速度。未來可通過為ABC算法增加精英策略等方式提高算法的收斂速度和最優解精度,增強ABCBPNN安全態勢評估模型的評估精度。