曾宏志, 史洪松
(江西工程學院 智能制造工程學院, 江西 新余 338000)
目前, 網絡已成為人們進行信息交流和共享的一種重要方法[1]. 但由于網絡的開放性和人們網絡安全意識的薄弱, 導致網絡入侵頻率不斷增加, 從而嚴重影響了用戶的信息和隱私安全[2]. 網絡安全防范技術主要分為兩種: 一種是被動的防范技術, 如數據加密、 身份認證、 軟硬相結合的防火墻等, 其主要對外來入侵行為進行攔截, 但不能檢測到內部一些網絡的攻擊行為, 因此無法有效保證網絡數據傳輸的安全性; 另一種為主動的防范技術, 主要是入侵行為檢測, 其可發(fā)現一些網絡異常行為. 因此, 網絡入侵檢測已成為網絡安全領域的重要問題[3-4].
針對網絡入侵檢測問題目前已有許多有效的網絡入侵檢測技術[5-6]. 網絡入侵檢測方法主要分為兩種: 一種是基于誤用技術的檢測方法, 該類方法需要網絡入侵行為的大量歷史數據, 從歷史數據分析網絡入侵的變化特點, 網絡入侵檢測正確率較高, 但其無法對一些變異的網絡入侵行為或新的網絡入侵行為進行有效檢測, 網絡入侵檢測的通用性較差, 因此該類方法目前已不能滿足網絡入侵檢測的需求[7-9]; 另一種為基于異常技術的檢測方法, 該類方法可發(fā)現和檢測變異的、 新的網絡入侵行為, 是當前網絡入侵檢測的主要方法[10-12], 目前主要有: 基于最近鄰算法的網絡入侵檢測方法、 基于各種神經網絡的網絡入侵檢測方法、 基于聚類分析算法的網絡入侵檢測方法、 基于Bayes網絡的網絡入侵檢測方法以及基于支持向量機的網絡入侵檢測方法等, 這些方法在實際應用中各有優(yōu)勢, 同時也存在一定的缺陷, 如基于聚類分析算法、 最近鄰算法的網絡入侵檢測效率高, 但網絡入侵的誤檢率較高; 基于Bayes網絡、 神經網絡的網絡入侵檢測要求樣本數量大, 且易獲得過擬合的網絡入侵檢測結果; 基于支持向量機的網絡檢測正確率高, 但網絡入侵檢測耗時較長, 網絡入侵檢測的實時性較差[12-15].
為獲得更理想的網絡入侵檢測結果, 減少網絡入侵檢測的誤檢率, 縮短網絡入侵檢測時間, 本文提出一種基于半監(jiān)督技術和主動學習相結合的網絡入侵檢測方法, 并在相同仿真實驗條件下, 采用標準數據集與當前經典方法進行對比, 對比結果驗證了本文網絡入侵檢測方法的優(yōu)越性.
聚類分析算法是一種半監(jiān)督技術, 其以聚類中心為基礎, 將不同數據劃分為相應的類別. 設一個數據聚類問題可描述一個非線性優(yōu)化目標問題, 表示為
(1)
建立一個Lagrange函數:
(2)
(3)
(4)
(5)
綜合式(3)和式(5)可得
(6)
不斷對聚類中心位置進行調整, 最終可實現對所有數據的合理分類.
BP神經網絡是一種主動學習算法, 其由許多人工神經元構成, 這些人工神經元組成一個拓撲結構, 通常采用分層結構, 屬于前饋型神經網絡, 具有誤差反向傳播功能, 其拓撲結構如圖1所示.
圖1 BP神經網絡的拓撲結構Fig.1 Topological structure of BP neural network
BP神經網絡工作步驟如下:
1) 設Iij和Oij分別表示第i層、 第j個神經元的輸入和輸出, 則
(7)
Oij=f(Iij),
(8)
其中W(i-1)jk為不同層神經元之間的權值;
2) 設第j個樣本的期望輸出和實際輸出分別為dj和yj, 則輸出誤差為
(9)
3) 梯度方向的誤差曲面下降最快, 根據誤差對梯度方向的權值進行修正[12], 表示為
(10)
(11)
(12)
(13)
(14)
6) 當O(i+1)k為輸出層的神經元節(jié)點時, 則有
(15)
δik=(dk-yk)yk(1-yk);
(16)
7) 當O(i+1)k為隱含層的神經元節(jié)點時, 則有
(17)
(18)
8) 神經網絡的權值調整公式為
(19)
9) 根據相同原理得到神經網絡的閾值調整公式為
(20)
10) 通過不斷調整權值和閾值進行誤差反饋, 直到誤差滿足實際要求為止.
蟻群算法具有參數少、 尋優(yōu)效率高等優(yōu)點, 且易與其他算法結合, 其工作步驟如下:
1) 初始化蟻群算法的相關參數;
2) 螞蟻節(jié)點i到j的狀態(tài)轉移概率計算公式為
(21)
其中τij表示節(jié)點i到j之間路徑上的信息素,τij表示節(jié)點i到j的期望程度, allowedk表示允許訪問該節(jié)點的集合;
3) 信息素更新規(guī)則為
τij(t+1)=(1-ρ)τij(t)+Δτij(1);
(22)
4) 當迭代次數到達最大迭代次數時, 終止運行, 否則返回步驟2)繼續(xù)執(zhí)行.
為克服單一技術的不足, 利用半監(jiān)督技術和主動學習算法的優(yōu)點, 本文提出一種將二者相結合的網絡入侵檢測方法, 工作步驟如下:
1) 采用網絡行為探測器采集網絡一段時間內的數據, 并對這些數據進行預處理, 如格式標準化、 去掉一些無用數據等.
2) 從預處理后的網絡數據中提取可描述各種網絡入侵行為的特征, 并用
(23)
對特征值進行縮放處理, 使其位于[0,1]內, 以便后續(xù)網絡入侵檢測建模.其中fi表示第i個網絡入侵檢測特征的原始值,fmax和fmin分別表示網絡入侵檢測特征的最大值和最小值.
3) 對于待檢測的網絡入侵檢測樣本集合, 采用半監(jiān)督技術根據特征對網絡樣本數據進行聚類分析, 建立網絡入侵檢測的訓練樣本集合.
4) 采用最小二乘支持向量機對網絡入侵檢測的訓練樣本集合進行學習, 并引入蟻群算法搜索最優(yōu)的最小二乘支持向量機參數值, 根據最優(yōu)參數值建立網絡入侵檢測分類器.
5) 根據網絡入侵檢測分類器對待檢測網絡入侵檢測樣本進行檢測, 輸出網絡入侵檢測結果.
為分析半監(jiān)督技術和主動學習算法相結合的網絡入侵檢測效果, 選擇網絡入侵檢測標準數據集----KDD CUP99數據集進行仿真測試實驗. KDD CUP99數據集共包含500萬個樣本, 樣本以連接記錄表示, 每條記錄的最后一個標簽信息表示網絡入侵類型, 共包含4種入侵行為, 分別為Probing,DoS,U2R和R2L. 由于KDD CUP99數據集樣本規(guī)模較大, 為方便操作, 隨機選擇部分樣本進行仿真測試實驗, 樣本數量分布列于表1.
表1 實驗選擇4種入侵行為的樣本數量分布
為驗證半監(jiān)督技術和主動學習算法相結合的網絡入侵檢測方法的優(yōu)越性, 選擇文獻[11]和文獻[12]的網絡入侵檢測方法進行對比測試. 兩種方法測試環(huán)境相同: CPU為4核2.80 GHz, 內存為32 GB, 硬盤為800 GB, 操作系統(tǒng)為Windows 7, 仿真工具為MATLAB 2019.
當前網絡入侵檢測結果的評價指標較多, 本文選擇網絡入侵檢測的正確率、 漏檢率和誤檢率作為評價指標, 分別定義為
(24)
(25)
(26)
其中TN,TP,FP,FN定義見表2.
表2 混淆矩陣
文獻[11]、 文獻[12]的網絡入侵檢測方法與半監(jiān)督技術和主動學習相結合的網絡入侵檢測方法性能對比實驗結果如圖2~圖4所示. 由圖2~圖4可見:
圖2 不同方法的網絡入侵檢測正確率Fig.2 Detection accuracy of network intrusion by different methods
圖3 不同方法的網絡入侵檢測誤檢率Fig.3 Missed detection rate of network intrusion detection by different methods
圖4 不同方法的網絡入侵檢測漏檢率Fig.4 False detection rate of network intrusion detection by different methods
1) 文獻[11]、 文獻[12]的網絡入侵檢測均低于90%, 無法滿足網絡安全保障的實際正確率要求, 這是因為網絡入侵十分復雜, 對比方法難以準確刻畫網絡入侵的變化特點, 使網絡入侵檢測的漏檢率、 誤檢率較高;
2) 半監(jiān)督技術和主動學習相結合方法的網絡入侵檢測高于95%, 可以滿足網絡安全保障的實際正確率要求, 這是因為本文方法結合了半監(jiān)督技術和主動學習的優(yōu)點, 可以很好地區(qū)別各種網絡入侵行為, 減少了網絡入侵檢測的漏檢率、 誤檢率, 具有明顯優(yōu)勢.
文獻[11]、 文獻[12]的網絡入侵檢測方法與半監(jiān)督技術和主動學習相結合的網絡入侵檢測方法的運行時間如圖5所示. 由圖5可見, 相對于文獻[11]和文獻[12]的網絡入侵檢測方法, 半監(jiān)督技術和主動學習相結合的網絡入侵檢測方法的運行時間較短. 這是因為該方法采用半監(jiān)督技術對網絡入侵檢測樣本進行了預處理, 縮小了網絡入侵檢測的訓練樣本規(guī)模, 使訓練時間明顯縮短, 從而大幅度縮短了網絡入侵檢測時間, 可滿足網絡入侵檢測的實時性和在線檢測要求, 實際應用范圍更廣.
圖5 不同方法的網絡入侵檢測時間Fig.5 Detection time of network intrusion by different methods
綜上所述, 為減少網絡入侵帶來的網絡通信和數據傳輸風險, 本文首先針對網絡入侵檢測過程中存在的問題, 提出了一種基于主動學習與半監(jiān)督技術相結合的網絡入侵檢測方法, 該方法充分利用了半監(jiān)督技術和主動學習的優(yōu)勢. 其次, 采用KDDCUP99數據集對網絡入侵檢測效果進行了測試, 測試結果表明, 本文方法不僅獲得了較高的網絡入侵檢測正確率, 同時網絡入侵檢測效率也較高, 應用前景廣闊.