張章學
(福建省海峽信息技術有限公司,福建 福州 350003)
全球能源互聯網是以特高壓電網為骨干,在全球范圍大規模開發、配置、利用能源的基礎平臺[1],主要包括特高壓電網、智能電網和清潔能源。全球能源互聯網是集能源傳輸、市場交易、信息交互、智能服務等于一體的互聯網,是互通開放的系統。隨著全球能源互聯網的不斷發展,孤立的電力系統逐漸大規模互聯,其網絡安全風險隨之加大。如圖1 所示,2015 年烏克蘭電力系統遭受到包括惡意軟件、非法操作、分布式拒絕服務攻擊(DDoS)和后門攻擊在內的網絡協同攻擊,導致數小時上萬用戶的大規模停電事故[2]。如何加強電力監控系統的網絡安全管理,防范黑客及惡意代碼等攻擊與侵害,保障電力系統的安全穩定運行,成為當前電力監控系統建設的重中之重。

Fig.1 Main types of cyber attacks in Ukrainian power network accident圖1 烏克蘭電力網絡事故主要網絡攻擊類型
為防范針對電力系統的惡意攻擊和安全事故,國家發展和改革委員會發布了《電力監控系統安全防護規定》[3],規定指出國家電力監控系統建設要堅持“安全分區、網絡專用、橫向隔離、縱向認證”的原則,通過劃分生產控制大區和管理信息大區、控制區和非控制區,在物理層面上實現電力系統與外部互聯網的安全隔離。這種物理隔離手段是解決信息安全問題的優秀屏障,可有效應對一般的木馬和病毒。然而,針對工業系統的網絡協同攻擊更加復雜和難以防御[4],這些惡意軟件基于針對性的目的工業系統所開發,有著更強的漏洞利用機制、傳播擴散手段和滲入能力,且潛伏較深,在市面上缺少樣本,因此缺乏有效的檢測機制[5]。
根據攻擊范圍不同,針對智能電網的網絡安全攻擊可分為:①針對發電設備、變電設備和控制設備的廣域網絡(Wide Area Network,WAN)攻擊;②針對變電站、配電中心和遠程調度中心的鄰域網絡(Neighborhood Area Network,NAN)攻擊;③針對家用電器和智能電表的家庭網絡(Home Area Network,HAN)攻擊。
根據攻擊目標不同,針對智能電網的網絡安全攻擊可以分為:①以可用性為目標的攻擊,如拒絕服務(DoS)攻擊、丟包攻擊和破壞通信線路等;②以完整性為目標的攻擊,如錯誤數據注入攻擊、非法篡改數據、中間人攻擊和重放攻擊等;③以保密性為目的的攻擊,如非法監聽網絡、密碼破解、傳播惡意軟件和社會工程學攻擊等[6]。
針對類型多樣的網絡攻擊手段,僅依靠對外網進行隔離,以及針對邊界處網絡設備進行分析的防護手段遠遠不夠。因此,電力監控系統需要建立內網的安全管理平臺[7],對其內部流量和主站流量進行深入分析。基于高效的異常檢測算法對流量進行深度解析,實現全局性內網異常流量檢測機制,才能防止潛伏的惡意軟件擾亂電力系統的穩定運行,實現更全面的安全監測預警,滿足保護電力信息網絡完整性和保密性的目標。
傳統電力監控系統異常檢測方法包括:①預先設定防火墻和網關[3],以對流量數據進行參數匹配;②基于特征的異常監測,如手動或模型自動構建惡意攻擊數據的簽名特征庫[8],以預防再次攻擊;③通過統計分析方法分析惡意攻擊流量的特征[9];④基于數據流挖掘檢測異常信息,如通過精確流計數挖掘方法[10]或近似流計數挖掘方法[11]檢測異常流量數據。
近年來,機器學習方法被廣泛用于電力監控系統的異常流量檢測問題中,如基于受限玻爾茲曼機(Restricted Bolzmann Machine,RBM)網絡提取異常流量數據的特征[12];基于加權K 近鄰方法識別異常流量數據[13];基于決策樹和樸素貝葉斯方法對異常流量數據進行分類[14]。隨著深度學習技術的發展,神經網絡模型也被逐漸用于電力監控系統的異常流量檢測問題中,如通過長短期記憶網絡(Long Short-Term Memory,LSTM)網絡對智能變電站網絡進行異常檢測[15];通過卷積神經網絡(Convolutional Neural Network,CNN)對電力工控網絡進行異常流量檢測[16];組合多種深度學習模型實現電力信息網絡的異常流量檢測[17]。
然而,這些神經網絡模型多參照信息網絡異常檢測模型構建,并沒有真正體現出電力網絡的特征。電力網絡作為一種物理—信息融合的二元網絡系統,在應用場景、攻擊類型、數據特征等方面與普通的信息網絡有很大差異。為此,本文考慮到電力網絡獨有的數據特征,提出基于高效用神經網絡的電力監控系統惡意流量檢測模型,以實現對電力網絡完整性和保密性的保護。
根據業務的不同,智能電網被劃分為生產控制大區和管理信息大區。根據是否具有實時監控功能和實時子網業務,生產控制大區又可以分為控制區和非控制區,其中電網工控系統由分布式控制系統、數據采集監控系統和可編程邏輯控制器共同構成。智能電網中有多種多樣的設備互聯[18],既有底層的電子設備和傳感器,也有局域網內的前端服務器、運行人員工作站、數據服務器和應用服務器,還有辦公局域網內的計算機及服務器設備,以及與系統供應商進行通信的調制調解器。智能電網中設備類型、通信系統、傳輸媒體及網絡協議的復雜性大大提高了電力監控系統異常流量的檢測難度。
信息網絡與電力網絡最基本的差異為傳輸內容不同:信息網絡中傳輸的是信息流,電力網絡中傳輸的是電流。電力系統是一種信息網絡與物理網絡融合依存的超大規模二元復合網絡[19],與信息網絡相比,其安全機制具有以下特點:①穩定性要求高。智能電網的信息網絡與電力網絡相互融合,信息網絡故障會直接影響電力網絡的穩定性,威脅用電安全。因此,與信息網絡對路由器等設施宕機有一定的容錯機制不同,電力網絡對系統穩定性要求更高,不能忍受任何系統宕機;②實時性強。電力系統中的物理設備多為實時電力設備和傳感器,對網絡通信的實時性要求更高;③更新頻率低。與信息系統的定時更新機制不同,電力系統的停機更新成本較高,因為停機也代表著停產。因此,電力網絡的安全檢測機制更重視對潛在風險隱患的預測、追蹤與溯源;④信息化程度低。電網工控攻擊所面臨的風險限制了電力網絡的信息化程度。更高程度的信息化系統雖然會有更好的連通性,但也會帶來更多網絡安全風險,威脅電力系統的供電可靠性與安全性,因此智能電網中的信息化均以滿足運行需求為目的。
與傳統信息網絡流量相比,智能電網中流量的數據長度、周期性、響應時間、數據流向和時序性等均有較大不同,主要體現在以下幾個方面:①數據長度短。電力網絡中的數據傳輸長度短于普通網絡流量,多為電力設備信息和傳感器信號,因此特征少、長度短、頻率高;②數據流向固定。與信息網絡傳輸數據的多選址不同,電力網絡中的數據流向固定。電力網絡的信息數據均來源于物理設備,傳向數據分析設備和網絡監控設備,而且數據通過物理媒介、局域網和內部通信網絡傳輸,不與外部因特網接觸,因此傳輸線路固定、數據流向固定;③穩定性高。電力工控網絡的流量數據來自于穩定的物理設備及生產流程,不同于信息網絡有復雜的業務操作會引起大量動態變化。電力系統的運行重視穩定性,因此其流量數據也更加平穩;④周期性強。電力網絡中的流量依賴于物理設備,受物理設備的周期性影響,電力工控網絡中周期性數據占主流;⑤時序性強。電力網絡中的流量數據依托于物理設備及電力傳輸,電力傳輸的時序性強,因此電力網絡流量傳輸的時序性也很強;⑥響應時間短。電力網絡的實時性強,因此流量分析的響應時間要求也短,數據分析需要在短時間內處理得到實時數據,并及時對異常行為進行警告。
針對電力網絡流量數據的特征,電力監控系統的異常流量檢測模型需滿足相應的需求,具體如圖2所示。

