杜 坤,黃永林,羅振宇
(重慶科技學院 智能技術與工程學院,重慶 401331)
隨著計算機網絡技術的飛速發展,網絡信息技術已經覆蓋到民生、經濟、政務、軍事等社會各個方面,對人們的生活產生了重要的影響,并成為推動國家發展的新動力。網絡技術的發展,大大方便了人們的生活,但是復雜的網絡空間環境和日新月異的網絡攻擊也對人們的生活造成了一定的困擾。網絡安全成為一個研究熱點,入侵檢測系統可以通過監視網絡流量來檢測是否存在網絡攻擊行為,從而防止網絡入侵行為,網絡入侵檢測系統在網絡信息安全方面發揮著重要作用。近年來,基于人工智能的入侵檢測系統[1]成為研究熱點,將入侵檢測問題轉化為分類問題,利用機器學習[2]技術構建分類器模型,對網絡流量進行分類,有效提高了入侵檢測系統的檢測率,降低了誤報率。
基于深度學習算法的發展,本文提出一個基于CNNBiLSTM與注意力機制的網絡入侵檢測方法,通過多層CNN-BiLSTM網絡提取數據的空間特征和時間特征,注意力機制篩選出關鍵特征,最后通過分類器得到分類結果。在NSL-KDD數據集上進行實驗以驗證模型的有效性。
BiLSTM網絡由正向LSTM和后向LSTM組合而成,其中,LSTM是RNN的變體,引入遺忘門、輸入門、輸出門結構來控制細胞狀態信息,有效地緩解了RNN的優化難題,可以有效捕捉時序數據間的關系特征。BiLSTM網絡的輸出由兩個方向相反的LSTM的狀態共同決定。
注意力機制源于人類視覺的研究,人類觀察事物時,由于視覺局限總是重點關注于局部關鍵區域,忽略次要無關區域。人類視覺注意力機制能夠使人類快速篩選出重要信息,極大地加快了對視覺信息處理的效率,提高了準確性。研究人員提出了深度學習中的注意力機制,通過對計算資源的有效分配,快速從海量的數據信息中篩選出當前任務的關鍵信息,減小模型的計算壓力,提高性能。近年來,注意力機制已被廣泛應用于各個領域。在網絡入侵檢測中引入注意力機制對流量數據特征基于重要度分配不同的權重值,有助于分類器完成更迅捷準確的分類。在本文中,經過預處理后的網絡流量數據經過CNN-BiLSTM模塊提取出細粒度流量特征,注意力層給不同特征分配權重值,使模型更加關注重要特征。其計算公式為:

其中WW,bW,Wh,bh為可訓練的參數,ht為BiLSTM層提取輸出的特征向量,經過非線性激活函數計算得到隱藏表示ut,uW表示上下文向量,αt為特征重要程度權重系數,s為經過重要性加權和得到的關鍵特征,y為輸出結果。
網絡流量數據屬于時間序列數據,各個特征之間可能存在著依賴關系,本文利用CNN和BiLSTM的協同作用提取數據的時空特征,使用注意力機制層篩選關鍵特征,提出融合CNN-BiLSTM和注意力機制的入侵檢測方法。該方法模型由數據預處理部分、CNN-BiLSTM模塊、注意力層、全連接層、輸出層5部分組成,模型結構如圖1所示。

圖1 融合CNN-BiLSTM和注意力機制的網絡入侵檢測模型結構
原始數據在數據預處理部分經過one-hot編碼和歸一化處理后,轉變為滿足CNN-BiLSTM模塊的輸入數據格式,CNN-BiLSTM模塊作為特征提取器,通過CNN和BiLSTM的協同作用提取時空特征,注意力層分析特征重要程度,篩選出關鍵特征,經過全連接層進行特征融合,最終輸入到分類器中得到分類結果。
本文選用NSL-KDD數據集來評估模型的性能。NSKKDD數據集是KDDCup99數據集的改進,也是網絡入侵檢測領域的基準數據集之一。該數據集有41維固定特征屬性和1個類別標簽,主要分為拒絕服務(DOS)、監視窺探(Probe)、越權攻擊(U2R)、遠程攻擊(R2L)四大攻擊行為和普通行為(Normal)數據。
神經網絡無法直接處理文本信息,NSL-KDD數據集中有字符型數據,不符合神經網絡的輸入數據格式。首先需要將原始數據中非數值數據轉化為數值型數據,使用onehot編碼方式將其映射為二進制向量。原始數據中部分特征間可能有不同的數據分布方式,這樣的原始數據可能影響學習效率,需要對其進行歸一化處理,將特征值映射到[0,1]區間。
實驗結果選用準確率(ACC)、檢測率(DR)、誤報率(FPR)來評估模型的性能。本文在NSL-KDD數據集上進行了五分類實驗,其實驗結果如表1所示。

表1 NSL-KDD不同類別的分類結果
將提出的模型與其他算法模型做對比實驗,其實驗結果如表2所示。

表2 與其他算法實驗結果比較
本文提出了一種基于融合CNN-BiLSTM和注意力機制的網絡入侵檢測算法,通過CNN及BiLSTM構成的分層網絡提取流量數據的時空特征,引入注意力機制,使網絡可以識別分類關鍵特征,提升其分類準確性。在NSL-KDD數據集的實驗結果表明,該方法具有較高的準確率、檢測率和較低的誤報率。然而該方法存在訓練時間較長,對不平衡數據集的檢測性能還有優化空間,未來還需進一步優化模型,使其有更好的性能和泛化能力。