(山西臨汾市公安局網絡安全保衛支隊 山西041000)
隨著互聯網用戶的增加引發了全球對信息安全的關注,入侵檢測在保護數據免受我們網絡或系統中發生的任何入侵者方面發揮著重要作用,它通過觀察和分析系統中發生的事件來檢測問題[1]。由此開發的入侵檢測系統(IDS)可以定義為幫助我們對網絡中任何可疑入侵行為進行預測、發現、報警和響應的任何工具,方法和資源[2],具有監視分析用戶與系統的活動、檢查系統配置與漏洞、識別已知攻擊行為并報警、統計分析異常行為、識別違反安全策略的用戶行為、對系統日志的管理維護等功能。在2017年IETF[3]提出的網絡入侵檢測體系結構中,系統包含三個模塊:傳感器模塊,分析模塊和管理模塊,如圖1所示。在這個架構中,主要是定義用于入侵檢測系統的組件之間的標準通信,該體系結構定義了針對ISP的交換消息的格式:入侵檢測消息交換格式(IDMEF),其隱式中包含數據模型。

圖1 IDS的體系結構
入侵檢測通常是基于簽名或行為兩種方法,兩種方法的優缺點見表1。基于簽名的檢測方法是在已知的攻擊和系統漏洞的累積知識,基于啟發式規則搜索任何利用漏洞的嘗試并發出警報[4]。一般情況下,未明確被稱為攻擊的行為都被認為是合法的,因此基于簽名方法的IDS 通常具有較低的誤警率[5]。但基于簽名的方法僅能檢測已知的攻擊,無法應對環境不斷變化情況下的新型攻擊,僅檢測已知的攻擊,這需要規則數據庫進行頻繁更新。基于行為方法的入侵檢測技術[6-7]假設可以通過觀察與正常行為或系統或用戶的預測相關的行為異常來檢測入侵。首先,從通過各種手段收集的信息引用中提取正常行為的模型,然后入侵檢測系統將該模型與當前活動進行比較,如果檢測到偏差,則將觸發警報。一般來說,這種方法可將隨著環境變化情況下的新型攻擊行為考慮在內,因此基于行為分析的入侵檢測方法通常具有較低的漏警率,但檢測準確率還有待提升[8]。

表1 行為與簽名方法的比較
隨著網絡規模的不斷擴大,網絡流量的不斷增長和黑客技術的不斷發展,都對入侵檢測系統(IDS)的性能提出了更高的要求。針對上述問題,本文以提高入侵檢測技術的檢測準確率、降低誤警率和漏警率以及提高檢測效率為技術目標,提出了一種基于行為分析的入侵檢測系統,通過將多類RBF神經網絡與加速粒子群優化相結合的混合檢測方法,以提高入侵檢測率。
入侵檢測行為或異常是基于攻擊導致資源異常使用或用戶表現出奇怪行為的假設。因此,諸多學者經提出了免疫學方法、機器學習方法等來學習正常行為,以便能夠檢測任何顯著的偏差。在入侵檢測過程中,每個連接可以分為正常流量或入侵流量,因此可以將其視為分類問題。近年來,入侵檢測問題得益于混合機器學習以提高異常行為的檢測率,本文提出了一種基于多類RBF神經網絡的混合方法,其參數和子集由APSO 優化。
粒子群優化算法(PSO)也稱鳥群覓食算法,是由R.C.Eberhart和J.Kennedy 開發的一種新的進化算法,它從隨機解出發,通過迭代尋找最優解,是以種群為基礎的隨即搜索和優化的過程,具有廣泛的應用領域,例如神經網絡訓練、工程優化等[9]。
粒子群優化算法(PSO)通過更新其位置和速度可以移動到最佳位置的粒子(候選解)。粒子的運動速度可以通過慣性的重量、認知學習因子和社會學習因素的值來更新。每個粒子是給定區域D上的最佳函數f(x)的整體勢,被認為是D維空間中的點并且表示為粒子的速度矢量為此外,最佳先前位置將被粒子的最佳適應值替換為并且該區域中迄今為止的最佳位置是根據方程(1)和(2)更新第i個粒子的速度和位置:

