(山西臨汾市公安局網(wǎng)絡(luò)安全保衛(wèi)支隊 山西041000)
隨著互聯(lián)網(wǎng)用戶的增加引發(fā)了全球?qū)π畔踩年P(guān)注,入侵檢測在保護數(shù)據(jù)免受我們網(wǎng)絡(luò)或系統(tǒng)中發(fā)生的任何入侵者方面發(fā)揮著重要作用,它通過觀察和分析系統(tǒng)中發(fā)生的事件來檢測問題[1]。由此開發(fā)的入侵檢測系統(tǒng)(IDS)可以定義為幫助我們對網(wǎng)絡(luò)中任何可疑入侵行為進行預(yù)測、發(fā)現(xiàn)、報警和響應(yīng)的任何工具,方法和資源[2],具有監(jiān)視分析用戶與系統(tǒng)的活動、檢查系統(tǒng)配置與漏洞、識別已知攻擊行為并報警、統(tǒng)計分析異常行為、識別違反安全策略的用戶行為、對系統(tǒng)日志的管理維護等功能。在2017年IETF[3]提出的網(wǎng)絡(luò)入侵檢測體系結(jié)構(gòu)中,系統(tǒng)包含三個模塊:傳感器模塊,分析模塊和管理模塊,如圖1所示。在這個架構(gòu)中,主要是定義用于入侵檢測系統(tǒng)的組件之間的標(biāo)準(zhǔn)通信,該體系結(jié)構(gòu)定義了針對ISP的交換消息的格式:入侵檢測消息交換格式(IDMEF),其隱式中包含數(shù)據(jù)模型。
圖1 IDS的體系結(jié)構(gòu)
入侵檢測通常是基于簽名或行為兩種方法,兩種方法的優(yōu)缺點見表1?;诤灻臋z測方法是在已知的攻擊和系統(tǒng)漏洞的累積知識,基于啟發(fā)式規(guī)則搜索任何利用漏洞的嘗試并發(fā)出警報[4]。一般情況下,未明確被稱為攻擊的行為都被認(rèn)為是合法的,因此基于簽名方法的IDS 通常具有較低的誤警率[5]。但基于簽名的方法僅能檢測已知的攻擊,無法應(yīng)對環(huán)境不斷變化情況下的新型攻擊,僅檢測已知的攻擊,這需要規(guī)則數(shù)據(jù)庫進行頻繁更新?;谛袨榉椒ǖ娜肭謾z測技術(shù)[6-7]假設(shè)可以通過觀察與正常行為或系統(tǒng)或用戶的預(yù)測相關(guān)的行為異常來檢測入侵。首先,從通過各種手段收集的信息引用中提取正常行為的模型,然后入侵檢測系統(tǒng)將該模型與當(dāng)前活動進行比較,如果檢測到偏差,則將觸發(fā)警報。一般來說,這種方法可將隨著環(huán)境變化情況下的新型攻擊行為考慮在內(nèi),因此基于行為分析的入侵檢測方法通常具有較低的漏警率,但檢測準(zhǔn)確率還有待提升[8]。
表1 行為與簽名方法的比較
隨著網(wǎng)絡(luò)規(guī)模的不斷擴大,網(wǎng)絡(luò)流量的不斷增長和黑客技術(shù)的不斷發(fā)展,都對入侵檢測系統(tǒng)(IDS)的性能提出了更高的要求。針對上述問題,本文以提高入侵檢測技術(shù)的檢測準(zhǔn)確率、降低誤警率和漏警率以及提高檢測效率為技術(shù)目標(biāo),提出了一種基于行為分析的入侵檢測系統(tǒng),通過將多類RBF神經(jīng)網(wǎng)絡(luò)與加速粒子群優(yōu)化相結(jié)合的混合檢測方法,以提高入侵檢測率。
入侵檢測行為或異常是基于攻擊導(dǎo)致資源異常使用或用戶表現(xiàn)出奇怪行為的假設(shè)。因此,諸多學(xué)者經(jīng)提出了免疫學(xué)方法、機器學(xué)習(xí)方法等來學(xué)習(xí)正常行為,以便能夠檢測任何顯著的偏差。在入侵檢測過程中,每個連接可以分為正常流量或入侵流量,因此可以將其視為分類問題。近年來,入侵檢測問題得益于混合機器學(xué)習(xí)以提高異常行為的檢測率,本文提出了一種基于多類RBF神經(jīng)網(wǎng)絡(luò)的混合方法,其參數(shù)和子集由APSO 優(yōu)化。
粒子群優(yōu)化算法(PSO)也稱鳥群覓食算法,是由R.C.Eberhart和J.Kennedy 開發(fā)的一種新的進化算法,它從隨機解出發(fā),通過迭代尋找最優(yōu)解,是以種群為基礎(chǔ)的隨即搜索和優(yōu)化的過程,具有廣泛的應(yīng)用領(lǐng)域,例如神經(jīng)網(wǎng)絡(luò)訓(xùn)練、工程優(yōu)化等[9]。
粒子群優(yōu)化算法(PSO)通過更新其位置和速度可以移動到最佳位置的粒子(候選解)。粒子的運動速度可以通過慣性的重量、認(rèn)知學(xué)習(xí)因子和社會學(xué)習(xí)因素的值來更新。每個粒子是給定區(qū)域D上的最佳函數(shù)f(x)的整體勢,被認(rèn)為是D維空間中的點并且表示為粒子的速度矢量為此外,最佳先前位置將被粒子的最佳適應(yīng)值替換為并且該區(qū)域中迄今為止的最佳位置是根據(jù)方程(1)和(2)更新第i個粒子的速度和位置:
標(biāo)準(zhǔn)粒子群優(yōu)化使用當(dāng)前的gBest和pBest。使用單個best的目標(biāo)主要是為了改善質(zhì)量解決方案的多樣性,然而這種多樣性可以使用一些隨機性來模擬。其次,使用單個best 并沒有較好的理由,除非所關(guān)注的優(yōu)化問題是高度非線性和多模態(tài)的。目前,標(biāo)準(zhǔn)的PSO算法還存在很多的缺陷,如容易發(fā)生早熟、收斂速度慢、后期搜索性能和個體尋優(yōu)能力降低等。因此在本文中,使用APSO方差,可以加速算法的收斂,僅使用全局最佳特征[11]。因此,在加速粒子群優(yōu)化算法(APSO)中,速度矢量由更簡單的公式生成:
RBF神經(jīng)網(wǎng)絡(luò)簡稱徑向基函數(shù)神經(jīng)網(wǎng)絡(luò),作為一種分類模型,包含輸入層、隱層、輸出層三層神經(jīng)網(wǎng)絡(luò),其基本思想是用RBF 作為隱單元的“基”構(gòu)成隱藏層空間,隱藏層對輸入矢量進行變換,將低維的模式輸入數(shù)據(jù)變換到高維空間內(nèi),使得在低維空間內(nèi)的線性不可分問題在高維空間內(nèi)線性可分[12]。RBF神經(jīng)網(wǎng)絡(luò)在逼近能力、分類能力和學(xué)習(xí)速度等方面都優(yōu)于BP神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)簡單、訓(xùn)練簡潔、學(xué)習(xí)收斂速度快,能夠逼近任意非線性函數(shù),克服局部極小值問題。
徑向基神經(jīng)網(wǎng)絡(luò)的激活函數(shù)可表示為:
其中xp徑向基神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)可得到網(wǎng)絡(luò)的輸出為:
當(dāng)然,采用最小二乘的損失函數(shù)表示:
本章旨在通過APSO 算法優(yōu)化網(wǎng)絡(luò)入侵檢測系統(tǒng)(IDS)架構(gòu),并通過檢測RBF神經(jīng)網(wǎng)絡(luò)多類別的最優(yōu)參數(shù)和特征子集來提高分類模型的準(zhǔn)確性。APSO對于特征選擇很有吸引力,在這個粒子群中,當(dāng)它們在問題空間中飛行時會發(fā)現(xiàn)最佳特征組合。APSO 特征選擇意味著從一組原始變量中選擇相關(guān)變量的最佳子集,其有效改善了性能分類(學(xué)習(xí)時間,速度和泛化能力),此外也增加了數(shù)據(jù)的可理解性。從人工智能的角度來看,基于RBF神經(jīng)網(wǎng)絡(luò)模型創(chuàng)建分類器意味著為數(shù)據(jù)創(chuàng)建模板,并且能夠使得模型盡可能簡單、可操作。
由于本文所使用的數(shù)據(jù)集具有41個特征,分類器模型要處理的數(shù)據(jù)量較大,無法保證在合理的時間內(nèi)完成建模與分類操作,需要減少部分低重要性的特征空間,因此本文使用APSO 算法來選擇對模型分類預(yù)測影響最大的最佳特征集。
為了實現(xiàn)我們提出的方法,使用RBF神經(jīng)網(wǎng)絡(luò)將樣本映射到更高維的數(shù)據(jù)中,與線性核不同,它可以處理類標(biāo)簽與屬性之間的非線性關(guān)系的情況,是影響模型選擇復(fù)雜性的超參數(shù)數(shù)量。RBF內(nèi)核函數(shù)為:
RBF內(nèi)核有兩個參數(shù):一是C(懲罰參數(shù)):該參數(shù)對于所有SVM內(nèi)核都是通用的,它權(quán)衡了培訓(xùn)示例的錯誤分類與決策面的簡單性;二是(gamma 參數(shù)),它是RBF內(nèi)核函數(shù)的一個特定參數(shù),定義了單個訓(xùn)練示例的影響程度。C值的選擇對分類結(jié)果的影響取決于兩個主要情況:如果C太大,那么在培訓(xùn)階段分類準(zhǔn)確率將非常高,而在測試階段分類準(zhǔn)確率將非常低;如果C太小,分類準(zhǔn)確率就會降低。參數(shù)對分類結(jié)果的影響比C顯著,因為它的值影響了特征空間中的劃分結(jié)果。參數(shù)值過大時,支持向量的影響范圍只包括支持向量本身,沒有合適的正則化C來防止過擬合風(fēng)險,而過小的值將無法擬合數(shù)據(jù)的形狀和復(fù)雜度,將會導(dǎo)致欠擬合。因此必須使用APSO優(yōu)化用作輸入屬性的參數(shù)(C和);準(zhǔn)確地說,要建立基于APSO-RBF的入侵檢測系統(tǒng),必須執(zhí)行以下主要流程,如圖2所示。
圖2 IDS 架構(gòu)優(yōu)化
在比較多個預(yù)測模型的精確度時,通常使用k 折交叉驗證技術(shù)來減少隨機抽樣產(chǎn)生的誤差。研究將數(shù)據(jù)隨機分為10個子集,每次迭代使用9個子集來訓(xùn)練多類RBF神經(jīng)網(wǎng)絡(luò),1個子集用于訓(xùn)練多類別分類器,驗證模型的子集。為了評估每一個粒子,本文在函數(shù)擬合中使用了準(zhǔn)確率,如果適合度大于pbest,pbest 將收到適合度;如果pbest 優(yōu)于gbest,gbest 將收到pbest。最后,使用公式(1)和(2)更新粒子速度和位置。這一過程持續(xù)10次,直到APSO 找到最佳參數(shù),計算精度并評估粒子參數(shù)(C和)。k 折交叉驗證技術(shù)僅用于尋找SVM的最佳參數(shù),而不用于生成最佳模型。多類RBF神經(jīng)網(wǎng)絡(luò)分類器是由多個單一的RBF神經(jīng)網(wǎng)絡(luò)分類器組合而成,它構(gòu)造n個分類器,其中n是類別的數(shù)目,得出的假設(shè)公式如下:
其中fo va(x)是全局預(yù)測函數(shù),fi(x)是每個分類器的預(yù)測函數(shù),因此,通過將ith類中的所有示例標(biāo)記為正,將余數(shù)標(biāo)記為負(fù),來訓(xùn)練ith分類器。
許多與IDS相關(guān)的數(shù)據(jù)集已經(jīng)被研究人員用來開發(fā)基于行為方法的解決方案,最流行的KDD99數(shù)據(jù)集[13],雖然年代有些久遠(yuǎn),但仍然是網(wǎng)絡(luò)入侵檢測領(lǐng)域的事實基準(zhǔn),為基于計算智能的網(wǎng)絡(luò)入侵檢測研究奠定基礎(chǔ)。由于KDD99數(shù)據(jù)集包含大量的冗余記錄,易導(dǎo)致學(xué)習(xí)算法偏向于頻繁記錄,從而防止他們從不常見的記錄中學(xué)習(xí),這些記錄通常對網(wǎng)絡(luò)有害,例如U2R和R2L攻擊。為了解決這些問題,我們從完整的KDD99數(shù)據(jù)集中選擇一些記錄,并且不包含KDD99缺點,其中每個連接都是單個行數(shù)向量由41個特征組成。該數(shù)據(jù)集中提供的攻擊類別分為四類,即拒絕服務(wù)攻擊、探測、遠(yuǎn)程用戶攻擊和用戶到根攻擊。在這項研究中,我們使用處理后的KDD99數(shù)據(jù)集來訓(xùn)練和預(yù)測網(wǎng)絡(luò)入侵檢測模型,并對模型結(jié)果進行比較。
所有的實驗都是在Linux CentOS 7下運行的24 CPU Intel Core 2.13GHz、48GB RAM計算站上進行的,以評估該模型的性能。然后,使用Java語言對實驗進行編碼。由于數(shù)據(jù)集包含41個特征,分類器使用這些特征并不能提供最佳的結(jié)果,反而會引起對模型的過度學(xué)習(xí)。因此采用APSO 算法選擇最佳特性,共選擇出15個最佳特征作為模型訓(xùn)練使用數(shù)據(jù)。
為了對本文提出的APSO-RBF 算法進行評估,共使用了入侵檢測研究中的四個性能指標(biāo)。準(zhǔn)確性表示所有類別被正確分類的概率;檢測率為正確分類的正常行為和網(wǎng)絡(luò)入侵行為的數(shù)量除以驗證數(shù)據(jù)集的總數(shù);誤警率為被錯誤分類為網(wǎng)絡(luò)入侵行為的正常行為的總數(shù)除以所有正常行為的總數(shù);漏警率則為被錯誤分類為正常行為的網(wǎng)絡(luò)入侵總數(shù)除以實際為網(wǎng)絡(luò)入侵的總數(shù)。
表2 一對多分類的混淆矩陣
表3 標(biāo)準(zhǔn)度量的混淆矩陣
本文在測試集上評估所提出的入侵檢測方法的性能,并且使用訓(xùn)練集來訓(xùn)練模型。表2和3為模型訓(xùn)練集混淆矩陣,從表中來看,實現(xiàn)了91.03%的實例分類正確率和93.61%的入侵檢測率。
表4 算法性能比較
表4比較了APSO 優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)模型(APSO-RBF)、蟻群優(yōu)化的RBF神經(jīng)網(wǎng)絡(luò)模型(ACO-RBF)和遺傳算法優(yōu)化的支持向量機模型(GA-SVM)共三個模型的性能。為了進行統(tǒng)計分析,使用10 倍交叉驗證對每種算法進行10次實驗,最后,采用為測試集的總體驗證提供最佳實驗結(jié)果的模型。結(jié)果表明,與遺傳算法和蟻群算法相比,APSO-RBF 算法具有更好的性能,尤其是穩(wěn)定性。
圖3 各算法模型準(zhǔn)確率比較
為了檢驗本文所提APSO-RBF神經(jīng)網(wǎng)絡(luò)方法的有效性,本文使用了決策樹、Autoencoder、RBF-SVM 等算法在相同的訓(xùn)練數(shù)據(jù)集上進行訓(xùn)練。從圖3各算法模型準(zhǔn)確率比較的結(jié)果表明,本文所提出的方法提高了IDS的檢測性能,比其他檢測方法相對更為可靠。
本文提出了一個基于程序行為分析的網(wǎng)絡(luò)入侵檢測系統(tǒng),即采用多類RBF神經(jīng)網(wǎng)絡(luò)與加速粒子群優(yōu)化(APSO)相結(jié)合的混合檢測方法,以提高入侵檢測率。在本文中通過使用APSO 算法解決了以往算法不能解決的兩個問題:一是,在網(wǎng)絡(luò)入侵行為特征數(shù)量較大的情況下,通過檢測或搜索對模型預(yù)測有很大影響的多數(shù)特征,減少RBF神經(jīng)網(wǎng)絡(luò)的特征向量空間,確保了在沒有過度計算密集型模型的情況下具有良好的預(yù)測能力;二是成功地優(yōu)化了使用的RBF神經(jīng)網(wǎng)絡(luò)參數(shù)(C,),減少了模型欠擬合或者過擬合的風(fēng)險。另外,本文還使用了RBF神經(jīng)網(wǎng)絡(luò)模型優(yōu)化分類器,使模型可以處理類標(biāo)簽與屬性之間的非線性關(guān)系的情況。本文采用KDD99數(shù)據(jù)集進行入侵檢測系統(tǒng)的檢測性能實驗,實驗結(jié)果表明所提出的APSO-RBF 混合入侵檢測法使得IDS 檢測性能優(yōu)于在同一數(shù)據(jù)集上測試的其他現(xiàn)有機器學(xué)習(xí)方法。