摘 要: 利用BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí),結(jié)合粒子群優(yōu)化算法的全局搜索和遺傳算法的快速收斂特性檢測DDoS攻擊行為,。實(shí)驗(yàn)證明,,新算法具有速度快、檢測率高和誤報(bào)率低的特點(diǎn),,能很好地應(yīng)用于檢測和抵御DDoS攻擊,。
關(guān)鍵詞: DDoS;BP神經(jīng)網(wǎng)絡(luò),;粒子群算法,;遺傳算法
DDoS是一種分布式大規(guī)模流量攻擊方式,通過控制互聯(lián)網(wǎng)上傀儡機(jī)對目標(biāo)服務(wù)器發(fā)動(dòng)攻擊,,產(chǎn)生的大量數(shù)據(jù)流涌向目標(biāo)服務(wù)器,,消耗服務(wù)器系統(tǒng)資源和帶寬,或把鏈接占滿,,從而影響合法用戶的訪問,。實(shí)施DDoS攻擊一般都會(huì)偽造源IP地址,具有隱蔽性強(qiáng),、并發(fā)數(shù)高,、攻擊流量大、破壞力強(qiáng),、涉及范圍廣的特點(diǎn),。傳統(tǒng)的DDoS檢測方法很難界定突發(fā)流量與DDoS攻擊流量。本文提出一種基于粒子群BP神經(jīng)網(wǎng)絡(luò)的流量檢測模型,,結(jié)合粒子群算法的全局搜索和遺傳算法的快速收斂特性檢測DDoS攻擊行為,,最后通過實(shí)驗(yàn)證明,新算法能夠快速,、準(zhǔn)確地檢測到各類DDoS攻擊,,具有很強(qiáng)的應(yīng)用價(jià)值。
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)點(diǎn)是能夠檢測沒有協(xié)議特征的變種DDoS攻擊,但是流量樣本本身具有一定的隨機(jī)性,,使得算法復(fù)雜,,計(jì)算量大,挖掘速率和準(zhǔn)確性不高,。蜜罐原本是一種網(wǎng)絡(luò)誘騙技術(shù),,通過偽裝真實(shí)系統(tǒng)特征吸引攻擊者攻擊蜜罐系統(tǒng),而真正的服務(wù)器得以正常運(yùn)行,。蜜罐不能控制和阻斷攻擊行為,,只有遭受攻擊后才能檢測到攻擊,屬于被動(dòng)防御,。上述3種方法都不能很好地解決復(fù)雜網(wǎng)絡(luò)下DDoS欺騙攻擊,,相應(yīng)的檢測技術(shù)已明顯滯后于攻擊手段的更新。而抵御DDoS攻擊的核心在于檢測,,因?yàn)橹挥袡z測到攻擊行為防火墻才能實(shí)施包過濾,,IDS才能追蹤攻擊源,服務(wù)器才能拆除虛假連接回收系統(tǒng)資源,。如何檢測DDoS攻擊行為,提高算法匹配效率和準(zhǔn)確率一直都是研究的難點(diǎn)和熱點(diǎ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í)數(shù)據(jù)從輸入層流經(jīng)各個(gè)隱含層處理后通過輸出層輸出結(jié)果。若期望值與輸出結(jié)果偏差大于預(yù)設(shè)閾值,,采用反向傳播梯度法調(diào)整,,重復(fù)兩個(gè)過程直到偏差小于預(yù)設(shè)精度為止,,從而學(xué)習(xí)和存儲大量的輸入輸出映射關(guān)系,算法如下,。
?。?)初始化神經(jīng)網(wǎng)絡(luò)向量。BP網(wǎng)絡(luò)通過反復(fù)改變輸入權(quán)值,,使輸出結(jié)果不斷接近最優(yōu)值,。若輸入層有n個(gè)神經(jīng)元,隱含層有p個(gè)神經(jīng)元,,輸出層有q個(gè)神經(jīng)元,,變量定義如下:
(7)判斷誤差是否小于預(yù)設(shè)精度或最大迭代次數(shù),,滿足條件則輸出計(jì)算結(jié)果,,否則返回到步驟(3),選取下一個(gè)學(xué)習(xí)樣本進(jìn)入下一輪學(xué)習(xí),。
通過大量實(shí)例樣本學(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增式攻擊和間歇式與速率漸增式組合攻擊,。此時(shí),,該方法需要學(xué)習(xí)流量中更多樣本才能識別攻擊行為,收斂速度慢,,預(yù)設(shè)精度容易使算法陷入局部最優(yōu)現(xiàn)象,,影響檢測率和誤報(bào)率。
3 粒子群算法
粒子群算法(PSO)是基于鳥類群體行為研究的模擬算法,。鳥群在封閉空間隨機(jī)搜索食物,,并且在這個(gè)空間只有一個(gè)全局最優(yōu)值。假如所有鳥都知道當(dāng)前位置與搜索食物之間距離,,那么找到全局最優(yōu)解的最優(yōu)方案就是從身邊最近的鳥周圍區(qū)域進(jìn)行搜尋[2],。在粒子群算法中,尋找最優(yōu)問題的每個(gè)解對應(yīng)搜索空間的每只鳥,,稱為粒子,。每個(gè)粒子的初始化向量代表鳥的飛行位置和速度,每個(gè)粒子通過尋找附近粒子迭代搜尋最優(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è)置過小會(huì)使算法難以收斂,,過大會(huì)陷入局部最優(yōu),。在復(fù)雜網(wǎng)絡(luò)中DDoS攻擊具有間歇式和流量漸增式特點(diǎn),攻擊行為和流量特征往往不是簡單的一對一等價(jià)關(guān)系,,導(dǎo)致無法檢測未知行為攻擊,。而PSO算法全局搜索能力強(qiáng),但是收斂速度過慢,,并且容易陷入局部最優(yōu)解,。因此本文提出基于BP網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)的粒子群遺傳算法。
4.1 新算法實(shí)現(xiàn)思想
新算法首先通過PSO搜索最優(yōu)位置向量,,將網(wǎng)絡(luò)流量及其參數(shù)量化為每個(gè)粒子并初始化狀態(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)點(diǎn),,設(shè)計(jì)步驟如下。
?。?)確定BP網(wǎng)絡(luò)隱含層數(shù)量,,對每一網(wǎng)絡(luò)流量進(jìn)行粒子群編碼,并進(jìn)行粒子群初始化,。
?。?)利用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)解加速收斂,。
(4)判斷結(jié)果是否滿足條件(群體適應(yīng)度是否陷入局部最優(yōu)和結(jié)果是否小于極值范圍),如果都滿足,,則輸出最優(yōu)值,;否則返回步驟(2)繼續(xù)PSO算法的全局搜索。新算法流程圖1所示,。
4.2 早熟現(xiàn)象判定與處理
PSO中的粒子當(dāng)前位置和速度依靠個(gè)體極值和全局極值來引導(dǎo),,當(dāng)粒子發(fā)現(xiàn)更優(yōu)值時(shí),其他粒子受到更優(yōu)值吸引迅速聚攏,,如果集聚點(diǎn)并非全局最優(yōu)解,,表示PSO陷入局部最優(yōu)現(xiàn)象,加上遺傳迭代,,粒子之間的差異越來越小,,導(dǎo)致早熟收斂。由于粒子個(gè)體適應(yīng)度大小是由粒子個(gè)體位置和速率決定的,,此時(shí)可以根據(jù)粒子整體適應(yīng)度狀態(tài)判斷種群是否陷入局部最優(yōu),。
基于此思想,新算法根據(jù)適應(yīng)度判斷是否過早收斂,,經(jīng)過BP網(wǎng)絡(luò)訓(xùn)練后,,樣本輸出的誤差總和均值為:
遺傳算法的變異算子將群體中優(yōu)良個(gè)體通過交叉和變異操作遺傳到下一代,維持種群的多樣性,,并且可以防止算法過早收斂的現(xiàn)象,。
5 實(shí)驗(yàn)測試
5.1 流量樣本特征采集和建模
本文以KDD99CUP作為實(shí)驗(yàn)基礎(chǔ)數(shù)據(jù),通過對樣本采集進(jìn)行訓(xùn)練,。本文選取1 000個(gè)模擬節(jié)點(diǎn),,用Sniffer抓包采集網(wǎng)絡(luò)500組流量特征樣本,其中包含正常的客戶機(jī)連接請求和間歇式與速率漸增式DDoS攻擊,,典型采樣結(jié)果如表1所示,。
從以上500組數(shù)據(jù)量化為PSO粒子群并初始化狀態(tài)參數(shù),選取典型200個(gè)粒子作為訓(xùn)練數(shù)據(jù)集,,初始化種群微粒個(gè)數(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個(gè)輸入節(jié)點(diǎn)和3個(gè)輸出節(jié)點(diǎn),,確定BP網(wǎng)絡(luò)結(jié)構(gòu),,如圖2所示,。其中i、j,、k分別代表輸入層,、隱含層和輸出層的層數(shù)。因此網(wǎng)絡(luò)中需要尋找24個(gè)高斯函數(shù)中心矢量,,6個(gè)基寬向量和18個(gè)輸出層連接權(quán)值,,共48個(gè)參數(shù),即算法中的粒子將在48維空間搜索滿足最小均方誤差要求的最優(yōu)解,。
從表2可以看出,,在給定迭代次數(shù)下,新算法測試結(jié)果比PSO更接近最優(yōu)值,,計(jì)算精度有明顯提高,,充分體現(xiàn)了新算法的卓越性。
在實(shí)驗(yà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時(shí),,新算法在迭代1 000次后無明顯變化,,找出全局最優(yōu)解,而PSO算法要迭代到1 450次左右才趨于穩(wěn)定,,表明新算法通過變異算子向最優(yōu)解加收斂,,搜索的空間復(fù)雜度大為減少。
5.3 新算法檢測率分析
實(shí)驗(yàn)選取1 000個(gè)模擬節(jié)點(diǎn)對服務(wù)器發(fā)動(dòng)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種算法檢測率和誤報(bào)率差別不大,,新算法略有優(yōu)勢,。然而對于未知行為和沒有明顯特征的DDoS攻擊行為,,如僵尸網(wǎng)絡(luò)發(fā)動(dòng)的DDoS變種攻擊,,僵尸主機(jī)通過偽造虛假IP地址發(fā)送大量SYN/ACK應(yīng)答,使僵尸網(wǎng)絡(luò)中攻擊端發(fā)送的SYN請求與ACK應(yīng)答數(shù)量達(dá)到平衡,,攻擊特征消失,,此時(shí)基于特征匹配檢測方法幾乎失效,PSO檢測率也不高,,而新算法優(yōu)勢明顯,。
新算法結(jié)合PSO全局搜索、BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)和遺傳算法快速收斂的優(yōu)點(diǎn),,檢測DDoS攻擊行為十分有效,,可以檢測未知攻擊行為,可以將正常行為和攻擊行為區(qū)別開來,,具有較高的檢測率和較低的誤報(bào)率,。
參考文獻(xiàn)
[1] 李清華,張美鳳.基于改進(jìn)BP網(wǎng)絡(luò)的染色合格率預(yù)測[J].微計(jì)算機(jī)信息,,2006(4):93-95.
[2] 徐仙偉,,葉小嶺.遺傳算法優(yōu)化BP網(wǎng)絡(luò)初始權(quán)重用于入侵檢測[J].計(jì)算機(jī)應(yīng)用研究,2005(3):38-42.
[3] 危勝軍,,胡昌振,,姜飛.基于BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法的入侵檢測方法[J].計(jì)算機(jī)工程,2005(13):89-94.
[4] 仲兆滿,,李存華.基于神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)入侵檢測系統(tǒng)的研究和實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,,2007(30):126-130.
[5] 易曉梅,陳波,,蔡家楣.入侵檢測的進(jìn)化神經(jīng)網(wǎng)絡(luò)研究[J].計(jì)算機(jī)工程,,2009(2):103-108.
[6] 潘昊,侯清蘭.基于粒子群優(yōu)化算法的BP網(wǎng)絡(luò)學(xué)習(xí)研究[J].計(jì)算機(jī)工程與應(yīng)用,,2006(16):41-43.
[7] 曹承志,,劉洋.基于改進(jìn)粒子群算法的BP網(wǎng)絡(luò)在DTC系統(tǒng)中的轉(zhuǎn)速辨識[J].系統(tǒng)仿真學(xué)報(bào),2008(20):77-81.
[8] 宋乃華,,邢清華.一種新的基于粒群優(yōu)化的BP網(wǎng)絡(luò)學(xué)習(xí)算法[J].計(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.