摘 要: 入侵檢測(cè)是一種主動(dòng)的安全防護(hù)技術(shù),能夠?qū)W(wǎng)絡(luò)內(nèi)部和外部的攻擊進(jìn)行防御?;谏窠?jīng)網(wǎng)絡(luò)的入侵檢測(cè)是常用的智能檢測(cè)方法,其中BP神經(jīng)網(wǎng)絡(luò)是比較常用的神經(jīng)網(wǎng)絡(luò)模型。針對(duì)BP神經(jīng)網(wǎng)絡(luò)算法易陷入局部極值和收斂速度慢等問(wèn)題,將神經(jīng)網(wǎng)絡(luò)與遺傳算法相結(jié)合,用改進(jìn)的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值。
關(guān)鍵詞: 入侵檢測(cè);BP神經(jīng)網(wǎng)絡(luò);遺傳算法
隨著Internet的飛速發(fā)展,網(wǎng)絡(luò)應(yīng)用的種類不斷增加,網(wǎng)絡(luò)入侵手段也不斷更新,網(wǎng)絡(luò)安全問(wèn)題已經(jīng)成為信息社會(huì)所面臨的最重要的問(wèn)題之一。入侵檢測(cè)作為網(wǎng)絡(luò)與信息安全技術(shù)中新的研究領(lǐng)域和成果之一,必將對(duì)保障網(wǎng)絡(luò)與信息的安全起到重要作用。目前國(guó)內(nèi)外IDS(Intrusion Detection System) 研究中所涉及的一些技術(shù)和方法主要有:基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)、基于專家系統(tǒng)的入侵檢測(cè)技術(shù)、基于Agents 的入侵檢測(cè)技術(shù)和基于模型推理的入侵檢測(cè)技術(shù)等。其中,基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)是近幾年網(wǎng)絡(luò)安全問(wèn)題研究的熱點(diǎn)之一[1]。
在基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)技術(shù)中,反向傳播BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是比較常用的神經(jīng)網(wǎng)絡(luò)模型。BP算法本質(zhì)上屬于梯度下降算法,雖然具有自學(xué)習(xí)能力、尋優(yōu)精確等特點(diǎn),但如果初始連接權(quán)值取值不當(dāng),就會(huì)導(dǎo)致網(wǎng)絡(luò)振蕩、收斂速度慢、容易陷入局部極值等問(wèn)題。針對(duì)BP算法存在的這些缺點(diǎn),目前有一種解決方法是用具有全局搜索能力的遺傳算法GA(Genetic Algorithm)優(yōu)化BP神經(jīng)網(wǎng)絡(luò),將其應(yīng)用于入侵檢測(cè)。
普通GA的適應(yīng)度函數(shù)不靈敏,其選擇方法易產(chǎn)生隨機(jī)誤差,通用性較差,影響算法的性能。本文對(duì)GA的適應(yīng)度函數(shù)和選擇方法進(jìn)行改進(jìn),用其優(yōu)化BP神經(jīng)網(wǎng)絡(luò),并應(yīng)用在入侵檢測(cè)中。
1 BP神經(jīng)網(wǎng)絡(luò)及遺傳算法簡(jiǎn)介
1.1 BP神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介
BP神經(jīng)網(wǎng)絡(luò)模型是由一個(gè)輸入層、一個(gè)或多個(gè)隱含層和一個(gè)輸出層組成的一種多層前饋型網(wǎng)絡(luò),并用BP算法進(jìn)行訓(xùn)練,是一種有導(dǎo)師的學(xué)習(xí)方法,利用梯度下降法對(duì)權(quán)值進(jìn)行修正。在實(shí)際應(yīng)用和研究中通常一個(gè)隱含層就能滿足要求。
BP 算法的過(guò)程可以分為兩個(gè)階段。第一階段是由輸入層開(kāi)始逐層計(jì)算各層神經(jīng)元的輸入和輸出,直到輸出層為止。第二階段是由輸出層開(kāi)始逐層計(jì)算各層神經(jīng)元的輸出誤差,并根據(jù)誤差梯度下降原則來(lái)調(diào)節(jié)各層的連接權(quán)值和節(jié)點(diǎn)閾值,使修改后的網(wǎng)絡(luò)的最終輸出能接近期望值[2]。如果一次訓(xùn)練以后還達(dá)不到精度要求,可以重復(fù)訓(xùn)練,直到滿足訓(xùn)練精度為止。BP神經(jīng)網(wǎng)絡(luò)模型流程圖如圖1所示[3]。