Fig.2 Power network data characteristics and model requirements圖2 電力網絡流量數據特征及模型要求
電力流量數據長度短、頻率高,因此電網異常檢測模型需要處理較少輸入特征但較多輸入數量的實時數據;電力流量數據流向固定,因此模型的應用場景有限,可針對性設計變電站局域網、數據分析局域網、辦公局域網等異常檢測模型;電力網絡的穩定性要求高,因此模型需要重視召回率的提升;電力網絡中流量數據有明顯的周期性和時序性特征,因此模型可設計相應的分析架構,并將周期趨勢和時序趨勢作為異常檢測的特征來輸入;電力監控系統對響應時間的要求較短,因此要重視模型的運行速度,在短時間內盡可能多地找出異常流量。基于以上要求,本文提出基于高效用神經網絡的電力監控系統惡意流量檢測模型。
本文構建了一個基于EfficientNet 的高效用電力流量檢測模型,利用深層卷積網絡提取電力流量數據特征,對網絡流量信息進行識別與分析。該模型主要由數據處理、模型訓練與異常檢測兩個模塊構成,具體結構如圖3所示。
首先需對捕獲的網絡流量時序數據進行特征轉換,將其等長分割后轉換為固定尺寸的圖像特征以進行特征提取與分類。同時,為進一步提高數據可用性,需對數據進行進一步處理,包括數據清洗、數據轉換與重構以及數據增強等。
(1)數據清洗。刪除所有缺失值、格式不規范的值、無窮值、與分類無關的特征以及常數值特征,包括Destination Port、Bwd PSH Flags、Fwd URG Flags、Bwd URG Flags、FIN Flag Count、PSH Flag Count、ECE Flag Count、Fwd Avg Bytes/Bulk 等在內的16 類屬性特征。這些特征變量與攻擊行為沒有直接關系,甚至可能對模型訓練產生一定干擾。數據清洗后最終保留63 類特征,對其進行片段分割,將正常數據與不同類型的攻擊數據進行片段分離,并對不同攻擊類型的數據片段標記相應的label。
(2)數據轉換與重構。網絡流量數據是以非圖像格式捕獲的,多以文本形式進行存儲。為獲得有效的網絡攻擊檢測結果,需將網絡流量數據轉換為圖像形式。首先利用非線性轉換對每類數據的特征進行歸一化,再將其擴大至[0,255]。即:
然后利用Opencv 將處理后的特征值依照特征值總數n構建為n×n×3 大小的圖片格式。圖4 展示了每個類別的轉換圖像樣本。

