劉安云,黃 洪,2,方彬皓
(1.四川輕化工大學計算機科學與工程學院,四川 宜賓 644000;2.企業(yè)信息化與物聯網測控技術四川省高校重點試驗室,四川 宜賓 644000)
隨著互聯網技術的發(fā)展,數據泄漏、黑客攻擊、勒索軟件等安全事件日益增加,給社會、企業(yè)和個人帶來了嚴重損失。因此,在當前復雜的網絡環(huán)境中如何有效地檢測和防御網絡攻擊是亟需解決的問題。入侵檢測技術是繼防火墻之后的一種積極主動的安全防護技術,能夠有效檢測網絡攻擊。蹇詩婕等[1]總結了近些年來提出的入侵檢測技術,涉及多個領域,并重點討論了基于機器學習和深度學習等的檢測技術。現有的入侵檢測系統大多是基于異常檢測的,本質是分類問題。機器學習中的很多算法已廣泛應用于入侵檢測中,如支持向量機(Support Vector Machine,SVM)[2-3]、隨 機 森 林(Random Forest,RF)[4-6]、K 近 鄰 算 法(K-Nearest Neighbor,KNN)[7]和K-means[8]等。準確性和實時性是當前入侵檢測系統的重要要求,網絡數據的高維性以及數據冗余和噪聲導致入侵檢測模型檢測速度慢、準確率低。因此,對網絡數據進行有效的降維至關重要。陳良臣等[9]總結了在入侵檢測中常用的兩種維數約簡技術:特征選擇和特征提取。特征選擇包括信息增益[10-11]、遺傳算法和XGBoost[12]等算法,特征提取包括主成分分析法(Principal Component Analysis,PCA)[13]、自 動 編 碼 器(Auto-Encoder,AE)[14]和 受 限 玻 爾 茲 曼 機(Restricted Boltzmann Machine,RBM)[15]等。
深度學習算法具有自動特征學習、深層學習等優(yōu)點,已被廣泛用于高維數據的特征提取,如AE 和深 度 信 念 網 絡(Deep Belief Network,DBN)等。文獻[16]結合深度自編碼器(Deep Auto-Encoder,DAE)和深度神經網絡(Deep Neural Network,DNN)進行入侵檢測,但入侵檢測的各指標仍有提升空間。文獻[17]提出了DBM-SVM 入侵檢測模型,利用深度玻爾茲曼機(Deep Boltzmann Machine,DBM)模型提取網絡數據特征,SVM 進行檢測,該模型在二分類下具有良好的檢測效果,但未進行多分類相關的試驗。文獻[18]結合稀疏自編碼器(Sparse Autoencoder,SAE)和SVM 對NSL-KDD 進行入侵檢測,相比單一的SVM,檢測速度和準確率等指標都得到提升,但仍有提升空間。文獻[19]結合深度收縮自編碼器和SVM 設計了一種新型的云入侵檢測系統,利用深度收縮自編碼器從原始網絡流量中自動學習低維特征,但該模型的準確率和F1值等指標還較低。文獻[20]使用深度稀疏自編碼器作為特征提取模型、隨機森林作為分類器,在入侵檢測的正常和異常流量分類中獲得較高的準確率,但少數攻擊類的檢測效果較差。文獻[21]結合深度自動編碼器(Deep Auto-Encoder,DAE)和單類支持向量機(OCSVM)進行分布式拒絕服務攻擊(DDoS)檢測,該模型具有很高的準確率,但模型的誤報率也較高。文獻[22]結合對抗自編碼器和KNN 用于物聯網邊緣的入侵檢測,具有較高的準確率,但對抗自編碼器模型結構較復雜。文獻[23]提出了一種結合非對稱卷積自編碼器和隨機森林的入侵檢測系統,填充構造了二維數據,較復雜。除此之外,文獻[24]將卷積神經網絡(Convolutional Neural Networks,CNN)用于入侵檢測,文獻[25]使用DBN 學習網絡數據的低維抽象特征,文獻[26]使用對抗自編碼器的編碼器初始化DNN 的權重,并提取原始樣本的高級低維特征,文獻[27]使用DAE 提取網絡數據的低維抽象特征,這些模型的檢測性能雖然相對較高,但仍然有提升的空間。
上述研究均為采用單一的特征提取模型用于高維數據的特征降維,入侵檢測存在準確率低或模型較復雜的缺陷。單一特征提取模型容易造成數據中重要信息丟失,不能很好地解決網絡數據的高維性、冗余和噪聲。因此,本文提出了一種基于多通道特征提取的入侵檢測模型(MCFE-IDS),以提高準確率和檢測速度。模型改進之處在于實現網絡數據的多通道特征提取,分別從多類數據中學習低維特征,以實現高維數據的降維,從而幫助SVM提高對高維數據的分類能力;另外,該模型結合深度學習和淺層學習技術,并充分利用其優(yōu)勢,以降低入侵檢測中的分析開銷,以用于海量高維非線性網絡數據的處理。
自編碼器是一種無監(jiān)督的神經網絡模型,能夠從無標簽數據中自動學習數據的有效抽象特征表示,常用于數據降維或特征學習。自編碼器先將高維輸入轉換成低維數據,再對低維數據進行重構以輸出原始數據的復現,最后利用反向傳播算法調整網絡參數使輸入與輸出近似相等,從而實現數據降維。自編碼器由編碼器和解碼器兩部分組成,其網絡結構如圖1所示。

