呂磅,韓嘉佳,孫歆,戴樺,李沁園,孫昌華
(國(guó)網(wǎng)浙江省電力有限公司電力科學(xué)研究院,杭州 310014)
近年來,針對(duì)電力能源行業(yè)中國(guó)家級(jí)、集團(tuán)式網(wǎng)絡(luò)的安全攻擊事件頻發(fā),電網(wǎng)網(wǎng)絡(luò)安全形勢(shì)異常嚴(yán)峻,已成為網(wǎng)絡(luò)安全的主戰(zhàn)場(chǎng)。據(jù)國(guó)家互聯(lián)網(wǎng)應(yīng)急中心統(tǒng)計(jì),工控系統(tǒng)漏洞呈現(xiàn)連年高發(fā)態(tài)勢(shì),網(wǎng)絡(luò)安全攻擊形式日漸多元,攻擊技術(shù)手段更加先進(jìn),對(duì)網(wǎng)絡(luò)安全和能源行業(yè)造成了嚴(yán)重影響。2010年的伊朗布什爾核電站的離心機(jī)損毀事件,2019年的烏克蘭電網(wǎng)大規(guī)模停電事件,2019年的美國(guó)可再生能源電力公司通信中斷事件,2019年的委內(nèi)瑞拉電力系統(tǒng)大范圍停電事件,2020年的葡萄牙能源公司用戶數(shù)據(jù)加密勒索事件以及2022年俄烏戰(zhàn)爭(zhēng)期間烏克蘭電網(wǎng)大規(guī)模癱瘓事件,表明了針對(duì)能源網(wǎng)絡(luò)基礎(chǔ)設(shè)施的攻擊事件日益增加。
從上述攻擊事件可以看出,由于接入終端所處環(huán)境的開放性,利用各類接入的外部無線終端設(shè)備、軟件、第三方交互接口作為滲透內(nèi)網(wǎng)的攻擊跳板成為關(guān)注重點(diǎn)。以聚合負(fù)荷云平臺(tái)為代表用戶側(cè)負(fù)荷控制的新型電力系統(tǒng)通過互聯(lián)網(wǎng)遠(yuǎn)程控制接入終端,由于終端側(cè)缺乏必要安全防護(hù),存在容易被攻擊者入侵控制的安全風(fēng)險(xiǎn)。因此,如何將傳統(tǒng)的多級(jí)內(nèi)部防御機(jī)制擴(kuò)展到網(wǎng)絡(luò)末梢的接入終端處,是目前亟待解決的問題。
新型電力系統(tǒng)網(wǎng)絡(luò)安全防護(hù)面臨來自終端設(shè)備、通信網(wǎng)絡(luò)、應(yīng)用系統(tǒng)等環(huán)節(jié)的安全風(fēng)險(xiǎn)。在終端設(shè)備環(huán)節(jié),海量物聯(lián)終端、分布式電源、電動(dòng)汽車、智能電表等源荷終端設(shè)備接入電力內(nèi)網(wǎng)雙向互動(dòng),不完善的終端安全準(zhǔn)入,可能導(dǎo)致黑客偽造接入,惡意滲透或監(jiān)聽,甚至對(duì)業(yè)務(wù)發(fā)起攻擊與控制。攻擊者一旦獲得信息內(nèi)網(wǎng)、公網(wǎng)或無線網(wǎng)通道接入權(quán),將導(dǎo)致信息被非法截獲與業(yè)務(wù)控制指令被惡意篡改,特別是無線通信,更容易面臨通信內(nèi)容被竊聽、內(nèi)容篡改和通信雙方身份被仿冒等問題。針對(duì)無線接入終端的安全性測(cè)試可以及時(shí)發(fā)現(xiàn)存在的安全問題。
一般來說,無線局域網(wǎng)設(shè)備安全測(cè)試一般包括基于誤用和基于異常的安全測(cè)試[1]?;谡`用的測(cè)試系統(tǒng)通過匹配預(yù)定義的測(cè)試用例來實(shí)現(xiàn)安全性測(cè)試,通過觀察偏離預(yù)定義特征的流量,發(fā)現(xiàn)測(cè)試異常,在檢測(cè)已知攻擊方面很有效,并且具有較高的檢測(cè)精度和較低的誤報(bào)率,但在檢測(cè)未知或新的攻擊時(shí),由于預(yù)先安裝在安全測(cè)試系統(tǒng)中的規(guī)則的限制,其性能會(huì)受到影響;基于異常的安全測(cè)試可能識(shí)別未知的入侵行為,非常適合檢測(cè)未知的和新的攻擊。盡管容易產(chǎn)生較高的假陽(yáng)率,但其在識(shí)別新的攻擊方面的理論潛力已經(jīng)得到了廣泛認(rèn)可。本質(zhì)而言,基于異常的安全測(cè)試可以看作是一個(gè)分類問題,它通過將網(wǎng)絡(luò)流量分為正常和異常來確定網(wǎng)絡(luò)攻擊。因此,基于機(jī)器學(xué)習(xí)算法的人工智能可以有效促進(jìn)安全測(cè)試系統(tǒng)的發(fā)展。另一方面,由于安全測(cè)試數(shù)據(jù)集特征多維,且特征大多冗余,因此,目前提出了許多基于冗余特征提取的安全測(cè)試方法。
Shone等[2]提出一種網(wǎng)絡(luò)安全測(cè)試模型,構(gòu)建深度非對(duì)稱自編碼網(wǎng)絡(luò),提取到具有較強(qiáng)學(xué)習(xí)能力的網(wǎng)絡(luò)流量數(shù)據(jù)特征屬性,再與支持向量機(jī)方法結(jié)合,對(duì)網(wǎng)絡(luò)攻擊行為進(jìn)行分類。Thing[3]構(gòu)建了稀疏自編碼器模型,并結(jié)合softmax分類器實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)攻擊行為的分類檢測(cè)。Aminanto等[4]采用稀疏自編碼器模型提取網(wǎng)絡(luò)流量數(shù)據(jù)原始特征的新特征表達(dá),并通過對(duì)所有的原始特征和新特征進(jìn)行重要級(jí)排序,篩選出與網(wǎng)絡(luò)安全測(cè)試最相關(guān)的重要特征,然后結(jié)合SVM(支持向量機(jī))方法對(duì)網(wǎng)絡(luò)攻擊行為進(jìn)行識(shí)別與分類。Shon等[5]采用遺傳算法,對(duì)流量數(shù)據(jù)進(jìn)行特征選擇,并使用SVM進(jìn)行安全測(cè)試。Srinoy[6]提出了一種安全測(cè)試模型,該模型使用SVM粒子群優(yōu)化算法提取特征,再采用SVM進(jìn)行分類。Fei等[7]提出了一種基于密度的增量聚類方法。Horng等[8]使用分層聚類算法為SVM提供更少、更高質(zhì)量的訓(xùn)練實(shí)例。為了克服安全測(cè)試系統(tǒng)中的不確定性問題,Kavitha等[9]采用了一種被稱為中性邏輯的新技術(shù)。Wu和Banzhaf[10]提出了入侵中的計(jì)算智能的審查檢測(cè)和應(yīng)用數(shù)值評(píng)估措施來量化安全測(cè)試系統(tǒng)的性能。Kolias和Kambourakis[11]給出了安全測(cè)試中群智能的調(diào)查。Kuang等[12]提出了一種基于主成分分析和遺傳算法的模型,采用主成分分析提取入侵特征,利用遺傳算法優(yōu)化參數(shù)。Li等[13]在安全測(cè)試系統(tǒng)中提出了數(shù)據(jù)預(yù)處理和數(shù)據(jù)挖掘流水線,并逐步采用特征去除法進(jìn)行特征約簡(jiǎn)分類。以上研究為高維數(shù)據(jù)的特征提取及入侵分類提供了思路,但它們多數(shù)采用數(shù)據(jù)集KDD CUP99、NSL-KDD進(jìn)行實(shí)驗(yàn)。本文提出改進(jìn)的堆疊稀疏自編碼器和深度神經(jīng)網(wǎng)絡(luò)無線局域網(wǎng)的安全測(cè)試模型,并采用無線網(wǎng)絡(luò)攻擊行為數(shù)據(jù)集-愛琴無線數(shù)據(jù)集[14]AWID進(jìn)行實(shí)驗(yàn)驗(yàn)證,和未改進(jìn)的模型相比,提高了異常安全測(cè)試系統(tǒng)的準(zhǔn)確率。
本文提出了一種基于深度神經(jīng)網(wǎng)絡(luò)的無線接入安全測(cè)試系統(tǒng),該系統(tǒng)采用堆疊稀疏自編碼器實(shí)現(xiàn)測(cè)試數(shù)據(jù)集的特征降維,并選取合適的特征維數(shù)進(jìn)行訓(xùn)練,即將選取的特征作為深度神經(jīng)網(wǎng)絡(luò)的輸入層,構(gòu)建高效測(cè)試用例并監(jiān)測(cè)發(fā)現(xiàn)異常狀態(tài)。該系統(tǒng)可對(duì)電力移動(dòng)設(shè)備安全接入環(huán)境的安全異常進(jìn)行有效發(fā)現(xiàn),提高了安全性能。
本文所述安全測(cè)試框架包括數(shù)據(jù)預(yù)處理、訓(xùn)練模型及測(cè)試模型3個(gè)部分。數(shù)據(jù)預(yù)處理模塊首先完成原始數(shù)據(jù)的數(shù)值化及歸一化處理;訓(xùn)練模型模塊使用預(yù)先準(zhǔn)備的訓(xùn)練集數(shù)據(jù)進(jìn)行模型訓(xùn)練,得到訓(xùn)練完的模型并保存,然后利用模型對(duì)測(cè)試數(shù)據(jù)進(jìn)行檢測(cè)。訓(xùn)練模型采用堆疊稀疏自編碼器進(jìn)行特征選擇,然后將其作為深度神經(jīng)網(wǎng)絡(luò)的輸入,進(jìn)行分類。為了得到較好的檢測(cè)效果,深度神經(jīng)網(wǎng)絡(luò)包含3層隱藏層和防止過擬合的dropout層,同時(shí)采用網(wǎng)格搜索法對(duì)神經(jīng)網(wǎng)絡(luò)各項(xiàng)參數(shù)、方法進(jìn)行優(yōu)化,如圖1所示。
圖1 電力無線接入設(shè)備安全測(cè)試框架Fig.1 Security testing framework of wireless power terminal
測(cè)試數(shù)據(jù)一般正常流量數(shù)量遠(yuǎn)遠(yuǎn)高于攻擊流量,訓(xùn)練集和測(cè)試集都為不平衡數(shù)據(jù)集,這樣會(huì)影響訓(xùn)練效果,所以需要對(duì)數(shù)據(jù)集進(jìn)行平衡采樣。
數(shù)據(jù)集中不同特征的值域相差過大,為了消除這種差別對(duì)于模型的影響,對(duì)數(shù)值型數(shù)據(jù)進(jìn)行歸一化。本文采用最值歸一化,將屬性值映射到[0,1]之間,如式(1)所示。
式中:yi為第i個(gè)特征值歸一化后的值;xi為第i個(gè)特征值;max(x)為某個(gè)特征列中最大值;min(x)為某個(gè)特征列中最小值。
原有測(cè)試數(shù)據(jù)存在特征維度過高問題,嚴(yán)重影響訓(xùn)練模型的時(shí)長(zhǎng)以及測(cè)試模型的準(zhǔn)確率。本文采用了堆疊稀疏自編碼器進(jìn)行特征選擇。因此,首先分析單個(gè)稀疏自編碼器的結(jié)構(gòu),通過對(duì)比實(shí)驗(yàn)來確定稀疏自編碼器的激活函數(shù)和損失函數(shù),從而完成堆疊稀疏自編碼器的設(shè)計(jì)。
稀疏自編碼器是一種輸入維度等于輸出維度的神經(jīng)網(wǎng)絡(luò)。如圖2所示,其由編碼器和解碼器兩部分構(gòu)成,將原始特征作為輸入層,經(jīng)過編碼器編碼,將原始高維特征經(jīng)過非線性轉(zhuǎn)換映射到低維特征集合上,再經(jīng)過解碼器重構(gòu)為原始維度。
圖2 單個(gè)稀疏自編碼器結(jié)構(gòu)Fig.2 Structure of a sparse autoencoder (SAE)
從輸入層到隱藏層的編碼過程按式(2)進(jìn)行。
從隱藏層到輸出層的解碼過程按式(3)進(jìn)行,解碼完成了對(duì)特征的重建。
式中:wa、ba、wh、bh分別為輸入層的權(quán)重向量和偏置值以及隱藏層的權(quán)重向量和偏置值;X=(x1,x2,x3,…,xn),Y=(y1,y2,y3,…,ym),Z=(z1,z2,z3,…,zn),X,Z∈Rn,Y∈Rm,其中,n為輸入層和輸出層的維度,m為隱藏層的維度;ga和gh為激活函數(shù)。
本文通過比對(duì)各種激活函數(shù)的效果,發(fā)現(xiàn)tanh激活函數(shù)實(shí)現(xiàn)的效果較好,因此,ga和gh的計(jì)算如式(4)所示。
式中:xt為激活函數(shù)的輸入數(shù)據(jù)。
為了防止自編碼器模型過擬合,對(duì)模型添加正則化項(xiàng),限制模型的復(fù)雜度,從而使模型在復(fù)雜度和性能之間達(dá)到平衡。采用L1正則化,表達(dá)如式(5)所示。
式中:α||w||1為L(zhǎng)1正則項(xiàng),L1正則化是指權(quán)值向量w中各元素的絕對(duì)值之和。L1正則化對(duì)解空間添加的約束為:∑||w||1≤C,L1正則化可以產(chǎn)生稀疏權(quán)值矩陣,即產(chǎn)生一個(gè)稀疏模型,可以用于特征選擇,也可以防止過擬合。
L2正則化的表達(dá)如式(6)所示。
式中:為L(zhǎng)2正則項(xiàng),L2正則化是指權(quán)值向量w中各元素的平方和。L2對(duì)解空間添加的約束為:≤C,L2可以防止模型過擬合。
通過實(shí)驗(yàn)數(shù)據(jù),選擇合適的激活函數(shù)與正則項(xiàng)。通過實(shí)驗(yàn)數(shù)據(jù)對(duì)比,采用tanh作為激活函數(shù)以及L2正則項(xiàng)效果較好。
為了更好地實(shí)現(xiàn)數(shù)據(jù)降維,本文采用3個(gè)稀疏自編碼器進(jìn)行堆疊,3個(gè)自編碼器提取的維數(shù)逐層降低,從而實(shí)現(xiàn)特征降維的效果。如圖3所示,首先用第一個(gè)編碼器進(jìn)行數(shù)據(jù)壓縮,將其隱藏層特征輸出作為第二個(gè)編碼器的輸入,再經(jīng)過第二個(gè)編碼器將特征進(jìn)行壓縮,將其隱藏層特征輸出作為第三個(gè)編碼器的輸入,最后輸出第三個(gè)編碼器提取到的低維特征。本文采用的堆疊編碼的結(jié)構(gòu)為第一層提取70維特征,第二維提取50層特征,第三層為最終特征20維,將提取到的20維特征輸出。
圖3 堆疊稀疏自編碼器結(jié)構(gòu)Fig.3 Structure of stacked sparse autoencoders (SSAE)
深度神經(jīng)網(wǎng)絡(luò)輸入為堆疊稀疏自編碼器模型降維后的20維特征。隱藏層包含3層,第1層為128個(gè)神經(jīng)單元,第2層為64個(gè)神經(jīng)單元,第3層為32個(gè)神經(jīng)單元,層與層之間全連接,即第i層的任意一個(gè)神經(jīng)元與第i+1層的任意一個(gè)神經(jīng)元都有連接。同時(shí),為了防止模型過擬合,添加了dropout層,可以有效緩解過擬合,在一定程度上還可以達(dá)到正則化的效果。最后在深度神經(jīng)網(wǎng)絡(luò)后面連接一個(gè)softmax分類器,用于解決多分類問題。其架構(gòu)如圖4所示。
圖4 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure of deep neural networks (DNN)
本文采用網(wǎng)格搜索法對(duì)深度神經(jīng)網(wǎng)絡(luò)的各種參數(shù)進(jìn)行自動(dòng)尋優(yōu),從而達(dá)到優(yōu)化模型的效果。網(wǎng)格搜索法采用窮舉的方法列出各種參數(shù)組合可能,基于性能最優(yōu)判斷,進(jìn)一步通過交叉驗(yàn)證獲取學(xué)習(xí)算法的函數(shù)參數(shù)。例如,對(duì)超參數(shù)epochs和batch_size進(jìn)行優(yōu)化,會(huì)將多組參數(shù)組合取得的實(shí)驗(yàn)效果進(jìn)行比較,從而選擇效果較好的參數(shù)賦給模型來提高測(cè)試分?jǐn)?shù)。在本模型中進(jìn)行優(yōu)化的參數(shù)有activation(激活)、epochs(迭代次數(shù))、batch_size(批量大?。?、init_mode(初始化模式)和optimizer(優(yōu)化器),通過調(diào)節(jié)這些參數(shù)來提高模型的性能。
本文的訓(xùn)練模型自編碼器部分采用多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中輸入層含有92個(gè)神經(jīng)元,輸出層與輸入層神經(jīng)元個(gè)數(shù)相同,自編碼器又由3個(gè)編碼器和3個(gè)解碼器構(gòu)成,因?yàn)樽跃幋a器為對(duì)稱結(jié)構(gòu),編碼器和解碼器分別為70:50:20和20:50:70。其中20為隱藏層的向量,可以看作是編碼器的最終壓縮向量,即為最后提取的特征,作為下一步訓(xùn)練神經(jīng)網(wǎng)絡(luò)的輸入特征。圖5(a)和圖5(b)顯示了提取到不同特征對(duì)模型的影響,因此,壓縮維度對(duì)于模型測(cè)試有著重要的影響,其中維度壓縮在20維效果較好。
圖5 壓縮維度對(duì)測(cè)試模型性能的影響Fig.5 Effect of compressed dimension on test model performance
DNN(深度神經(jīng)網(wǎng)絡(luò))的輸入為自編碼器隱藏層壓縮后的20維特征,且含有3層隱藏層,隱藏層神經(jīng)元結(jié)構(gòu)為128:64:32,以及防止過擬合的dropout層,輸出層為一個(gè)softmax分類器,將輸出4種類別。在此模型中,添加了GridSearchCV,用來查找每個(gè)參數(shù)的最優(yōu)狀態(tài),從而提高模型的準(zhǔn)確率。從圖6和圖7可以看出,epochs和batch_size的改變對(duì)模型準(zhǔn)確率提高有影響,其中當(dāng)batch_size為40、epochs為50時(shí)效果較好;當(dāng)權(quán)重初始化方法為uniform時(shí),模型的效果較好。
圖6 不同epochs和batch_size對(duì)模型的影響Fig.6 Effect of different epochs and batch_sizes on the model
圖7 不同的權(quán)值初始化方法對(duì)模型的影響Fig.7 Effect of different weight initialization methods on the model
從圖8和圖9可以看出,不同的激活函數(shù)activation和optimizer的改變對(duì)模型準(zhǔn)確率提高有影響。其中,當(dāng)activation為softmax、optimizer為RMSprop時(shí)效果較好。
圖8 輸出層激活函數(shù)activation對(duì)模型的影響Fig.8 Effect of activation functions in output layer on the model
圖9 optimizer對(duì)模型的影響Fig.9 Effect of optimizers on the model
分類模型最常用TP(真陽(yáng)性)、FP(假陽(yáng)性)、TN(真陰性)、FN(假陰性)來衡量模型的有效性。本文對(duì)安全性能的分析衡量指標(biāo)選取ROC(接收者操作特征)曲線,ROC曲線為以假正率為x軸,以真正率為y軸做出的曲線。AUC即ROC特征曲線下面的面積,AUC越大分類器性能越好。圖10顯示了本文模型的ROC曲線。
本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)面向電力移動(dòng)設(shè)備無線接入環(huán)境的安全測(cè)試系統(tǒng),重點(diǎn)研究了基于流量特征的安全異常發(fā)現(xiàn)。通過堆疊稀疏自編碼器和深度神經(jīng)網(wǎng)絡(luò)構(gòu)造,首先對(duì)測(cè)試數(shù)據(jù)集進(jìn)行數(shù)據(jù)特征降維,并選取合適的特征維數(shù)進(jìn)行訓(xùn)練,即將選取的特征作為深度神經(jīng)網(wǎng)絡(luò)的輸入層,構(gòu)建高效測(cè)試用例并監(jiān)測(cè)發(fā)現(xiàn)異常狀態(tài)。該系統(tǒng)可用于挖掘接入設(shè)備的安全問題,具有一定的實(shí)用價(jià)值。