魏嘉昕
(華東交通大學,江西 南昌 330000)
隨著信息和網絡技術的發展和普及,網絡信息安全變得越來越重要。與傳統的網絡防御技術相比,智能入侵檢測系統能夠主動攔截和警告網絡入侵,具有很大的實用價值。如何提高智能網絡入侵檢測的有效性已經成為網絡安全的一個焦點[1]。目前,使用智能入侵檢測系統被視為網絡安全和抵御外部威脅的有效解決方案。然而,現有的入侵檢測系統在新的攻擊下往往檢測率較低,在處理審計數據時開銷較大,因此機器學習方法在入侵檢測中得到了廣泛應用。機器學習技術之一的SVM是一種基于統計學習理論的新算法,在解決模式識別和語音識別的分類問題上比傳統的學習方法有更高的性能[2]。然而,隨著大數據時代的到來,SVM遇到了訓練和測試時間長、錯誤率高以及真陽性率低的問題,這限制了其在網絡入侵檢測中的使用。
在基于SVM算法對入侵檢測問題的研究中,Belkin M等人提出拉普拉斯結合SVM,將流形正則化項運用到傳統的SVM中,最后利用表象定理將其轉化為求解二次規劃問題,但實際生活應用中線性分類器遠遠不夠[3]。Yang G等人設計了一種基于最小二乘法的入侵檢測方法,以提高SVM在復雜非線性系統中的檢測能力,然而算法的訓練和測試時間相對較長[4]。Chen Z等人提出了粗粒度并行遺傳算法來同時優化SVM特征子集和參數,提出了一種新的適應度函數,該函數包括分類精度、特征數以及支持向量數,但訓練SVM需要很長時間[5]。在該方法中,啟發式遺傳算法被用于優化SVM核參數,通過啟發式策略動態調整遺傳算子,以模型的分類精度為目標函數,實現基于高斯核SVM分類模型的參數優化。然而,這種方法沒有考慮特征加權對SVM檢測精度的影響。
遺傳算法通過種群搜索策略和個體間的信息交換表現出優異的全局優化能力,被選為在大空間中搜索的最強大工具之一,有可能在搜索空間中找到最佳解[6]。本文將在SVM的基礎上結合遺傳算法提出一種改進的網絡入侵檢測方法,使其具有更好的判別能力,對入侵檢測系統具有更高的真檢測率和更低的誤報率。
SVM最早由瓦普尼克于1995年提出,是一種基于統計學習理論的新機器學習方法[7]。其思想是通過一個映射函數將輸入映射到一個更高維的特征空間,并在這個空間中構造一個最優的分離超平面。其中,映射函數不是以顯式的形式給出,而是通過指定一個核函數作為這個空間中每對點之間的內積來隱含地給出。
假設一個有N數據的訓練集二元分類問題,其中xi表示輸入,yi表示相應的輸出值,則有:

對于非線性情況,首先將原始數據xi非線性映射到高維特征空間H,并將映射函數表示為f(x),即在這個特征空間中解決一個線性分類問題,使其數據樣本之間的距離盡可能達到最大[8]。
由于直接求解超平面和偏置項比較困難,便引入非負松弛因子ξi和懲罰系數C,將其轉化成一個優化問題,通過最小化正則風險函數來估計,具體為:

預先選擇懲罰參數C>0,以控制分類余量和錯誤分類誤差成本。為了對該優化問題求解,引入拉格朗日乘子αi,對上式(2)轉化為對偶問題得到:

式中,K(xi,yi)為核函數,需要同時滿足的條件為,其中0≤αi≤C,i=1,2,…,N。
遺傳算法是一種基于自然選擇理論的生物進化模型或抽象算法,是進化的模擬,通過種群搜索策略和個體間的信息交換表現出優異的全局優化能力。與傳統的多點搜索算法不同,遺傳算法容易避免局部最優,主要由選擇、交叉、變異以及抽樣4個基本部分組成。其算法流程如圖1所示。

圖1 遺傳算法流程圖
遺傳算法中的選擇是為了尋找更好的個體,保持種群的多樣性。根據目標函數值選擇個體進行繁殖的機制,交叉合并兩者之間的個體遺傳信息。其中遺傳物質可能會因繁殖或基因的變形而隨機改變,但變異所表現的效果是積極的,可以避免局部最大值。最后根據前一代及其后代計算新一代的程序[9]。與傳統的連續優化方法相比,二者的區別如下。一是遺傳算法以編碼的方式工作,而不是參數本身,具有良好的可操作性;二是傳統方法都是從一個點開始搜索的,而是遺傳算法總是在一組點上運行,具有較好的魯棒性,提高了達到全局最優的機會,降低了陷入局部靜止點的風險;三是遺傳算法不需要使用任何關于目標函數值的輔助信息,可以應用于任何類型的連續或離散優化問題,但需要指定一個有意義的解碼函數;四是遺傳算法使用概率轉移算子,而傳統的連續優化方法使用確定性轉移算子。更具體地說,從實際的一代計算新一代的方式有一些隨機成分,用概率性傳遞規則代替確定性規則,具有全局尋優特點。
該算法主要由兩步組成,第一步采用遺傳算法包裝器特征選擇方法為每類攻擊選擇最優特征進行訓練,第二步采用多SVM分類器,每個分類器檢測一類攻擊。每個攻擊分配一個不同的分類器,并使用所提出的文件系統技術選擇每個攻擊數據的特定特征進行訓練。分類器是線性排列的,每個分類器都是根據攻擊的嚴重程度放置的。對于每個分類器,其輸出要么屬于攻擊組,要么屬于非攻擊組,但新類別最后一個分類器的輸出除外。如果數據被歸為攻擊類別,那么分類器將對報告用戶進行進一步處理,否則它會將輸入數據轉發給下一個分類器來確定類別,這個過程一直持續到輸入數據類別被確定。基于GA-SVM網絡入侵系統的體系結構如圖2所示。

