胡向東,盛順利
(1.重慶郵電大學(xué) 自動(dòng)化學(xué)院,重慶 400065;2.重慶郵電大學(xué) 工業(yè)互聯(lián)網(wǎng)學(xué)院,重慶 400065)
隨著互聯(lián)網(wǎng)技術(shù)向傳統(tǒng)工業(yè)控制系統(tǒng)的融合滲透,工業(yè)互聯(lián)網(wǎng)[1-2]正在成長(zhǎng)為全球制造業(yè)發(fā)展的基石,但是工業(yè)互聯(lián)網(wǎng)突破了傳統(tǒng)工業(yè)控制系統(tǒng)相對(duì)封閉可信的物理環(huán)境,使得傳統(tǒng)的互聯(lián)網(wǎng)安全威脅向著工業(yè)控制系統(tǒng)蔓延。近年來,針對(duì)工業(yè)互聯(lián)網(wǎng)系統(tǒng)的網(wǎng)絡(luò)攻擊事件持續(xù)增多,其安全問題已經(jīng)引起了世界各國的高度關(guān)注。入侵檢測(cè)系統(tǒng)[3](intrusion detection system,IDS)是保障工業(yè)互聯(lián)網(wǎng)安全的核心技術(shù)之一,它能夠在采集網(wǎng)絡(luò)節(jié)點(diǎn)流量的同時(shí)對(duì)其進(jìn)行數(shù)據(jù)分析,并在發(fā)現(xiàn)攻擊時(shí)主動(dòng)采取應(yīng)對(duì)措施,是一種自主的、即時(shí)的工業(yè)互聯(lián)網(wǎng)安全入侵防范技術(shù)。
基于深度學(xué)習(xí)在面對(duì)海量數(shù)據(jù)前所具有的良好特征提取能力,近年來,其被廣泛應(yīng)用于入侵檢測(cè)中。M. SALAMA[4]等首次將深度信念網(wǎng)絡(luò)(deep belief network, DBN)運(yùn)用于入侵行為分類技術(shù)中,其表現(xiàn)出了良好的特征提取能力。高妮[5]等充分考慮了DBN對(duì)于海量高維數(shù)據(jù)的特征提取能力,提出了一種基于深度信念網(wǎng)絡(luò)的多類支持向量機(jī)(deep belief network multi-class support vector machine-based, DBN-MSVM)的入侵檢測(cè)防護(hù)模型,該模型不僅大大提高了支持向量機(jī)(support vector machine, SVM)的訓(xùn)練和檢測(cè)效率,還提高了對(duì)海量網(wǎng)絡(luò)數(shù)據(jù)的檢測(cè)準(zhǔn)確率。P. WEI[6]等提出了一種新的聯(lián)合優(yōu)化算法來優(yōu)化DBN的網(wǎng)絡(luò)結(jié)構(gòu),此分類算法將平均檢測(cè)時(shí)間縮短了至少24.69%,分類準(zhǔn)確率最高提高14.80%。汪洋[7]等發(fā)表了一種基于深度序列加權(quán)核極限學(xué)習(xí)(deep belief network weighted order statistic kernel based extreme learning machine, DBN-WOS-KELM)的入侵檢測(cè)算法,該算法可有效解決數(shù)據(jù)分布不平衡的問題并能夠根據(jù)入侵情況實(shí)時(shí)在線更新輸出權(quán)重。YIN C L[8]等提出了一種基于遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)的入侵檢測(cè)防護(hù)模型,此算法在二分類和多分類中,都優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法,但由于RNN不能對(duì)過去的時(shí)間信息進(jìn)行記憶,所以其存在梯度消失的問題。J. KIM[9]等利用基于長(zhǎng)短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)(long short-term memory, LSTM)來完成對(duì)KDD99數(shù)據(jù)集進(jìn)行分類,得到了比較理想的實(shí)驗(yàn)結(jié)果,但其誤報(bào)率仍然較高。雖然當(dāng)前基于深度學(xué)習(xí)的入侵檢測(cè)方法的檢測(cè)性能已經(jīng)大大優(yōu)于基于傳統(tǒng)機(jī)器學(xué)習(xí)的入侵檢測(cè)方法,但其在工業(yè)互聯(lián)網(wǎng)的網(wǎng)絡(luò)入侵中還存在以下不足:①特征提取方面[10]:a.DBN在海量數(shù)據(jù)下有著較強(qiáng)的非線性特征提取能力,但是其沒有學(xué)習(xí)序列特征相關(guān)性的能力;b.雖然LSTM能夠?qū)W習(xí)序列相關(guān)性的能力,但其只能提取單一方向的序列特征,沒有充分考慮到特征前后的影響,且其具有較高的誤報(bào)率。②泛化能力方面[11-12]:a.提前終止(early stopping)雖然方法簡(jiǎn)單,但是因?yàn)樵缭绲赝V沽说^程,所以無法保證代價(jià)函數(shù)盡可能地??;b.L1和L2正則化通過修改代價(jià)函數(shù)來防止模型過擬合進(jìn)而提高模型的泛化性能,計(jì)算較為復(fù)雜且降低了模型的可解釋性。
綜合考慮當(dāng)前工業(yè)互聯(lián)網(wǎng)入侵檢測(cè)方法在特征選擇和泛化能力方面的不足從而導(dǎo)致其檢測(cè)率低、誤報(bào)率較高的問題,本文設(shè)計(jì)出一種融合深度信念網(wǎng)絡(luò)和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(deep belief network Bi-directional long short-term memory,DBN-BiLSTM)的工業(yè)互聯(lián)網(wǎng)入侵檢測(cè)方法,該方法首先在數(shù)據(jù)預(yù)處理中對(duì)原始數(shù)據(jù)疊加了隨機(jī)噪聲,該方法不僅可以提高模型的檢測(cè)準(zhǔn)確率,且由于噪聲起到了平滑作用,進(jìn)而在一定程度上有助于防止網(wǎng)絡(luò)過擬合并提升模型的泛化性能;其次利用DBN的非線性特征提取能力進(jìn)行初步的特征提取,再利用雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bi-directional long short-term memory,BiLSTM)對(duì)2個(gè)方向的長(zhǎng)距離依賴信息進(jìn)行特征提取;由于使用Dropout可降低網(wǎng)絡(luò)復(fù)雜度,所以在網(wǎng)絡(luò)中插入Dropout層防止網(wǎng)絡(luò)過擬合也可提升模型的泛化性能;最后利用softmax分類器識(shí)別入侵行為。本文共設(shè)計(jì)了兩大組實(shí)驗(yàn)來驗(yàn)證所提方法的性能,實(shí)驗(yàn)結(jié)果表明,該方法彌補(bǔ)了傳統(tǒng)方法在特征提取和泛化能力上的不足,進(jìn)而提高了模型的檢測(cè)性能,有著更高的準(zhǔn)確率和較低的誤報(bào)率。
本文提出的工業(yè)互聯(lián)網(wǎng)入侵檢測(cè)方法總體框架見圖1,主要包含3個(gè)模塊:數(shù)據(jù)預(yù)處理、預(yù)訓(xùn)練和權(quán)值微調(diào)、入侵識(shí)別。
1)數(shù)據(jù)預(yù)處理模塊。首先將入侵檢測(cè)數(shù)據(jù)集中的字符型數(shù)據(jù)數(shù)值化,然后對(duì)其疊加隨機(jī)的高斯噪聲,最后對(duì)其標(biāo)準(zhǔn)化和歸一化成統(tǒng)一量綱,便于后期特征的抽取。
2)預(yù)訓(xùn)練和權(quán)值微調(diào)模塊。將預(yù)處理后的標(biāo)準(zhǔn)化數(shù)據(jù)作為整個(gè)DBN-BiLSTM網(wǎng)絡(luò)的輸入,首先利用DBN對(duì)其進(jìn)行初步的特征提取,其輸出作為BiLSTM的輸入,其次利用BiLSTM的雙向特征提取能力,對(duì)數(shù)據(jù)進(jìn)行2個(gè)方向的特征提取,最后利用softmax進(jìn)行分類預(yù)測(cè),利用損失函數(shù)表征其預(yù)測(cè)值與實(shí)際值之間的差異,并通過反向傳播算法進(jìn)行權(quán)值微調(diào)。上述步驟反復(fù)進(jìn)行,直至提取到最優(yōu)的特征表示,至此,就完成了整個(gè)模型的預(yù)訓(xùn)練和權(quán)值微調(diào)。
3)入侵識(shí)別模塊。將測(cè)試集輸入到已訓(xùn)練好的入侵檢測(cè)模型中完成入侵檢測(cè)的分類,輸出分類的混淆矩陣,根據(jù)評(píng)價(jià)指標(biāo)對(duì)模型進(jìn)行性能的評(píng)估。
圖1 基于DBN-BiLSTM的工業(yè)互聯(lián)網(wǎng)入侵檢測(cè)方法總體框架Fig.1 Overall framework of industrial Internet intrusion detection method based on DBN-BiLSTM
DBN-BiLSTM模型主要由數(shù)據(jù)預(yù)處理層、DBN層、BiLSTM層和softmax層構(gòu)成,其模型結(jié)構(gòu)見圖2。
圖2 DBN-BiLSTM的模型結(jié)構(gòu)Fig.2 Model structure of DBN-BiLSTM
1.2.1 數(shù)據(jù)預(yù)處理層
1.2.1.1 數(shù)據(jù)特征分析
在當(dāng)前的入侵檢測(cè)技術(shù)中,絕大部分仍采用的是1998年美國林肯實(shí)驗(yàn)室公布的KDD CUP99數(shù)據(jù)集及其改進(jìn)版NSL-KDD數(shù)據(jù)集,它們?cè)谝欢〞r(shí)期內(nèi)取得了良好的效果,但隨著現(xiàn)代社會(huì)技術(shù)的發(fā)展,網(wǎng)絡(luò)環(huán)境越發(fā)復(fù)雜,工業(yè)互聯(lián)網(wǎng)尤甚,KDD CUP99和NSL-KDD數(shù)據(jù)集已不能完全模擬當(dāng)前工業(yè)互聯(lián)網(wǎng)的攻擊手段。為了更好地模擬當(dāng)前工業(yè)互聯(lián)網(wǎng)的復(fù)雜環(huán)境,提升其入侵檢測(cè)系統(tǒng)的性能,本文首先使用了2014年密西西比州立大學(xué)公開的工控網(wǎng)絡(luò)數(shù)據(jù)集——天然氣管道數(shù)據(jù)集[13](gas pipeline)來模擬其工控環(huán)境,然后又采用了澳大利亞安全實(shí)驗(yàn)室在2015年通過真實(shí)的網(wǎng)絡(luò)環(huán)境所采集并發(fā)布的用于網(wǎng)絡(luò)入侵檢測(cè)的通用數(shù)據(jù)集——UNSW-NB15數(shù)據(jù)集[14]來模擬其互聯(lián)網(wǎng)環(huán)境,該數(shù)據(jù)集比傳統(tǒng)的KDD CUP99和NSL-KDD數(shù)據(jù)集更能反映當(dāng)代互聯(lián)網(wǎng)絡(luò)的正常和異常攻擊。
gas pipeline數(shù)據(jù)集中的每一條數(shù)據(jù)都由27維的序列數(shù)據(jù)組成,其中前面26維是數(shù)據(jù)的屬性特征,最后1維是數(shù)據(jù)的類別標(biāo)簽,總共有8個(gè)類別標(biāo)簽,其中有7個(gè)類別代表7種不同的攻擊行為,另外1種是正常行為,其樣本分布見表1。
UNSW-NB15數(shù)據(jù)集的每條數(shù)據(jù)都由42個(gè)屬性特征和1個(gè)類別標(biāo)簽組成,42個(gè)屬性特征里又有3個(gè)字符型特征和39個(gè)數(shù)值型特征,該數(shù)據(jù)集共有1種正常數(shù)據(jù)和9種異常數(shù)據(jù),即正常數(shù)據(jù)(Normal)、模糊測(cè)試攻擊(Fuzzers)、滲透分析攻擊(Analysis)、后門攻擊(Backdoor)、拒絕服務(wù)攻擊(denial of service, DoS)、漏洞利用攻擊(Exploits)、泛型攻擊(Generic)、偵察(Reconnaissance)、溢出漏洞攻擊(Shellcode)和Worms(蠕蟲攻擊),其具體樣本類別分布見表2。
表1 gas pipeline數(shù)據(jù)集樣本類別分布Tab.1 Sample category distribution of gas pipeline data set
表2 UNSW-NB15數(shù)據(jù)集樣本類別分布Tab.2 Sample category distribution of UNSW-NB15 data set
由表1和表2可知,2個(gè)數(shù)據(jù)集都有著明顯的分布不平衡的特點(diǎn),UNSW-NB15數(shù)據(jù)集中的Worms類僅占總數(shù)的0.05%。
1.2.1.2 數(shù)據(jù)預(yù)處理
1)字符數(shù)據(jù)數(shù)值化。數(shù)據(jù)集UNSW-NB15的每個(gè)屬性特征里都有3個(gè)字符型特征,由于入侵檢測(cè)算法不能直接識(shí)別字符型數(shù)據(jù),所以需要將字符型的數(shù)據(jù)轉(zhuǎn)化為數(shù)值型的數(shù)據(jù)。
本文應(yīng)用one-hot獨(dú)熱編碼將字符型的數(shù)據(jù)轉(zhuǎn)化為數(shù)值型數(shù)據(jù),以state(指示狀態(tài)及其相關(guān)協(xié)議)特征為例,它有7種取值,轉(zhuǎn)化為的數(shù)值型數(shù)據(jù)為二進(jìn)制向量,分別為[1,0,0,0,0,0,0]、[0,1,0,0,0,0,0]、[0,0,1,0,0,0,0]、[0,0,0,1,0,0,0]、[0,0,0,0,1,0,0]、[0,0,0,0,0,1,0]、[0,0,0,0,0,0,1],同樣地,屬性proto(交易協(xié)議)的131種字符取值和service(目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型)的13種都可相應(yīng)地轉(zhuǎn)化為131維和13維的二進(jìn)制向量。經(jīng)過one-hot編碼后,將42維的特征數(shù)據(jù)轉(zhuǎn)化為了190維的特征數(shù)據(jù)。
2)疊加噪聲。為提高模型的泛化性和檢測(cè)率,本文將gas pipeline數(shù)據(jù)集的原始數(shù)據(jù)直接疊加噪聲,而對(duì)于UNSW-NB15數(shù)據(jù)集,先將其字符數(shù)據(jù)轉(zhuǎn)化成數(shù)值型數(shù)據(jù)后再對(duì)其疊加噪聲,并且每一類標(biāo)簽數(shù)據(jù)疊加噪聲的噪聲因子不同且隨機(jī),其概率密度函數(shù)為
(1)
(1)式中:σ是標(biāo)準(zhǔn)差;μ為均值。
3)數(shù)據(jù)標(biāo)準(zhǔn)化。為了避免各屬性之間不同量綱的影響,便于模型的計(jì)算,需要將數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化或歸一化處理,但直接歸一化易受到最大、最小值的影響,所以,本文首先用(2)式對(duì)疊加噪聲后的數(shù)據(jù)實(shí)施標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化后的數(shù)據(jù)在[-1,1],每個(gè)數(shù)據(jù)的均值為0,標(biāo)準(zhǔn)差為1。
(2)
4)數(shù)據(jù)歸一化。經(jīng)(2)式標(biāo)準(zhǔn)化后的數(shù)據(jù)取值為[-1,1],為了利于入侵檢測(cè)算法的計(jì)算,還需要將標(biāo)準(zhǔn)化后的數(shù)據(jù)再歸一化到[0,1],即
(3)
DBN[15]是一種由多層無監(jiān)督的受限玻爾茲曼機(jī)(restricted boltzmann machine,RBM)和一層有監(jiān)督的反向傳播[16](back propagation,BP)網(wǎng)絡(luò)構(gòu)成的深度生成神經(jīng)網(wǎng)絡(luò)模型,其典型結(jié)構(gòu)見圖3。
圖3 典型的DBN結(jié)構(gòu)Fig.3 Typical DBN structure
圖3中,DBN的訓(xùn)練過程可以分為以下2部分。
1)預(yù)訓(xùn)練。DBN的預(yù)訓(xùn)練通過采用對(duì)比散度算法[17](contrastive divergence,CD)自下而上地逐層訓(xùn)練RBM網(wǎng)絡(luò),完成對(duì)模型參數(shù)的初始調(diào)優(yōu),以獲得一組較好的模型參數(shù)。RBM的結(jié)構(gòu)見圖4。
圖4 RBM結(jié)構(gòu)Fig.4 Structure of RBM
圖4中,RBM是一個(gè)由一層可視層單元(輸入層)v和一層隱藏層單元(特征提取層)h組成的雙層的淺層神經(jīng)網(wǎng)絡(luò),其層內(nèi)無連接,層與層之間全連接。其中,a為可視層神經(jīng)元的偏置;b為隱藏層神經(jīng)元的偏置;W是輸入層神經(jīng)元與特征提取層神經(jīng)元之間的權(quán)值矩陣。
其算法如下。
算法1預(yù)訓(xùn)練(CD算法)
輸入:訓(xùn)練樣本x(x0,x1,x2,…,xm),隱藏層節(jié)點(diǎn)數(shù)n,學(xué)習(xí)率ε,最大訓(xùn)練周期T。
輸出:模型參數(shù)θ={W,a,b}。
①隨機(jī)初始化模型參數(shù)θ,并令v1=x
②在RBM中,隱藏層的第j個(gè)節(jié)點(diǎn)被激活的概率為
(4)
從條件分布p(h1j|v1)中抽取一個(gè)樣本h1j∈{0,1}
③利用h1重構(gòu)顯層,即利用隱藏層反推可視層,可視層的第i個(gè)節(jié)點(diǎn)被激活的概率為
(5)
同樣地,從條件分布p(v2i|h1)中抽取一個(gè)樣本v2i∈{0,1}
④通過v2再次重構(gòu)隱藏層,隱藏層的第j個(gè)節(jié)點(diǎn)被激活的概率為
(6)
⑤更新模型各參數(shù)θ:
(7)
2)權(quán)值微調(diào)。經(jīng)過算法1的預(yù)訓(xùn)練后只能使得每一層RBM達(dá)到局部最優(yōu),要使整個(gè)DBN網(wǎng)絡(luò)達(dá)到全局最優(yōu),需要最后一層的BP網(wǎng)絡(luò)對(duì)整個(gè)神經(jīng)網(wǎng)絡(luò)的參數(shù)θ進(jìn)行優(yōu)化。BP網(wǎng)絡(luò)將所期望的輸出值與真實(shí)的輸出值進(jìn)行比較得出誤差損失,然后將誤差損失自上而下地傳遞到每一層RBM,以此來完成對(duì)整個(gè)DBN網(wǎng)絡(luò)參數(shù)的全局調(diào)優(yōu),其具體算法如下。
算法2權(quán)值微調(diào)(BP算法)
輸出:微調(diào)后的參數(shù)θ。
(8)
②計(jì)算每個(gè)隱藏層單元h的誤差梯度為
(9)
③由(10)式更新各參數(shù)為
(10)
在本文中,根據(jù)實(shí)際模型的需要,并未直接使用BP網(wǎng)絡(luò)對(duì)其進(jìn)行權(quán)值的微調(diào),而是將BP網(wǎng)絡(luò)替換成了帶有softmax分類器的BiLSTM網(wǎng)絡(luò),使用DBN網(wǎng)絡(luò)無監(jiān)督預(yù)訓(xùn)練階段提取到的初步特征作為下一層BiLSTM網(wǎng)絡(luò)的輸入,最后再用帶有softmax分類器的BiLSTM網(wǎng)絡(luò)對(duì)其進(jìn)行權(quán)值微調(diào)。
最早由Hochreiter和Schmidhuber[18]在1997年提出LSTM是RNN的變形,它在RNN的隱藏層上使用了記憶單元和門機(jī)制來代替常規(guī)的神經(jīng)元,可有效解決RNN在處理序列數(shù)據(jù)時(shí)易出現(xiàn)的梯度消失[19]的問題。LSTM網(wǎng)絡(luò)的每個(gè)LSTM的細(xì)胞內(nèi)部由記憶單元(cell)、輸入門(input gate)、輸出門(output gate)和遺忘門(forget gate)組成,其結(jié)構(gòu)見圖5。
圖5 LSTM細(xì)胞內(nèi)部結(jié)構(gòu)Fig.5 Internal structure of LSTM cells
從圖5可以得到,LSTM細(xì)胞內(nèi)部工作流程如下。
1)遺忘門。該門通過對(duì)上一時(shí)刻的輸出ht-1和當(dāng)前時(shí)刻的輸入xt進(jìn)行篩選,保留重要信息,遺忘不重要的信息。公式如下
ft=σ(wf·[ht-1,xt]+bf)
(11)
(11)式中:ft表示遺忘門的當(dāng)前輸出;wf,bf表示遺忘門的權(quán)重和偏置;σ是sigmoid激活函數(shù),取值為[0,1],控制遺忘門的狀態(tài),當(dāng)其為0時(shí),遺忘門關(guān)閉,將信息完全舍棄,當(dāng)其為1時(shí),遺忘門打開,選擇將信息輸入并完全保留。
(12)
(12)式中:it表示輸入門的當(dāng)前輸出;wi,bi是輸入門的權(quán)重和偏置;wc,bc則是記憶單元的權(quán)重和偏置,tanh是雙曲正切函數(shù),取值為[-1,1]。
所以,記憶單元狀態(tài)就由上一時(shí)刻的ct-1更新為當(dāng)前狀態(tài)ct。公式如下
(13)
3)輸出門??刂圃搶蛹?xì)胞的輸出,確定細(xì)胞當(dāng)前時(shí)刻的哪些狀態(tài)會(huì)成為下一時(shí)刻的輸入。公式如下
(14)
(14)式中:ot是當(dāng)前輸出門輸出;wo,bo分別表示輸出門的權(quán)重和偏置;ht既是當(dāng)前時(shí)刻細(xì)胞的輸出,也是下一時(shí)刻細(xì)胞的輸入。
BiLSTM[20]由一個(gè)前向的LSTM和一個(gè)后向的LSTM構(gòu)成,它解決了LSTM只能處理單一方向信息的問題,其沿時(shí)間軸展開的網(wǎng)絡(luò)結(jié)構(gòu)見圖6。
圖6 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 BiLSTM network structure diagram
圖6中,Input layer是數(shù)據(jù)的輸入層;Forward layer是BiLSTM的前向隱藏層;Backward layer是后向隱藏層;Output layer是輸出層。其中,F(xiàn)orward layer和Backward layer分別負(fù)責(zé)屬性的前、后特征提取,其在t時(shí)刻的特征提取(15)—(16)式可由(11)—(14)式得出
前向LSTM:
(15)
后向LSTM:
(16)
本文算法采用了softmax[21]作為模型的分類器,其輸出為一個(gè)概率值,可由(17)式算出第i個(gè)樣本其類別為j的概率值,其所有類別的概率和為1,概率值最大的為模型所識(shí)別的類別。
(17)
(18)
(17)—(18)式中:x為softmax層的輸入,相當(dāng)于上一層BiLSTM層的輸出h;θ為模型參數(shù);K為標(biāo)簽類別個(gè)數(shù)。
對(duì)于一個(gè)有著m個(gè)樣本點(diǎn)的數(shù)據(jù)集,考慮使得其對(duì)數(shù)似然最大且引入正則項(xiàng)使得其損失函數(shù)具有唯一解,其系統(tǒng)損失函數(shù)為
(19)
(19)式中:1{y(i)=j}表示,當(dāng)?shù)趇個(gè)樣本的標(biāo)簽類別為j時(shí),其值為1,否則為0;λ為權(quán)重衰減項(xiàng)。
最后,采用Nadam[22]優(yōu)化算法來進(jìn)行損失函數(shù)的優(yōu)化,自適應(yīng)地調(diào)整學(xué)習(xí)率,使其快速平穩(wěn)地收斂。
在本文的實(shí)驗(yàn)中,2個(gè)數(shù)據(jù)集都被按照7∶3的比例劃分成了訓(xùn)練集和測(cè)試集,其具體分布見表3、表4。
表3 gas pipeline實(shí)驗(yàn)數(shù)據(jù)Tab.3 Experimental data of gas pipeline
表4 UNSW-NB15實(shí)驗(yàn)數(shù)據(jù)Tab.4 Experimental data of UNSW-NB15
對(duì)于上述2種數(shù)據(jù)集,本文均采用3層RBM(3層隱藏層的DBN)和1層BiLSTM的DBN-BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)和相同的數(shù)據(jù)預(yù)處理、訓(xùn)練方法。BiLSTM的輸入、輸出層的節(jié)點(diǎn)數(shù)分別與樣本特征數(shù)以及攻擊類別的類別數(shù)相同,具體而言,隱藏層的網(wǎng)絡(luò)結(jié)構(gòu)為60-40-20-20。在前期的DBN的預(yù)訓(xùn)練過程中,激活函數(shù)為sigmoid函數(shù),每層RBM網(wǎng)絡(luò)都經(jīng)過了10輪迭代,每批次都有32個(gè)樣本數(shù)據(jù)輸入,其初始學(xué)習(xí)率為0.1。然后在整個(gè)網(wǎng)絡(luò)的訓(xùn)練中共經(jīng)過了500輪的迭代,每512個(gè)數(shù)據(jù)樣本為一次輸入,初始學(xué)習(xí)率仍為0.1,在網(wǎng)絡(luò)中插入Dropout層防止網(wǎng)絡(luò)過擬合,其參數(shù)設(shè)置為0.25。
本文實(shí)驗(yàn)環(huán)境配置中見表5。
表5 實(shí)驗(yàn)環(huán)境配置Tab.5 Experimental environment configuration
本文主要是對(duì)工業(yè)互聯(lián)網(wǎng)的各種攻擊行為進(jìn)行分類預(yù)測(cè),而混淆矩陣是評(píng)判模型結(jié)果的一種指標(biāo),屬于模型評(píng)估的一部分,常用于評(píng)判分類器模型的優(yōu)劣,所以本文采取混淆矩陣作為模型的評(píng)估方式,混淆矩陣見表6。
表6 入侵檢測(cè)混淆矩陣Tab.6 Confusion matrix for intrusion detection
其中:TP:其真實(shí)值為攻擊,同時(shí)也被預(yù)測(cè)為攻擊的樣本個(gè)數(shù);FN:其真實(shí)值為攻擊,預(yù)測(cè)值為正常的樣本個(gè)數(shù);FP:其真實(shí)值為正常,但被預(yù)測(cè)為攻擊的樣本個(gè)數(shù);TN:其真實(shí)值為正常,同時(shí)也被預(yù)測(cè)為正常的樣本個(gè)數(shù)。
其主要評(píng)價(jià)指標(biāo)有如下幾點(diǎn)。
1)準(zhǔn)確率(accuracy, ACC)。模型正確分類樣本數(shù)占總樣本數(shù)的比例,其公式為
(20)
2)精確率/查準(zhǔn)率(precision, PRE)。模型所有預(yù)測(cè)為攻擊的樣本中預(yù)測(cè)正確的比例,其公式為
(21)
3)召回率/查全率(recall)。所有實(shí)際為攻擊的樣本中,其預(yù)測(cè)值也為攻擊的樣本所占的比例,其公式為
(22)
4)F1(F1-score),它是對(duì)精度和召回率的調(diào)和平均,其公式為
(23)
5)漏報(bào)率(false negative rate,F(xiàn)NR)。所有實(shí)際為攻擊的樣本中,其預(yù)測(cè)值卻為非攻擊的樣本所占的比例,其公式為
(24)
6)誤報(bào)率(false positive rate,F(xiàn)PR)。實(shí)際為正常數(shù)據(jù)的樣本中被檢測(cè)為攻擊所占的比例,其公式為
(25)
7)運(yùn)行時(shí)間。主要有訓(xùn)練時(shí)間與檢測(cè)時(shí)間,其中檢測(cè)時(shí)間越短表示模型的實(shí)時(shí)性越好。
為了使得本文所提方法能夠完美地適應(yīng)在工業(yè)互聯(lián)網(wǎng)環(huán)境中,本文主要設(shè)計(jì)了兩大組實(shí)驗(yàn)來驗(yàn)證本文所提方法的有效性,實(shí)驗(yàn)一:利用工控?cái)?shù)據(jù)集gas pipeline模擬工業(yè)互聯(lián)網(wǎng)的工控環(huán)境,并在數(shù)據(jù)集上進(jìn)行性能指標(biāo)分析;實(shí)驗(yàn)二:利用UNSW-NB15數(shù)據(jù)集模擬工業(yè)互聯(lián)網(wǎng)的網(wǎng)絡(luò)環(huán)境并進(jìn)行性能指標(biāo)分析。
2.3.1 gas pipeline數(shù)據(jù)集上性能指標(biāo)分析
2.3.1.1 數(shù)據(jù)預(yù)處理對(duì)結(jié)果的影響
為驗(yàn)證數(shù)據(jù)預(yù)處理對(duì)入侵檢測(cè)性能的影響,本次實(shí)驗(yàn)對(duì)4種不同的數(shù)據(jù)預(yù)處理方式進(jìn)行了檢測(cè)準(zhǔn)確率對(duì)比,其中,①未經(jīng)過數(shù)據(jù)預(yù)處理;②不疊加噪聲,只做標(biāo)準(zhǔn)化和歸一化處理;③疊加噪聲,但是不做標(biāo)準(zhǔn)化和歸一化處理;④既疊加噪聲又做標(biāo)準(zhǔn)化和歸一化處理,實(shí)驗(yàn)結(jié)果見圖7。
圖7 不同數(shù)據(jù)預(yù)處理下的入侵檢測(cè)準(zhǔn)確率Fig.7 Intrusion detection accuracy rate under different data preprocessing
由圖7可知,在未經(jīng)過任何數(shù)據(jù)預(yù)處理和只疊加噪聲的情況下,其準(zhǔn)確率極低,僅有67.65%和63.14%,收斂性較差。其經(jīng)過數(shù)據(jù)標(biāo)準(zhǔn)化和歸一化后的準(zhǔn)確率遠(yuǎn)遠(yuǎn)高于其未做標(biāo)準(zhǔn)化和歸一化后的準(zhǔn)確率,而疊加噪聲后的又高于其未疊加噪聲的,其準(zhǔn)確率高達(dá)98.67%。實(shí)驗(yàn)結(jié)果表明,選擇合適的數(shù)據(jù)預(yù)處理方式對(duì)于入侵檢測(cè)的性能有著至關(guān)重要的作用,所以本文選擇了在原始數(shù)據(jù)中疊加高斯噪聲,再對(duì)其進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化和歸一化處理。
2.3.1.2 與其他網(wǎng)絡(luò)算法性能比較
為驗(yàn)證本文所提模型具有良好的性能,本小節(jié)首先將本文所提出的DBN-BiLSTM模型與其局部算法DBN網(wǎng)絡(luò)、BiLSTM、LSTM進(jìn)行了對(duì)比實(shí)驗(yàn),再將其與文獻(xiàn)[13]提出和使用的模型K均值(K-means)、級(jí)聯(lián)支持向量機(jī)(cascade support vector machine, C-SVM)進(jìn)行準(zhǔn)確率、誤報(bào)率和漏報(bào)率3方面的對(duì)比,其結(jié)果見表7。
表7 不同模型的對(duì)比結(jié)果Tab.7 Comparison results of different models %
表8還列出了本文方法與其局部算法對(duì)每一個(gè)攻擊類別的檢測(cè)準(zhǔn)確率、精確率和召回率的調(diào)和平均F1值、漏報(bào)率。在本次實(shí)驗(yàn)中所有局部網(wǎng)絡(luò)模型的參數(shù)和數(shù)據(jù)預(yù)處理均與DBN-BiLSTM中所對(duì)應(yīng)模型的參數(shù)和數(shù)據(jù)預(yù)處理一致。
從表7可知,BiLSTM在準(zhǔn)確率和誤報(bào)率上的性能均優(yōu)于LSTM,這是因?yàn)長(zhǎng)STM只能提取屬性單方向的特征,而BiLSTM卻充分考慮了特征前后的聯(lián)系,對(duì)每個(gè)屬性進(jìn)行了2個(gè)方向的特征提取。DBN由于其強(qiáng)大的非線性特征提取能力,在準(zhǔn)確率和誤報(bào)率上都表現(xiàn)出了良好的性能,尤其是在誤報(bào)率上要遠(yuǎn)遠(yuǎn)優(yōu)于BiLSTM。
而本文所提方法性能優(yōu)于其局部算法,是因?yàn)閱为?dú)的BiLSTM雖然能夠?qū)?個(gè)方向的特征進(jìn)行提取,但是當(dāng)輸入的信息過長(zhǎng)時(shí),BiLSTM容易丟失大量的關(guān)鍵信息,導(dǎo)致特征提取不夠充分,從而導(dǎo)致較高的誤報(bào)率,所以本文方法首先利用DBN在海量、高維數(shù)據(jù)前強(qiáng)大的非線性特征提取能力對(duì)數(shù)據(jù)進(jìn)行特征降維,以獲得最能表示原始數(shù)據(jù)的新特征,減少了信息損失,再利用BiLSTM的雙向特征提取能力對(duì)降維后的數(shù)據(jù)進(jìn)行2個(gè)方向的特征提取,挖掘其特征前后的影響,從而提高了整體模型的檢測(cè)性能。而從本文方法與文獻(xiàn)[13]中的方法對(duì)比來看,本文方法不僅具有較高的準(zhǔn)確率且具有較低的漏報(bào)率和誤報(bào)率,尤其是比C-SVM的準(zhǔn)確率提高了3.34%,漏報(bào)率降低了8.07%,這是因?yàn)闇\層學(xué)習(xí)算法K-means和C-SVM對(duì)其特征的學(xué)習(xí)不夠充分。
同樣地,從表8可以看出DBN-BiLSTM在準(zhǔn)確率方面除了Normal(正常數(shù)據(jù))、DOS(拒絕服務(wù)攻擊)、Recon(偵察)類都要優(yōu)于另外2種局部算法,F(xiàn)1值平均提高了4%,漏報(bào)率平均降低了2%。
表8 本文方法與其局部算法多分類對(duì)比結(jié)果Tab.8 Comparison results of the method in this paper and its local algorithm multi-classification
2.3.1.3 與其局部算法的運(yùn)行時(shí)間對(duì)比分析
將本文方法與其局部算法的訓(xùn)練時(shí)間和檢測(cè)時(shí)間進(jìn)行對(duì)比,得到的實(shí)驗(yàn)結(jié)果分別見圖8、圖9。
從圖8、圖9的實(shí)驗(yàn)結(jié)果可以看出,本文方法在訓(xùn)練時(shí)間和檢測(cè)時(shí)間上都要長(zhǎng)于其局部算法,這是由于本文算法的組合網(wǎng)絡(luò)相較于其局部算法增加了網(wǎng)絡(luò)的層數(shù)與復(fù)雜度,導(dǎo)致其運(yùn)行時(shí)間變長(zhǎng),具有較低的實(shí)時(shí)性。
從工控網(wǎng)絡(luò)數(shù)據(jù)gas pipeline上的實(shí)驗(yàn)結(jié)果可以表明,本文所提方法具有良好的檢測(cè)性能,能夠很好地適應(yīng)工業(yè)互聯(lián)網(wǎng)中的工控環(huán)境。
圖8 本文方法與其局部算法的訓(xùn)練時(shí)間比較Fig.8 Comparison of training time between this method and its local algorithm
圖9 本文方法與其局部算法的檢測(cè)時(shí)間比較Fig.9 Comparison of detection time between this method and its local algorithm
2.3.2 UNSW-NB15數(shù)據(jù)集上性能指標(biāo)分析
1)二分類實(shí)驗(yàn)結(jié)果。使用本文所提出的方法對(duì)數(shù)據(jù)進(jìn)行入侵檢測(cè)的二分類,實(shí)驗(yàn)將數(shù)據(jù)分為正常和攻擊兩類,其中正常數(shù)據(jù)被標(biāo)記為0,攻擊標(biāo)記為1。其二分類的混淆矩陣見表9,所以其二分類的檢測(cè)準(zhǔn)確率為96.74%,精確率為98.33%,召回率為95.74%,F(xiàn)1值為97.02%,漏報(bào)率為2.01%,誤報(bào)率為4.26%。
表9 二分類混淆矩陣Tab.9 Binary confusion matrix
2)多分類實(shí)驗(yàn)結(jié)果。多分類實(shí)驗(yàn)將樣本數(shù)據(jù)分類為Analysis,Backdoor,DoS,Exploits,F(xiàn)uzzers,Generic,Normal,Reconnaissance,Shellcode,Worms,分別標(biāo)記為0~9。表10表示出了每個(gè)攻擊的準(zhǔn)確率、召回率、和誤報(bào)率。由表10中各個(gè)攻擊的準(zhǔn)確率可知,Generic攻擊的準(zhǔn)確率最高,達(dá)到了99.99%,F(xiàn)uzzers的檢測(cè)準(zhǔn)確率最低,為94.70%,而且絕大多數(shù)的準(zhǔn)確率都在97%以上。對(duì)于表10中召回率,少數(shù)類Analysis、DoS、Shellcode 3類攻擊都極其低,而且占比最少的Worms類完全未被檢測(cè)出,其值為0,但是Backdoor和Generic的召回率卻達(dá)到了100%,代表著這2類攻擊被完全檢測(cè)出。同樣地,從表10可以看出,Backdoor,F(xiàn)uzzers和Normal類的性能最差,其誤報(bào)率最高達(dá)到了5.46%,其余攻擊的誤報(bào)率均接近于0。
表10 多分類實(shí)驗(yàn)結(jié)果Tab.10 Multi-class experiment results %
3)和其他模型比較。為了評(píng)估本文方法在UNSW-NB15數(shù)據(jù)集上的有效性,將其與文獻(xiàn)[23-26]的方法進(jìn)行二分類的對(duì)比實(shí)驗(yàn),其結(jié)果見表11。對(duì)于二分類的對(duì)比實(shí)驗(yàn),我們可以看到,本文所提方法的性能均優(yōu)于其他幾種,尤其是與文獻(xiàn)[23]中的基于一種新的縮放方法的SVM相比,其準(zhǔn)確率提高了10.75%,誤報(bào)率降低了11%。
表11 二分類對(duì)比實(shí)驗(yàn)Tab.11 Binary comparison experiment %
為了更加全面地評(píng)估本文方法在UNSW-NB15數(shù)據(jù)集上的檢測(cè)性能,圖10、圖11分別表示了本文方法和文獻(xiàn)[23]的每個(gè)類別的檢測(cè)準(zhǔn)確率的比較結(jié)果。本文所提方法除了Backdoor,DoS和Reconnaissance 3類的準(zhǔn)確率稍低于SVM,其余7類均要優(yōu)于SVM,尤其是Exploits和Normal類的準(zhǔn)確率都提高了10.80%以上。
圖10 多分類前5類準(zhǔn)確率對(duì)比圖Fig.10 Comparison of the accuracy of the previous 5 categories of multi-classification
圖11 多分類后5類準(zhǔn)確率對(duì)比圖Fig.11 Comparison of accuracy rates of the next five categories of multi-classification
不管是二分類還是多分類的實(shí)驗(yàn)結(jié)果都表明,本文方法在UNSW-NB15數(shù)據(jù)集上也具有良好的檢測(cè)性能,且優(yōu)于其他算法。這是因?yàn)闇\層機(jī)器學(xué)習(xí)模型SVM和帶多項(xiàng)式核的支持向量機(jī)(support vector machine with polynomial kernel, SVM-Kernel-Polynomial)、只能提取空間特征的帶有3層的一維卷積神經(jīng)網(wǎng)絡(luò)(one-dimensional convolutional neural network with 3 layers, 1D-CNN 3 layers)、采用淺層線性思維的主成分分析法和只能提取單方向特征的長(zhǎng)短期記憶網(wǎng)絡(luò)結(jié)合(principal component analysis long short-term memory, PCA-LSTM)的模型都有著較差的特征提取能力,不能對(duì)數(shù)據(jù)的特征進(jìn)行有效地挖掘。而本文方法不僅有著DBN的強(qiáng)大的非線性特征提取能力,還能利用BiLSTM彌補(bǔ)LSTM對(duì)雙向特征提取能力的不足,以此提高了檢測(cè)的性能。
針對(duì)當(dāng)前工業(yè)互聯(lián)網(wǎng)網(wǎng)絡(luò)攻擊行為復(fù)雜,海量、高維網(wǎng)絡(luò)數(shù)據(jù)特征具有時(shí)序性、非線性導(dǎo)致特征提取困難、入侵檢測(cè)技術(shù)的檢測(cè)率低、泛化能力差等問題,本文設(shè)計(jì)出一種融合深度信念網(wǎng)絡(luò)和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)的混合入侵檢測(cè)模型。該模型首先利用DBN的非線性特征提取能力進(jìn)行初步的特征提取,其輸出特征作為BiLSTM的輸入,然后利用BiLSTM的時(shí)序特征抽取能力對(duì)2個(gè)方向的特征進(jìn)行特征抽取,其輸出作為softmax分類器的輸入,最后利用公開數(shù)據(jù)集gas pipeline和UNSW-NB15分別模擬工業(yè)互聯(lián)網(wǎng)的工控環(huán)境和網(wǎng)絡(luò)環(huán)境進(jìn)行試驗(yàn)研究,其在2個(gè)數(shù)據(jù)集上都有著很好的檢測(cè)性能,也表明本方法具有良好的泛化性。
本文算法雖在整體上表現(xiàn)出了良好的檢測(cè)性能,但卻未能正確檢測(cè)出UNSW-NB15數(shù)據(jù)集上的極少數(shù)類Worms,將其全部錯(cuò)分成了其他攻擊,導(dǎo)致其召回率為0。而且由于當(dāng)前還沒有一個(gè)專業(yè)用于工業(yè)互聯(lián)網(wǎng)入侵檢測(cè)領(lǐng)域的數(shù)據(jù)集,所以本文采用了2種數(shù)據(jù)集來分別模擬工業(yè)互聯(lián)網(wǎng)的工控環(huán)境和網(wǎng)絡(luò)環(huán)境,雖然都取得了較好的檢測(cè)性能,但還不能完全模擬當(dāng)前復(fù)雜的工業(yè)互聯(lián)網(wǎng)環(huán)境,具有一定的局限性。