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