摘 要: 利用BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí),結(jié)合粒子群優(yōu)化算法的全局搜索和遺傳算法的快速收斂特性檢測DDoS攻擊行為。實驗證明,新算法具有速度快、檢測率高和誤報率低的特點,能很好地應(yīng)用于檢測和抵御DDoS攻擊。
關(guān)鍵詞: DDoS;BP神經(jīng)網(wǎng)絡(luò);粒子群算法;遺傳算法
DDoS是一種分布式大規(guī)模流量攻擊方式,通過控制互聯(lián)網(wǎng)上傀儡機(jī)對目標(biāo)服務(wù)器發(fā)動攻擊,產(chǎn)生的大量數(shù)據(jù)流涌向目標(biāo)服務(wù)器,消耗服務(wù)器系統(tǒng)資源和帶寬,或把鏈接占滿,從而影響合法用戶的訪問。實施DDoS攻擊一般都會偽造源IP地址,具有隱蔽性強、并發(fā)數(shù)高、攻擊流量大、破壞力強、涉及范圍廣的特點。傳統(tǒng)的DDoS檢測方法很難界定突發(fā)流量與DDoS攻擊流量。本文提出一種基于粒子群BP神經(jīng)網(wǎng)絡(luò)的流量檢測模型,結(jié)合粒子群算法的全局搜索和遺傳算法的快速收斂特性檢測DDoS攻擊行為,最后通過實驗證明,新算法能夠快速、準(zhǔn)確地檢測到各類DDoS攻擊,具有很強的應(yīng)用價值。
1 DDos攻擊方式和檢測方法
DDoS攻擊基于TCP 3次握手協(xié)議,按攻擊方式分為直接型攻擊和反射式攻擊兩類。直接型攻擊是通過控制傀儡機(jī)向目標(biāo)服務(wù)器發(fā)送大量數(shù)據(jù)流,耗盡服務(wù)器系統(tǒng)資源直至癱瘓。反射式攻擊是偽造服務(wù)器IP向主機(jī)群發(fā)送虛假連接請求,致使主機(jī)群應(yīng)答信息涌向服務(wù)器(如DNS請求只有60 B,應(yīng)答信息卻有4 320 B,反射70多倍流量),通過占盡服務(wù)器接入帶寬和連接上限阻止合法用戶的訪問。
針對DDoS攻擊通常采用的是基于特征庫匹配檢測、基于數(shù)據(jù)挖掘攻擊檢測和蜜罐技術(shù)[1]。特征庫匹配檢測需要搜集DDoS攻擊數(shù)據(jù)包各種特征建立特征庫,服務(wù)器對虛假連接請求特征進(jìn)行匹配,若吻合則視為攻擊。這種檢測方法依賴于攻擊特征的描述,對檢測漏洞型DDoS很有效,但無法識別大量沒有協(xié)議特征的攻擊?;跀?shù)據(jù)挖掘攻擊檢測方法通過對數(shù)據(jù)包流量特征分析,將其中規(guī)律轉(zhuǎn)換為檢測規(guī)則,再根據(jù)網(wǎng)絡(luò)流量特征是否偏離正常流量模型來判斷攻擊行為,其最大優(yōu)點是能夠檢測沒有協(xié)議特征的變種DDoS攻擊,但是流量樣本本身具有一定的隨機(jī)性,使得算法復(fù)雜,計算量大,挖掘速率和準(zhǔn)確性不高。蜜罐原本是一種網(wǎng)絡(luò)誘騙技術(shù),通過偽裝真實系統(tǒng)特征吸引攻擊者攻擊蜜罐系統(tǒng),而真正的服務(wù)器得以正常運行。蜜罐不能控制和阻斷攻擊行為,只有遭受攻擊后才能檢測到攻擊,屬于被動防御。上述3種方法都不能很好地解決復(fù)雜網(wǎng)絡(luò)下DDoS欺騙攻擊,相應(yīng)的檢測技術(shù)已明顯滯后于攻擊手段的更新。而抵御DDoS攻擊的核心在于檢測,因為只有檢測到攻擊行為防火墻才能實施包過濾,IDS才能追蹤攻擊源,服務(wù)器才能拆除虛假連接回收系統(tǒng)資源。如何檢測DDoS攻擊行為,提高算法匹配效率和準(zhǔn)確率一直都是研究的難點和熱點,也是目前亟待解決的問題。
本文提出一種基于粒子群BP神經(jīng)網(wǎng)絡(luò)的流量檢測模型,結(jié)合粒子群算法的全局搜索和遺傳算法的快速收斂特性用于檢測DDoS攻擊行為。
2 BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)算法
BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)性由正向傳播和反向傳播構(gòu)成。正向傳播時數(shù)據(jù)從輸入層流經(jīng)各個隱含層處理后通過輸出層輸出結(jié)果。若期望值與輸出結(jié)果偏差大于預(yù)設(shè)閾值,采用反向傳播梯度法調(diào)整,重復(fù)兩個過程直到偏差小于預(yù)設(shè)精度為止,從而學(xué)習(xí)和存儲大量的輸入輸出映射關(guān)系,算法如下。
?。?)初始化神經(jīng)網(wǎng)絡(luò)向量。BP網(wǎng)絡(luò)通過反復(fù)改變輸入權(quán)值,使輸出結(jié)果不斷接近最優(yōu)值。若輸入層有n個神經(jīng)元,隱含層有p個神經(jīng)元,輸出層有q個神經(jīng)元,變量定義如下:
?。?)判斷誤差是否小于預(yù)設(shè)精度或最大迭代次數(shù),滿足條件則輸出計算結(jié)果,否則返回到步驟(3),選取下一個學(xué)習(xí)樣本進(jìn)入下一輪學(xué)習(xí)。
通過大量實例樣本學(xué)習(xí),BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)學(xué)習(xí)特性不僅可以檢測出流量中的DDoS攻擊,還能識別未知攻擊行為,從而克服傳統(tǒng)依賴特征庫匹配才能檢測DDoS攻擊的局限性。對DARPA 2000年數(shù)據(jù)分析表明,BP神經(jīng)網(wǎng)絡(luò)能準(zhǔn)確檢測間歇式DDoS流量攻擊。為此,攻擊者攻擊手段也隨之發(fā)生變化,從傳統(tǒng)的恒速攻擊和間歇式攻擊轉(zhuǎn)變?yōu)榱髁繚u增式攻擊和間歇式與速率漸增式組合攻擊。此時,該方法需要學(xué)習(xí)流量中更多樣本才能識別攻擊行為,收斂速度慢,預(yù)設(shè)精度容易使算法陷入局部最優(yōu)現(xiàn)象,影響檢測率和誤報率。
3 粒子群算法
粒子群算法(PSO)是基于鳥類群體行為研究的模擬算法。鳥群在封閉空間隨機(jī)搜索食物,并且在這個空間只有一個全局最優(yōu)值。假如所有鳥都知道當(dāng)前位置與搜索食物之間距離,那么找到全局最優(yōu)解的最優(yōu)方案就是從身邊最近的鳥周圍區(qū)域進(jìn)行搜尋[2]。在粒子群算法中,尋找最優(yōu)問題的每個解對應(yīng)搜索空間的每只鳥,稱為粒子。每個粒子的初始化向量代表鳥的飛行位置和速度,每個粒子通過尋找附近粒子迭代搜尋最優(yōu)解,具體算法如下。
4 粒子群遺傳算法在BP神經(jīng)網(wǎng)絡(luò)中的應(yīng)用
BP網(wǎng)絡(luò)在檢測DDoS攻擊中需要事先建立網(wǎng)絡(luò)正常流量參考標(biāo)準(zhǔn),初始化權(quán)值和閾值參數(shù)難以確定,設(shè)置過小會使算法難以收斂,過大會陷入局部最優(yōu)。在復(fù)雜網(wǎng)絡(luò)中DDoS攻擊具有間歇式和流量漸增式特點,攻擊行為和流量特征往往不是簡單的一對一等價關(guān)系,導(dǎo)致無法檢測未知行為攻擊。而PSO算法全局搜索能力強,但是收斂速度過慢,并且容易陷入局部最優(yōu)解。因此本文提出基于BP網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)的粒子群遺傳算法。
4.1 新算法實現(xiàn)思想
新算法首先通過PSO搜索最優(yōu)位置向量,將網(wǎng)絡(luò)流量及其參數(shù)量化為每個粒子并初始化狀態(tài),從而構(gòu)建神經(jīng)網(wǎng)絡(luò)粒子群,找出全局最優(yōu)極值范圍,以此作為BP網(wǎng)絡(luò)的初始閾值,再引入遺傳算法和變異算子加速向最優(yōu)解的收斂速度和避免早熟現(xiàn)象。若得到的結(jié)果偏差超出PSO提供的預(yù)設(shè)閾值,再重復(fù)搜索過程,直到找出全局最優(yōu)解。新算法融合PSO全局搜索能力、BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程和遺傳算法的快速收斂優(yōu)點,設(shè)計步驟如下。
?。?)確定BP網(wǎng)絡(luò)隱含層數(shù)量,對每一網(wǎng)絡(luò)流量進(jìn)行粒子群編碼,并進(jìn)行粒子群初始化。
(2)利用PSO算法找出全局最優(yōu)極值范圍,并判斷是否滿足結(jié)束條件(全局極值收斂速度大于偏導(dǎo)數(shù)δo或最大迭代次數(shù))。如果滿足結(jié)束條件則進(jìn)入步驟(3)BP網(wǎng)絡(luò)學(xué)習(xí)過程,否則根據(jù)式(7)和式(8)更新粒子的速度和位置,并重復(fù)本步驟。
?。?)將PSO找出的全局極值作為BP網(wǎng)絡(luò)的初始閾值并進(jìn)入學(xué)習(xí)過程,引入遺傳變異算法向最優(yōu)解加速收斂。
?。?)判斷結(jié)果是否滿足條件(群體適應(yīng)度是否陷入局部最優(yōu)和結(jié)果是否小于極值范圍),如果都滿足,則輸出最優(yōu)值;否則返回步驟(2)繼續(xù)PSO算法的全局搜索。新算法流程圖1所示。
4.2 早熟現(xiàn)象判定與處理
PSO中的粒子當(dāng)前位置和速度依靠個體極值和全局極值來引導(dǎo),當(dāng)粒子發(fā)現(xiàn)更優(yōu)值時,其他粒子受到更優(yōu)值吸引迅速聚攏,如果集聚點并非全局最優(yōu)解,表示PSO陷入局部最優(yōu)現(xiàn)象,加上遺傳迭代,粒子之間的差異越來越小,導(dǎo)致早熟收斂。由于粒子個體適應(yīng)度大小是由粒子個體位置和速率決定的,此時可以根據(jù)粒子整體適應(yīng)度狀態(tài)判斷種群是否陷入局部最優(yōu)。
基于此思想,新算法根據(jù)適應(yīng)度判斷是否過早收斂,經(jīng)過BP網(wǎng)絡(luò)訓(xùn)練后,樣本輸出的誤差總和均值為:
遺傳算法的變異算子將群體中優(yōu)良個體通過交叉和變異操作遺傳到下一代,維持種群的多樣性,并且可以防止算法過早收斂的現(xiàn)象。
5 實驗測試
5.1 流量樣本特征采集和建模
本文以KDD99CUP作為實驗基礎(chǔ)數(shù)據(jù),通過對樣本采集進(jìn)行訓(xùn)練。本文選取1 000個模擬節(jié)點,用Sniffer抓包采集網(wǎng)絡(luò)500組流量特征樣本,其中包含正常的客戶機(jī)連接請求和間歇式與速率漸增式DDoS攻擊,典型采樣結(jié)果如表1所示。
從以上500組數(shù)據(jù)量化為PSO粒子群并初始化狀態(tài)參數(shù),選取典型200個粒子作為訓(xùn)練數(shù)據(jù)集,初始化種群微粒個數(shù)為20,測試函數(shù)維數(shù)分別為10、20、30,對應(yīng)的最大迭代次數(shù)分別為500、1 000和100,設(shè)置初始慣性權(quán)重w=0.9,加速系數(shù)c1和c2為2.00。網(wǎng)絡(luò)有4個輸入節(jié)點和3個輸出節(jié)點,確定BP網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。其中i、j、k分別代表輸入層、隱含層和輸出層的層數(shù)。因此網(wǎng)絡(luò)中需要尋找24個高斯函數(shù)中心矢量,6個基寬向量和18個輸出層連接權(quán)值,共48個參數(shù),即算法中的粒子將在48維空間搜索滿足最小均方誤差要求的最優(yōu)解。
從表2可以看出,在給定迭代次數(shù)下,新算法測試結(jié)果比PSO更接近最優(yōu)值,計算精度有明顯提高,充分體現(xiàn)了新算法的卓越性。
在實驗中,PSO算法參數(shù)初始化粒子數(shù)為200,加速因子c1=c2=2,最大迭代次數(shù)為2 000。新算法迭代次數(shù)和初始化粒子數(shù)等同于PSO算法,變異算子中的rand取值[0,1],適應(yīng)度Pm與迭代次數(shù)的測試結(jié)果如圖3所示。
從圖3可以看出,新算法收斂速度快、誤差小,性能明顯優(yōu)于PSO算法。當(dāng)加速因子c1=c2=2時,新算法在迭代1 000次后無明顯變化,找出全局最優(yōu)解,而PSO算法要迭代到1 450次左右才趨于穩(wěn)定,表明新算法通過變異算子向最優(yōu)解加收斂,搜索的空間復(fù)雜度大為減少。
5.3 新算法檢測率分析
實驗選取1 000個模擬節(jié)點對服務(wù)器發(fā)動SYN flood、LAND attack、TCP混亂數(shù)據(jù)包攻擊、WEB Server多連接攻擊、Web Server變種攻擊和僵尸網(wǎng)絡(luò)DDoS攻擊共6種攻擊方式,流量上采用漸增式和間歇式組合攻擊,測試新算法對攻擊行為的檢測能力,結(jié)果如表3所示。
從表3數(shù)據(jù)可以看出,對于帶有明顯特征的DDoS攻擊行為(如SYN Flood和LAND Attack),3種算法檢測率和誤報率差別不大,新算法略有優(yōu)勢。然而對于未知行為和沒有明顯特征的DDoS攻擊行為,如僵尸網(wǎng)絡(luò)發(fā)動的DDoS變種攻擊,僵尸主機(jī)通過偽造虛假IP地址發(fā)送大量SYN/ACK應(yīng)答,使僵尸網(wǎng)絡(luò)中攻擊端發(fā)送的SYN請求與ACK應(yīng)答數(shù)量達(dá)到平衡,攻擊特征消失,此時基于特征匹配檢測方法幾乎失效,PSO檢測率也不高,而新算法優(yōu)勢明顯。
新算法結(jié)合PSO全局搜索、BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)和遺傳算法快速收斂的優(yōu)點,檢測DDoS攻擊行為十分有效,可以檢測未知攻擊行為,可以將正常行為和攻擊行為區(qū)別開來,具有較高的檢測率和較低的誤報率。
參考文獻(xiàn)
[1] 李清華,張美鳳.基于改進(jìn)BP網(wǎng)絡(luò)的染色合格率預(yù)測[J].微計算機(jī)信息,2006(4):93-95.
[2] 徐仙偉,葉小嶺.遺傳算法優(yōu)化BP網(wǎng)絡(luò)初始權(quán)重用于入侵檢測[J].計算機(jī)應(yīng)用研究,2005(3):38-42.
[3] 危勝軍,胡昌振,姜飛.基于BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法的入侵檢測方法[J].計算機(jī)工程,2005(13):89-94.
[4] 仲兆滿,李存華.基于神經(jīng)網(wǎng)絡(luò)的實時入侵檢測系統(tǒng)的研究和實現(xiàn)[J].計算機(jī)工程與應(yīng)用,2007(30):126-130.
[5] 易曉梅,陳波,蔡家楣.入侵檢測的進(jìn)化神經(jīng)網(wǎng)絡(luò)研究[J].計算機(jī)工程,2009(2):103-108.
[6] 潘昊,侯清蘭.基于粒子群優(yōu)化算法的BP網(wǎng)絡(luò)學(xué)習(xí)研究[J].計算機(jī)工程與應(yīng)用,2006(16):41-43.
[7] 曹承志,劉洋.基于改進(jìn)粒子群算法的BP網(wǎng)絡(luò)在DTC系統(tǒng)中的轉(zhuǎn)速辨識[J].系統(tǒng)仿真學(xué)報,2008(20):77-81.
[8] 宋乃華,邢清華.一種新的基于粒群優(yōu)化的BP網(wǎng)絡(luò)學(xué)習(xí)算法[J].計算機(jī)工程,2006(14):181-183.
[9] Yu Zhenwe. An automatically tuning intrusion detection system[J]. Systems Man and Cybernetics,2007(2):373-384.
[10] PARIKH D,CHEN T.Data fusion and cost minimization for intrusion detection[J]. Information Forensics and Security,2008(3):381-389.
[11] BACE M. National institute of standards and technology[J].NIST Special Publication on Intrusion Detection Systems,2000(7):76- 79.
[12] LIPPMANN R, CUNNINGHAM R. Improving intrusion detection performance using keyword selection and neural networks[J]. Computer Networks,2000(4):597-603.
[13] RICHARD LIPPMANN, ROBERT K CUNNINGHAM.Improving intrusion detection performance using key word selection and neural networks[J]. Computer Networks, 2000(9):137-144.
[14] LI W, CANINI M, MOORE A. Efficient application identification and the temporal and spatial stability of classification schema[J]. Computer Networks, 2009(7):252-261.
[15] LI W, CANINI M, MOORE A W. Efficient application identification and the temporal and spatial stability of classification schema [J]. Computer Networks, 2009(6):790-809.
[16] CHE Z H. PSO-based back-propagation artificial neural network for product and mold cost estimation of plastic injection molding[J]. Computers and Industrial Engineering,2010(10):236-242.
[17] KENNEDY J. Particle swarm optimization[J]. Neural Networks, 1995(10):236-242.
[18] BAHEER A, HAJMEER M. Artificial neural networks fundamentals[J]. Computing Design and Application, 2000(10):168-175.
[19] SUN J, FENG B. Particle swarm optimization with particleshaving quantum behavior[J]. Evolutionary Computation, 2004(5):232-230.
[20] DORIGO M, BONABEAU E. Ant algorithms and stigmergy[J]. Future Generation Computer Systems, 2000(11):269-275.