圖1 自編碼器網絡結構
DAE 由多個自編碼器堆疊而成,前一個自編碼器層的輸出作為下一個自編碼器層的輸入,逐層獲取原始數據的高階特征表示,將特定的特征向量轉換成抽象特征向量,實現數據從高維空間向低維空間的非線性轉換。DAE 的網絡結構如圖2 所示。

圖2 深度自編碼器
DAE 可分為兩個過程:編碼過程和解碼過程。現 有 數 據 輸 入 為X(x1,x2,…,xn),低 維 表 示 為Z(z1,z2,…,zp),重構輸出,則DAE 的訓練可具體描述如下:
編碼過程(X?Z):
其中:W為編碼層與輸入層之間的權重,be為編碼層的節(jié)點偏置,σ為節(jié)點激活函數。
解碼過程(Z?):
其中:WT為W的轉置,bd為解碼層的節(jié)點偏置。
訓練DAE 來重構原始數據,調整編碼器和解碼器的網絡參數,使重構輸出和輸入近似相等,即損失函數最小。最后,將編碼器最后一層隱藏層的輸出作為原始輸入的最佳低維表示,由此實現高維數據的非線性降維。重構誤差函數用下式的均方差函數表示:
DAE 通常采用梯度下降算法,反向傳播調整網絡參數,最小化損失函數,以學習原始數據的最佳低維特征。權重W和b的更新公式如下:
其中η為梯度下降算法的學習率。
MCFE-IDS 模 型 采 用LeakyReLU 和Sigmoid 作為激活函數,兩者的函數表達式如下:
支持向量機(SVM)是一個二分類算法,但通過擴展可將其應用于多分類中。在構造支持向量機多分類器時,采用一對多策略,訓練時依次把某個類別的樣本歸為一類,其他剩余的樣本歸為另一類,如此反復,k類樣本構造k個分類器SVM,其構造過程如圖3所示。

圖3 支持向量機多分類器
基于多通道特征提取的入侵檢測模型MCFEIDS 的整體框架如圖4 所示,包含數據預處理、多通道特征提取和入侵檢測3個部分。數據預處理將類別特征使用One-hot 編碼進行數值化,再利用Min-Max對特征數據進行標準化以消除特征之間的量綱差異,得到高維且標準化的數據集。多通道特征提取使用無標簽的高維數據進行訓練,實現數據降維,獲得低維數據集。入侵檢測對低維數據進行分類并得到檢測結果。