標準粒子群優化使用當前的gBest和pBest。使用單個best的目標主要是為了改善質量解決方案的多樣性,然而這種多樣性可以使用一些隨機性來模擬。其次,使用單個best 并沒有較好的理由,除非所關注的優化問題是高度非線性和多模態的。目前,標準的PSO算法還存在很多的缺陷,如容易發生早熟、收斂速度慢、后期搜索性能和個體尋優能力降低等。因此在本文中,使用APSO方差,可以加速算法的收斂,僅使用全局最佳特征[11]。因此,在加速粒子群優化算法(APSO)中,速度矢量由更簡單的公式生成:

RBF神經網絡簡稱徑向基函數神經網絡,作為一種分類模型,包含輸入層、隱層、輸出層三層神經網絡,其基本思想是用RBF 作為隱單元的“基”構成隱藏層空間,隱藏層對輸入矢量進行變換,將低維的模式輸入數據變換到高維空間內,使得在低維空間內的線性不可分問題在高維空間內線性可分[12]。RBF神經網絡在逼近能力、分類能力和學習速度等方面都優于BP神經網絡,結構簡單、訓練簡潔、學習收斂速度快,能夠逼近任意非線性函數,克服局部極小值問題。
徑向基神經網絡的激活函數可表示為:

其中xp徑向基神經網絡的結構可得到網絡的輸出為:

當然,采用最小二乘的損失函數表示:

本章旨在通過APSO 算法優化網絡入侵檢測系統(IDS)架構,并通過檢測RBF神經網絡多類別的最優參數和特征子集來提高分類模型的準確性。APSO對于特征選擇很有吸引力,在這個粒子群中,當它們在問題空間中飛行時會發現最佳特征組合。APSO 特征選擇意味著從一組原始變量中選擇相關變量的最佳子集,其有效改善了性能分類(學習時間,速度和泛化能力),此外也增加了數據的可理解性。從人工智能的角度來看,基于RBF神經網絡模型創建分類器意味著為數據創建模板,并且能夠使得模型盡可能簡單、可操作。
由于本文所使用的數據集具有41個特征,分類器模型要處理的數據量較大,無法保證在合理的時間內完成建模與分類操作,需要減少部分低重要性的特征空間,因此本文使用APSO 算法來選擇對模型分類預測影響最大的最佳特征集。
為了實現我們提出的方法,使用RBF神經網絡將樣本映射到更高維的數據中,與線性核不同,它可以處理類標簽與屬性之間的非線性關系的情況,是影響模型選擇復雜性的超參數數量。RBF內核函數為:

RBF內核有兩個參數:一是C(懲罰參數):該參數對于所有SVM內核都是通用的,它權衡了培訓示例的錯誤分類與決策面的簡單性;二是(gamma 參數),它是RBF內核函數的一個特定參數,定義了單個訓練示例的影響程度。C值的選擇對分類結果的影響取決于兩個主要情況:如果C太大,那么在培訓階段分類準確率將非常高,而在測試階段分類準確率將非常低;如果C太小,分類準確率就會降低。參數對分類結果的影響比C顯著,因為它的值影響了特征空間中的劃分結果。參數值過大時,支持向量的影響范圍只包括支持向量本身,沒有合適的正則化C來防止過擬合風險,而過小的值將無法擬合數據的形狀和復雜度,將會導致欠擬合。因此必須使用APSO優化用作輸入屬性的參數(C和);準確地說,要建立基于APSO-RBF的入侵檢測系統,必須執行以下主要流程,如圖2所示。

圖2 IDS 架構優化
在比較多個預測模型的精確度時,通常使用k 折交叉驗證技術來減少隨機抽樣產生的誤差。研究將數據隨機分為10個子集,每次迭代使用9個子集來訓練多類RBF神經網絡,1個子集用于訓練多類別分類器,驗證模型的子集。為了評估每一個粒子,本文在函數擬合中使用了準確率,如果適合度大于pbest,pbest 將收到適合度;如果pbest 優于gbest,gbest 將收到pbest。最后,使用公式(1)和(2)更新粒子速度和位置。這一過程持續10次,直到APSO 找到最佳參數,計算精度并評估粒子參數(C和)。k 折交叉驗證技術僅用于尋找SVM的最佳參數,而不用于生成最佳模型。多類RBF神經網絡分類器是由多個單一的RBF神經網絡分類器組合而成,它構造n個分類器,其中n是類別的數目,得出的假設公式如下:

