莊衛(wèi)金,方國(guó)權(quán),張廷忠,陳 中
(1.中國(guó)電力科學(xué)研究院,南京 210003;2.國(guó)網(wǎng)江蘇省電力有限公司檢修分公司,南京 211106;3.國(guó)網(wǎng)山東省電力公司濰坊供電公司,山東 濰坊 261041;4.東南大學(xué) 電氣工程學(xué)院,南京 210096)
目前電力工控系統(tǒng)采用“安全分區(qū)、網(wǎng)絡(luò)專用、橫向隔離、縱向認(rèn)證”[1]的安全防護(hù)策略,在系統(tǒng)邊界部署正反向隔離裝置及加密認(rèn)證裝置,能有效抵御來(lái)自互聯(lián)網(wǎng)的傳統(tǒng)病毒木馬的入侵[2]。但與傳統(tǒng)電網(wǎng)相比,與物聯(lián)網(wǎng)聯(lián)系日益緊密的電力工控系統(tǒng)由于在用戶側(cè)部署了大量不可控的智能網(wǎng)荷互動(dòng)終端以及信息采集裝置,所面臨的來(lái)自外部的惡意攻擊風(fēng)險(xiǎn)大大提高,因此有必要面向電力工控系統(tǒng)研究適用于其的入侵檢測(cè)技術(shù)以提高抗風(fēng)險(xiǎn)能力[3]。
目前,許多機(jī)器學(xué)習(xí)算法與深度學(xué)習(xí)模型已經(jīng)被應(yīng)用于入侵檢測(cè)相關(guān)研究中,文獻(xiàn)[4]提出了一種基于DBN(深度置信網(wǎng)絡(luò))和PNN(概率神經(jīng)網(wǎng)絡(luò))的入侵檢測(cè)方法,利用神經(jīng)網(wǎng)絡(luò)的非線性特性優(yōu)化了原始數(shù)據(jù)的重要特征;文獻(xiàn)[5]通過(guò)建立多分類器模型,采用改進(jìn)特征工程方法對(duì)不同類型的數(shù)據(jù)進(jìn)行分析,最終針對(duì)某種類型分類效果最佳的分類器分步完成入侵檢測(cè);文獻(xiàn)[6]基于分布式RF(隨機(jī)森林)研究一種實(shí)時(shí)處理高速網(wǎng)絡(luò)流量的入侵檢測(cè)方法。這些研究均基于數(shù)據(jù)量足夠充分的公共數(shù)據(jù)集訓(xùn)練入侵檢測(cè)模型因而能取得極高的檢測(cè)準(zhǔn)確率。若直接在電力工控系統(tǒng)環(huán)境下訓(xùn)練入侵檢測(cè)模型,現(xiàn)有的方法是在仿真系統(tǒng)中進(jìn)行惡意攻擊實(shí)驗(yàn),再采集數(shù)據(jù)進(jìn)行訓(xùn)練。文獻(xiàn)[7]提出方法基于OCSVM(單類支持向量機(jī)),將網(wǎng)絡(luò)入侵檢測(cè)問(wèn)題看成是一種二分類問(wèn)題,能有效檢測(cè)出系統(tǒng)實(shí)時(shí)交互中的異常數(shù)據(jù);文獻(xiàn)[8]模擬了電力工控系統(tǒng)三種潛在的惡意攻擊場(chǎng)景,分別采用神經(jīng)網(wǎng)絡(luò)訓(xùn)練了對(duì)應(yīng)的檢測(cè)模型,且依靠關(guān)聯(lián)規(guī)則實(shí)現(xiàn)了對(duì)特定攻擊場(chǎng)景的差異化辨識(shí)。文獻(xiàn)[9]基于互信息選取攻擊特征再使用集成多個(gè)SVM(支持向量機(jī))的分類器對(duì)電力信息網(wǎng)絡(luò)不同類型的惡意攻擊行為進(jìn)行了檢測(cè)識(shí)別。由于實(shí)施惡意攻擊實(shí)驗(yàn)的復(fù)雜性,往往可獲取的數(shù)據(jù)量有限,且無(wú)法覆蓋所有典型的攻擊類別,因而上述研究中檢測(cè)的準(zhǔn)確率和泛化能力均存在較大的提升空間。
基于上述分析可知,將入侵檢測(cè)應(yīng)用于實(shí)際的電力工控系統(tǒng)時(shí)會(huì)存在兩大難點(diǎn):一是完全基于公共數(shù)據(jù)集訓(xùn)練的入侵檢測(cè)模型并不完全切合電力工控系統(tǒng)的實(shí)際環(huán)境;二是在實(shí)際環(huán)境下可獲取的惡意攻擊數(shù)據(jù)往往是不充分、樣本量較小的,由此訓(xùn)練的入侵檢測(cè)模型往往泛化能力較差且有大概率對(duì)未知類型的惡意攻擊失效。
因此,本文提出一種基于特征抽取的電力工控系統(tǒng)入侵檢測(cè)方法,該方法通過(guò)堆疊稀疏自編碼器抽取入侵?jǐn)?shù)據(jù)的抽象特征,再基于SVM 分類器實(shí)現(xiàn)入侵檢測(cè)。在訓(xùn)練過(guò)程中該方法采用遷移學(xué)習(xí)策略將從公共數(shù)據(jù)集中習(xí)得的特征抽取能力遷移至電力工控系統(tǒng)的具體環(huán)境,改善了數(shù)據(jù)量不足的問(wèn)題,從而增強(qiáng)了面向?qū)嶋H環(huán)境時(shí)入侵檢測(cè)模型的泛化能力,提升了對(duì)惡意攻擊的辨識(shí)準(zhǔn)確率。
深度學(xué)習(xí)的效果依賴于數(shù)據(jù)資源的質(zhì)量,而在某些實(shí)際應(yīng)用場(chǎng)景下由于安全、隱私等因素很難獲得足夠充分的訓(xùn)練數(shù)據(jù),這將削弱模型的泛化能力。而通過(guò)遷移學(xué)習(xí)的策略,可以在此類數(shù)據(jù)資源匱乏的情況下提升模型的質(zhì)量[10]。
遷移學(xué)習(xí)涉及到兩個(gè)基本的概念:源域和目標(biāo)域。其中,源域是指具有大量且充分的訓(xùn)練數(shù)據(jù)的領(lǐng)域,源域?qū)?yīng)任務(wù)稱為源任務(wù);而目標(biāo)域則是缺少數(shù)據(jù)資源的領(lǐng)域,且目標(biāo)任務(wù)是最終需要被實(shí)現(xiàn)的任務(wù)。遷移學(xué)習(xí)的過(guò)程就是將源域內(nèi)有價(jià)值的知識(shí)遷移至目標(biāo)域,求解目標(biāo)域中目標(biāo)預(yù)測(cè)函數(shù),即建立目標(biāo)域模型以完成目標(biāo)任務(wù)。因此,遷移學(xué)習(xí)的優(yōu)點(diǎn)是利用已有的數(shù)據(jù)資源,解決相關(guān)情境下的類似問(wèn)題,從而實(shí)現(xiàn)知識(shí)的領(lǐng)域自適應(yīng)。
預(yù)訓(xùn)練與微調(diào)是經(jīng)典的遷移學(xué)習(xí)方法[11],其一般包含三步:
(1)基于源域數(shù)據(jù)集訓(xùn)練源模型,以完成源任務(wù)。
(2)將源模型內(nèi)的部分參數(shù)凍結(jié)并遷移至目標(biāo)域模型中,對(duì)目標(biāo)域模型的剩余參數(shù)隨機(jī)初始化。
(3)基于目標(biāo)域數(shù)據(jù)集訓(xùn)練目標(biāo)域模型,在訓(xùn)練過(guò)程中對(duì)遷移的參數(shù)進(jìn)行微調(diào),對(duì)隨機(jī)初始化的參數(shù)進(jìn)行再訓(xùn)練,最終適應(yīng)目標(biāo)任務(wù)。
預(yù)訓(xùn)練旨在通過(guò)海量的源域數(shù)據(jù)資源訓(xùn)練源模型的特征抽取能力,再通過(guò)參數(shù)遷移使目標(biāo)模型獲得這種能力;而微調(diào)基于目標(biāo)域內(nèi)較少的數(shù)據(jù)資源對(duì)目標(biāo)模型進(jìn)行小范圍的調(diào)整,以針對(duì)性地適應(yīng)新的目標(biāo)任務(wù)。
預(yù)訓(xùn)練-微調(diào)方法的核心是通過(guò)參數(shù)遷移使得目標(biāo)域模型獲得泛化能力足夠優(yōu)秀的特征抽取能力[12]。SAE(稀疏自編碼器)被看成是一類具有特征抽取能力的特殊神經(jīng)網(wǎng)絡(luò),可以被應(yīng)用于遷移學(xué)習(xí)中[13]。稀疏自編碼器的輸出層被設(shè)計(jì)為盡可能地對(duì)輸入數(shù)據(jù)進(jìn)行重構(gòu),如圖1 所示,即=xi,從而使得隱藏層較低維度的神經(jīng)元能夠代替高維的輸入層神經(jīng)元,實(shí)現(xiàn)特征的壓縮與抽取。
圖1 稀疏自編碼器
稀疏自編碼器以優(yōu)化損失函數(shù)J 為目標(biāo),通過(guò)反向傳播算法尋找權(quán)重矩陣W∈RK×N,V∈RN×K以及偏置向量b1∈RK×1,b2∈RN×1的最優(yōu)解:
式中:第一項(xiàng)為重構(gòu)項(xiàng),其實(shí)質(zhì)上是輸入數(shù)據(jù)與輸出數(shù)據(jù)間的均方誤差;第二項(xiàng)是以λ 為參數(shù)的權(quán)重及偏置衰減項(xiàng),其實(shí)質(zhì)是權(quán)重矩陣和偏置向量L2 范數(shù)的正則化,權(quán)重及偏置衰減項(xiàng)能有效降低訓(xùn)練中可能會(huì)出現(xiàn)的過(guò)擬合;最后一項(xiàng)是以β 為參數(shù)的稀疏懲罰因子,該項(xiàng)將約束條件置于隱藏層以維持其較低的平均活躍度,稀疏懲罰因子以KL 散度的形式表示[14]:
當(dāng)求解獲得參數(shù)W 和b1的最優(yōu)值后,即獲得了對(duì)輸入數(shù)據(jù)的特征抽取hW,b(x)。
NSL-KDD 標(biāo)準(zhǔn)數(shù)據(jù)集是網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域常用的數(shù)據(jù)集,其涵蓋了四大網(wǎng)絡(luò)惡意攻擊類別:
(1)DOS:拒絕服務(wù)攻擊。
(2)Probe:黑客掃描漏洞以確定漏洞。
(3)U2R:遠(yuǎn)程黑客試圖獲得本地用戶權(quán)限。
(4)R2L:黑客以普通用戶的身份運(yùn)行并利用漏洞[15]。
NSL-KDD 數(shù)據(jù)集包含數(shù)據(jù)量龐大且?guī)?biāo)簽的網(wǎng)絡(luò)流量記錄,每條記錄的特征包括連接持續(xù)時(shí)間、協(xié)議類型、目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型、交換數(shù)據(jù)字節(jié)數(shù)等;標(biāo)簽分為正常情況以及四大類網(wǎng)絡(luò)攻擊模式下的23 種具體攻擊形式[16]。由于NSL-KDD 數(shù)據(jù)集資源充足,因此可以將其作為源域數(shù)據(jù)集。
對(duì)于目標(biāo)域即電力工控系統(tǒng)環(huán)境而言,目前尚無(wú)針對(duì)此收集的網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)集,相關(guān)研究所用數(shù)據(jù)一般由網(wǎng)絡(luò)攻擊機(jī)向電力工控仿真系統(tǒng)發(fā)起惡意攻擊,再通過(guò)抓取系統(tǒng)實(shí)時(shí)交互的數(shù)據(jù)包獲得[6-7]??紤]到電力工控系統(tǒng)數(shù)據(jù)交互的特點(diǎn),在目標(biāo)域中還可能存在分布式數(shù)據(jù)篡改與偽造控制指令兩類尚未包含在NSL-KDD 數(shù)據(jù)集中的惡意攻擊類型。所謂分布式數(shù)據(jù)篡改主要是針對(duì)用戶側(cè)分布式的網(wǎng)荷互動(dòng)終端,通過(guò)篡改其上傳的數(shù)據(jù),使系統(tǒng)發(fā)生誤判而引起一系列事故;而偽造控制指令攻擊主要是捕獲網(wǎng)荷互動(dòng)終端的報(bào)文,對(duì)其進(jìn)行解析,獲取控制指令,進(jìn)而篡改指令,使終端拒動(dòng)或誤動(dòng),引發(fā)事故。
目標(biāo)域與源域數(shù)據(jù)數(shù)據(jù)記錄中存在數(shù)值型與字符型兩類特征屬性。因此,需要對(duì)源域與目標(biāo)域異構(gòu)的數(shù)據(jù)記錄進(jìn)行預(yù)處理。在對(duì)源域與目標(biāo)域特征屬性進(jìn)篩選后,采用向高維空間映射的方法進(jìn)行字符型特征的數(shù)值化處理,字符型特征協(xié)議標(biāo)識(shí)符含有3 種類型:tcp,udp 和icmp,將其分別映射成[1,0,0],[0,1,0]和[0,0,1]。其余的字符型特征包括業(yè)務(wù)標(biāo)識(shí)符、功能碼等均通過(guò)此方式進(jìn)行數(shù)值化,將原本的數(shù)據(jù)特征拓展至高維。接著,對(duì)于數(shù)值型特征進(jìn)行歸一化處理以消除各特征之間量綱不統(tǒng)一造成的影響。
SSAE(堆疊稀疏自編碼器)是稀疏自編碼器深度化的擴(kuò)展模式,深度神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)在于其能逐層學(xué)習(xí)原始輸入數(shù)據(jù)的多種特征表達(dá)方式,且每一層都以上一層的特征表達(dá)為基礎(chǔ),逐層更為抽象[17]。由1.2 節(jié)可知,單個(gè)稀疏自編碼器通過(guò)構(gòu)造輸入層—隱藏層—輸出層的三層網(wǎng)絡(luò)(型如)并在此基礎(chǔ)上經(jīng)訓(xùn)練對(duì)輸入數(shù)據(jù)進(jìn)行重構(gòu)以獲得隱藏層激活值,從而抽取出輸入數(shù)據(jù)x的特征表達(dá)h,其中向量x 和的長(zhǎng)度為m,向量h 的長(zhǎng)度為n(n<m)。如圖2 所示,在堆疊稀疏自編碼器的結(jié)構(gòu)中多個(gè)稀疏自編碼器依次串聯(lián),上一層抽取的特征表達(dá)將作為下一層的輸入。
圖2 堆疊自稀疏編碼器結(jié)構(gòu)
堆疊稀疏自編碼器的訓(xùn)練過(guò)程與普通的深度神經(jīng)網(wǎng)絡(luò)不同,其各層神經(jīng)網(wǎng)絡(luò)的權(quán)重與偏置參數(shù)并非通過(guò)反向傳播算法一并優(yōu)化訓(xùn)練完成,而是采用逐層非監(jiān)督訓(xùn)練的方式進(jìn)行。首先訓(xùn)練網(wǎng)絡(luò),得到第一個(gè)稀疏自編碼器的隱藏層激活值h1,再訓(xùn)練網(wǎng)絡(luò)h1→h2→h1,得到第二個(gè)稀疏自編碼器的隱藏層激活值h2,以此類推,最終訓(xùn)練得到h1至hn并以此作為由堆疊稀疏自編碼器抽取出的特征表達(dá)。
結(jié)合堆疊稀疏自編碼器與遷移學(xué)習(xí)策略,本文構(gòu)建的入侵檢測(cè)模型及其訓(xùn)練過(guò)程見(jiàn)圖3。
由圖3 可知,模型訓(xùn)練所用的數(shù)據(jù)來(lái)自于源域與目標(biāo)域,其數(shù)據(jù)資源分別對(duì)應(yīng)NSL-KDD 數(shù)據(jù)集和經(jīng)由電力工控仿真系統(tǒng)采集的實(shí)驗(yàn)數(shù)據(jù)。源域所需執(zhí)行的任務(wù)是通過(guò)對(duì)NSL-KDD 數(shù)據(jù)集內(nèi)海量數(shù)據(jù)資源的無(wú)監(jiān)督訓(xùn)練習(xí)得對(duì)網(wǎng)絡(luò)惡意攻擊的特征抽取能力。因此,在源域內(nèi)構(gòu)建深度為的堆疊稀疏自編碼器,并連接與輸入層同維度的神經(jīng)網(wǎng)絡(luò)層作為輸出,通過(guò)逐層非監(jiān)督預(yù)訓(xùn)練的方式訓(xùn)練各層參數(shù),當(dāng)模型收斂后堆疊稀疏自編碼器各隱藏層神經(jīng)元激活值即為對(duì)網(wǎng)絡(luò)惡意攻擊數(shù)據(jù)記錄不同抽象程度的特征表達(dá)。
圖3 入侵檢測(cè)模型及其訓(xùn)練過(guò)程
目標(biāo)域內(nèi)所需執(zhí)行的任務(wù)是訓(xùn)練適用于電力工控系統(tǒng)的入侵檢測(cè)模型。在目標(biāo)域內(nèi)構(gòu)建檢測(cè)模型,其以兩個(gè)串聯(lián)的堆疊稀疏自編碼器作為隱藏層,并以SVM 分類器作為輸出層。在模型初始化的過(guò)程中,將源域內(nèi)前層的神經(jīng)網(wǎng)絡(luò)參數(shù)遷移至目標(biāo)域堆疊稀疏自編碼器B(SSAE-B),再對(duì)堆疊稀疏自編碼器T(SSAE-T)以及SVM 分類器的參數(shù)進(jìn)行隨機(jī)初始化。在訓(xùn)練時(shí),應(yīng)以較低的學(xué)習(xí)率對(duì)SSAE-B 的參數(shù)進(jìn)行微調(diào)以保持模型的特征抽取能力;而應(yīng)將主要的計(jì)算資源用于對(duì)SSAE-T 以及SVM 分類器的參數(shù)進(jìn)行訓(xùn)練,從而使模型更適用于實(shí)際電力工控系統(tǒng)的入侵檢測(cè)任務(wù)。
為了評(píng)價(jià)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的檢測(cè)的效果,采用的評(píng)價(jià)指標(biāo)包括精確率PR、召回率RE和誤報(bào)率FAR。精確率表示所有被檢測(cè)為惡意攻擊的樣本中實(shí)際發(fā)生的樣本的占比,其衡量網(wǎng)絡(luò)入侵檢測(cè)模型能否檢測(cè)準(zhǔn)確的能力;召回率表示檢測(cè)為惡意攻擊的樣本數(shù)占所有實(shí)際惡意攻擊樣本總數(shù)的比例,其衡量網(wǎng)絡(luò)入侵檢測(cè)模型能否檢測(cè)全面的能力;誤報(bào)率表示被錯(cuò)誤檢測(cè)為惡意攻擊的樣本占所有正常樣本的比例,其衡量網(wǎng)絡(luò)入侵檢測(cè)模型犯錯(cuò)的概率。各指標(biāo)的計(jì)算方法分別如式(4)—(6)所示:
式中:TP為被正確檢測(cè)出的惡意攻擊數(shù);FP為被錯(cuò)誤檢測(cè)的惡意攻擊數(shù);FN則對(duì)應(yīng)未被系統(tǒng)檢測(cè)出的惡意入侵,出于安全穩(wěn)定的因素考慮,與FN有關(guān)的指標(biāo)是入侵檢測(cè)系統(tǒng)更為關(guān)心的。
本文用于訓(xùn)練模型的網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)來(lái)自源域和目標(biāo)域,其中源域數(shù)據(jù)來(lái)自NSL-KDD 數(shù)據(jù)集的子數(shù)據(jù)集KDDTrain+,而目標(biāo)域數(shù)據(jù)集則通過(guò)構(gòu)建網(wǎng)絡(luò)入侵仿真試驗(yàn)平臺(tái)進(jìn)行采集。
用于模擬網(wǎng)絡(luò)攻擊的仿真試驗(yàn)平臺(tái)由網(wǎng)絡(luò)仿真技術(shù)軟件OPNET、網(wǎng)絡(luò)通信仿真系統(tǒng)、電力工控系統(tǒng)OPAL-RT、路由器、網(wǎng)絡(luò)攻擊機(jī)、流量監(jiān)測(cè)軟件組成的。網(wǎng)絡(luò)通信仿真系統(tǒng)與電力工控系統(tǒng)通過(guò)路由器相連,而網(wǎng)絡(luò)攻擊機(jī)則直接接入路由器向電力工控系統(tǒng)發(fā)起攻擊;由流量監(jiān)測(cè)軟件snort 運(yùn)行于數(shù)據(jù)包記錄模式抓取系統(tǒng)實(shí)時(shí)交互的數(shù)據(jù)包至硬盤,再通過(guò)與網(wǎng)絡(luò)攻擊機(jī)時(shí)戳對(duì)齊的方式獲取帶標(biāo)簽的目標(biāo)域數(shù)據(jù)集。網(wǎng)絡(luò)攻擊機(jī)發(fā)起的惡意入侵不僅涵蓋了NSL-KDD 數(shù)據(jù)集中的四大類攻擊類型還包括了電力工控系統(tǒng)環(huán)境特有的分布式數(shù)據(jù)篡改與偽造控制指令兩類攻擊類型。實(shí)驗(yàn)將目標(biāo)域數(shù)據(jù)集劃分為訓(xùn)練集與測(cè)試集兩部分,各數(shù)據(jù)集的構(gòu)成情況如表1 所示。
表1 源域與目標(biāo)域數(shù)據(jù)集記錄分布 條
采用型號(hào)為Intel i5-8550 2.6GHz,16G RAM的計(jì)算機(jī)訓(xùn)練適用于電力工控系統(tǒng)入侵檢測(cè)模型,該模型基于Tensorflow 和Keras 搭建。
首先基于源域數(shù)據(jù)集對(duì)堆疊稀疏自編碼器進(jìn)行無(wú)監(jiān)督訓(xùn)練,使其獲得對(duì)數(shù)據(jù)樣本的特征抽取能力。接著將源域模型前3 層的神經(jīng)網(wǎng)絡(luò)參數(shù)遷移至目標(biāo)域SSAE-B,再基于目標(biāo)域訓(xùn)練集對(duì)SSAE-T 和SVM 分類器進(jìn)行有監(jiān)督訓(xùn)練,在訓(xùn)練過(guò)程中以較低的學(xué)習(xí)率對(duì)SSAE-B 經(jīng)遷移獲得的參數(shù)進(jìn)行微調(diào),最終獲得在訓(xùn)練過(guò)程中引入遷移學(xué)習(xí)策略的入侵檢測(cè)模型TL-IDS。模型參數(shù)以及訓(xùn)練過(guò)程中的參數(shù)設(shè)置如表2 所示。入侵檢測(cè)模型的訓(xùn)練結(jié)果如圖4 所示。
表2 入侵檢測(cè)模型中堆疊自編碼器結(jié)構(gòu)的參數(shù)設(shè)置
圖4 入侵檢測(cè)模型的訓(xùn)練結(jié)果
為了評(píng)估在訓(xùn)練過(guò)程中引入的遷移學(xué)習(xí)策略對(duì)提升電力工控系統(tǒng)環(huán)境下入侵檢測(cè)系統(tǒng)檢測(cè)能力的整體效果,算例將在略去遷移學(xué)習(xí)策略的情況下基于目標(biāo)域訓(xùn)練集直接訓(xùn)練與TL-IDS 模型在結(jié)構(gòu)上保持一致的NTL-IDS 模型,并將兩模型基于相同的目標(biāo)域測(cè)試集進(jìn)行比對(duì)測(cè)試,如表3 所示。
表3 入侵檢測(cè)模型在訓(xùn)練與測(cè)試集上的表現(xiàn) %
由表3 可知,就訓(xùn)練集而言,NTL-IDS 模型與TL-IDS 模型的表現(xiàn)相近,均具有較好的入侵檢測(cè)能力,這說(shuō)明由堆疊稀疏自編碼器和SVM分類器構(gòu)成的入侵檢測(cè)模型結(jié)構(gòu)在訓(xùn)練集上均能收斂。在測(cè)試集上,NTL-IDS 模型的性能較訓(xùn)練集下降,而TL-IDS 模型依然能保持與訓(xùn)練集相似的表現(xiàn),且TL-IDS 模型在精確率與召回率上分別就NTL-IDS 模型提升了10.68%和11.23%,誤報(bào)率下降了8.11%。
對(duì)NTL-IDS 模型與TL-IDS 模型在目標(biāo)域測(cè)試集上進(jìn)一步精細(xì)探究,以評(píng)估對(duì)目標(biāo)域特有惡意攻擊行為的檢測(cè)表現(xiàn),其結(jié)果如表4 所示。
表4 模型對(duì)測(cè)試集上各類惡意攻擊的檢測(cè)表現(xiàn) %
由表4 可知,在目標(biāo)域測(cè)試集上,TL-IDS 模型相比于NTL-IDS 模型而言,對(duì)各類惡意攻擊的檢測(cè)能力均有提升,其中Dat 與Foc 屬于目標(biāo)域獨(dú)有的惡意攻擊類型,其檢測(cè)精確率分別提升31.52%和27.73%,檢測(cè)召回率分別提升25.03%和20.69%,其幅度大于DOS,Probe,U2L 和R2L這4 類源域與目標(biāo)域數(shù)據(jù)集中共有的攻擊類型。
上述結(jié)果說(shuō)明TL-IDS 比NTL-IDS 模型具有更強(qiáng)的泛化能力,源域模型靠近輸入層的神經(jīng)元在源域數(shù)據(jù)集上習(xí)得的特征抽取能力有助于提升目標(biāo)域模型在實(shí)際場(chǎng)景下的入侵檢測(cè)效果,對(duì)目標(biāo)域獨(dú)有的入侵類型提升效果更為明顯。
一般而言,從源域模型遷移的神經(jīng)網(wǎng)絡(luò)層數(shù)是根據(jù)經(jīng)驗(yàn)設(shè)置的,若層數(shù)過(guò)淺有可能導(dǎo)致無(wú)法充分抽取數(shù)據(jù)的深層抽象特征;若層數(shù)過(guò)深則有可能削弱遷移后模型的泛化能力。為了進(jìn)一步分析遷移學(xué)習(xí)策略中堆疊稀疏自編碼器特征抽取的抽象程度對(duì)提升檢測(cè)能力效果的影響,算例將在保持TL-IDS 模型整體深度的條件下,調(diào)整從源域遷移至SSAE-B 的網(wǎng)絡(luò)層數(shù),并在目標(biāo)域測(cè)試集上進(jìn)行多次試驗(yàn),得到的結(jié)果如圖5 所示。
由圖5 可知,當(dāng)僅遷移1 層神經(jīng)網(wǎng)絡(luò)參數(shù)至目標(biāo)域檢測(cè)模型時(shí),各指標(biāo)與未引入遷移學(xué)習(xí)策略時(shí)模型的表現(xiàn)(見(jiàn)表3)接近,此時(shí)從源域抽取的數(shù)據(jù)特征較為具象,對(duì)檢測(cè)結(jié)果并無(wú)顯著提高;隨著參數(shù)遷移的神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,模型的檢測(cè)性能逐步提高,當(dāng)遷移3-4 層神經(jīng)元參數(shù)時(shí),模型檢測(cè)結(jié)果在三個(gè)評(píng)價(jià)指標(biāo)上均有較顯著的提升,該結(jié)果表明從源域遷移更為抽象的數(shù)據(jù)特征有助于提升模型的泛化能力;但當(dāng)遷移的神經(jīng)網(wǎng)絡(luò)層數(shù)增加至5 時(shí),各指標(biāo)出現(xiàn)了較大程度的下降,這是因?yàn)樵谏疃炔蛔兊臈l件下,此時(shí)遷移的數(shù)據(jù)特征過(guò)于抽象而可用于目標(biāo)域分類的神經(jīng)網(wǎng)絡(luò)層數(shù)過(guò)少,影響了模型在惡意攻擊分類上的訓(xùn)練效果。
圖5 遷移不同層數(shù)的神經(jīng)網(wǎng)絡(luò)時(shí)模型的檢測(cè)結(jié)果
最后,比較TL-IDS 模型與NTL-IDS 模型在模型訓(xùn)練階段與測(cè)試階段所占用的時(shí)間,以評(píng)估其在兩階段的效率。圖6 表明兩模型在訓(xùn)練階段基于相同的目標(biāo)域測(cè)試集數(shù)據(jù)對(duì)于總計(jì)100 個(gè)訓(xùn)練周期的平均訓(xùn)練時(shí)間以及兩模型基于相同目標(biāo)域測(cè)試集的測(cè)試時(shí)間。
圖6 模型訓(xùn)練及測(cè)試所耗時(shí)間
就訓(xùn)練階段而言,TL-IDS 模型的平均訓(xùn)練時(shí)間為43.6 s,而NTL-IDS 模型為73.2 s。這是由于TL-IDS 模型在基于目標(biāo)域訓(xùn)練集進(jìn)行訓(xùn)練前已通過(guò)遷移學(xué)習(xí)策略進(jìn)行了參數(shù)遷移,模型無(wú)需從零初始化學(xué)習(xí)樣本特征,因此即使其以更低的學(xué)習(xí)率進(jìn)行訓(xùn)練,其平均訓(xùn)練時(shí)間也遠(yuǎn)小于直接基于目標(biāo)域訓(xùn)練集進(jìn)行訓(xùn)練的NTL-IDS 模型。而對(duì)于測(cè)試階段,由于兩模型結(jié)構(gòu)設(shè)計(jì)相同即擁有相同的參數(shù)個(gè)數(shù),因此其測(cè)試時(shí)間接近。
現(xiàn)有的基于機(jī)器學(xué)習(xí)算法、深度學(xué)習(xí)模型開(kāi)發(fā)的入侵檢測(cè)模型應(yīng)用于實(shí)際的電力工控環(huán)境時(shí)會(huì)存在兩大難點(diǎn):一是模型對(duì)實(shí)際環(huán)境的可移植性差;二是缺少實(shí)際環(huán)境下可用于訓(xùn)練數(shù)據(jù)樣本。針對(duì)此,本文提出一種特征抽取的電力工控系統(tǒng)入侵檢測(cè)模型并在其訓(xùn)練過(guò)程中引入遷移學(xué)習(xí)策略。算例對(duì)比了引入遷移學(xué)習(xí)策略前后入侵檢測(cè)模型對(duì)于電力工控環(huán)境下測(cè)試數(shù)據(jù)的檢測(cè)效果,得到結(jié)論如下:
(1)利用堆疊稀疏自編碼器從海量公共數(shù)據(jù)集中抽取數(shù)據(jù)的抽象特征并在訓(xùn)練過(guò)程中引入遷移學(xué)習(xí)策略,有助于提升實(shí)際環(huán)境數(shù)據(jù)不足情況下入侵檢測(cè)模型的表現(xiàn),對(duì)于實(shí)際環(huán)境下特有的惡意入侵類型效果更為顯著。
(2)增加遷移的源域隱藏層神經(jīng)網(wǎng)絡(luò)深度,抽取更抽象的數(shù)據(jù)特征有利于提升目標(biāo)域檢測(cè)模型的泛化能力。
(3)引入遷移學(xué)習(xí)策略獲得的模型對(duì)于目標(biāo)域測(cè)試集有更高的訓(xùn)練效率,因此該訓(xùn)練方法更適用于實(shí)際的入侵檢測(cè)環(huán)境。