Fig.4 Conversion image samples for each category圖4 每個類別的轉換圖像樣本
(3)數據增強。在多分類任務中,入侵檢測系統數據通常表現出一定的不平衡性。例如在CICIDS2017 數據集中,90%的樣本表現為良性數據,不同攻擊類型的數據樣本僅占10%。針對數據集中攻擊類別樣本過少的問題,本文采用合成少數過采樣技術[20](Synthetic Minority Oversampling Technique,SMOTE)平衡類分布。
數據經過上述步驟處理后劃分為訓練集、驗證集以及測試集。將人工核驗以及標注入侵類型的數據流存儲至數據庫中,通過不斷更新訓練提高模型的分類性能。驗證集和測試集分別用于模型參數調整與性能測試評估。
將包含網絡流量的特征圖像輸入到CNN 中以對不同類型的網絡攻擊模式進行學習,然后通過分類器對提取的數據特征進行分類以實現異常流量檢測。
3.2.1 主干網絡優化
在特征提取階段,根據網絡越深、效果越好的原則,本文采用EfficientNet 作為特征提取的主干網絡,并在實驗中與其他網絡結構進行比較,如VGG19、ResNet-50、XceptionNet 等,這些網絡結構在圖像分類領域中均表現優異。VGG19 包含16 層卷積層和3 層全連接層,采用 3×3 尺寸的卷積核堆疊神經網絡,從而加深整個神經網絡的層級;Xception 是在 Inception 網絡的基礎上擴展而來,其使用深度可分離卷積代替標準網絡卷積。EfficientNet 根據圖像的深度、寬度、分辨率形成有效復合系數,動態調整網絡的深度和寬度,形成不同工作能力的網絡模型。為構建 EfficientNet 模型,必須根據用例設置縮放條件,優化縮放倍率,利用復合縮放方法得到 EfficientNet 系列網絡。具體計算公式為:
式中:N表示整個網絡,X表示輸入特征,d表示縮放倍率,L表示網絡深度,w表示網絡寬度的縮放倍率,r表示圖像分辨率的縮放倍率。EfficientNet 網絡使用復合系數?優化d、w、r,具體計算公式見式(3)。通過固定α、β、γ的值,取不同的?值可得到擴展后的EfficientNetB1 至 B7網絡。
由于EfficientNet-B0 網絡層數較少,為防止網絡太深出現梯度消失等問題,本文選擇EfficientNet-B0 作為模型的主干網絡,以進一步提高檢測效率。EfficientNet-B0 網絡由多個移動翻轉瓶頸卷積(Mobile Inverted Bottleneck Convolution,MBConv)模塊組成,而MBConv 模塊由深度可分離卷積(Depthwise Separable Convolution)、批歸一化(Batch Normalization)、Swish 激活函數、連接失活(Drop-Connect)組成,其中還引入了壓縮與激發網絡(Squeeze and Excitation,SE)模塊。本文要解決的是一個多分類任務以及多種網絡攻擊的識別問題,因此更改了 EfficientNet最后的全連接層,采用兩層全連接層以及Softmax 激活函數對提取的流量特征進行分類。損失函數采用交叉熵損失函數(Categorical cross entropy),具體定義為:
式中:ed表示真實的樣本分布概率,pd表示預測的樣本分布概率。本文選擇Adam 優化器最小化損失函數進行模型參數優化。EfficientNet 模型建立后在預設參數上進行訓練,在每個 epoch 后利用驗證集評估模型性能并在精度提升后保存模型權重。
3.2.2 超參數優化
為使模型更好地適應所選數據集并進一步提高性能,需要調整和優化 CNN 的超參數。本文采用粒子群優化(Particle Swarm Optimization,PSO)算法對CNN 的參數結構進行優化,以避免人工調整參數的高成本。PSO 是一種元啟發式優化方法,其通過群體中粒子之間的信息共享和協作確定最優超參數值[3]。在PSO 優化算法中,每一個粒子的初始化位置記作,速度記作,粒子通過其個體最優p→i和全局最優p→進行更新。更新過程如下:
式中:w為慣性因子;c1和c2為學習因子,是用于權衡個體學習與群體學習的參數;r1、r2為0.1~0.9 之間的隨機數,在每次迭代中隨機生成。本文中w=0.729,c1=c2=1.494,微粒種群數目N=10,最大迭代次數iterations=30。PSO 的時間復雜度為O(NlogN),與傳統超參數優化策略相比能有效提高算法訓練效率。
為提高EfficientNet 的性能,本文選取優化器類別、權重衰減、學習率、提前終止策略參數、批次大小(Batch Size)及神經元舍棄概率(Dropout)作為待優化超參數,使用PSO算法進行參數自動搜索,參數設置如表1 所示。粒子位置由上述關鍵參數決定,適應度由模型在驗證集上的損失決定。