其中fo va(x)是全局預測函數,fi(x)是每個分類器的預測函數,因此,通過將ith類中的所有示例標記為正,將余數標記為負,來訓練ith分類器。
許多與IDS相關的數據集已經被研究人員用來開發基于行為方法的解決方案,最流行的KDD99數據集[13],雖然年代有些久遠,但仍然是網絡入侵檢測領域的事實基準,為基于計算智能的網絡入侵檢測研究奠定基礎。由于KDD99數據集包含大量的冗余記錄,易導致學習算法偏向于頻繁記錄,從而防止他們從不常見的記錄中學習,這些記錄通常對網絡有害,例如U2R和R2L攻擊。為了解決這些問題,我們從完整的KDD99數據集中選擇一些記錄,并且不包含KDD99缺點,其中每個連接都是單個行數向量由41個特征組成。該數據集中提供的攻擊類別分為四類,即拒絕服務攻擊、探測、遠程用戶攻擊和用戶到根攻擊。在這項研究中,我們使用處理后的KDD99數據集來訓練和預測網絡入侵檢測模型,并對模型結果進行比較。
所有的實驗都是在Linux CentOS 7下運行的24 CPU Intel Core 2.13GHz、48GB RAM計算站上進行的,以評估該模型的性能。然后,使用Java語言對實驗進行編碼。由于數據集包含41個特征,分類器使用這些特征并不能提供最佳的結果,反而會引起對模型的過度學習。因此采用APSO 算法選擇最佳特性,共選擇出15個最佳特征作為模型訓練使用數據。
為了對本文提出的APSO-RBF 算法進行評估,共使用了入侵檢測研究中的四個性能指標。準確性表示所有類別被正確分類的概率;檢測率為正確分類的正常行為和網絡入侵行為的數量除以驗證數據集的總數;誤警率為被錯誤分類為網絡入侵行為的正常行為的總數除以所有正常行為的總數;漏警率則為被錯誤分類為正常行為的網絡入侵總數除以實際為網絡入侵的總數。

表2 一對多分類的混淆矩陣

表3 標準度量的混淆矩陣
本文在測試集上評估所提出的入侵檢測方法的性能,并且使用訓練集來訓練模型。表2和3為模型訓練集混淆矩陣,從表中來看,實現了91.03%的實例分類正確率和93.61%的入侵檢測率。

表4 算法性能比較
表4比較了APSO 優化的RBF神經網絡模型(APSO-RBF)、蟻群優化的RBF神經網絡模型(ACO-RBF)和遺傳算法優化的支持向量機模型(GA-SVM)共三個模型的性能。為了進行統計分析,使用10 倍交叉驗證對每種算法進行10次實驗,最后,采用為測試集的總體驗證提供最佳實驗結果的模型。結果表明,與遺傳算法和蟻群算法相比,APSO-RBF 算法具有更好的性能,尤其是穩定性。

圖3 各算法模型準確率比較
為了檢驗本文所提APSO-RBF神經網絡方法的有效性,本文使用了決策樹、Autoencoder、RBF-SVM 等算法在相同的訓練數據集上進行訓練。從圖3各算法模型準確率比較的結果表明,本文所提出的方法提高了IDS的檢測性能,比其他檢測方法相對更為可靠。
本文提出了一個基于程序行為分析的網絡入侵檢測系統,即采用多類RBF神經網絡與加速粒子群優化(APSO)相結合的混合檢測方法,以提高入侵檢測率。在本文中通過使用APSO 算法解決了以往算法不能解決的兩個問題:一是,在網絡入侵行為特征數量較大的情況下,通過檢測或搜索對模型預測有很大影響的多數特征,減少RBF神經網絡的特征向量空間,確保了在沒有過度計算密集型模型的情況下具有良好的預測能力;二是成功地優化了使用的RBF神經網絡參數(C,),減少了模型欠擬合或者過擬合的風險。另外,本文還使用了RBF神經網絡模型優化分類器,使模型可以處理類標簽與屬性之間的非線性關系的情況。本文采用KDD99數據集進行入侵檢測系統的檢測性能實驗,實驗結果表明所提出的APSO-RBF 混合入侵檢測法使得IDS 檢測性能優于在同一數據集上測試的其他現有機器學習方法。