崔珂 付麗霞 張勇 毛劍琳 任玉潔
摘要:伴隨物聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)絡(luò)安全問(wèn)題變得越來(lái)越重要。早期采用的傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法存在一些致命缺點(diǎn),如收斂速度較慢、無(wú)法跳出局部最優(yōu)陷阱等。針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的問(wèn)題,選用差分進(jìn)化算法(DE),通過(guò)差分進(jìn)化算法與神經(jīng)網(wǎng)絡(luò)融合,優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值,使BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力和差分進(jìn)化算法的全局搜索優(yōu)勢(shì)都得到充分發(fā)揮,仿真實(shí)驗(yàn)證明了該方法的有效性。
關(guān)鍵詞:入侵檢測(cè);差分進(jìn)化;BP神經(jīng)網(wǎng)絡(luò)
DOI:10.11907/rjdk.173075
中圖分類號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2018)007-0173-03
Abstract:Withtherapiddevelopmentoftheinternetofthings,theissueofnetworksecurityhasbecomemoreandmoreimportant.theearlytraditionalBPneuralnetworkalgorithmsuffersfromsomefatalflaws,suchasslowconvergence,inabilitytojumpoutofthelocaloptimaltrapandotherdefects.Therefore,inthispaper,thedifferentialevolution(DE)algorithmischosentosolvetheproblemsatthetraditionalBPneuralnetwork.Bycombiningthedifferentialevolutionalgorithmwiththeneuralnetwork,theweightsandthresholdsoftheBPneuralnetworkareoptimizedsothatthelearningabilityanddifferenceoftheBPneuralnetworkandtheglobalsearchadvantageofevolutionaryalgorithmarefullyexerted,andthesimulationresultsshowtheeffectivenessofthismethod.
KeyWords:intrusiondetection;differentialevolution;BPneuralnetwork
0引言
隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)入侵事件越來(lái)越多,將人工神經(jīng)網(wǎng)絡(luò)引入入侵檢測(cè)是近年研究的重點(diǎn),相關(guān)研究較多。如:MansouriM、GolsefidMT等[1]提出了基于多層人工神經(jīng)網(wǎng)絡(luò)和智能特征選擇的混合入侵檢測(cè)系統(tǒng);JoS、SungH等[2]使用決策樹(shù)和人工神經(jīng)網(wǎng)絡(luò)模型對(duì)入侵檢測(cè)性能進(jìn)行分析;AmrutaM、TalharN等[3]使用人工神經(jīng)網(wǎng)絡(luò)對(duì)有線局域網(wǎng)進(jìn)行有效的拒絕服務(wù)攻擊檢測(cè);徐振華[4]使用BP神經(jīng)網(wǎng)絡(luò)對(duì)分布式入侵檢測(cè)模型進(jìn)行了研究;沈夏炯、王龍等[5]使用人工蜂群對(duì)BP神經(jīng)網(wǎng)絡(luò)在入侵檢測(cè)中的應(yīng)用進(jìn)行了研究。本文針對(duì)傳統(tǒng)BP人工神經(jīng)網(wǎng)絡(luò)存在收斂速度慢、容易陷入局部極值等問(wèn)題,使用差分進(jìn)化算法(DE)對(duì)其進(jìn)行改進(jìn),以解決傳統(tǒng)BP人工神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題。
1BP人工神經(jīng)網(wǎng)絡(luò)
BP人工神經(jīng)網(wǎng)絡(luò)[6]是通過(guò)模仿人腦神經(jīng)元細(xì)胞工作方式建立的一種仿生物學(xué)算法。BP神經(jīng)網(wǎng)絡(luò)是由大量簡(jiǎn)單元件——神經(jīng)元相互聯(lián)接而成的自適應(yīng)非線性動(dòng)態(tài)系統(tǒng)。每個(gè)神經(jīng)元結(jié)構(gòu)和功能相對(duì)簡(jiǎn)單,但大量神經(jīng)元組合產(chǎn)生的系統(tǒng)行為非常復(fù)雜。因此,其在模式識(shí)別、故障診斷、圖像處理等領(lǐng)域得到了廣泛應(yīng)用。
BP人工神經(jīng)網(wǎng)絡(luò)工作過(guò)程為:工作信號(hào)正向傳播與誤差信號(hào)反向傳播。在BP神經(jīng)網(wǎng)絡(luò)中一般采用輸入層、隱藏層、輸出層三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1所示。工作信號(hào)正向傳播時(shí),假設(shè)節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的權(quán)值為ωij,節(jié)點(diǎn)j的閾值為bj,每個(gè)節(jié)點(diǎn)的輸出值為Sj,Sj是根據(jù)上層所有節(jié)點(diǎn)的輸出值、當(dāng)前節(jié)點(diǎn)與上一層所有節(jié)點(diǎn)的權(quán)值和當(dāng)前節(jié)點(diǎn)的閾值及激活函數(shù)實(shí)現(xiàn)的,計(jì)算公式如下:
其中f為S型激勵(lì)函數(shù)。誤差信號(hào)反向傳播時(shí),將輸出誤差按原路反向傳遞計(jì)算,通過(guò)隱藏層反向,直至輸入層。在反向傳遞過(guò)程中將誤差分?jǐn)偟礁鲗訂卧?,并將其作為修正各單元?quán)值及閾值的依據(jù)。使用梯度下降法完成,從而對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)值及閾值進(jìn)行不斷調(diào)整,達(dá)到誤差精度要求。
2差分進(jìn)化算法(DE)
差分進(jìn)化[7-10]開(kāi)始時(shí),隨機(jī)產(chǎn)生一個(gè)初始種群,主要過(guò)程包括變異、交叉和選擇3個(gè)步驟?;舅枷胧菑哪骋唤M隨機(jī)產(chǎn)生的初始種群開(kāi)始,隨機(jī)選擇兩個(gè)不同的個(gè)體向量相減產(chǎn)生差分向量,將差分向量賦予權(quán)值后與第3個(gè)隨機(jī)選擇的個(gè)體向量相加,產(chǎn)生變異向量。然后將變異向量與預(yù)先確定的父代個(gè)體向量按一定規(guī)則交叉產(chǎn)生試驗(yàn)向量。若試驗(yàn)向量的適應(yīng)度值優(yōu)于父代個(gè)體向量的適應(yīng)度值,則選用試驗(yàn)向量進(jìn)入下一代,否則保留父代個(gè)體向量。通過(guò)不斷進(jìn)化,保留優(yōu)勝個(gè)體,引導(dǎo)搜索過(guò)程向最優(yōu)解逼近。
2.1差分進(jìn)化算法步驟
(1)初始化種群。
3入侵檢測(cè)模型建立
差分算法主要控制種群規(guī)模NP、縮放因子F、交叉概率CR這3個(gè)參數(shù)[11-12]。若參數(shù)設(shè)置不合理,就有可能造成過(guò)度強(qiáng)調(diào)搜索能力導(dǎo)致搜索停滯,或者過(guò)度強(qiáng)調(diào)種群規(guī)模導(dǎo)致過(guò)早收斂,這些都不是所期望的。因此,根據(jù)前人經(jīng)驗(yàn),參數(shù)選擇可使用經(jīng)驗(yàn)法。種群規(guī)模NP選擇一般為[5D,10D]之間,放縮因子F一般為[0.5,1]之間,交叉概率CR為[0.8,1]之間,這樣可以使尋優(yōu)率和收斂速度都得到較高保證[13]。
本文對(duì)BP人工神經(jīng)網(wǎng)絡(luò)使用差分進(jìn)化算法優(yōu)化,流程如圖2所示。偽代碼實(shí)現(xiàn)如下:
(4)得到最優(yōu)的參考向量XG作為BP人工神經(jīng)網(wǎng)絡(luò)的連接權(quán)值閾值參數(shù)
(5)訓(xùn)練BP神經(jīng)網(wǎng)絡(luò),進(jìn)行預(yù)測(cè),計(jì)算誤差
4實(shí)驗(yàn)結(jié)果分析
4.1數(shù)據(jù)預(yù)處理
本文選用KDD99數(shù)據(jù)作為數(shù)據(jù)源,數(shù)據(jù)集由500萬(wàn)條記錄構(gòu)成,提供了10%的訓(xùn)練子集和測(cè)試子集[14],每條記錄都包含41個(gè)特征屬性,加上最后的標(biāo)記(label)一共42項(xiàng)。這些特征屬性分為4大類,分別是:TCP連接基本特征(共9種)、TCP連接內(nèi)容特征(共13種)、基于時(shí)間的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征(共9種)、基于主機(jī)的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征(共10種)。本文針對(duì)Dos攻擊和Probing攻擊,提取18個(gè)特征作為神經(jīng)網(wǎng)絡(luò)的輸入特征向量,對(duì)于輸出向量以標(biāo)志位判斷是否受到攻擊。這18個(gè)特征存在3個(gè)字符串特征向量,因此對(duì)這3個(gè)字符串特征向量進(jìn)行數(shù)值化編碼。如對(duì)service這一特征中存在的66個(gè)不同類型的服務(wù)進(jìn)行編碼時(shí),令“http”為0,“smtp”為1,編碼方式如表1所示。
為了降低部分較大數(shù)據(jù)對(duì)較小數(shù)據(jù)的影響,加快梯度下降求解速度以及提高精度,有必要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。本文采用min—max標(biāo)準(zhǔn)歸一化方式,將數(shù)據(jù)結(jié)果映射到[0-1]之間[15]。轉(zhuǎn)換函數(shù)如下:
4.2仿真結(jié)果分析
BP人工神經(jīng)網(wǎng)絡(luò)輸入層設(shè)置節(jié)點(diǎn)18個(gè),隱含層節(jié)點(diǎn)37個(gè),輸出層節(jié)點(diǎn)1個(gè)。因?yàn)樗褂玫臄?shù)據(jù)量較大,所以隨機(jī)抽取部分樣本數(shù)據(jù)14822個(gè)作為訓(xùn)練樣本,測(cè)試樣本4941個(gè)。先使用傳統(tǒng)BP人工神經(jīng)網(wǎng)絡(luò)建立入侵檢測(cè)模型,之后引入差分進(jìn)化算法優(yōu)化入侵檢測(cè)模型并進(jìn)行仿真實(shí)驗(yàn),分別得到仿真實(shí)驗(yàn)的誤差均方差與迭代次數(shù)關(guān)系。從圖3和圖4可以看出,改進(jìn)后的均方差誤差得到明顯降低,收斂速度明顯提高,在10次時(shí)快速收斂。
5結(jié)語(yǔ)
本文使用差分算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值,克服了BP神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)和收斂速度慢的問(wèn)題,使BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力得到充分發(fā)揮,同時(shí)使差分進(jìn)化算法的全局搜索優(yōu)勢(shì)得到體現(xiàn),能較好地應(yīng)用于入侵檢測(cè)問(wèn)題。
參考文獻(xiàn):
[1]MANSOURIM,GOLSEFIDMT,NEMATBAKHSHN.Ahybridintrusiondetectionsystembasedonmultilayerartificialneuralnetworkandintelligentfeatureselection[J].ArchivesofMedicalResearch,2015,44(4):266-272.
[2]JOS,SUNGH,AHNB.Acomparativestudyontheperformanceofintrusiondetectionusingdecisiontreeandartificialneuralnetworkmodels[J].InternationalJointConferenceSOCO′16-CISIS16-ICEUTE16,2016,11(4):33-45.
[3]AMRUTAM,TALHARN.Effectivedenialofserviceattackdetectionusingartificialneuralnetworkforwiredlan[C].InternationalConferenceonSignalProcessing,Communication,PowerandEmbeddedSystem.IEEE,2017:229-234.
[4]徐振華.基于BP神經(jīng)網(wǎng)絡(luò)的分布式入侵檢測(cè)模型改進(jìn)算法研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016(2):77-78.
[5]沈夏炯,王龍,韓道軍.人工蜂群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)在入侵檢測(cè)中的應(yīng)用[J].計(jì)算機(jī)工程,2016,42(2):190-194.
[6]周政.BP神經(jīng)網(wǎng)絡(luò)的發(fā)展現(xiàn)狀綜述[J].山西電子技術(shù),2008(2):90-92.
[7]劉波,王凌,金以慧.差分進(jìn)化算法研究進(jìn)展[J].控制與決策,2007,22(7):721-729.
[8]丁青鋒,尹曉宇.差分進(jìn)化算法綜述[J].智能系統(tǒng)學(xué)報(bào),2017(4):431-442.
[9]楊啟文,蔡亮,薛云燦.差分進(jìn)化算法綜述[J].模式識(shí)別與人工智能,2008,21(4):506-513.
[10]劉波,王凌,金以慧.差分進(jìn)化算法研究進(jìn)展[J].控制與決策,2007,22(7):721-729.
[11]張春美,陳杰,辛斌.參數(shù)適應(yīng)性分布式差分進(jìn)化算法[J].控制與決策,2014,29(4):701-706.
[12]高岳林,劉軍民.差分進(jìn)化算法的參數(shù)研究[J].黑龍江大學(xué)自然科學(xué)學(xué)報(bào),2009,26(1):81-85.
[13]郭鵬.差分進(jìn)化算法改進(jìn)研究[D].天津:天津大學(xué),2011.
[14]張新有,曾華燊,賈磊.入侵檢測(cè)數(shù)據(jù)集KDDCUP99研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(22):4809-4812.
[15]柳小桐.BP神經(jīng)網(wǎng)絡(luò)輸入層數(shù)據(jù)歸一化研究[J].機(jī)械工程與自動(dòng)化,2010(3):122-123.
(責(zé)任編輯:杜能鋼)