Table 1 Parameters settings of EfficientNet表1 EfficientNet參數設置
采用Windows10 操作系統,處理器為Intel i7-11800H CPU 2.3GHz,顯卡為RTX 3060,實驗編譯環境為Python 3.6,主要函數庫包括tensorflow、sklearn 以及PIL 等。
采用CICIDS-2017 數據集,其包含良性正常流量和常見攻擊流量,選擇其中的Tuesday-working hours、Friday-WorkingHours-AfternoonPortScan、Friday-WorkingHours-Afternoon-DDos 和 Thursday-WorkingHoursMorning-WebAttacks 子文件,最終納入包括PortScan、Web Attack、DOS/DDoS 在內的7種攻擊類型,具體如表2所示。

Table 2 Sample type and quantity表2 樣本類型及數量
采用準確率(Accuracy,Acc)、查準率(Precision,Pre)、召回率(Recall,Rec)以及F1 分數(F1-Score,F1)評估模型性能。具體計算公式為:
式中:TP(True Positive)表示將樣本預測為正類且預測正確的樣本數;TN(True Negative)表示將樣本預測為負類且預測正確的樣本數;FP(False Positive)表示將樣本預測為正類且預測錯誤的樣本數;FN(False Negative)表示將樣本預測為負類且預測錯誤的樣本數。
為評估不同主干網絡結構對模型檢測精度與效率的影響,本文針對VGG19、ResNet-50、XceptionNet、Efficient-Net 4 種網絡結構的模型參數量、準確率以及單次檢測平均耗時(Average Time,AT)方面進行了比較,結果見表3。可以看出,與VGG19、ResNet-50、XceptionNet 相比,EfficientNet 的參數量最小、檢測耗時最低、異常流量檢測準確率最高。

