楊 杰 趙俊杰 張國興
(中南民族大學,湖北 武漢 430074)
在入侵檢測研究中[1],隨著網絡數據流量來源愈發復雜,研究數據集的維度也在不斷增加,傳統檢測算法漸漸難以滿足現實需求,研究工作者引入深度學習提升其檢測性能[2]。深度學習通過數據集訓練,獲取特征間的深層關系,執行分類任務與預測任務。
針對基于深度學習的入侵檢測系統,常見的攻擊方法有如下幾種:(1)污染攻擊:通過偽裝成普通用戶上傳虛假數據或截取并篡改數據等方式擾亂數據集的特征分布。(2)中毒攻擊:篡改部分標簽信息,干擾模型訓練。(3)對抗攻擊:對輸入樣本添加輕微擾動,使得深度學習對其進行錯誤分類[3]。
上述攻擊方法難以適配如今基于深度學習入侵檢測系統的高速發展。生成式對抗網絡(Generative Adversarial Networks,GAN)能夠學習數據的特征分布,生成高質量的數據樣本[4]。本文構建了一個由GAN、轉換器與DBN 構成的模型框架,針對基于深度信念網絡(Deep Belief Network,DBN)的入侵檢測系統進行攻擊。GAN 生成符合一般網絡流量數據特征分布的數據樣本。轉換器保留生成樣本的非攻擊特征,與攻擊行為數據的攻擊特征結合,形成具備攻擊能力的新的攻擊樣本。攻擊特征與非攻擊特征的劃分使用隨機森林算法進行篩選。DBN 作為本文的攻擊目標,設置相關模塊能對攻擊性能進行有效評估。
2.1 DBN-SVM。基于支持向量機 (Support Vector Machine,SVM)算法的DBN 在應用實踐中,檢測率更高,分類更加準確[5]。本文選取基于此類算法入侵檢測系統作為攻擊目標,并作為檢測模塊,衡量攻擊性能[6]。
DBN 基本組成是受限制玻爾茲曼機(Restricted Boltzmann Machine,RBM)。RBM 根據以下能量函數求解參數:

多個RBM 按照順序依次連接構成DBN。通過訓練,使得每個RBM 都能夠獲取最優的模型參數,該步驟稱為預訓練。通過預訓練可以得到以下權重參數矩陣:

在最頂層的RBM 上構建一個分類算法以完成分類任務,該算法不拘泥于某個特定的分類算法,本文使用SVM算法[7]。
預訓練獲取的模型參數是每個RBM 的最優參數傳給SVM 算法。通過SVM 的訓練神經元的參數進行調整參數,最終優化整個DBN 的特征映射,該步驟稱為微調,見圖1。

圖1 基于SVM 網絡DBN 的基本結構
2.2 WGAN-GP。GAN 的思想基礎是零和博弈,GAN 的結構示意圖如圖2。

圖2 GAN 基本結構
生成器反應隨機變量z 到真實的數據樣本x 的映射關系,z 服從正態分布,經過生成器得到微分函數g(z),參數為θg。判別器使用參數θd定義判別函數f(x),表示x 是真實數據的概率。由此得出價值函數:

固定生成器的模型參數,最符合要求的判別函數值為:

將固定的判別函數f*(x)代入價值函數,使用JS 散度表達最終函數為:

Pr(x)和Pg(x)的概率分布相等時,生成樣本完全符合真實數據的特征分布,價值函數L 的值為最小值,符合求解價值函數最小值的期望目標。
WGAN 通過引入Wasserstein 距離的數學概念,添加一個Lipschitz 約束,能夠有效地解決傳統GAN 存在的梯度消失梯度消失問題。Wasserstein 距離的特點是即便兩個分布沒有重疊,Wasserstein 距離仍然能夠反映它們的遠近。因此,WGAN 不會發生JS 散度或KL 散度引起的梯度消失問題。研究人員使用梯度懲罰(gradient penalty)的概念,對梯度信息進行抑制,避免梯度爆炸的問題。得到如下的價值函數:

GAN 的生成器和判別器不拘泥于算法,許多研究引入了高效的算法模型或者是其改進模型作為GAN 的生成器和判別器,滿足多領域、多問題的任務需求。
3.1 數據集。CIC-IDS2018 數據集是加拿大網絡安全研究所通過建立模擬正常網絡行為和各類網絡攻擊的系統采集的數據流量特征信息。數據集包含80 個網絡流量特征和Bruteforce、Botnet、Dos、Web Attacks、Infiltration 和DDos等攻擊行為。不同的攻擊根據使用攻擊工具的不同細化為多種類別,使用數據標簽為這些類別標注。
經過對11 種網絡數據集研究后發現,其他數據集存在年代較久、數據不平衡、攻擊樣本種類不充分等問題,無法滿足現今的網絡需求。CIC-IDS2018 數據集更貼合當代網絡數據特征分布,本文選取該數據集作為攻擊數據集。
3.2 數據集優化處理。CIC-IDS2018 數據集存在如下問題:存在少量空值數據和無窮值數據;包含重復冗余數據;數據樣本分布不均,難以訓練模型。對CIC-IDS2018 數據集進行如下處理:(1)清除異常數據樣本。(2)去重。(3)數據均衡,Web Attacks 數據樣本過少,對其進行刪除。其他數據樣本均勻采樣。(4)Timestamp 數據類型由日期型數據轉換為時間戳類型。(5)采用歸一化方法對數據值進行標準化處理。(6)對Label 屬性進行獨熱編碼。
3.3 模型基礎架構設計。基于GAN 入侵檢測攻擊方法相關模型架構圖如圖3 所示。