1.2 遺傳算法簡(jiǎn)介
遺傳算法是由DARWIN的生物進(jìn)化論和MENDEL的遺傳理論發(fā)展而來(lái)的一種高效的全局搜索算法,它模擬自然選擇和遺傳中發(fā)生的繁殖、交配和突變現(xiàn)象,從初始種群出發(fā),根據(jù)適應(yīng)度函數(shù)計(jì)算出的適應(yīng)度函數(shù)值,通過(guò)選擇、交叉和變異這3個(gè)操作,產(chǎn)生新的更適應(yīng)環(huán)境的個(gè)體(問(wèn)題的解),使群體進(jìn)化到搜索空間中越來(lái)越接近問(wèn)題的最優(yōu)解的區(qū)域。這樣一代一代不斷進(jìn)化,最后收斂到最適應(yīng)環(huán)境的個(gè)體上,即求得問(wèn)題的最優(yōu)解。圖2為遺傳算法示意圖。

在遺傳算法求解問(wèn)題時(shí),個(gè)體的優(yōu)劣程度是由適應(yīng)度函數(shù)值的大小來(lái)判定的。通常對(duì)高于平均適應(yīng)度值的個(gè)體做交叉,而對(duì)低于平均適應(yīng)度值的個(gè)體進(jìn)行變異,從而一代一代地提高群體的平均適應(yīng)度值。對(duì)于同一種群而言,采用不同的適應(yīng)度函數(shù),平均適應(yīng)度值就會(huì)不同,優(yōu)于平均適應(yīng)度值的個(gè)體數(shù)目也不同,即求解問(wèn)題的能力有差別。由此可見(jiàn),適應(yīng)度函數(shù)在遺傳算法求解問(wèn)題的過(guò)程中起著至關(guān)重要的作用。
遺傳算法中的選擇、交叉和變異這3個(gè)操作是實(shí)現(xiàn)優(yōu)勝劣汰進(jìn)化的關(guān)鍵過(guò)程。理想情況下,如果每次選擇操作選取的都是最適合解決問(wèn)題的那些解,那么最后得到的解即為最優(yōu)解。因而,選擇方法在遺傳算法優(yōu)化過(guò)程中是非常重要的。常見(jiàn)的選擇方法有輪盤(pán)賭選擇法、錦標(biāo)賽選擇法和隨機(jī)遍歷選擇法,這些方法各有特點(diǎn),按照收斂速度由快到慢依次為:錦標(biāo)賽選擇法、隨機(jī)遍歷選擇法和輪盤(pán)賭選擇法。然而,錦標(biāo)賽選擇法和隨機(jī)遍歷選擇法在選擇的時(shí)候由于具有很大的隨機(jī)性,容易產(chǎn)生隨機(jī)誤差,均不易找到全局最優(yōu)解而陷入局部最優(yōu)解。而輪盤(pán)賭選擇法雖能找到全局最優(yōu)解,但是收斂速度很慢。因此,遺傳算法有必要進(jìn)行改進(jìn)。

2.2 基于種群交流的選擇方法
基于種群交流的選擇方法就是利用兩種或兩種以上的選擇方法,綜合各種選擇方法的優(yōu)點(diǎn),既能保證找到全局最優(yōu)解,又能保證以一個(gè)相對(duì)較快的速度收斂,所以其性能通常較好。本文采用的基于種群交流的選擇方法綜合運(yùn)用輪盤(pán)賭選擇法和錦標(biāo)賽選擇法。
以群體A和群體B為例詳細(xì)說(shuō)明基于種群交流選擇方法的基本思想[5](如圖3所示)。群體A和群體B是兩個(gè)不同的種群。在進(jìn)化中,群體A第一代中的a11與群體B第一代中的b12產(chǎn)生的后代a11′和a12′進(jìn)入到群體A中的第二代;群體B第一代中的b11與群體A第一代中a12產(chǎn)生的后代b11′和b12′進(jìn)入到群體B中的第二代。而群體A第一代中剩余的個(gè)體進(jìn)行輪盤(pán)賭選擇,群體B第一代中剩余的個(gè)體進(jìn)行錦標(biāo)賽選擇。以后的每一代都按照上述的方式進(jìn)化,直至達(dá)到最大進(jìn)化代數(shù)N[5]。
從圖3中可以看出,在遺傳算法進(jìn)化過(guò)程中如果對(duì)每一個(gè)種群的每一代都進(jìn)行種群間交流,當(dāng)最大進(jìn)化代數(shù)N很大時(shí)會(huì)嚴(yán)重影響算法的執(zhí)行效率,而且效果也不一定好。所以在該方法具體應(yīng)用過(guò)程中,以一定的概率(稱為種群交流概率)隨機(jī)對(duì)某兩個(gè)種群進(jìn)化過(guò)程中的某些代進(jìn)行交流。這樣既能發(fā)揮種群交流的優(yōu)點(diǎn),又有助于提高算法的效率。

