摘 要: 利用BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí),結(jié)合粒子群優(yōu)化算法的全局搜索和遺傳算法的快速收斂特性檢測(cè)DDoS攻擊行為。實(shí)驗(yàn)證明,新算法具有速度快、檢測(cè)率高和誤報(bào)率低的特點(diǎn),能很好地應(yīng)用于檢測(cè)和抵御DDoS攻擊。
關(guān)鍵詞: DDoS;BP神經(jīng)網(wǎng)絡(luò);粒子群算法;遺傳算法
DDoS是一種分布式大規(guī)模流量攻擊方式,通過控制互聯(lián)網(wǎng)上傀儡機(jī)對(duì)目標(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檢測(cè)方法很難界定突發(fā)流量與DDoS攻擊流量。本文提出一種基于粒子群BP神經(jīng)網(wǎng)絡(luò)的流量檢測(cè)模型,結(jié)合粒子群算法的全局搜索和遺傳算法的快速收斂特性檢測(cè)DDoS攻擊行為,最后通過實(shí)驗(yàn)證明,新算法能夠快速、準(zhǔn)確地檢測(cè)到各類DDoS攻擊,具有很強(qiáng)的應(yīng)用價(jià)值。
1 DDos攻擊方式和檢測(cè)方法
DDoS攻擊基于TCP 3次握手協(xié)議,按攻擊方式分為直接型攻擊和反射式攻擊兩類。直接型攻擊是通過控制傀儡機(jī)向目標(biāo)服務(wù)器發(fā)送大量數(shù)據(jù)流,耗盡服務(wù)器系統(tǒng)資源直至癱瘓。反射式攻擊是偽造服務(wù)器IP向主機(jī)群發(fā)送虛假連接請(qǐng)求,致使主機(jī)群應(yīng)答信息涌向服務(wù)器(如DNS請(qǐng)求只有60 B,應(yīng)答信息卻有4 320 B,反射70多倍流量),通過占盡服務(wù)器接入帶寬和連接上限阻止合法用戶的訪問。
針對(duì)DDoS攻擊通常采用的是基于特征庫匹配檢測(cè)、基于數(shù)據(jù)挖掘攻擊檢測(cè)和蜜罐技術(shù)[1]。特征庫匹配檢測(cè)需要搜集DDoS攻擊數(shù)據(jù)包各種特征建立特征庫,服務(wù)器對(duì)虛假連接請(qǐng)求特征進(jìn)行匹配,若吻合則視為攻擊。這種檢測(cè)方法依賴于攻擊特征的描述,對(duì)檢測(cè)漏洞型DDoS很有效,但無法識(shí)別大量沒有協(xié)議特征的攻擊?;跀?shù)據(jù)挖掘攻擊檢測(cè)方法通過對(duì)數(shù)據(jù)包流量特征分析,將其中規(guī)律轉(zhuǎn)換為檢測(cè)規(guī)則,再根據(jù)網(wǎng)絡(luò)流量特征是否偏離正常流量模型來判斷攻擊行為,其最大優(yōu)點(diǎn)是能夠檢測(cè)沒有協(xié)議特征的變種DDoS攻擊,但是流量樣本本身具有一定的隨機(jī)性,使得算法復(fù)雜,計(jì)算量大,挖掘速率和準(zhǔn)確性不高。蜜罐原本是一種網(wǎng)絡(luò)誘騙技術(shù),通過偽裝真實(shí)系統(tǒng)特征吸引攻擊者攻擊蜜罐系統(tǒng),而真正的服務(wù)器得以正常運(yùn)行。蜜罐不能控制和阻斷攻擊行為,只有遭受攻擊后才能檢測(cè)到攻擊,屬于被動(dòng)防御。上述3種方法都不能很好地解決復(fù)雜網(wǎng)絡(luò)下DDoS欺騙攻擊,相應(yīng)的檢測(cè)技術(shù)已明顯滯后于攻擊手段的更新。而抵御DDoS攻擊的核心在于檢測(cè),因?yàn)橹挥袡z測(cè)到攻擊行為防火墻才能實(shí)施包過濾,IDS才能追蹤攻擊源,服務(wù)器才能拆除虛假連接回收系統(tǒng)資源。如何檢測(cè)DDoS攻擊行為,提高算法匹配效率和準(zhǔn)確率一直都是研究的難點(diǎn)和熱點(diǎn),也是目前亟待解決的問題。
本文提出一種基于粒子群BP神經(jīng)網(wǎng)絡(luò)的流量檢測(cè)模型,結(jié)合粒子群算法的全局搜索和遺傳算法的快速收斂特性用于檢測(cè)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í)和存儲(chǔ)大量的輸入輸出映射關(guān)系,算法如下。
(1)初始化神經(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í)特性不僅可以檢測(cè)出流量中的DDoS攻擊,還能識(shí)別未知攻擊行為,從而克服傳統(tǒng)依賴特征庫匹配才能檢測(cè)DDoS攻擊的局限性。對(duì)DARPA 2000年數(shù)據(jù)分析表明,BP神經(jīng)網(wǎng)絡(luò)能準(zhǔn)確檢測(cè)間歇式DDoS流量攻擊。為此,攻擊者攻擊手段也隨之發(fā)生變化,從傳統(tǒng)的恒速攻擊和間歇式攻擊轉(zhuǎn)變?yōu)榱髁繚u增式攻擊和間歇式與速率漸增式組合攻擊。此時(shí),該方法需要學(xué)習(xí)流量中更多樣本才能識(shí)別攻擊行為,收斂速度慢,預(yù)設(shè)精度容易使算法陷入局部最優(yōu)現(xiàn)象,影響檢測(cè)率和誤報(bào)率。
3 粒子群算法
粒子群算法(PSO)是基于鳥類群體行為研究的模擬算法。鳥群在封閉空間隨機(jī)搜索食物,并且在這個(gè)空間只有一個(gè)全局最優(yōu)值。假如所有鳥都知道當(dāng)前位置與搜索食物之間距離,那么找到全局最優(yōu)解的最優(yōu)方案就是從身邊最近的鳥周圍區(qū)域進(jìn)行搜尋[2]。在粒子群算法中,尋找最優(yōu)問題的每個(gè)解對(duì)應(yīng)搜索空間的每只鳥,稱為粒子。每個(gè)粒子的初始化向量代表鳥的飛行位置和速度,每個(gè)粒子通過尋找附近粒子迭代搜尋最優(yōu)解,具體算法如下。
4 粒子群遺傳算法在BP神經(jīng)網(wǎng)絡(luò)中的應(yīng)用
BP網(wǎng)絡(luò)在檢測(cè)DDoS攻擊中需要事先建立網(wǎng)絡(luò)正常流量參考標(biāo)準(zhǔn),初始化權(quán)值和閾值參數(shù)難以確定,設(shè)置過小會(huì)使算法難以收斂,過大會(huì)陷入局部最優(yōu)。在復(fù)雜網(wǎng)絡(luò)中DDoS攻擊具有間歇式和流量漸增式特點(diǎn),攻擊行為和流量特征往往不是簡單的一對(duì)一等價(jià)關(guān)系,導(dǎo)致無法檢測(cè)未知行為攻擊。而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ù)量,對(duì)每一網(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)測(cè)試
5.1 流量樣本特征采集和建模
本文以KDD99CUP作為實(shí)驗(yàn)基礎(chǔ)數(shù)據(jù),通過對(duì)樣本采集進(jìn)行訓(xùn)練。本文選取1 000個(gè)模擬節(jié)點(diǎn),用Sniffer抓包采集網(wǎng)絡(luò)500組流量特征樣本,其中包含正常的客戶機(jī)連接請(qǐng)求和間歇式與速率漸增式DDoS攻擊,典型采樣結(jié)果如表1所示。
從以上500組數(shù)據(jù)量化為PSO粒子群并初始化狀態(tài)參數(shù),選取典型200個(gè)粒子作為訓(xùn)練數(shù)據(jù)集,初始化種群微粒個(gè)數(shù)為20,測(cè)試函數(shù)維數(shù)分別為10、20、30,對(duì)應(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ù)下,新算法測(cè)試結(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ù)的測(cè)試結(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 新算法檢測(cè)率分析
實(shí)驗(yàn)選取1 000個(gè)模擬節(jié)點(diǎn)對(duì)服務(wù)器發(fā)動(dòng)SYN flood、LAND attack、TCP混亂數(shù)據(jù)包攻擊、WEB Server多連接攻擊、Web Server變種攻擊和僵尸網(wǎng)絡(luò)DDoS攻擊共6種攻擊方式,流量上采用漸增式和間歇式組合攻擊,測(cè)試新算法對(duì)攻擊行為的檢測(cè)能力,結(jié)果如表3所示。
從表3數(shù)據(jù)可以看出,對(duì)于帶有明顯特征的DDoS攻擊行為(如SYN Flood和LAND Attack),3種算法檢測(cè)率和誤報(bào)率差別不大,新算法略有優(yōu)勢(shì)。然而對(duì)于未知行為和沒有明顯特征的DDoS攻擊行為,如僵尸網(wǎng)絡(luò)發(fā)動(dòng)的DDoS變種攻擊,僵尸主機(jī)通過偽造虛假IP地址發(fā)送大量SYN/ACK應(yīng)答,使僵尸網(wǎng)絡(luò)中攻擊端發(fā)送的SYN請(qǐng)求與ACK應(yīng)答數(shù)量達(dá)到平衡,攻擊特征消失,此時(shí)基于特征匹配檢測(cè)方法幾乎失效,PSO檢測(cè)率也不高,而新算法優(yōu)勢(shì)明顯。
新算法結(jié)合PSO全局搜索、BP神經(jīng)網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)和遺傳算法快速收斂的優(yōu)點(diǎn),檢測(cè)DDoS攻擊行為十分有效,可以檢測(cè)未知攻擊行為,可以將正常行為和攻擊行為區(qū)別開來,具有較高的檢測(cè)率和較低的誤報(bào)率。
參考文獻(xiàn)
[1] 李清華,張美鳳.基于改進(jìn)BP網(wǎng)絡(luò)的染色合格率預(yù)測(cè)[J].微計(jì)算機(jī)信息,2006(4):93-95.
[2] 徐仙偉,葉小嶺.遺傳算法優(yōu)化BP網(wǎng)絡(luò)初始權(quán)重用于入侵檢測(cè)[J].計(jì)算機(jī)應(yīng)用研究,2005(3):38-42.
[3] 危勝軍,胡昌振,姜飛.基于BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法的入侵檢測(cè)方法[J].計(jì)算機(jī)工程,2005(13):89-94.
[4] 仲兆滿,李存華.基于神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)入侵檢測(cè)系統(tǒng)的研究和實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2007(30):126-130.
[5] 易曉梅,陳波,蔡家楣.入侵檢測(cè)的進(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)速辨識(shí)[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.