圖3 基于GAN 網絡的入侵檢測系統攻擊框架設計
生成模塊是一個完整的WGAN-GP 網絡,以生成高質量的攻擊樣本。輸入為隨機的噪聲變量,輸出為79 維的數據樣本。該樣本學習正常數據樣本的特征分布,原則上,不具備相應的攻擊能力。通過轉換器結合攻擊數據中的攻擊特征,使其具備攻擊能力。判別器將判別結果交給生成器,對生成器優化訓練。
轉換器模塊由基于隨機森林算法的特征優先選擇算法和組建新攻擊樣本的轉換器構成。攻擊行為的數據樣本,如果直接修改其重要的相關特征,會造成樣本失去相應的攻擊能力。而對不重要的相關特征進行改動,數據樣本依然具備攻擊能力。將重要的相關特征稱為攻擊特征,其他特征稱為非攻擊特征。通過隨機森林算法對預處理后的CIC-IDS2018 數據集進行訓練學習,得到對除Label 屬性外的79 個數據特征的排序,最終選取評分在0.03 以上的特征集作為具備攻擊能力的攻擊特征,見表1。

表1 評分在0.03 以上的特征屬性
選定上述特征作為攻擊特征,其余的特征作為非攻擊特征。轉換器將生成樣本的非攻擊特性與攻擊行為數據的攻擊特征結合。形成新的攻擊樣本,送入判別器訓練。
檢測模塊是基于DBN-SVM 的入侵檢測算法。將基于該網絡的入侵檢測系統作為本文的攻擊目標,并將其作為模型框架的檢測模塊,檢測最終的攻擊性能。該實驗流程中,DBN-SVM 對優化處理的數據集進行訓練,記錄其檢測準確率。在GAN 訓練穩定后,將攻擊樣本輸入參數訓練好的DBN-SVM,對比前后的檢測準確率,評估生成式對抗網絡生成攻擊樣本的質量。
4.1 實驗流程設置。基于上述模型架構,設置如圖4 的實驗流程。(1)對CIC-IDS2018 數據集進行優化處理。(2)預處理的數據集劃分訓練集和測試集,將訓練集輸入DBN-SVM 訓練,使用測試集進行測試,記錄穩定的DBN-SVM 的準確率信息。(3)預處理的數據集使用隨機森林算法進行特征排序,劃分攻擊特征和非攻擊特征。(4)隨機生成的噪聲變量數據作為WGAN-GP 中生成器的輸入,生成數據樣本。(5)將生成樣本的非攻擊特征與攻擊行為數據的攻擊特征進行結合,產生新的攻擊樣本。(6)將從預處理的數據集中選取正常網絡行為數據與轉換器結合的新的攻擊樣本作為WGAN-GP 中判別器的輸入,輸出結果傳回生成器,進行迭代訓練。(7)對攻擊樣本進行測試,對DBN-SVM 進行測試,記錄其準確率信息,與第二步中的準確率比較,分析實驗結果。

圖4 基于GAN 網絡的入侵檢測系統攻擊方案流程圖
4.2 實驗結果。實驗環境設置如下,操作系統為64 位Windows10,使用的CPU 是AMD Ryzen 7 5800H,RAM 為16GB。 開 發 環 境 是 TensorFlow1.13.0,CUDA10.0 和CuDNN7.4。生成式對抗網絡的學習率設置為0.0005,DBN-SVM 的學習率設置為0.5。
實驗表明,基于DBN-SVM 的入侵檢測系統在模型訓練穩定的狀況下,測試集的準確率達到83.48%,錯誤率為16.52%,見表2。

表2 原始數據經DBN-SVM 測試的混淆矩陣結果
經過生成式對抗網絡的穩定訓練,選取1200 條生成攻擊樣本數據交由入侵檢測系統檢測。經過檢測,準確率為36.26%,錯誤率為63.74%。
對比兩次檢測結果,錯誤率差值為47.22%,GAN 的epoch 設置為3000,每學習300 個樣本的特征分布產生一次數據樣本,生成攻擊樣本時間為3.1s,見表3。

表3 基于GAN 生成攻擊樣本與正常網絡行為數據經DBN-SVM 測試的混淆矩陣結果
4.3 對比實驗及分析。為進一步分析本文提出的攻擊方法的性能,選取C&W 和DeepFool 兩種對抗樣本攻擊方法在CIC-IDS2018 數據集上進行實驗對比。下表匯總了三種攻擊方法的錯誤率差值和生成攻擊樣本的時間,見表4。

表4 GAN、DeepFool 和C&W 三種攻擊方法的錯誤率差值及攻擊樣本生成時間對比
本文提出的攻擊方法與DeepFool 方法使得錯誤率差值基本維持在30%以上,說明產生的攻擊樣本都能對基于DBN-SVM 入侵檢測系統進行有效地攻擊。基于GAN 入侵檢測系統攻擊方法生成攻擊樣本時間遠遠低于其他兩種攻擊方法。
本文提出了基于GAN 的入侵檢測系統攻擊方法。該方法通過WGAN-GP 生成數據樣本,使用隨機森林算法劃分攻擊特征與非攻擊特征,并以此為依據將生成樣本的非攻擊特征與攻擊行為數據的攻擊特征結合,保留生成樣本攻擊能力,來規避檢測系統的分類,成功地降低其檢測效率。通過設置對抗樣本攻擊中的C&W 和DeepFool 兩類攻擊方法進行對比實驗,表明本文提出的攻擊方法對基于深度信念網絡的入侵檢測系統的攻擊更為有效,攻擊樣本生成時間更快。