3 基于改進(jìn)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)原理
用遺傳算法來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò)可以分為三種:優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值、優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)規(guī)則。因?yàn)樯窠?jīng)網(wǎng)絡(luò)的全部思想都體現(xiàn)在權(quán)值上,所以采用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值,能夠更好地提高神經(jīng)網(wǎng)絡(luò)的整體性能。用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值的主要思想是改善神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和節(jié)點(diǎn)閾值[6]。
本文用改進(jìn)的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)權(quán)值的主要思想是:初始化神經(jīng)網(wǎng)絡(luò)權(quán)值后,首先用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,如果能滿足精度要求就結(jié)束;如果不能滿足精度,再用改進(jìn)的遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)權(quán)值進(jìn)行優(yōu)化,在解空間中找出一個(gè)較好、較小的搜索空間;然后,用BP算法在這個(gè)較小的解空間中搜索出最優(yōu)解[7]。該算法的主要步驟如下:
(1)初始化連接權(quán)值和節(jié)點(diǎn)閾值,先用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。若滿足訓(xùn)練精度,則停止訓(xùn)練;否則,將這些初始權(quán)閾值初始化為一個(gè)初始種群,用改進(jìn)的遺傳算法進(jìn)行優(yōu)化。
(2)編碼,在遺傳算法中,編碼影響著算法的性能和種群的多樣性。二進(jìn)制編碼和實(shí)數(shù)編碼相比較而言,二進(jìn)制編碼比實(shí)數(shù)編碼搜索能力更強(qiáng),而實(shí)數(shù)編碼在變異操作上能更好地保持種群的多樣性。本文采用這兩種編碼相結(jié)合的方式[8],對(duì)網(wǎng)絡(luò)結(jié)構(gòu)采用二進(jìn)制編碼,對(duì)權(quán)閾值范圍、學(xué)習(xí)速率和動(dòng)量因子采用實(shí)數(shù)編碼[9]。
(3)用適應(yīng)度函數(shù)計(jì)算出各初始種群對(duì)應(yīng)的適應(yīng)度函數(shù)值。
(4)選擇,采用基于種群交流的選擇方法。
(5)交叉,將選擇后得到的新的群體按照預(yù)先確定的交叉率用均勻交叉的方式進(jìn)行交叉。
(6)變異,依據(jù)預(yù)先給定的變異率進(jìn)行變異操作。
(7)重復(fù)進(jìn)行步驟(4)、(5)、(6),直至滿足達(dá)到最大進(jìn)化代數(shù)后結(jié)束。
(8)將得到的權(quán)值再次用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練判斷是否滿足精度要求。若滿足,則算法結(jié)束;否則,繼續(xù)對(duì)該權(quán)值進(jìn)行訓(xùn)練,直至達(dá)到精度要求為止。算法流程圖如圖4所示。

4 入侵檢測(cè)MATLAB仿真
4.1 數(shù)據(jù)獲取
將本文提出的入侵檢測(cè)方法用Matlab 7.6進(jìn)行仿真,驗(yàn)證其性能。樣本數(shù)據(jù)采用美國(guó)麻省理工學(xué)院林肯實(shí)驗(yàn)室提供的網(wǎng)絡(luò)攻擊評(píng)估數(shù)據(jù)[10]。數(shù)據(jù)集中的每條記錄包含了41個(gè)特征量,根據(jù)實(shí)驗(yàn)環(huán)境和研究需要,選擇每條記錄的持續(xù)時(shí)間、協(xié)議類型、服務(wù)類型、目的端發(fā)送到源端的字節(jié)數(shù)、連接狀態(tài)等10個(gè)特征作為研究對(duì)象,共選取1 200條記錄。為了使神經(jīng)網(wǎng)絡(luò)能夠處理非數(shù)值型數(shù)據(jù),對(duì)數(shù)據(jù)特征中數(shù)值特征和非數(shù)值特征統(tǒng)一進(jìn)行數(shù)值編碼,并進(jìn)行歸一化處理。
4.2 參數(shù)設(shè)置
整個(gè)神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點(diǎn)為10,隱含層節(jié)點(diǎn)為15,輸出層為1;隱含層傳遞函數(shù)為tansig,輸出層傳遞函數(shù)為logsig,訓(xùn)練函數(shù)為traingda,目標(biāo)精度為0.001,最大訓(xùn)練周期為1 000;遺傳算法初始種群大小為200,最大進(jìn)化代數(shù)為200,選擇概率為0.9,交叉率為0.8,變異率為0.09,種群交流概率為0.6。
4.3 仿真結(jié)果比較
將所選取的數(shù)據(jù)應(yīng)用到遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)和改進(jìn)的遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡(luò),并用Matlab 7.6對(duì)兩種神經(jīng)網(wǎng)絡(luò)分別進(jìn)行入侵檢測(cè)仿真,所得結(jié)果如圖5和圖6所示。