Table 3 Performance comparison of different network structures表3 不同網絡結構性能比較
對不同批次模型在訓練集與驗證集上的精度與損失情況進行可視化,結果見圖5。可以看出,模型在訓練集上有較高精度和較低損失。經過多個批次的訓練后,模型在驗證集上的分類表現逐漸趨向穩定,精度與損失逐步逼近訓練情況,表明模型擬合效果較好。

Fig.5 Accuracy and loss of different batch models on training and validation sets圖5 不同批次模型在訓練集與驗證集上的精度與損失情況
為評估本文模型的有效性,本文構建不同類型的網絡模型進行測試,包括針對時序數據處理的BiLSTM、CNN+LSTM。其中CNN+LSTM 首先通過CNN 提取網絡流量數據的空間特征,再通過LSTM 提取網絡流量數據的時間特征。不同網絡結構比較結果見表4。可以看出,本文使用的EfficientNet 模型準確率、召回率以及F1分數均為最高。

Table 4 Comparison result of different network models表4 不同網絡模型比較結果
從測試集中隨機挑選多個不同類型網絡攻擊樣本對模型檢測效果進行測試,結果見圖6 所示。可以看出,本文模型對7 種攻擊類型均有較高的檢測準確率,尤其在Web Attack、Bot 兩種攻擊類型的檢測上,其他模型均存在較大誤差,而本文模型表現優異。

Fig.6 Detection results of different types of network attacks圖6 不同類型網絡攻擊檢測結果
電力網絡安全是人們生產生活安全穩定進行的重要保障。本文在對電力網絡特征進行詳細分析的基礎上提出一種基于EfficientNet 的電力入侵異常流量檢測方法,該方法能在保證較高分類精度和查全率的同時有效減少模型參數量、降低模型復雜度,縮短了異常檢測響應時間,提高了異常流量入侵檢測效率。然而,基于監督學習的異常流量入侵檢測方式依賴于已知攻擊形式的樣本訓練,而隨著網絡攻擊形式的多樣化,未知攻擊類型將越來越多樣化。未來考慮結合半監督學習方式改進模型,在模型架構中加入更多電力網絡流量數據的獨有特征,并基于發電側、輸電側、配電側等不同應用場景設計針對性異常流量檢測模型,以使模型的適用范圍更廣。