圖4 整體框架
現有的基于深度學習的入侵檢測模型大多只設計單一的特征提取模型用于數據降維,由于各類數據最佳特征的差異性,單一模型容易造成重要信息損失、引入噪聲,從而導致入侵檢測效果不佳,嚴重影響了對網絡攻擊的檢測。多通道特征提取技術主要是對各類數據進行單獨特征提取以獲得各自的最佳特征,避免特征提取過程中各類數據重要特征丟失和產生額外的噪聲,以此來提高檢測結果。本文所提的MCFE-IDS模型通過訓練多個DAE以提取各類數據的最佳低維特征,消除原始數據中存在的冗余特征和噪聲。
DAE按照圖5所示的流程進行訓練,按照式(1)~(2)正向傳播、式(4)~(5)反向傳播進行訓練,將原始數據編碼壓縮,再進行重構,按式(3)計算重構誤差,多次迭代訓練以最小化重構誤差,訓練終止的條件為最大的迭代次數。網絡模型的輸出層用式(7)所示的Sigmoid 激活函數,其余層使用式(6)中的LeakyReLU 激活函數。為加快模型訓練采用Xavier參數初始化,采用Adam 算法優(yōu)化模型訓練。初始化迭代次數、批大小等參數,設置驗證集為20%訓練集以檢測模型是否過擬合,畫出訓練過程中的損失曲線和精度曲線以便模型調參。在模型訓練過程中,由于特征的非線性轉換,各層的數據分布會發(fā)生改變,導致網絡難以訓練和收斂,因此加入批量歸一化BN 層,加快網絡的訓練和收斂速度,并控制梯度爆炸防止梯度消失。最后在網絡中適當地加入dropout 防止過擬合。調整模型參數直至重構損失最小且損失曲線收斂,最終得到DAE 模型的參數設置,訓練完成后,保存DAE 模型的編碼器部分,以便后續(xù)使用。

圖5 深度自編碼器的訓練過程
為了評估所提模型的有效性,選用試驗環(huán)境:計算機CPU 為i5-7300HQ,內存大小為8 GB,操作系統為Win10,開發(fā)環(huán)境為Python 3.8.5 和Keras 2.4.3,使用NSL-KDD 和UNSW-NB15 作為入侵數據集進行測試。
為有效評估入侵檢測模型的效果,選用模型訓練時間、測試時間、準確率(Accuracy)、精確率(Precision)、召回率(Recall)以及F1值作為評估模型性能的關鍵指標,其中準確率為預測正確的結果占總樣本的百分比,精確率為所有被預測為正的樣本中實際為正的樣本的概率,召回率為實際為正的樣本中被預測為正樣本的概率,F1值綜合考慮了精確率和召回率,為兩者的調和平均。其中準確率、精確率、召回率和F1值的定義如下:
其中:TP為攻擊數據正確地分類為攻擊數據,FP為正常數據錯誤地分類為攻擊數據,TN為正常數據正確地分類為正常數據,FN為攻擊數據錯誤地分類為正常數據。
由于入侵數據中某些類的樣本太少,因此對數據進行如下 分 類:(1)NSL-KDD 數據分為3 類:Normal、DoS、(Probe,U2R,R2L),訓練3 個DAE 模型;(2)UNSW-NB15數據分為5類:Normal、Generic、Exploits、(Fuzzers,DoS)、(Reconnaissance,Analysis,Backdoor,Shellcode,Worms),訓練5 個DAE 模型。DAE 模型中包含網絡結構、迭代次數、批大小以及學習率參數。網絡結構影響著最終的降維結果,隨著層數加深,提取的低維特征越抽象;迭代次數指將整個訓練集輸入到神經網絡進行訓練的次數,過少會出現欠擬合,過多會出現過擬合;批大小決定每次訓練的樣本數,影響著模型的優(yōu)化程度和速度;梯度下降算法的學習率影響著如何用損失函數的梯度調整網絡權重,好的學習率能幫助更快地達到loss的最小值并保證收斂的loss值是神經網絡的全局最優(yōu)解。經反復試驗,模型調優(yōu),最佳的多通道特征提取模型的參數設置見表1。本文主要研究為SVM提供服務的特征提取技術,未對SVM分類器的參數進行優(yōu)化。