表1為對(duì)圖5和圖6的仿真結(jié)果進(jìn)行的比較和分析,可以看出:基于改進(jìn)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)取得較好的效果。采用基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)在最初收斂很快,在50 Epochs后明顯變緩,在1 000 Epochs時(shí)仍未收斂,所用的時(shí)間比較長(zhǎng);而采用改進(jìn)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)在開(kāi)始50 Epochs里收斂比較慢,但在50 Epochs后收斂速度明顯加快,在502 Epochs時(shí)收斂。在檢測(cè)效果上,由表1可以看出,基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)的檢測(cè)率為89.67%,而改進(jìn)的遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)的檢測(cè)率為96.58%,其誤差、漏報(bào)率和誤報(bào)率也明顯提高。由此可見(jiàn),采用改進(jìn)遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè),訓(xùn)練精度、漏報(bào)率、誤報(bào)率和檢測(cè)率都明顯提高,時(shí)間也比前者縮短了一半以上,性能較好。
本文主要是對(duì)遺傳算法的適應(yīng)度函數(shù)和選擇方法進(jìn)行改進(jìn),用改進(jìn)的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),并將其應(yīng)用在入侵檢測(cè)中。有效克服了BP神經(jīng)網(wǎng)絡(luò)容易陷入局部極值和收斂速度慢等問(wèn)題,增強(qiáng)了全局搜索能力,提高了訓(xùn)練精度、漏報(bào)率、誤報(bào)率和檢測(cè)率,縮短了訓(xùn)練時(shí)間,從而提升入侵檢測(cè)的性能。
參考文獻(xiàn)
[1] 王永全.入侵檢測(cè)系統(tǒng)(IDS)的研究現(xiàn)狀和展望[J].通信技術(shù),2008,41(11):139-146.
[2] 欒慶林,盧輝斌.基于神經(jīng)網(wǎng)絡(luò)與遺傳算法的入侵檢測(cè)研究[J].電子測(cè)量技術(shù),2008,31(5):70-74.
[3] 戴天虹.基于遺傳神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)研究[J].中國(guó)安全科學(xué)學(xué)報(bào),2006,16(2):103-108.
[4] 劉英.遺傳算法中適應(yīng)長(zhǎng)函數(shù)的研究[J].蘭州工業(yè)高等??茖W(xué)校學(xué)報(bào),2006,13(3):1-4.
[5] 魏全新,劉賢鋒,黃鏘,等.遺傳算法選擇方法的比較分析[J].通信和計(jì)算機(jī),2008,5(8):61-65.
[6] LAM H K. Tuning of the structure and parameters of neural network using an improved genetic algorithm[C] . Industrial Electronics Society, Denver, CO, USA: IECON’ 01, 2001.
[7] 欒慶林,盧輝斌.改進(jìn)遺傳算法在神經(jīng)網(wǎng)絡(luò)權(quán)值優(yōu)化中的應(yīng)用研究[J].遙測(cè)遙控,2008,29(1):51-54.
[8] YEN G G, LU H. Hierarchical genetic algorithm based neural network design[C]. 2000 IEEE Symposium on Combinations of Evolutionamy Computation and Neural Networks, 2000: 168 -175.
[9] 馬海峰,宋井峰,岳新.遺傳算法優(yōu)化的混合神經(jīng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)[J].通信技術(shù),2009,42(9):106-108.
[10] http://www. ll. mit. edu. /IST/ideval/data/2000/LLS-DDOS- 2. 0. 0. html. 2001-06-01.
