宗學(xué)軍 金 瓊 李鵬程
(沈陽化工大學(xué)信息工程學(xué)院 遼寧 沈陽 110142)
在信息化和工業(yè)化的深度融合過程中,工業(yè)控制系統(tǒng)(Industrial Control System, ICS)的發(fā)展呈現(xiàn)出開放的趨勢(shì),逐漸地使用標(biāo)準(zhǔn)化的網(wǎng)絡(luò)協(xié)議和公開透明的應(yīng)用軟件,甚至打破傳統(tǒng)的局域網(wǎng)內(nèi)部控制與企業(yè)網(wǎng)絡(luò)互聯(lián),因此ICS面臨的安全形勢(shì)越來越嚴(yán)峻[1]。2010 年“震網(wǎng)”病毒的爆發(fā)讓全球意識(shí)到ICS已成為黑客的主要目標(biāo),由2014年10月韓國核電站病毒、2015年12月烏克蘭電網(wǎng)斷電、2016年3月德國核電站病毒等工業(yè)安全事件的發(fā)生可以看出ICN安全問題日益突出[2]。
入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)是一種對(duì)網(wǎng)絡(luò)傳輸數(shù)據(jù)實(shí)時(shí)監(jiān)視,并對(duì)數(shù)據(jù)進(jìn)行識(shí)別和預(yù)警的網(wǎng)絡(luò)安全防護(hù)技術(shù)[3]。通過機(jī)器學(xué)[4]和深度學(xué)習(xí)[5]建立入侵檢測(cè)模型,用于快速有效區(qū)分正常流量和攻擊行為,對(duì)攻擊行為進(jìn)行預(yù)警。隨著傳統(tǒng)工業(yè)轉(zhuǎn)型升級(jí),網(wǎng)絡(luò)安全威脅日益向工業(yè)領(lǐng)域蔓延,工業(yè)入侵檢測(cè)[6]逐漸成為ICN安全的研究熱點(diǎn)。
在工業(yè)入侵檢測(cè)算法方面的研究中,文獻(xiàn)[7]將單類SVM算法應(yīng)用到Modbus TCP/IP協(xié)議下的異常檢測(cè)中,但是文中尚未解決多分類問題,大數(shù)據(jù)樣本實(shí)施難度也比較大;文獻(xiàn)[8]將KNN算法應(yīng)用于工業(yè)控制系統(tǒng)中間人攻擊檢測(cè)中,但是當(dāng)數(shù)據(jù)維度高、樣本不平衡時(shí),檢測(cè)效果比較差;文獻(xiàn)[9]對(duì)6種機(jī)器學(xué)習(xí)算法進(jìn)行對(duì)比,結(jié)果表明決策樹算法表現(xiàn)最好,但是對(duì)某些攻擊類別召回率偏低的問題仍未解決;文獻(xiàn)[10]使用borderline-SMOTE算法解決了數(shù)據(jù)不平衡的問題,在小樣本數(shù)據(jù)條件下檢測(cè)效果很好,但是未在其他數(shù)據(jù)集上驗(yàn)證方法的可行性;文獻(xiàn)[11]將自動(dòng)編碼器應(yīng)用于特征提取,但是檢測(cè)效果相對(duì)其他研究而言還有一些不足。
通過上述分析可知,ICN數(shù)據(jù)中存在著攻擊樣本不平衡、樣本特征維度高的問題,這些問題都會(huì)影響檢測(cè)效果。樣本不平衡導(dǎo)致訓(xùn)練的模型偏向多數(shù)類,忽視少數(shù)類,對(duì)少數(shù)類別的檢測(cè)效果較差;特征維度高導(dǎo)致模型提取重要特征的難度變大,使得整體的檢測(cè)效果較差。在入侵檢測(cè)領(lǐng)域中,傳統(tǒng)的機(jī)器學(xué)習(xí)模型雖然已經(jīng)做出巨大貢獻(xiàn),但是檢測(cè)效果還有很多不足。相比之下,當(dāng)前的深度學(xué)習(xí)模型雖然也沒有很好地解決上述問題,但是它具有更強(qiáng)的學(xué)習(xí)能力,也能夠達(dá)到更好的檢測(cè)效果。
目前,深度學(xué)習(xí)廣泛應(yīng)用在語音處理、計(jì)算機(jī)視覺、自然語言處理等領(lǐng)域,近幾年來也逐漸應(yīng)用在入侵檢測(cè)領(lǐng)域。在計(jì)算機(jī)視覺領(lǐng)域中,生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)被應(yīng)用在圖像識(shí)別[12]、圖像生成[13]等方面。通過利用GAN圖像生成的能力來進(jìn)行攻擊樣本數(shù)據(jù)生成,可以解決樣本不平衡的問題。稀疏自編碼器(Sparse Auto-Encoder,SAE)被應(yīng)用在圖像分類[14]、特征提取[15]等方面。同樣,通過利用SAE特征提取的能力來進(jìn)行數(shù)據(jù)降維,可以解決樣本特征維度高的問題。在本文入侵檢測(cè)算法的研究過程中,為了能夠取得更好的檢測(cè)效果,首先使用GAN的變體結(jié)構(gòu)ACGAN,半監(jiān)督學(xué)習(xí)的ACGAN與無監(jiān)督學(xué)習(xí)的GAN相比,ACGAN優(yōu)勢(shì)在于可以通過向輸入中增加標(biāo)簽信息不斷調(diào)節(jié)生成的數(shù)據(jù)類別,對(duì)不平衡樣本的數(shù)據(jù)增強(qiáng)效果更好;其次使用SAE的改進(jìn)結(jié)構(gòu)BN-SSAE,通過改變內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)提高特征學(xué)習(xí)的能力,對(duì)特征維度高樣本的特征提取效果更好。因此,本文提出ACGAN與BN-SSAE相結(jié)合的方法,增強(qiáng)工業(yè)入侵檢測(cè)的效果。
本文以ACGAN、BN-SSAE和MLP為基礎(chǔ),建立工業(yè)入侵檢測(cè)模型,如圖1所示。模型主要由數(shù)據(jù)分析及預(yù)處理、數(shù)據(jù)增強(qiáng)、特征提取、分類器組成。模型主要分為四個(gè)模塊,通過模塊化設(shè)計(jì)使模型調(diào)參變得簡(jiǎn)單,同時(shí)模塊之間各司其職,使模型具有良好的擴(kuò)展性和應(yīng)用性。模型的主要工作流程,首先輸入ICN原始數(shù)據(jù),然后經(jīng)過四個(gè)模塊處理,最后輸出檢測(cè)結(jié)果。
圖1 工業(yè)入侵檢測(cè)模型
ICN原始數(shù)據(jù)不能直接用于入侵檢測(cè)研究,在此之前需要對(duì)原始數(shù)據(jù)進(jìn)行分析及預(yù)處理。
假設(shè)ICN原始數(shù)據(jù)Xraw={x1,x2,…,xn,y},其中:{x1,x2,…,xn}表示數(shù)據(jù)n個(gè)特征;y是標(biāo)簽值。
連續(xù)型特征min-max歸一化,即:
(1)
在ICN數(shù)據(jù)中經(jīng)常出現(xiàn)由于某些攻擊類別樣本較少而導(dǎo)致的樣本不平衡問題,這嚴(yán)重影響了模型對(duì)不平衡類別的檢測(cè)能力。本文提出一種ACGAN[16]數(shù)據(jù)增強(qiáng)算法。通過將生成不平衡類別的樣本加到數(shù)據(jù)中,使樣本分布更加合理,提高模型對(duì)少數(shù)類別的檢測(cè)能力。需要注意的是,不能過度地增加樣本,否則會(huì)導(dǎo)致模型過擬合。本文的ACGAN結(jié)構(gòu)如圖2所示。
圖2 ACGAN結(jié)構(gòu)
ACGAN基本網(wǎng)絡(luò)結(jié)構(gòu)由數(shù)據(jù)輸入層、噪聲輸入層、生成器網(wǎng)絡(luò)、判別器網(wǎng)絡(luò)和輸出層構(gòu)成。本文設(shè)計(jì)的ACGAN中生成器網(wǎng)絡(luò)和判別器網(wǎng)絡(luò)都是MLP構(gòu)成,包含輸入層、隱藏層和輸出層,MLP結(jié)構(gòu)簡(jiǎn)單收斂速度快,可以很好地實(shí)現(xiàn)生成器網(wǎng)絡(luò)和判別器網(wǎng)絡(luò)的功能。
h1=f1([z,y′]·w1+b1)
(2)
xfake=f2(h1·w2+b2)
(3)
式中:f1為非線性激活函數(shù)ReLU;f2為非線性激活函數(shù)Sigmoid;w1、w2為權(quán)重矩陣;b1、b2為偏置向量。
將真數(shù)據(jù)xreal與假數(shù)據(jù)xfake輸入判別器D,判別數(shù)據(jù)來源的真假(real或fake)和數(shù)據(jù)類型y1,y2,…,yn。在判別器網(wǎng)絡(luò)中,輸入真數(shù)據(jù)xreal時(shí):
h2=f3(xreal·w3+b3)
(4)
sreal=f4(h2·w4+b4)
(5)
yreal=h2·w5+b5
(6)
輸入假數(shù)據(jù)xfake時(shí):
h3=f3(xfake·w3+b3)
(7)
sfake=f4(h3·w4+b4)
(8)
yreal=h3·w5+b5
(9)
式中:f3為非線性激活函數(shù)ReLU;f4為非線性激活函數(shù)Sigmoid;w3、w4、w5為權(quán)重矩陣;b3、b4、b5為偏置向量。
損失函數(shù)包含真假數(shù)據(jù)來源(S)判別損失和樣本標(biāo)簽(Y)判別損失。真假來源采用對(duì)數(shù)損失函數(shù),如式(10)和式(11)所示;樣本標(biāo)簽采用多分類交叉熵?fù)p失函數(shù),如式(12)和式(13)所示。
L1=-Elog(1-sfake)
(10)
L2=-Elogsreal
(11)
(12)
(13)
生成器G損失函數(shù)為LG=L1+L3;判別器D損失函數(shù)為LD=L1+L2+L3+L4。
生成器G通過對(duì)LG的優(yōu)化,提高“造假能力”,判別器D通過對(duì)LD的優(yōu)化,提高“判別能力”,G和D通過互相博弈,不斷調(diào)節(jié)生成器和判別器網(wǎng)絡(luò)參數(shù),最終達(dá)到一種穩(wěn)定平衡狀態(tài),輸出數(shù)據(jù)X″。
ICN數(shù)據(jù)由于特征維度較高導(dǎo)致提取重要特征難度大,直接影響模型最終檢測(cè)效果。本文提出一種SSAE算法,對(duì)數(shù)據(jù)逐層降維,深層次特征提取,提高模型的檢測(cè)能力。本文設(shè)計(jì)的BN-SSAE由三個(gè)正則化稀疏自編碼器(Batch Normalization Sparse Auto-Encoder,BN-SAE)[17]構(gòu)成,單個(gè)BN-SAE由Input層、Dropout層、Encode層、BatchNormalization(BN)層、Decode層和Output層組成。
n=f(m)=s(m·w+p)
(14)
式中:f是編碼函數(shù);s是非線性激活函數(shù)ReLU;w是權(quán)重矩陣;p是偏置向量。
在BN層中,對(duì)該層的數(shù)據(jù)批歸一化,通過引入可學(xué)習(xí)重構(gòu)參數(shù)λ、γ,加快神經(jīng)網(wǎng)絡(luò)收斂速度,防止梯度消失和爆炸,即:
(15)
在Decode層中:
(16)
式中:g是解碼函數(shù);s是非線性激活函數(shù)ReLU;wT是Encode層w權(quán)重矩陣的轉(zhuǎn)置;q是偏置向量。
單個(gè)BN-SAE代價(jià)函數(shù)包括重構(gòu)損失和稀疏損失,即:
JBN-SAE(θ)=JMSE(θ)+Jsparse(θ)
(17)
重構(gòu)損失采用均方差損失函數(shù),即:
(18)
(19)
單個(gè)BN-SAE的代價(jià)函數(shù)為:
(20)
式中:β為權(quán)重系數(shù),用來控制稀疏約束項(xiàng)。
單個(gè)BN-SAE的特征提取能力不足,表達(dá)能力有限。為了使模型的學(xué)習(xí)能力更強(qiáng),將三個(gè)BN-SAE上下級(jí)聯(lián)形成棧式結(jié)構(gòu),棧式BN-SAE結(jié)構(gòu)如圖3所示。采用逐層貪婪法進(jìn)行無監(jiān)督預(yù)訓(xùn)練,保存預(yù)訓(xùn)練過程中三個(gè)BN-SAE中BN層和Encode層權(quán)重矩陣,將權(quán)重矩陣傳遞給重新構(gòu)建的BN-SSAE結(jié)構(gòu)如圖4所示,再對(duì)BN-SSAE整體參數(shù)進(jìn)行微調(diào),得到最佳結(jié)構(gòu)。通過對(duì)三個(gè)BN-SAE代價(jià)函數(shù)的優(yōu)化來實(shí)現(xiàn)對(duì)整個(gè)BN-SSAE的優(yōu)化。
圖3 棧式BN-SAE結(jié)構(gòu)
圖4 BN-SSAE結(jié)構(gòu)
y=fdence(Wdence·n+bdence)
(21)
(22)
式中:Wdence為全連接層權(quán)重矩陣;bdence為偏置向量;fdence為非線性激活函數(shù)ReLU;yi為全連接輸出特征的第i維;P(yi)為預(yù)測(cè)類別i的概率,0≤P(yi)≤1。
入侵檢測(cè)模型的評(píng)價(jià)指標(biāo)主要有模型的準(zhǔn)確率(Accuracy,ACC)、漏報(bào)率(FNR)和誤報(bào)率(FPR),以及各個(gè)類別的精確率(Precisione,P)、召回率(Recall,R)和F1值(F1-measure),計(jì)算公式如下:
(23)
(24)
(25)
(26)
(27)
(28)
式中:TP表示正確識(shí)別的攻擊類別數(shù)目;FN表示漏報(bào)即未正確識(shí)別攻擊類別的數(shù)目;FP表示誤報(bào)即錯(cuò)誤識(shí)別正常類別的數(shù)目;TN表示正確識(shí)別的正常類別數(shù)目。
使用密西西比州立大學(xué)天然氣管道控制系統(tǒng)數(shù)據(jù)集[18]進(jìn)行實(shí)驗(yàn),數(shù)據(jù)集包括1種正常數(shù)據(jù)和7種攻擊數(shù)據(jù),數(shù)據(jù)集描述如表1所示。
表1 數(shù)據(jù)集描述
數(shù)據(jù)集26個(gè)特征包括4個(gè)離散型特征和22個(gè)連續(xù)型特征。離散型特征包括control_mode、control_scheme、pump、solenoid,對(duì)4個(gè)離散型特征進(jìn)行One-Hot編碼。離散型特征包括command_address、response_address等,對(duì)22個(gè)連續(xù)型特征進(jìn)行min-max歸一化,對(duì)8個(gè)標(biāo)簽值One-Hot編碼。經(jīng)過預(yù)處理以后,特征31維,標(biāo)簽8維。
根據(jù)表1可以看出,該原始數(shù)據(jù)集中存在數(shù)據(jù)不平衡的問題,攻擊樣本MSCI、MFCI的數(shù)量遠(yuǎn)少于其他樣本的數(shù)量,在這種情況下用于訓(xùn)練分類器模型,模型很大程度會(huì)偏向多少類,忽略少數(shù)類,導(dǎo)致模型的泛化能力不強(qiáng)。因此本文使用ACGAN數(shù)據(jù)增強(qiáng)算法對(duì)少數(shù)類樣本進(jìn)行過采樣,多數(shù)類樣本降采樣,生成平衡數(shù)據(jù)集。根據(jù)需求對(duì)生成平衡數(shù)據(jù)集的樣本進(jìn)行隨機(jī)采樣,將生成樣本適當(dāng)?shù)丶尤氲皆紨?shù)據(jù)集,不能過度增加樣本防止模型過擬合。
ACGAN參數(shù)設(shè)置,隨機(jī)初始化噪聲維度noise_dim為100,一次迭代輸入模型的樣本數(shù)目batch_size為1 000,全部樣本訓(xùn)練次數(shù)num_epochs為100,保留神經(jīng)元的概率keep_prob為0.9,初始化學(xué)習(xí)率init_lr為0.001。繪制訓(xùn)練過程中生成器G和判別器D的損失函數(shù)曲線如圖5所示。
圖5 G和D損失函數(shù)
可以看出,生成器G和判別器D通過互相博弈,達(dá)到了一種穩(wěn)定平衡狀態(tài),生成平衡數(shù)據(jù)集如表2所示。在平衡數(shù)據(jù)集中隨機(jī)采樣500個(gè)MSCI和500個(gè)MFCI樣本加入原始數(shù)據(jù)集,ACGAN前后結(jié)果對(duì)比如表3所示。
表2 平衡數(shù)據(jù)集
表3 ACGAN前后對(duì)比
在保證數(shù)據(jù)集中各類樣本比例情況下,將ACGAN前后的數(shù)據(jù)集分別劃分9份作為訓(xùn)練集和1份作為測(cè)試集。
數(shù)據(jù)預(yù)處理以后特征屬性31維、標(biāo)簽值8維。特征維度較高,直接用于分類很可能導(dǎo)致模型檢測(cè)效果較差。尤其在某些數(shù)據(jù)集中,不同的攻擊樣本相似度高,淺層次的特征提取直接導(dǎo)致相似樣本無法被區(qū)分,本文使用BN-SSAE模型進(jìn)行深層次特征提取,對(duì)數(shù)據(jù)降維??梢酝ㄟ^設(shè)置神經(jīng)元數(shù)目unit來確定提取特征的維度,如表4所示。
表4 參數(shù)設(shè)置
將ACGAN前數(shù)據(jù)集劃分的訓(xùn)練集和測(cè)試集,按照上述參數(shù)設(shè)置,開始逐層進(jìn)行無監(jiān)督的預(yù)訓(xùn)練,預(yù)訓(xùn)練過程中三個(gè)BN-SAE損失函數(shù)如圖6所示。
圖6 損失函數(shù)
可以看出,三個(gè)BN-SAE的誤差代價(jià)函數(shù)圖像均收斂于0.1以下,已經(jīng)達(dá)到深層次特征提取的作用。
2.5.1不同的BN-SSAE結(jié)構(gòu)實(shí)驗(yàn)結(jié)果對(duì)比
對(duì)ACGAN前的數(shù)據(jù)集,使用不同的BN-SSAE結(jié)構(gòu)進(jìn)行特征提取,再使用MLP分類器進(jìn)行分類,對(duì)比不同的BN-SSAE結(jié)構(gòu)對(duì)檢測(cè)結(jié)果的影響。
MLP參數(shù)設(shè)置,第一層神經(jīng)元數(shù)目unit為32,激活函數(shù)ReLU;第二層dropout為0.3;第三層神經(jīng)元數(shù)目unit為8,激活函數(shù)Softmax;分類損失函數(shù)categorical_crossentropy,優(yōu)化器函數(shù)optimizer為Adam,初始化學(xué)習(xí)率lr為0.001,一次輸入模型的樣本數(shù)目batch size為500,epoch為100。
BN-SSAE設(shè)置不同神經(jīng)元數(shù)目unit以及稀疏系數(shù)ρ,其他參數(shù)不變。不同SSAE結(jié)構(gòu)和MLP分類器結(jié)合,實(shí)驗(yàn)結(jié)果對(duì)比如表5所示。
表5 不同BN-SSAE模型實(shí)驗(yàn)結(jié)果對(duì)比
上述實(shí)驗(yàn)結(jié)果表明,當(dāng)特征降到14維時(shí),訓(xùn)練集和測(cè)試的ACC都達(dá)到最高。隨著維度變低或變低,模型檢測(cè)結(jié)果都沒有變得更好。因此可以確定最佳BN-SSAE模型結(jié)構(gòu)為[31,20,14],ρ=0.04。
2.5.2ACGAN前后實(shí)驗(yàn)結(jié)果對(duì)比
使用最佳BN-SSAE模型結(jié)構(gòu)和已經(jīng)確定好的MLP參數(shù),對(duì)ACGAN前后的數(shù)據(jù)集進(jìn)行檢測(cè),實(shí)驗(yàn)結(jié)果對(duì)比如表6所示。
表6 ACGAN前后實(shí)驗(yàn)結(jié)果對(duì)比(%)
可以看出,ACGAN后訓(xùn)練集ACC提高0.22百分點(diǎn),測(cè)試集ACC提高0.38百分點(diǎn);誤報(bào)率FPR降低0.471百分點(diǎn),漏報(bào)率FNR降低0.017百分點(diǎn)。ACGAN對(duì)于提高模型的檢測(cè)精度、降低誤報(bào)率和漏報(bào)率效果明顯。ACGAN前后各種樣本類型評(píng)價(jià)指標(biāo)對(duì)比如圖7所示。
圖7 ACGAN前后樣本類型評(píng)價(jià)指標(biāo)對(duì)比
可以看出,MSCI和MFCI在ACGAN后,召回率R和F1值均有所提高,ACGAN對(duì)不平衡樣本具有數(shù)據(jù)增強(qiáng)效果。
2.5.3 不同的機(jī)器學(xué)習(xí)入侵檢測(cè)模型
在入侵檢測(cè)中,比較常用的機(jī)器學(xué)習(xí)算法包括決策樹(Decision Tree,DT)、隨機(jī)森林(Random Forest,RF)、樸素貝葉斯(Naive Bayes,NB)、支持向量機(jī)(Support Vector Machine,SVM)、K最近鄰(K-Nearest Neighbor,KNN)。 使用這些常用算法建立入侵檢測(cè)模型,對(duì)密西西比州立大學(xué)數(shù)據(jù)集進(jìn)行檢測(cè),不同機(jī)器學(xué)習(xí)模型檢測(cè)結(jié)果對(duì)比如表7所示。
表7 檢測(cè)結(jié)果對(duì)比(%)
表8 誤報(bào)率、漏報(bào)率對(duì)比(%)
可以看出,傳統(tǒng)的機(jī)器學(xué)習(xí)模型在檢測(cè)結(jié)果上面相對(duì)本文的深度神經(jīng)網(wǎng)絡(luò)模型還略有不足,KNN表現(xiàn)最好,訓(xùn)練集ACC達(dá)到95.41%,測(cè)試集ACC達(dá)到95.16%。在未進(jìn)行ACGAN數(shù)據(jù)增強(qiáng)的情況下,使用BN-SSAE與MLP結(jié)合對(duì)數(shù)據(jù)集進(jìn)行檢測(cè),檢測(cè)結(jié)果相對(duì)于目前表現(xiàn)最好的機(jī)器學(xué)習(xí)模型,訓(xùn)練集ACC提高3.57百分點(diǎn),測(cè)試集ACC提高3.60百分點(diǎn),這足以證明本文設(shè)計(jì)的BN-SSAE深層次特征提取能非常有效地提高分類器性能。為了能夠展現(xiàn)本文設(shè)計(jì)的入侵檢測(cè)模型的優(yōu)越性,對(duì)模型的多種評(píng)價(jià)指標(biāo)進(jìn)行綜合對(duì)比。以機(jī)器學(xué)習(xí)模型表現(xiàn)最好的KNN為例子與本文模型進(jìn)行對(duì)比,結(jié)果如圖8所示。
圖8 樣本類型評(píng)價(jià)指標(biāo)對(duì)比
可以看出,KNN算法對(duì)NMRI、MSCI和MFCI的檢測(cè)效果不好。MSCI和MFCI兩類主要是由于數(shù)據(jù)不平衡導(dǎo)致召回率R和F1值比較低,NMRI在這里并不能直觀地看出問題所在,但是通過對(duì)原始數(shù)據(jù)進(jìn)行分析以后問題就顯而易見了,因?yàn)镹MRI相對(duì)于其他攻擊類型特征值不明顯,與其他攻擊類型相似,機(jī)器學(xué)習(xí)淺層次的特征提取導(dǎo)致檢測(cè)效果差。相比之下,本文的入侵檢測(cè)模型無論是在不平衡樣本的處理上,還是在特征值不明顯的攻擊樣本的特征提取上,都達(dá)到非常好的效果。
可以看出,KNN算法檢測(cè)結(jié)果的誤報(bào)率FPR、漏報(bào)率FNR都偏高,沒有達(dá)到入侵檢測(cè)的要求。
實(shí)驗(yàn)使用最新公開的加拿大網(wǎng)絡(luò)安全研究所的CICIDS2017入侵檢測(cè)數(shù)據(jù)集[19]驗(yàn)證模型可行性和有效性,數(shù)據(jù)集包括1種正常數(shù)據(jù)和14種最新攻擊數(shù)據(jù),共有84個(gè)特征屬性和1個(gè)標(biāo)簽。攻擊類型包括暴力破解、端口掃描、各類DoS/DDoS、Heartbleed、Web攻擊、滲透和僵尸網(wǎng)絡(luò)等。數(shù)據(jù)集存在樣本高度不平衡的問題,最多類別樣本可達(dá)幾十萬,最少類別樣本僅為11個(gè)。相比于密西西比州立大學(xué)數(shù)據(jù)集,該數(shù)據(jù)集特征屬性更多、攻擊類型更多、樣本更不平衡,使用該數(shù)據(jù)集驗(yàn)證模型更能體現(xiàn)模型性能。
按照本文入侵檢測(cè)模型的實(shí)現(xiàn)步驟,首先對(duì)CICIDS2017數(shù)據(jù)集進(jìn)行分析及預(yù)處理,其次使用ACGAN進(jìn)行數(shù)據(jù)增強(qiáng),然后使用BN-SSAE深層次特征提取,最后通過MLP網(wǎng)絡(luò)輸出檢測(cè)結(jié)果。
ACGAN前后數(shù)據(jù)集對(duì)比如表9所示。
表9 ACGAN前后數(shù)據(jù)集對(duì)比
ACGAN前后實(shí)驗(yàn)結(jié)果對(duì)比如表10所示。
表10 ACGAN前后結(jié)果對(duì)比(%)
可以看出,ACGAN前訓(xùn)練集ACC、測(cè)試集ACC、誤報(bào)率FPR和漏報(bào)率FNR均已經(jīng)達(dá)到入侵檢測(cè)的要求,證明BN-SSAE特征提取的作用非常明顯。ACGAN后訓(xùn)練集ACC提高0.07百分點(diǎn),測(cè)試集ACC提高0.06百分點(diǎn);誤報(bào)率FPR降低0.04百分點(diǎn),漏報(bào)率FNR降低0.09百分點(diǎn),檢測(cè)能力也有小幅度提高,但是在這里ACGAN前后的變化并不明顯,主要是由于該數(shù)據(jù)樣本數(shù)目龐大,實(shí)驗(yàn)過程中也沒有破壞原始的數(shù)據(jù)分布,只是增加少數(shù)不平衡樣本,提高模型對(duì)不平衡樣本的檢測(cè)能力。再對(duì)ACGAN前后各種樣本類型評(píng)價(jià)指標(biāo)進(jìn)行綜合對(duì)比,結(jié)果如圖9所示(其中0-14表示15種類型的標(biāo)簽值)。
圖9 各種樣本類型評(píng)價(jià)指標(biāo)對(duì)比
由圖9可以更明顯地看出,標(biāo)簽值為8、9、13和14的四種攻擊類型在ACGAN后,精確度P、召回率R和F1值都有大幅度提高,ACGAN對(duì)少數(shù)類樣本的數(shù)據(jù)增強(qiáng)效果非常明顯。
針對(duì)日趨嚴(yán)峻的ICN安全問題,本文提出以ACGAN、BN-SSAE和MLP為基礎(chǔ)建立工業(yè)入侵檢測(cè)模型。使用密西西比州立大學(xué)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果表明本文模型相對(duì)于傳統(tǒng)的機(jī)器學(xué)習(xí)模型,對(duì)ICN多種攻擊類別的精確率P、召回率R和F1值都更高,而且模型最終準(zhǔn)確率更高(99.14%),誤報(bào)率更低(0.599%),漏報(bào)率更低(0.583%),多種評(píng)價(jià)指標(biāo)綜合表明本文模型性能較好,符合工業(yè)入侵檢測(cè)的要求。利用加拿大網(wǎng)絡(luò)安全研究所的CICIDS2017數(shù)據(jù)集進(jìn)行驗(yàn)證,該數(shù)據(jù)集相比密西西比州立大學(xué)數(shù)據(jù)集,數(shù)據(jù)維度更高,攻擊類型更多,樣本更不平衡,導(dǎo)致檢測(cè)難度大得多,但是多種評(píng)價(jià)指標(biāo)表明模型仍然有較好的檢測(cè)效果,尤其是對(duì)少數(shù)類樣本的檢測(cè)能力十分優(yōu)秀,這也讓入侵檢測(cè)過程中的少數(shù)類樣本更加具有研究意義,證明該模型在工業(yè)入侵檢測(cè)中具有可行性和有效性。
本文提出ACGAN數(shù)據(jù)增強(qiáng)和BN-SSAE深層次特征提取,解決了在工業(yè)入侵檢測(cè)過程中ICN數(shù)據(jù)存在的問題,提高了工業(yè)入侵檢測(cè)效果,為ICN安全防護(hù)技術(shù)拓寬了研究思路并提供了技術(shù)支撐。