表1 入侵檢測模型參數設置
為了驗證模型的有效性,研究了多通道特征提取模型對SVM分類器的影響,并與基于單一SVM入侵檢測模型在多個評估指標上進行了對比。使用多通道特征提取模型從高維的數據中提取20 維的低維特征,并將其作為SVM 多分類器的輸入,結合原始標簽進行分類,從而得到結果,另外,將高維數據直接輸入到分類器用于對比。在兩個數據集上單一SVM 分類器模型和MCFE-IDS 模型的結果如圖6 所示,橫軸表示評估指標準確率、精確率、召回率和F1 值,縱軸代表數值大小。對于NSL-KDD 數據集(圖6(a)),單一SVM 模型的準確率、精確率、召回率與F1 值分別為76.0%、81.0%、76.0%和72.0%,MCFE-IDS 模型的各指標分別為94.9%、97.0%、95.0%和95.0%,分別提高了24.9%、19.8%、25.0%和31.9%。對于UNSW-NB15 數據集(圖6(b))而言,單一SVM 模型的指標分別為70.0%、81.0%、70.0%和71.0%,MCFE-IDS 模型的各指標分別為95.8%、95.0%、96.0%和95.0%,分別提高了36.9%、17.3%、37.1%和33.8%。可以看出,在兩個數據集上相比于單一的SVM 模型,MCFE-IDS 模型的各項指標均得到較大地提高。原始數據中噪聲和冗余導致單一的SVM 模型檢測效果不佳,而經多通道特征提取技術檢測結果得到提升,說明多通道特征提取模型去除了數據中的噪聲和冗余,有效地提取了各類數據的最佳特征,從而提高了分類器對各類數據的檢測能力。

圖6 在不同數據集上MCFE-IDS模型與單一SVM模型的檢測結果
另外,為了研究多通道特征提取對分類器檢測速度的影響,將模型的訓練時間和測試時間作為評估指標以評估模型的檢測速度,單一SVM 模型與MCFE-IDS 模型在兩個數據集上的訓練時間與測試時間見表2。從表2中可以看出,相比于單一的SVM模型,所提模型的訓練和測試時間在NSL-KDD 上分別縮短了91.73%和91.56%,在UNSW-NB15上分別縮短了97.46%和90.88%。通過計算入侵檢測模型訓練和測試的總時間,可以看出MCFE-IDS 模型較單一SVM 模型在入侵檢測速度上在NSL-KDD 與UNSW-NB15 數據集上分別提高了91.69% 和94.91%。因此,多通道特征提取能較好地改善SVM在高維數據入侵檢測中存在的檢測速度慢的問題。單一SVM 模型直接對高維且含冗余和噪聲的網絡數據進行入侵檢測時,模型訓練很慢且效果差。而經多通道特征提取技術,能有效降低數據的維度,并加快分類器模型訓練,提高檢測速度,更好地滿足入侵檢測實時性要求。

表2 模型訓練時間和測試時間
為了進一步研究模型的有效性,將MCFE-IDS模型與現有的其他入侵檢測模型進行對比,表3 和表4 給出了在兩個入侵數據集上MCFE-IDS 模型與其他模型在準確率、精確率、召回率和F1 值性能的對比。從表3 可知,在NSL-KDD 數據集上,MCFEIDS 模型較SCAE-SVM 模型各指標分別提高了8.65%、10.28%、8.78%和11.75%,MCFE-IDS 模型的整體性能都優(yōu)于現有的一些模型。從表4 可以看出,在UNSW-NB15 數據集上,較CWGAN-CSSAE模型各指標分別提高了2.79%、2.54%、0.60%和1.07%,相比現有的一些模型,MCFE-IDS 模型的整體效果更優(yōu),進一步說明了該模型的有效性,入侵檢測效果更好。

表3 不同模型NSL-KDD數據集對比 %

表4 不同模型UNSW-NB15數據集對比 %
網絡數據的高維性、冗余和噪聲嚴重影響了入侵檢測系統的性能,若將其直接用于入侵檢測會增加檢測的難度和計算開銷,降低入侵檢測的準確性,而基于單一特征提取的入侵檢測模型檢測效果差。因此,提出了一種基于多通道特征提取的入侵檢測模型(MCFE-IDS),利用多個深度自編碼器對網絡數據特征降維,并利用支持向量機分類器對低維數據進行入侵檢測,將深度學習和淺層學習技術相結合,充分利用各自的優(yōu)勢實現了網絡數據的入侵檢測。在NSL-KDD 和UNSW-NB15 入侵數據集上進行試驗評估,并取得了一定效果。從試驗結果來看,MCFE-IDS 模型在網絡入侵檢測中具有良好的性能,具有較快的檢測速度和較高的檢測準確率,很好地幫助SVM 提高了對高維網絡數據的檢測能力。