張 梁
(河北建筑工程學院,河北 張家口075024)
當今的時代是信息化時代,網(wǎng)絡與人們的生活密不可分.網(wǎng)絡在給人們帶來便捷的同時,另一個問題也隨之而生,即網(wǎng)絡安全問題.網(wǎng)絡安全僅僅靠被動的防御技術是不夠的,只有采取主動的防御手段,如入侵檢測,審計和反攻擊等技術,才能充分保障系統(tǒng)的安全.
人工神經網(wǎng)絡就是基于模仿生物大腦的結構和功能而形成的一種信息處理系統(tǒng).人是地球上具有最高智慧的動物,人的指揮均來自大腦,人類是靠大腦進行思考、聯(lián)想、記憶和推理判斷等,這些功能是任何被稱為“電腦”的一些計算機所無法取代的.神經網(wǎng)絡以簡單非線性神經元作為處理單元,通過廣泛連接構成大規(guī)模分布式并行處理非線性動力學系統(tǒng)方式,它不依賴于精確數(shù)學模型,而顯示出自適應、自學習功能.
傳統(tǒng)BP網(wǎng)絡訓練時間較長,學習性能不理想,為優(yōu)化神經網(wǎng)絡的性能,采用可變學習速率算法、動量技術和批處理技術,相對于原始的BP網(wǎng)絡,大大提高了入侵檢測的性能和速度.
2.2.1 動量算法:為了改善網(wǎng)絡訓練的收斂曲線的震蕩,即加速網(wǎng)絡的收斂性能,每次學習的權值改變可以隨著本次訓練和上一次訓練權值進行.因此第K次訓練的權值調整公式為:
2.2.2 可變學習速度算法:如果均方誤差權值在更新后增加了,并且超過了某個設置的百分數(shù)ε(例如1%-5%),那么權值更新被取消,學習速度被乘以一個因子β(0<β<1)并且動量系數(shù)γ給設置為0.
2.2.3 基于數(shù)值優(yōu)化的Levenberg-Marquardt(LM)算法:基于數(shù)值優(yōu)化的LM算法不但利用了目標函數(shù)的一階導數(shù)信息,還利用了目標函數(shù)的二階導數(shù)信息,從而使學習時間更短.LM算法是針對訓練快速收斂的目的而設計,同時可以避免了計算海森矩陣.
針對以上神經網(wǎng)絡的優(yōu)化方法,設置總步數(shù)為epochs=3000;誤差目標goal=0.001;學習速率lr=0.02;對入侵檢測數(shù)據(jù)分別進行模擬分析,可見下圖.
圖1 LM-BP
圖2 動量BP
圖3 可變速率BP
如圖1-3所示,分別對應為LM-BP、動量BP、VL-BP的神經網(wǎng)絡訓練結果.其中,在LM-NN中,收斂時間為11.734000 seconds,均方誤差為:e=0.09160;在動量BP中,收斂時間為89.67000 seconds,均方誤差為:e=0.09830;在可變速率BP中,收斂時間為30.65000 seconds,均方誤差為:e=0.097364.實驗分析可得,三種方法中,LM-BP的響應時間較快,可變速率BP的時間次之,而動量NN的響應時間為最長;同時三種算法的誤差均相差不大.實驗顯示了優(yōu)化的神經網(wǎng)絡雖然收斂時間較快,但在誤差上沒有明顯的提高.
遺傳算法(Genetic Algorithm,簡稱GA)是根據(jù)達爾文的自然界生物進化思想,將其靈活運用到優(yōu)化運算領域而產生的一種尋優(yōu)算法.針對基因編碼的工作十分的復雜,我們往往進行簡化操作,如二進制編碼,產生初始種群之后,按照適者生存和優(yōu)勝劣汰的原理,逐代進化產生出越來越好的近似解.這個過程將導致種群像自然進化一樣的后代種群,并且比前代更加適應于環(huán)境,末代種群中的最優(yōu)個體最后經過解碼,可以作為問題近似最優(yōu)解.
遺傳算法并不是簡單的隨機比較搜索算法,它通過對染色體的適應度評估和染色體中基因的作用,有效地利用己有的信息來指導搜索最有希望改善優(yōu)化質量的狀態(tài).遺傳算法的運算過程如下:(1)初始化:設置進化代數(shù)計數(shù)器t=0,設置最大進化代數(shù)T,隨機生成M個個體作為初始群體P(0);(2)個體評價:計算群體P(t)中各個個體的適應度;(3)選擇運算:將選擇算子作用于群體;(4)交叉運算:將交叉算子作用于群體;(5)變異運算:將變異算子作用于群體;(6)群體P(t)經過選擇、交叉、變異運算之后得到下一代群體P(t1);(7)終止條件判斷:若t>T,則以進化過程中所得到的具有最大適應度個體作為最優(yōu)解輸出,終止計算.
遺傳算法(GA)作為一種隨機搜索算法,是一種多點搜索和采用交叉操作的技術,具有良好的全局搜索能力.在保留上一代最佳個體的目的下,迭代過程中遺傳算法具有很強的全局搜索能力,同時也存在著許多不足,對于局部空間的搜索問題不是很有效,個體的多樣性減少比較快,尤其在解群分布不均勻時易出現(xiàn)容易顯陷入局部最優(yōu).考慮到基本遺傳算法容易出現(xiàn)過早收斂、易陷入局部最優(yōu)等問題,有必要對其進行一些優(yōu)化,目前主要存在以下優(yōu)化方法如優(yōu)化的選擇算子、優(yōu)化的交叉算子、優(yōu)化的變異算子、采用的優(yōu)化組合等.
近十幾年來,許多具備不同信息處理能力的神經網(wǎng)絡已被提出來并應用于眾多的信息處理領域,使神經網(wǎng)絡變得越來越流行,但是仍存在一些難以解決的問題.由于遺傳算法全局尋優(yōu)能力較強,通過結合遺傳算法和神經網(wǎng)絡結合起來是非常有意義的,目前主要存在兩種方式:一是用于權值訓練;二是結構的訓練.由于基本遺傳算法存在容易早熟和收斂速度較慢的難題,以及局部搜索能力弱等缺點,故必須優(yōu)化遺傳算法,通過其來克服神經網(wǎng)絡收斂慢和易局部收斂的缺陷.本文將神經網(wǎng)絡的訓練分成兩部分:一是用遺傳算法來優(yōu)化網(wǎng)絡的初始權值;二是用神經網(wǎng)絡來訓練入侵檢測數(shù)據(jù).
圖4 基于智能化的入侵檢測模型
本實驗采用的是KDD2000數(shù)據(jù)集,其來源于美國國防部高級研究計劃署(DARPA)提供的網(wǎng)絡測試數(shù)據(jù),包含了網(wǎng)絡連接信息來訓練該神經網(wǎng)絡,這個數(shù)據(jù)集中包含四大類型的攻擊行為,共存在22種入侵檢測方式.首先對所有原始數(shù)據(jù)進行預處理,本實驗從數(shù)據(jù)集中典型攻擊實例進行模式訓練、測試樣本.
實驗選取5組訓練樣本及15組檢測樣本,大約4000個數(shù)據(jù).神經網(wǎng)絡采用如下結構:輸入層的節(jié)點數(shù)為20個,隱含層的節(jié)點數(shù)為8個,輸出節(jié)點數(shù)為3個,采用GA+優(yōu)化初始神經網(wǎng)絡的方法.GA+操作的參數(shù)為:選擇種群N=80,最大進化代數(shù)gem=800,選擇概率Ps=0.06.BP算法參數(shù)為:初始學習率lr=0.02,設定的誤差(是輸出值與真實輸入之間的差值的絕對值)為0.0001,最大循環(huán)數(shù)為3000.
圖5 NN
圖6 GA+NN
如圖5所示,在這組數(shù)據(jù)中,NN的訓練步數(shù)為327步,雖然時間為13.26100 seconds,相對收斂較快,但是均方誤差為:0.10810.如圖6所示,GA+NN的訓練步數(shù)為251步,時間為12.38100 seconds,均方誤差為:0.03270,從訓練上兩者相差不多,但是從誤差上有較大的提高.
同時針對SYNflood、Ipsweep、Sendmail、Xterm等數(shù)據(jù)進行了訓練與測試,統(tǒng)計可以得出在以下四種主要攻擊類型下,兩種方法的檢測率如圖7所示:
在試驗中我們發(fā)現(xiàn)權值和閥值的初始值與最后的結果保持一定的關系.而神經網(wǎng)絡表現(xiàn)最為明顯,如果初始值比較好,則很快就能得到最佳結果,如果初始值不好,則得不到最佳結果,誤差會越來越大,最后到達某一結果后停下來.優(yōu)化的GA在訓練過程中一直向理想結果靠近,表現(xiàn)出了較好的全局搜索能力.實驗表明,利用本文提出的智能化入侵檢測能取得較好的性能,尤其是對“DOS”類型數(shù)據(jù)時候,效果尤為明顯;但是在“R2L”類型的數(shù)據(jù)時,檢測率較低.總之,在針對其它不同類型的數(shù)據(jù)時,檢測率都有不同程度的提高.
圖7 基于兩種方法的檢測率
入侵檢測技術是新型的網(wǎng)絡安全主動防御技術,它從多方面彌補了傳統(tǒng)被動檢測技術的缺點.近年來網(wǎng)絡入侵無論從規(guī)模與方法上都日益加劇,入侵的手段與技術也是層出不窮,這要求我們在智能化入侵檢測方面進行深入研究,同時應建立入侵檢測系統(tǒng)評價體系.設計出通用的能夠對入侵檢測系統(tǒng)進行評估的的平臺和方法,成為當前入侵檢測系統(tǒng)的另一重要的研究與發(fā)展領域.
[1]陳署宇,周輝毅.分布式自治型入侵檢測系統(tǒng)研究.計算機工程,2007,6:139~140
[2]羅守山.入侵檢測.北京:北京郵電大學出版社,2004.46~98
[3]楊義先,鈕心忻.網(wǎng)絡安全理論與技術.北京:人民郵電出版社,2003.112~124