圖2 基于GA-SVM的網絡入侵系統的體系結構
在該體系結構中,主要由基于遺傳算法和SVM的特征選擇、基于遺傳算法和SVM的特征加權和參數優化、訓練以及分類4部分組成,具體介紹如下。
一是基于遺傳算法和SVM的特征選擇。輸入網絡流量數據,創建特征染色體,根據本文提出的適應度函數對染色體進行評價,選擇適應度函數值最大的染色體作為最優染色體,解碼最佳特征子集。二是基于遺傳算法和SVM的特征加權和參數優化。根據最佳特征子集創建特征和SVM參數染色體的權重。通過評估具有最高分類精度的染色體并選擇它作為最佳染色體,解碼最佳SVM參數和特征權重。三是訓練。將原始數據隨機分成大小相同的k份子集,并保留這k份子集,將其中k-1個子部分被用作訓練支持向量機的訓練數據。四是分類。保留的k個子部分被分類為測試數據和預測結果。其所有測試集都是獨立的,可以提高該訓練結果的可靠性。
本文中的實驗數據來自KDD Cup99數據集,該數據集是網絡入侵檢測研究中最常用的數據集[10]。由于該數據集的數據量較大,會導致訓練過程耗費時間較長,因此從該數據集中隨機選擇一定數量的數據進行研究分析。與此同時,該數據集包含5種數據類型,分別為正常記錄(Normal)、拒絕服務攻擊(DOS)、監視和其他探測活動(Probe)、來自非遠程機器的非法訪問(R2L)以及普通用戶對特權的非法訪問(U2R),其中有4種為攻擊類型數據。
該實驗基于遺傳算法和SVM算法對網絡入侵檢測系統進行優化。其中涉及到許多參數的設置,這些參數對實驗效果起著非常重要的影響,如交叉和變異概率會隨著迭代次數而變化。合適的適應度函數有助于遺傳算法更有效地探索搜索空間等。本文算法的參數設置如表1所示。

表1 基于遺傳算法和SVM參數設置
本文提出了基于遺傳算法的SVM兩步優化方法,為了驗證該方法在網絡入侵檢測的有效性,分別在通過訓練集上實現了BP算法、SVM算法以及SVM-GA算法。計算比較假陽率(False Positive Rate,FPR)、真陽率(True Positive Rate,TPR)以及正確檢測率(Correct Detection Rate,TDR)3個指標[11]。其中,FP是實際類別為陽性的錯誤樣本個數,TP是實際類別為陽性的正確樣本個數,TN是實際類別為陰性的正確樣本個數,FN是實際類別為陰性的錯誤樣本個數。
FPR是指分類器在實際類別為陽性的所有樣本中錯誤預測的樣本比例,計算公式為:

TPR是指分類器在實際類別為陽性的所有樣本中正確預測的樣本比例,計算公式為:

TDR是指分類器在所有預測類別為正的樣本中正確分類的樣本比例,計算公式為:

BP算法、SVM算法以及SVM-GA算法最終的假陽率、真陽率和誤報率比較結果如表2所示。

表2 算法性能比較
分析拒絕服務攻擊(DOS)、監視和其他探測活動(Probe)、來自非遠程機器的非法訪問(R2L)以及普通用戶對特權的非法訪問(U2R)4種攻擊類型,其結果如圖3所示。

圖3 不同類型攻擊檢測結果比較
本文提出了一種基于遺傳算法和SVM的網絡入侵檢測算法。首先,通過優化遺傳算法的交叉概率和變異概率,有效利用遺傳算法的種群搜索策略和個體間的信息交換能力。該算法加快了收斂速度,提高了SVM的訓練速度。其次,提出了一種新的適應度函數,可以降低SVM誤差率,提高真陽性率。最后,同時優化核參數、懲罰參數以及特征權重,提高SVM濾波的精度。實驗結果表明,本文提出的基于遺傳算法和SVM的改進入侵檢測技術在同等條件下與基于神經網絡算法的網絡入侵檢測系統和基于SVM算法相比,提高了入侵檢測率和真陽性率,降低了假陽率。