【摘要】目前網絡入侵檢測系統是將所采集下來的大量網絡數據包以固定長度的滑動檢測窗口進行分段后, 才能實施攻 擊檢測。該檢測模式無法適應目前網絡攻擊的多樣性, 本文提出了自適應網絡攻擊滑動檢測窗口模型, 該模型綜合使用了 信息熵與聚類算法實現了網絡攻擊滑動檢測窗口長度的動態調整, 從而保證入侵檢測系統檢測率與實時性。
1.研究現狀
現有的網絡入侵檢測系統在進行網絡攻擊檢測時, 需 要將采集下來的大量網絡數據包分割成固定長度的網絡數 據包序列, 然后再對這些數據包序列進行檢測, 目前滑動 檢測窗口長度的確定方法是通過大量網絡攻擊檢測實驗中 從中選取攻擊檢測率較高的窗口長度作為滑動檢測窗口長 度, 滑動檢測窗口長度在進行網絡攻擊檢測的始末一直保 持不變。 滑動檢測窗口長度設置過小可以降低系統開銷, 但會 導致網絡數據包序列的確定性不足, 使得網絡攻擊檢測率 不高; 滑動檢測窗口長度設置的過長雖然能夠降低數據包 的不確定性, 提高網絡攻擊檢測率, 然而其系統開銷將大 大增加, 使得系統的實時性得不到保證。 由于目前網絡數據包類型多種多樣, 網絡攻擊類型也 呈多樣化的發展, 滑動檢測窗口長度無法確定一個固定的 合理值, 針對現有網絡入侵檢測系統所存在的不足, 本文 提出了一種自適應網絡攻擊滑動檢測窗口模型, 該模型在 整個網絡攻擊檢測過程中始終以合理的網絡攻擊滑動檢測 窗口長度對網絡攻擊進行檢測, 該算法的實現是在保證網 絡入侵檢測系統實時性的前提下, 能夠極大提高入侵檢測 系統的網絡攻擊檢測率。
2.自適應網絡攻擊滑動檢測窗口模型工作流程
在構建自適應網絡攻擊滑動檢測窗口模型時, 需要引 入兩種類型的滑動檢測窗口: 聚類滑動檢測窗口與網絡攻 擊滑動檢測窗口。其中聚類滑動檢測窗口長度固定不變, 網絡攻擊滑動檢測窗口嵌套在聚類滑動檢測窗口中, 用于 進一步確認導致聚類滑動檢測窗口中數據包出現異常的原 因, 其長度是能夠根據當前聚類滑動檢測窗口所處的狀態 而自動進行調整。
自適應網絡攻擊滑動檢測窗口模型的具體工作流程如圖1 所示:
第一步: 使用DARPA 數據集中第一周的正常網絡數據 作為訓練數據集, 建立 聚類滑動檢測窗口的正常網絡特征庫。
第二步: 將待檢測的網絡數據包按照聚類滑動檢測窗 口的長度進行分段送 入基于聚類算法異常檢測模塊中, 對當前網絡數據包實 施異常檢測, 若檢測出當前網絡數據包存在異常, 則需要根 據條件熵的計算結果對嵌套于聚類滑動檢測窗口中的網絡攻 擊滑動檢測窗口的長度進行調整, 然后再實施網絡攻擊檢 測。若異常檢測模塊未檢測出異常, 則嵌套于聚類滑動檢測 窗口中的網絡攻擊檢測滑動窗口的長度保持不變。
第三步: 在對聚類滑動檢測窗口中的數據包序列進行 網絡攻擊檢測時, 為了保證系統開銷, 首先需要判斷當前 網絡攻擊滑動檢測窗口長度是否達到所設定的上限, 若未 達到上限值, 則通過計算當前網絡攻擊滑動檢測窗口中數 據包序列的條件熵, 確定當前網絡數據包序列的不確定性。
第四步: 若條件熵計算模塊計算出當前網絡攻擊滑動 檢測窗口中條件熵大于設定閾值時, 表明當前用于網絡攻擊 檢測的網絡數據包序列所包含的數據包數量不足, 無法用于 網絡攻擊檢測, 需要增加網絡攻擊滑動檢測窗口的長度, 增 加步長為1。
第五步: 循環第三步、第四步直到檢測完聚類滑動檢 測窗口中的所有網絡數據包。自適應網絡攻擊滑動檢測窗 口模型使得在進行網絡攻擊檢測時能夠保證以合理長度的 網絡數據包序列對網絡攻擊進行檢測, 保證了入侵檢測系 統的實時性與攻擊檢測率。
3.自適應網絡攻擊滑動檢測窗口模型的實現
3.1 基于聚類算法異常檢測模塊
首先需要建立在正常網絡情況下聚類滑動檢測窗口的 聚類中心, 建立異常檢測模塊的具體流程如下:
第一步: 使用DARPA 數據集中第一周的正常網絡數據 包用于構建正常網絡特征庫;
第二步: 使用聚類滑動檢測窗口對訓練數據集中網絡 數據包序列進行分段;
第三步: 使用聚類算法計算出在正常網絡情況下聚類 滑動檢測窗口中網絡數據包序列的聚類中心;
第四步: 在實施異常檢測時, 將待檢測網絡數據包的 聚類中心與正常網絡數據包的聚類中心進行比對, 若當兩者之間的偏離度超過設定閾值時, 則認定當前待檢測數據 包中存在異常;
3.2條件熵計算模塊
條件熵 [1, 2] 的具體含義是: 給定兩個數據集X, Y, 數據集中的數據項用x, y 進行表示, 如公式
(1) 所示: H(X│Y) = x , y 移 P(x, y) log 1 P(x│y)
(1) 由于在進行網絡攻擊檢測時,網絡攻擊滑動檢測窗口的長度需要根據聚類滑動檢測窗口所處的狀態而不斷地進行調整, 因此每一次調整之后都要計算調整后的數據包序 列與未調整時的數據包序列的條件熵, 若兩個序列之間的 條件熵較大時, 則它們之間存在的不確定性比較大, 網絡 攻擊滑動窗口長度需要進一步調整。在計算兩個數據包序 列之間的不確定性時需要使用如下公式: CE(len, O) =H(X│Y) = x∈X 移 x X log y(x) x
(2) 其中觀測值序列為O,該序列按照長度為len 對O 進 行劃分,X 為滑動窗口長度為len 的所構成的集合, 若將滑 動窗口長度len 改為len-1 對觀測值序列O 進行劃分, 則這 樣得到的序列用Y 表示, x 為在數據集X 里數據項x 共 出現的次數, y(x) 表示將x 按長度為len-1 對滑動窗口進 行劃分時所形成的序列。根據式
(2) 可知當CE(len, O)值變小時,滑動窗口中所包含的觀測值將增多, 網絡攻擊 滑動檢測窗口中所包含的數據包序列的不確定性減小, 實 施網絡攻擊檢測時具備足夠多的數據包。
4.網絡攻擊檢測實驗
在本實驗中采用的是DARPA+ 1999 數據集[3],此數據集是MIT 實驗室通過五周實驗采集下來的數據,從第一周、第三周正常網絡數據集中抽取部分數據作為訓練數據,用于入侵檢測模型的構建,在實施網絡攻擊檢測時使用第二周含有網絡攻擊的數據集作為網絡攻擊測試數據,用于測試入侵檢測系統的檢測率。
實驗中分別對TCP、UDP 與ICMP類型的網絡攻擊數據包的檢測率進行了測試,實驗結果如圖2 所示,具有自適應網絡攻擊滑動檢測窗口模型的入侵檢測系統的網絡攻擊檢測率能夠保持在97.5%至99.5%之間,因此自適應網絡攻擊滑動檢測窗口模型的使用保證了入侵檢測系統的網絡攻擊檢測率,具有較好的實用性。
【參考文獻】
[1]曾劍平,郭東輝.一種基于HMM和遺傳算法的偽裝入侵檢測方法[J].小型微型計算機系統. 2007,28(7):1210-1215.
[2]HuQH, YuDR, XieZX. Information Preserving Hybrid Data Reduction Based onFuzzy-rough Techniques [J].O Pattern Recognition Letter, 2006, 27(5): 414-423.
[3]LippmannR,etal.The 1999 DARPA off-lineintrusiondetection evaluation[J].Computer Networks,2000,34 (4):579-595.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文