張曉琴,汪云飛,胡春強(qiáng)
(1.重慶市信息通信咨詢?cè)O(shè)計(jì)院有限公司,重慶 400041;2.航天壹進(jìn)制(南京)數(shù)據(jù)科技有限公司,南京 210032;3.重慶大學(xué)大數(shù)據(jù)與軟件學(xué)院,重慶 400030)
隨著新能源發(fā)電技術(shù)在智能電網(wǎng)中的集成,工控系統(tǒng)在電力、石油、天然氣和新能源也面臨著日益嚴(yán)重的信息安全問題,保障電站工控系統(tǒng)的本地設(shè)備和遠(yuǎn)程運(yùn)行監(jiān)控和管理系統(tǒng)的安全成為電力公司所關(guān)心的問題[1]。數(shù)據(jù)采集與監(jiān)控系統(tǒng)(Su?pervisory control and data acquisition,SCADA)作為電站發(fā)電監(jiān)督控制的核心,一旦受到網(wǎng)絡(luò)入侵服導(dǎo)致其停止服務(wù)將危及整個(gè)發(fā)電過程最終導(dǎo)致整個(gè)電力系統(tǒng)崩潰。因此,深入研究防范新能源電站網(wǎng)絡(luò)攻擊特征,提出一種高效的SCADA 入侵檢測(cè)檢測(cè)模型或系統(tǒng)成為業(yè)界研究的重點(diǎn)。
通常SCADA 以一種安裝在上位機(jī)上的應(yīng)用出現(xiàn),一個(gè)SCADA 系統(tǒng)可能連接多個(gè)可編程控制邏輯(Programmable logic controller,PLC),它們共同控制一個(gè)發(fā)電過程。SCADA 系統(tǒng)承擔(dān)了對(duì)內(nèi)和對(duì)外數(shù)據(jù)交換和處理的重要功能,在拓?fù)湎到y(tǒng)中,SCADA 系統(tǒng)可以對(duì)調(diào)度指令信息進(jìn)行全面解析,并且將所得到的數(shù)據(jù)進(jìn)行存儲(chǔ)和記錄。對(duì)于下游終端,SCADA 系統(tǒng)具有遠(yuǎn)程硬件預(yù)警、網(wǎng)頁(yè)發(fā)布、數(shù)據(jù)恢復(fù)和報(bào)表等功能。除了應(yīng)用在新能源電站中,SCADA 系統(tǒng)還廣泛用于電網(wǎng)的電力傳輸、污水凈化和交通調(diào)度等重要基礎(chǔ)設(shè)施中[2]。在新能源電站環(huán)境中,由于SCADA 系統(tǒng)通過有線或無(wú)線網(wǎng)絡(luò)連接控制多種發(fā)電終端及數(shù)據(jù)采集裝置,這給攻擊者提供了較大的滲透機(jī)會(huì)。SCADA 系統(tǒng)運(yùn)行時(shí)各部分組件相互關(guān)聯(lián)、互相制約和影響[3],任何一部分遭到網(wǎng)絡(luò)攻擊都可能造成整個(gè)新能源電站系統(tǒng)的癱瘓。
考慮到新能源電站的經(jīng)濟(jì)效益、可靠性和安全性等因素,通常采用Wi?Fi 網(wǎng)絡(luò)作為系統(tǒng)通信方式[4]。在保障系統(tǒng)穩(wěn)定安全的前提下,實(shí)現(xiàn)了對(duì)電站內(nèi)部資源的高速訪問、新能源電站集群的遠(yuǎn)程監(jiān)控等功能[5?6]。這意味著它會(huì)受到多種的網(wǎng)絡(luò)攻擊。為了評(píng)估SCADA 系統(tǒng)中的網(wǎng)絡(luò)安全風(fēng)險(xiǎn),文獻(xiàn)[7]提出了新能源電站安全風(fēng)險(xiǎn)評(píng)估模型,從系統(tǒng)建模和風(fēng)險(xiǎn)模擬角度對(duì)安全風(fēng)險(xiǎn)進(jìn)行研究。為了保護(hù)新能源電站SCADA 系統(tǒng)中的重要資產(chǎn)數(shù)據(jù),文獻(xiàn)[8]從挖掘系統(tǒng)內(nèi)部的漏洞出發(fā),深度研究漏洞觸發(fā)機(jī)理,尋找可能導(dǎo)致系統(tǒng)崩潰的違規(guī)行為。文獻(xiàn)[9]對(duì)攻擊檢測(cè)率過高和誤報(bào)問題進(jìn)行了細(xì)致的分析,提出了一種基于稀疏自編碼器的非監(jiān)督式的模型方法;為了預(yù)警在系統(tǒng)中某些特殊的DoS 攻擊,文獻(xiàn)[10]通過數(shù)據(jù)集中有關(guān)Java 的序列,進(jìn)行邏輯回歸算法檢測(cè)溢出攻擊,成功獲得了數(shù)據(jù)集并實(shí)現(xiàn)了高效的分類。目前,基于機(jī)器學(xué)習(xí)的方法是檢測(cè)SCADA 系統(tǒng)中入侵行為廣泛使用的方法,對(duì)于算法的準(zhǔn)確性要求也必然越來(lái)越高,特別是一些有機(jī)器學(xué)習(xí)的先進(jìn)線性算法模型,諸如決策樹、支持向量機(jī)(Support vector machine,SVM)、決策樹(C4.5)和貝葉斯網(wǎng)絡(luò)逐漸發(fā)展并在工控SCADA 系統(tǒng)預(yù)警和檢測(cè)中得到廣泛應(yīng)用。并且有著優(yōu)異的表現(xiàn)[11?12]。相較于傳統(tǒng)基于神經(jīng)網(wǎng)絡(luò)的檢測(cè)方法,上述基于統(tǒng)計(jì)理論的機(jī)器學(xué)習(xí)算法具有更好的泛化能力且更適合小樣本入侵檢測(cè)問題。但這些方法對(duì)具有大規(guī)模樣本的入侵檢測(cè)的效率不高[13?14]。極限學(xué)習(xí)機(jī)(Extreme learning ma?chine,ELM)是一種新型單隱層前饋神經(jīng)網(wǎng)絡(luò)(Single?hidden layer feed for ward networks,SLF?Ns)[9?10]。ELM 能克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度慢,具有更好的泛化能力和更快的訓(xùn)練速度。本文采用序列學(xué)習(xí)策略,獲取新的數(shù)據(jù)并不斷更新模型,而非重新訓(xùn)練模型,以實(shí)現(xiàn)在線且快速的檢測(cè)模型訓(xùn)練。
在預(yù)警SCADA 系統(tǒng)攻擊檢測(cè)的研究中通常使用KddCUP99[13]和AWID[14]等數(shù)據(jù)集,這兩種方法可以進(jìn)行高維數(shù)據(jù)挖掘并且有著很強(qiáng)的數(shù)據(jù)關(guān)聯(lián)度。同時(shí),為了簡(jiǎn)化所搭建的分類檢測(cè)模型,對(duì)實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行線性和非線性約簡(jiǎn)和優(yōu)化是必不可少的。文獻(xiàn)[15]使用具有降維思想導(dǎo)向的主成分分析(Principal component analysis,PCA)將電網(wǎng)多指標(biāo)數(shù)據(jù)集簡(jiǎn)化為幾個(gè)綜合指標(biāo),可以使大數(shù)據(jù)規(guī)模縮小至可管理的程度,不僅減少了數(shù)據(jù)集的維度,同時(shí)保持了數(shù)據(jù)集中對(duì)方差貢獻(xiàn)最大的特征,極大地削弱了樣本數(shù)據(jù)的復(fù)雜程度和計(jì)算量。文獻(xiàn)對(duì)CT?PAC 方法進(jìn)行了深入的研究,并把它運(yùn)用到人體活動(dòng)傳感器數(shù)據(jù)集樣本的精簡(jiǎn),建立了一系列的粗糙集,這兩種線性方法均具有優(yōu)異的數(shù)據(jù)約簡(jiǎn)可靠度。隨著信息技術(shù)的爆發(fā)式發(fā)展,不可避免地出現(xiàn)了大量的高維度數(shù)據(jù),非線性的約簡(jiǎn)方法就是一種適用于在更高維度的數(shù)據(jù)處理和擬合分析方法。非線性的約簡(jiǎn)方法在處理高維度數(shù)據(jù)集時(shí)較為穩(wěn)健,可以保護(hù)統(tǒng)計(jì)上的漸進(jìn)性質(zhì)不遭到破壞,目前一般有基于核和基于流形的兩種非線性約簡(jiǎn)方法,一般來(lái)說(shuō)這兩種方法不需要?jiǎng)?chuàng)建復(fù)雜的假設(shè)空間,可以有效地避免傳統(tǒng)算法中特征分解和譜峰搜索過程,能夠大大簡(jiǎn)化計(jì)算量。自編碼器(Auto?encoder,AE)這種數(shù)據(jù)的壓縮算法主要包括編碼階段和解碼階段,擁有著對(duì)稱的結(jié)構(gòu),AE能從數(shù)據(jù)樣本中進(jìn)行無(wú)監(jiān)督學(xué)習(xí),并獲得良好的性能,AE 的應(yīng)用主要涵蓋兩個(gè)方面:一個(gè)是對(duì)數(shù)據(jù)降噪處理,第二是對(duì)數(shù)據(jù)降維并應(yīng)用可視化[16]。本文對(duì)SCADA 系統(tǒng)中的攻擊檢測(cè)實(shí)驗(yàn)數(shù)據(jù)集采用基于AE 的非線性約簡(jiǎn)的方法進(jìn)行數(shù)據(jù)精簡(jiǎn)。
對(duì)目前的研究進(jìn)展進(jìn)行匯總和分析可以發(fā)現(xiàn),二分類過程是SCADA 系統(tǒng)入侵檢測(cè)的核心問題,使用樣本特征復(fù)用率高的深度學(xué)習(xí)方法,通過構(gòu)建含多隱層的多層感知器的學(xué)習(xí)結(jié)構(gòu),可以形成更加抽象表示屬性類別或特征、挖掘出數(shù)據(jù)集中的高度隱含關(guān)系,并且構(gòu)筑數(shù)據(jù)的分布式特征。基于此,本文構(gòu)建了以改進(jìn)極限學(xué)習(xí)機(jī)(Online sequence extreme learning machine,OSELM)為算法模型的SCADA 系統(tǒng)攻擊檢測(cè)方法。構(gòu)建AWID 數(shù)據(jù)集進(jìn)行分類和提高模型收斂速度并減少過擬合,使用拒絕服務(wù)攻擊、竊取敏感信息攻擊、緩沖區(qū)溢出攻擊、系統(tǒng)漏洞攻擊和對(duì)操作系統(tǒng)和網(wǎng)絡(luò)設(shè)備的攻擊等常見主、被動(dòng)攻擊方式建立數(shù)據(jù)集,并且對(duì)采集的數(shù)據(jù)集進(jìn)行預(yù)處理,以全面地評(píng)價(jià)系統(tǒng)的可用性和有效性。對(duì)分類器進(jìn)行訓(xùn)練前,采用降噪自動(dòng)編碼器(Denoising autoencoder,DAE)對(duì)數(shù)據(jù)進(jìn)行約簡(jiǎn)以增強(qiáng)模型的抗干擾能力并提升建模的簡(jiǎn)潔程度。
本文構(gòu)建的以O(shè)SELM 為算法模型的SCA?DA 系統(tǒng)預(yù)警檢測(cè)系統(tǒng)運(yùn)行流程如下:
(1)對(duì)原始數(shù)據(jù)集進(jìn)行分類采集,建立測(cè)試集和訓(xùn)練集數(shù)據(jù)樣本,并分別采用3∶7 的樣本比例。
(2)為了改善改善不均衡數(shù)據(jù)集并獲得一個(gè)均衡的數(shù)據(jù)分布,使用自適應(yīng)綜合過采樣方法ADASYN 在少數(shù)類樣本之間進(jìn)行插值,從而使邊界區(qū)域內(nèi)少數(shù)樣本的密度得以增加,進(jìn)而從數(shù)量上平衡數(shù)據(jù)樣本。
(3)采用DAE 的方法對(duì)數(shù)據(jù)進(jìn)行去除噪聲、和對(duì)結(jié)果影響不大的特征向量,同時(shí)保持對(duì)結(jié)果有明顯影響的特征向量和最小子特征集,從而達(dá)到對(duì)數(shù)據(jù)進(jìn)行降維的目的。
(4)將使用以上方法構(gòu)建的數(shù)據(jù)集作為樣本輸入訓(xùn)練分類器,最終獲得OSLEM 分類器,并對(duì)服務(wù)器內(nèi)的攻擊行為進(jìn)行檢測(cè)和預(yù)警。
針對(duì)現(xiàn)信網(wǎng)的網(wǎng)絡(luò)安全問題,本文以復(fù)雜多變的網(wǎng)絡(luò)入侵領(lǐng)域由于攻擊手段和攻擊方式為數(shù)據(jù)集,研究了虛假數(shù)據(jù)攻擊檢測(cè)方法的原理,最后利用機(jī)器學(xué)習(xí)手段來(lái)強(qiáng)化基于統(tǒng)計(jì)的檢測(cè)方法,優(yōu)化出一種實(shí)用和有效的系統(tǒng)攻擊檢測(cè)模型算法,測(cè)試改進(jìn)了入侵檢測(cè)模型實(shí)驗(yàn)平臺(tái)的性能。
所采集的AWID 數(shù)據(jù)一般可以劃分為定量數(shù)據(jù)和定性數(shù)據(jù),為了使不同單位或量級(jí)的數(shù)據(jù)具有直接計(jì)算并生成復(fù)合指標(biāo)的特征,在開始平衡化處理前應(yīng)先對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理使之落入一個(gè)小的特定區(qū)間,從而減少規(guī)模、特征和分布差異等對(duì)模型的影響。一般來(lái)說(shuō)這個(gè)過程分為數(shù)字信號(hào)處理和數(shù)據(jù)計(jì)算處理兩個(gè)步驟:(1)首先將符號(hào)值轉(zhuǎn)化成可參與評(píng)價(jià)與計(jì)算的數(shù)值,使用函數(shù)變換將符號(hào)值屬性映射至0~1 這個(gè)數(shù)值區(qū)間,16 進(jìn)制的數(shù)據(jù)集屬性一般在處理前需要提前轉(zhuǎn)換為整數(shù)值。應(yīng)該指出的是,數(shù)據(jù)集中的比如“?”的符號(hào)在標(biāo)準(zhǔn)化處理中會(huì)被替換為“0”。(2)對(duì)所有屬性值進(jìn)行同一、統(tǒng)一和合一的歸一化變換,使之成為無(wú)量綱的表達(dá)式,從而有效地提升模型的收斂速度和精度。最后,將原始數(shù)據(jù)進(jìn)行線性變換映射到0~1之間,轉(zhuǎn)換函數(shù)為
式中:max(x)為樣本數(shù)據(jù)的最大值;min(x)為樣本數(shù)據(jù)的最小值。
現(xiàn)實(shí)條件下存在的新能源電站SCADA 系統(tǒng)往往遭遇到的攻擊數(shù)據(jù)較少,為了最大程度地對(duì)真實(shí)狀態(tài)進(jìn)行預(yù)測(cè),有必要進(jìn)行新能源電站集群數(shù)據(jù)集的構(gòu)造。本文采用了ADASYN 過采樣方法對(duì)標(biāo)準(zhǔn)化數(shù)據(jù)進(jìn)行平衡處理[15],從而挖掘并構(gòu)建出合成的“人造”樣本數(shù)據(jù)集,從而使少數(shù)類樣本集合和多數(shù)類樣本集合中的數(shù)據(jù)數(shù)量達(dá)到平衡狀態(tài)。算法步驟如下:
(1)記少數(shù)類樣本為ms,多數(shù)類為mb,使用公式d=ms/mb,d∈(0,1]計(jì)算類不平衡度;
(2)對(duì)于每一個(gè)少數(shù)類樣本,使用G=(mbms)×δ計(jì)算需要合成的樣本數(shù)量,δ∈[0,1],它表示加入合成樣本后所期望的不平衡度,當(dāng)其值為1時(shí)表示G等于少數(shù)類和多數(shù)類的差值,這種情況下合成數(shù)據(jù)后的多數(shù)類個(gè)數(shù)和少數(shù)類數(shù)據(jù)達(dá)到平衡。
(3)針對(duì)少數(shù)類樣本xi使用歐式距離計(jì)算出K個(gè)鄰居,記Δ為K個(gè)鄰居中屬于多數(shù)類的樣本數(shù)目,使用式ri=Δi/K,i=1,2,…,m來(lái)計(jì)算鄰居樣本數(shù)據(jù)的占比。
(5)使用式gi=r'i×G對(duì)少類樣本xi需要合成的樣本數(shù)量進(jìn)行確定,其中G表示合成樣本數(shù)據(jù)的總數(shù)量。
(6)在每個(gè)少數(shù)類樣本周圍K個(gè)鄰居中確定1個(gè)少數(shù)類樣本,對(duì)xi少數(shù)樣本進(jìn)行合成,所得到的樣本數(shù)量記為gi,所使用的等式為
對(duì)j從1 到gi操作:xsi定義為從xi的K個(gè)鄰居中隨機(jī)選擇的一個(gè)少類樣本;合成樣本sj,其中λ∈[0,1]。
以上步驟中,ms≤mb。
如圖1 所示,AE 共有3 個(gè)組成部分:編碼器、解碼器和隱含層,編碼器的作用將輸入壓縮成潛在空間表征,又叫輸入層,可以用編碼函數(shù)y=fθ(x)表示,解碼器的作用是重構(gòu)來(lái)自潛在空間表征的輸入,又叫輸出層,可以用解碼函數(shù)z=gθ'(y)表示,編碼器和解碼器這兩個(gè)部分構(gòu)成了編碼網(wǎng)格。由于隱含層內(nèi)的神經(jīng)元素?cái)?shù)量較少,AE 在處理與訓(xùn)練集相類似的數(shù)據(jù)時(shí)會(huì)適當(dāng)?shù)貕嚎s輸入層數(shù)據(jù)。在運(yùn)行時(shí),通過縮小隱含層的維度、改變?cè)貍€(gè)數(shù)和加入懲罰項(xiàng)等施加約束條件,以達(dá)到在某個(gè)給定的數(shù)據(jù)集上訓(xùn)練自編碼器,所設(shè)置的輸入層和輸出層數(shù)量的相對(duì)大小決定了是否對(duì)數(shù)據(jù)進(jìn)行降維[17]。
圖1 AE 網(wǎng)絡(luò)編碼和解碼過程Fig.1 Encoding and decoding processes of AE
AE 的原理可用下面兩個(gè)等式表示,即
式中:θ={w,b}表示一個(gè)表示編碼器和隱含層數(shù)據(jù)函數(shù)的參數(shù),而θ'={w',b'}則代表了隱含層和解碼器兩者之間的參數(shù),m維和n維偏置分別用b和b'符號(hào)表示,在編碼過程中,維度為m×n的權(quán)重矩陣使用W符號(hào)表示,在解碼過程中,對(duì)應(yīng)的權(quán)重矩陣用W'表示,隱含層和編碼器和隱含層與解碼器之間的激活函數(shù)使用s和s'符號(hào)表示,應(yīng)用以上步驟,輸入層x經(jīng)過編碼器過程被精簡(jiǎn)為y,隨后解碼器發(fā)揮作用使其重構(gòu)成為輸出向量z,這樣設(shè)計(jì)的編碼器和解碼器之間的函數(shù)關(guān)系能夠保證得到誤差最小的重構(gòu)數(shù)據(jù),從而使得使用AE 網(wǎng)絡(luò)編碼和解碼能夠獲得輸入數(shù)據(jù)集最大程度地保留特征,即對(duì)數(shù)據(jù)進(jìn)行了降維。
為了讓隱藏層的特征性得到更好的表達(dá),獲得捕獲輸入信號(hào)的穩(wěn)定性結(jié)構(gòu),采用魯棒性更強(qiáng)的數(shù)據(jù)降維方法,即DAE 方法。DAE 可以在不改變AE 網(wǎng)絡(luò)結(jié)構(gòu)的前提下,通過人為的增加噪聲使模型獲得魯棒性更強(qiáng)的特征表達(dá),并且避免使隱含層學(xué)習(xí)一個(gè)傳統(tǒng)自編碼器中沒有意義的恒等函數(shù)。圖2 是本文所構(gòu)建的對(duì)數(shù)據(jù)進(jìn)行降噪處理的流程。圖2 中X表示輸入編碼器的原始數(shù)據(jù),qD表示人為的加噪,-X為對(duì)輸入中的噪聲擾動(dòng)重建以后的數(shù)據(jù),將此數(shù)據(jù)作為DAE 自編碼器的輸入數(shù)據(jù),并將其所在層視為隱含層,最后通過激活函數(shù)fθ求解該層神經(jīng)元的激活值得到H,最后通過激活函數(shù)求解該層神經(jīng)元的激活值。本文中實(shí)驗(yàn)設(shè)計(jì)DAE 算法的噪聲系數(shù)為0.1。
圖2 DAE 原理圖Fig.2 Schematic diagram of DAE
極限學(xué)習(xí)機(jī)(Extreme learning machine,ELM)是一種SLFNs 學(xué)習(xí)算法[18]。ELM 的優(yōu)勢(shì)是可以隨機(jī)設(shè)定輸入層和隱含層的連接權(quán)值、隱含層的閾值,并且設(shè)定完后無(wú)需反復(fù)調(diào)整;其次,隱含層和輸出層之間的連接權(quán)值β不需要迭代調(diào)整和更新隱含層節(jié)點(diǎn)個(gè)數(shù),只需設(shè)置隱含層神經(jīng)元的閾值,便可通過求解方程組方式一次性確定最優(yōu)解。研究表明,ELM 模型的泛化性能很好,這使得ELM 方法具有較快的收斂速度,達(dá)到局部最優(yōu)特點(diǎn)時(shí)所需要的時(shí)間相對(duì)較短。除了檢測(cè)速度較快,ELM 在預(yù)警攻擊時(shí)的誤報(bào)率也非常低,相對(duì)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),尤其是SLFNs,ELM 具有更快的檢測(cè)速度和更準(zhǔn)確的檢測(cè)結(jié)果。隨機(jī)初始化參數(shù)是ELM 網(wǎng)絡(luò)的核心,隨后將輸入權(quán)重和偏置隨機(jī)初始化并得到相應(yīng)的輸出權(quán)重,典型的ELM 網(wǎng)絡(luò)如圖3所示。
以圖3 中的典型SLFNs 為例,假設(shè)N個(gè)任意的樣本(Xi,ti),其中Xi=[xi1,xi2,…,xim]T∈Rn,ti=[ti1,tii2,…,tim]T∈Rm,將含有N個(gè)隱含節(jié)點(diǎn)的SLF?Ns 表示為
圖3 ELM 示意圖Fig.3 Schematic diagram of ELM
式中:激活函數(shù)表示為g(x);輸入權(quán)重表示為Wi=[wi1,wii2,…,wim]T;輸出權(quán)重表示為βi;第i個(gè)隱層單元的偏置表示為biWi和Xj的內(nèi)積用WiXi表示,進(jìn)一步地,存在Wi,βi和bi,滿足以下等式
用H表示隱含層節(jié)點(diǎn)的輸出矩陣,用β表示βi構(gòu)成的輸出權(quán)重矩陣,用T表示期望的輸出值,則矩陣可簡(jiǎn)化為
權(quán)重和偏執(zhí)是在ELM 訓(xùn)練前隨機(jī)生成的,所以對(duì)ELM 隱含層節(jié)點(diǎn)個(gè)數(shù)及使用的激活函數(shù)進(jìn)行分析和計(jì)算,便可得到輸出權(quán)重β隱含層的輸出矩陣H與隨機(jī)確定的輸入權(quán)重Wi和隱層的偏置bi具有一一對(duì)應(yīng)的關(guān)系,對(duì)以上線性公式進(jìn)行計(jì)算可以得到輸出權(quán)重為
將機(jī)電一體化技術(shù)應(yīng)用到工程機(jī)械設(shè)備中,通過該技術(shù)的信息控制系統(tǒng),可對(duì)機(jī)械的作業(yè)過程進(jìn)行自動(dòng)化控制,如此一來(lái),極大地提高了作業(yè)的精準(zhǔn)度。例如,將機(jī)電一體化技術(shù)應(yīng)用到瀝青的攤鋪機(jī)中,就可以實(shí)現(xiàn)自動(dòng)找平、自動(dòng)供料,不僅提高了施工的質(zhì)量,也提高了施工的效率。可以說(shuō),通過機(jī)電一體化技術(shù)的應(yīng)用,基本上實(shí)現(xiàn)了工程機(jī)械的半自動(dòng)化 操作,進(jìn)一步降低了人工操作中出現(xiàn)的誤差現(xiàn)象,提高了施工作業(yè)的精準(zhǔn)度,滿足了現(xiàn)代工程施工的要求[3]。
式中H+為矩陣H的Moore?Penrose 偽逆。通過數(shù)學(xué)推演可發(fā)現(xiàn)所得解β?的范數(shù)最小且唯一。為了進(jìn)行實(shí)時(shí)的SCADA 系統(tǒng)Wi?Fi 入侵檢測(cè),并且應(yīng)用ELM 在預(yù)警入侵方面檢測(cè)速度快、誤報(bào)率低的特點(diǎn),對(duì)SCADA 系統(tǒng)應(yīng)用了在OSELM 的檢測(cè)方法。相比于傳統(tǒng)ELM 的檢測(cè)方法,OSELM 在ELM 的基礎(chǔ)上進(jìn)一步發(fā)展,采用序列學(xué)習(xí)策略,可以獲取新的數(shù)據(jù)并不斷更新模型,而非重新訓(xùn)練模型,如此便實(shí)現(xiàn)了在線且快速的訓(xùn)練。隨后使用最小二乘法對(duì)式(8)中的輸出權(quán)重求解,當(dāng)隱含層節(jié)點(diǎn)數(shù)為m時(shí),輸出矩陣H的秩為m,此時(shí)H的廣義逆可表示為根據(jù)以上步驟,更新多批次實(shí)時(shí)數(shù)據(jù)的輸出權(quán)重,訓(xùn)練OSELM 單隱含前饋神經(jīng)網(wǎng)絡(luò)完畢。
基于新能源電站SCADA 系統(tǒng)所處的現(xiàn)實(shí)環(huán)境,本文中應(yīng)用攻擊類型非常全面的AWID 數(shù)據(jù)集去測(cè)試和評(píng)估所提出的OSELM 方法的性能和穩(wěn)定性。在訓(xùn)練和測(cè)試過程中,訓(xùn)練數(shù)據(jù)集AWID?CLSR?Trn 包括中1 633 190 正常實(shí)例和162 385 條攻擊流量。AWID?CLSR?tst 作為測(cè)試數(shù)據(jù)集,其中正常的數(shù)據(jù)流量為530 785 條,攻擊的流量為44 858 條。表1 給出了訓(xùn)練和測(cè)試集中不同種類攻擊的分布情況。
表1 攻擊分布Table 1 Distribution of attacks
經(jīng)上述分析可知,訓(xùn)練數(shù)據(jù)集中的正常和攻擊數(shù)據(jù)量分布不均衡,即SCADA 系統(tǒng)在實(shí)際運(yùn)行狀態(tài)下遭遇的正常流量數(shù)量遠(yuǎn)遠(yuǎn)高于攻擊流量,其比值約為10∶1,這不利于訓(xùn)練和更新OSELM 模型。為了克服數(shù)據(jù)不平衡問題,首先對(duì)數(shù)據(jù)進(jìn)行歸一化處理,然后應(yīng)用合成少數(shù)類過采樣技術(shù),即ADASYN 方法對(duì)數(shù)據(jù)集進(jìn)行平衡處理,使正常流量數(shù)據(jù)集和攻擊流量數(shù)據(jù)集的比值維持在1∶1 附近。經(jīng)過隨機(jī)處理后的正常流量數(shù)量縮減為170 000 條。本文將經(jīng)過處理后得到的均衡數(shù)據(jù)集作為樣本數(shù)據(jù),對(duì)OSELM 分類器進(jìn)行訓(xùn)練獲得不均衡數(shù)據(jù)集,最后對(duì)模型進(jìn)行驗(yàn)證。
經(jīng)對(duì)新能源電站的實(shí)際運(yùn)行條件進(jìn)行考察和調(diào)研,本文所使用的AWID 數(shù)據(jù)集具有以下特點(diǎn):
(1)最大程度模擬真實(shí)的網(wǎng)絡(luò)和流量。在理想條件下,數(shù)據(jù)集意外往往很少出現(xiàn),這往往是基于更清晰的反應(yīng)攻擊的真實(shí)影響以及工作站的應(yīng)答。基于此,本文所采用的原始數(shù)據(jù)盡可能地逼真、不摻雜任何人為的捕獲和跟蹤插入。
(2)對(duì)數(shù)據(jù)集進(jìn)行標(biāo)記。標(biāo)記數(shù)據(jù)集能夠有效地將異常流量與正常流量區(qū)分,能夠降低人工標(biāo)簽的不準(zhǔn)確性,從而對(duì)評(píng)估監(jiān)測(cè)機(jī)制的穩(wěn)定性具有重要意義。
(3)捕獲總交互信息。搭建LAN 內(nèi)部和之間的數(shù)據(jù)集交換機(jī)制,獲得提供檢測(cè)異常行為的信息,從而能夠?qū)Y(jié)果進(jìn)行正確的解釋和評(píng)估。
(4)數(shù)據(jù)集的完整性。本文使用的數(shù)據(jù)集的有效載荷不需要任何的清理,也不會(huì)被匿名化,能夠比較完全地追蹤到所有信息,從而提升了結(jié)果數(shù)據(jù)集的完整性。
目前,在新能源SCADA 電站中發(fā)生的攻擊在攻擊頻率、大小、類別和復(fù)雜性都逐漸攀升,需要廣泛考量多種入侵場(chǎng)景來(lái)幫助研究人員進(jìn)行分析和判斷。
使用均方誤差(Mean squared error,MSE)來(lái)評(píng)價(jià)預(yù)估量和被預(yù)估量的差異程度,以此來(lái)驗(yàn)證DAE 用于數(shù)據(jù)降維的可行性,MSE 的值越小,說(shuō)明模型的效果越好。經(jīng)過約簡(jiǎn)后的數(shù)據(jù)能否完整的反映出原數(shù)據(jù)集的信息是考察DAE 重構(gòu)的重要方面。本文所使用的MSE 定義為
式中:ydata表示訓(xùn)練樣本數(shù)據(jù)和測(cè)試樣本數(shù)據(jù)集;yrecon表示重構(gòu)的樣本數(shù)據(jù)集;N代表在DAE 過程中測(cè)試或者訓(xùn)練的樣本數(shù)量。在本文所制造的攻擊中,主要有Smurf 病毒攻擊,Ping?sweep 掃射攻擊,Syn flood 鏈接攻擊和Ping?of?death 拒絕服務(wù)攻擊4 種類別,基于內(nèi)容和鏈接的特征分別有96和41 個(gè),將這兩種特征方式進(jìn)行歸一化合并處理,共得到137 個(gè)實(shí)驗(yàn)樣品數(shù)據(jù)特征。將這137個(gè)數(shù)據(jù)特征輸入降噪自動(dòng)編碼器,輸出方式選擇為5 維編碼,以137?100?50?20?5 神經(jīng)元數(shù)量分布的方式設(shè)定4 層DAE 的網(wǎng)絡(luò)結(jié)構(gòu),并將其分別命名為 DAE1137?100、DAE2100?50、DAE350?20 和DAE420?5。本文中降噪自動(dòng)編碼器模型的訓(xùn)練次數(shù)為10 次。
從圖4 的各層DAE 重構(gòu)誤差的變化曲線可以非常明顯看出,經(jīng)過5 次訓(xùn)練以后,多數(shù)層的MSE已經(jīng)達(dá)到1 個(gè)較小值(低于0.09)并且趨于穩(wěn)定。所以認(rèn)為DAE 的訓(xùn)練次數(shù)大于5 時(shí),可以得到經(jīng)過降噪處理的各項(xiàng)初始數(shù)據(jù)。
圖4 各層DAE 的重構(gòu)誤差變化曲線Fig.4 Reconstruction error curves of DAEs
另一方面,對(duì)經(jīng)過10 次DAE 訓(xùn)練以上的MSE重構(gòu)誤差進(jìn)行研究,進(jìn)一步地評(píng)估DAE 降噪處理前后數(shù)據(jù)的差異。如圖5 所示,滿足訓(xùn)練次數(shù)大于等于10 的條件,MSE 誤差取值曲線已經(jīng)小于0.003,并且曲線趨于穩(wěn)定值,在MATLAB 中的數(shù)據(jù)表明,本模型的樣本數(shù)據(jù)最小MSE 為0.002 25。所以輸出方式選擇為5 維可以維持原始137 維的數(shù)據(jù)集特征,從而說(shuō)明了降噪自動(dòng)編碼在本文降維處理中的適用性。
圖5 DAE 的重構(gòu)誤差變化曲線Fig.5 Reconstruction error curves of DAE
使用較為常見的正確率(Accuracy)為評(píng)價(jià)指標(biāo),將本文多個(gè)堆疊的降噪自動(dòng)編碼器(Stacked de?noising autoencodes,SDAE)分類模型得到的數(shù)據(jù)與對(duì)比實(shí)驗(yàn)中其他模型的處理效果進(jìn)行比對(duì)和評(píng)估,進(jìn)一步驗(yàn)證DAE 在新能源電站SCADA 系統(tǒng)攻擊侵檢測(cè)中特征數(shù)據(jù)約簡(jiǎn)的高效性。正確率的計(jì)算方法是被正確的劃分為正類的樣本測(cè)試個(gè)數(shù)除以所有樣本數(shù),其計(jì)算公式為
式中:被正確地劃分為負(fù)例的個(gè)數(shù)和被正確地劃分為正例的個(gè)數(shù)分別用TN 和TP 表示;測(cè)試樣本的綜述記為C,C為N和P之和。使用這個(gè)描述符,本文對(duì)DAE、PCA、EMD 三種降維方法的SVM 分類器檢測(cè)效果進(jìn)行綜合評(píng)估,通常來(lái)說(shuō),正確率越高越好,其代表DAE 方法具有更高的高效性和一致性。如圖6 所示,10 次實(shí)驗(yàn)中DAE+SVM 的約簡(jiǎn)方法準(zhǔn)確率數(shù)據(jù)較其他兩種方法都要高,具有較大優(yōu)勢(shì)。
圖6 不同約簡(jiǎn)方法對(duì)分類結(jié)果的影響Fig.6 Influence of different methods on classification
為說(shuō)明所提降維方法的有效性,本文分別對(duì)PCA、EMD、DAE 三種降維方法的OSELM 分類器檢測(cè)效果進(jìn)行綜合評(píng)估。如圖7 所示,10 次實(shí)驗(yàn)中DAE+OSELM 方法的準(zhǔn)確率較其他兩種方法都要高,驗(yàn)證所提方法的正確性。
圖7 不同約簡(jiǎn)方法對(duì)OSELM 檢測(cè)效果影響Fig.7 Influence of different methods on OSELM detection
為了使模型獲得良好的學(xué)習(xí)精度和性能,本文對(duì)包含缺失值和重復(fù)值的原始檢測(cè)結(jié)果進(jìn)行預(yù)處理,主要用到ADASYN 算法和DAE 算法兩種算法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。為了評(píng)價(jià)這兩種方法與OSELM 同時(shí)使用時(shí)對(duì)分類結(jié)果的影響,先后搭建了OSELM,ADASYN+OSELM,DAE+OSELM,ADASYN+DAE+OSELM,DAE+ADASYN+OSELM五種分類方法,算法執(zhí)行順序?yàn)槊械南群箜樞颉?/p>
在OS?ELM 的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)相同的情況下,將ADASYN 的采樣率設(shè)置為N,并且將N的變化范圍規(guī)定為1~30。將DAE 的噪聲系數(shù)設(shè)置為0.10。為了使模型達(dá)到更加優(yōu)異的穩(wěn)定性和精確度,經(jīng)過預(yù)實(shí)驗(yàn),采用ADASYN+OSELM 算法來(lái)確定最優(yōu)采樣率。采樣率N的值與分類結(jié)果之間的關(guān)系如圖8 所示。圖中Pre 代表精度,Rec 代表召回率,AUC 代表ROC 曲線下面積,可以看到在0~18 范圍內(nèi)ADASYN+OSELM 的性能與N值具有一定的正相關(guān)的關(guān)系,當(dāng)N值取18 左右時(shí),OSELM 達(dá)到最優(yōu)的求解性能,當(dāng)N值在18~30 區(qū)間內(nèi)時(shí),OSELM 模型分類性能逐漸下降。綜上,可以看出預(yù)處理操作對(duì)本節(jié)中5 種分類方法具有不同的影響。
圖8 N 與分類結(jié)果之間的關(guān)系Fig.8 Relation between N and classification result
為了證明本文所提出的OSELM 分類器的準(zhǔn)確性和穩(wěn)定性,并且保證結(jié)果的可靠度,以DAE 和ADASYN 算法處理后的數(shù)據(jù)為實(shí)驗(yàn)數(shù)據(jù)集,使用平均分類時(shí)間,將OSELM 方法與傳統(tǒng)ELM 模型和SVM 方法進(jìn)行相同狀態(tài)下的對(duì)比,以10 次十折交叉驗(yàn)證對(duì)應(yīng)的平均值為描述符。獲得ROC 曲線如圖9 所示,可以看到OSELM 單分器對(duì)應(yīng)的數(shù)據(jù)具有最高的真正類率。
圖9 單分類器比較Fig.9 Comparison of single classifier
激活函數(shù)是影響ELM 分類器性能的重要因素。為了達(dá)到選擇最佳激活函數(shù)的目標(biāo),本文在相同實(shí)驗(yàn)條件下對(duì)“Sigmoid”“Sin”“Hardlim”“Tribas”和“Radbas”5 種不同類別的激活函數(shù)進(jìn)行測(cè)試,對(duì)使用不同激活函數(shù)所獲得的訓(xùn)練時(shí)間/檢測(cè)時(shí)間/檢測(cè)精度和訓(xùn)練精度進(jìn)行評(píng)估和分析。
基于深度學(xué)習(xí)的ELM 分類器性能受其自身的激活函數(shù)的制約。本文通過使用MATLAB 對(duì)6種常見的激活函數(shù)進(jìn)行試驗(yàn)(“Sigmoid”“Sin”“Tanh”“Hardlim”“Tribas”和“Radbas”),最終篩選出最適合OSELM 的激活函數(shù)。具體來(lái)說(shuō),首先收集降至5 維的數(shù)據(jù)集,然后使用上述激活函數(shù)進(jìn)行運(yùn)算,每個(gè)激活方式進(jìn)行100 次重復(fù)試驗(yàn)。 從平均檢測(cè)時(shí)間、平均訓(xùn)練時(shí)間、平均檢測(cè)精度和訓(xùn)練精度4 個(gè)方面進(jìn)行數(shù)據(jù)統(tǒng)計(jì)。所得數(shù)據(jù)如表2 所示,可以發(fā)現(xiàn)“Sigmoid”這種“S”型的飽和激活函數(shù)有著最短的平均訓(xùn)練時(shí)間,并且平均精度都要比其他的激活函數(shù)高,適合應(yīng)用于OSELM,故選擇其為激活函數(shù)。
表2 5 種激活函數(shù)性能比較Table 2 Performance comparison between five activa?tion functions
在現(xiàn)實(shí)SCADA 能源電站的攻擊檢測(cè)過程中,實(shí)時(shí)性檢測(cè)出攻擊是系統(tǒng)具有優(yōu)異準(zhǔn)確性和穩(wěn)定性的重要標(biāo)志。為了對(duì)本文中提出的OSELM 方法對(duì)Wi?Fi 檢測(cè)的實(shí)時(shí)性進(jìn)行評(píng)估,分別使用SADE 方法將1 800 個(gè)樣本的訓(xùn)練數(shù)據(jù)集進(jìn)行5~50 維的模型降維訓(xùn)練,然后使用3 種分類器對(duì)600個(gè)降維訓(xùn)練的樣品數(shù)據(jù)集進(jìn)行檢測(cè)時(shí)間的統(tǒng)計(jì),所得統(tǒng)計(jì)結(jié)果如圖10 所示??梢钥闯?,OSELM 經(jīng)過5 維模型降維訓(xùn)練后所對(duì)應(yīng)的檢測(cè)時(shí)間最低,約為28 ms,低于傳統(tǒng)ELM 模型和支持向量機(jī)方法,具有最快的相應(yīng)速度。另一方面,OSELM 表現(xiàn)出了較為穩(wěn)定的檢測(cè)時(shí)間,而非如其他兩種方法那樣隨著維度增加使檢測(cè)時(shí)間顯著升高。綜上所述,OSELM 模型能夠節(jié)約大量的檢測(cè)時(shí)間,并且不隨檢測(cè)維度的變化產(chǎn)生大的波動(dòng),具有優(yōu)良的檢測(cè)實(shí)時(shí)性。
圖10 不同分類器的檢測(cè)時(shí)間Fig.10 Detection time of classifiers
為驗(yàn)證所提方法較現(xiàn)存方法ELM 及SVM 的優(yōu)勢(shì),本文首先將實(shí)驗(yàn)數(shù)據(jù)約簡(jiǎn)至5 維再進(jìn)行實(shí)驗(yàn),從表3 中可以看出,所提方法較ELM 和SVM更有優(yōu)勢(shì),基于ELM 的檢測(cè)方法較SVM 有了較大提升。結(jié)合圖10 可知,雖然OSELM 較ELM 提升幅度不大,但時(shí)間有了明顯提升。
表3 5 種激活函數(shù)性能比較Table 3 Detection performance comparison of OSELM,ELM and SVM
本文選用機(jī)器學(xué)習(xí)算法集成平臺(tái)Weka 進(jìn)行實(shí)驗(yàn)。選取J48 算法,隨機(jī)森林算法(Random for?est,RF)和樸素貝葉斯方法(Na?ve Bayes,NB)作為分類器與所提方法進(jìn)行比較,且實(shí)驗(yàn)中所使用的數(shù)據(jù)集經(jīng)過ADASYN 和DAE 處理。圖11 顯示了由RF 分類器完成的分類的相應(yīng)裕度曲線。同樣,圖12 和圖13 分別展示了基于NB 算法和J48 算法對(duì)應(yīng)的裕度曲線。由圖11~13 可以看出,基于RF和NB 算法的分類器性能接近,基于J48 算法的分類器性能最差。如表4 所示,所提出的OSELM 方法與其他3 個(gè)模型(J48、RF 和NB)相比,OSELM具有最高的檢測(cè)精度,達(dá)到97.8%,故基于OS?ELM 的分類起檢測(cè)性能最優(yōu)。實(shí)驗(yàn)結(jié)果數(shù)據(jù)與表4 中顯示的數(shù)值一致。
表4 J48,NB 和RF 算法之間的比較Table 4 Performances of J48,NB,RF and OSELM
圖11 RF 可視化裕度曲線Fig.11 Margin curve of RF
圖12 NB 可視化裕度曲線Fig.12 Margin curve of NB
圖13 J48 可視化裕度曲線Fig.13 Margin curve of J48
本文提出了一種基于改進(jìn)極限學(xué)習(xí)機(jī)OS?ELM 的新能源電站SCADA 系統(tǒng)攻擊檢測(cè)方法。首先,為了平衡真實(shí)世界中新能源電站SCADA 系統(tǒng)中的正常和攻擊數(shù)據(jù)集,使用合成少數(shù)類過采樣技術(shù)對(duì)數(shù)據(jù)進(jìn)行歸一化和平衡化處理,獲得樣本數(shù)量均一的多種數(shù)據(jù)集。隨后,使用魯棒性更強(qiáng)的DAE 算法對(duì)獲得的數(shù)據(jù)集進(jìn)行降維降噪處理,對(duì)攻擊檢測(cè)模型的復(fù)雜度進(jìn)行了精簡(jiǎn)。最后,在Weka 平臺(tái)中對(duì)所提出的OSELM 檢測(cè)模型進(jìn)行評(píng)估和分析,發(fā)現(xiàn)本文所提出的OSELM 檢測(cè)模型比J48 算法、隨機(jī)森林算法和樸素貝葉斯方法性能都要優(yōu)異和準(zhǔn)確。OSELM 除實(shí)現(xiàn)了快速的檢測(cè)執(zhí)行時(shí)間,還具有更高的檢測(cè)精確度和更低的報(bào)錯(cuò)率,可以承擔(dān)新能源SCADA 電站風(fēng)險(xiǎn)攻擊檢測(cè)和預(yù)警的系統(tǒng)工程。應(yīng)當(dāng)說(shuō)明的是,本文所提出的OSELM 不具備在線檢測(cè)功能,仍需要對(duì)模型進(jìn)一步優(yōu)化和增強(qiáng)。