一種改進(jìn)的入侵檢測DCA算法*
雷石花,丁雷,李建鋒,曾水玲
(吉首大學(xué)信息科學(xué)與工程學(xué)院,湖南 吉首 416000)
摘要:考慮到遷移閾值的設(shè)置直接影響DCA算法在網(wǎng)絡(luò)入侵檢測中的性能,提出一種改進(jìn)的遷移閾值選擇方法,來提高DCA算法的性能.根據(jù)現(xiàn)實(shí)網(wǎng)絡(luò)行為的連續(xù)性,利用粒子群算法獲得最優(yōu)遷移閾值,并將其作為網(wǎng)絡(luò)數(shù)據(jù)分析的遷移閾值.仿真結(jié)果表明,改進(jìn)的DCA算法能夠在一定程度上提高入侵檢測的精度.
關(guān)鍵詞:遷移閾值;DCA;粒子群算法;入侵檢測
文章編號(hào):1007-2985(2015)06-0027-03
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼:A
DOI:10.3969/j.cnki.jdxb.2015.06.007
收稿日期:*2015-07-26
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61363073,61363033,61262032);湖南省教育廳科學(xué)研究項(xiàng)目(13A075)
通信作者:丁雷(1972—),男,湖南臨湘人,吉首大學(xué)信息科學(xué)與工程學(xué)院教授,博士,主要從事網(wǎng)絡(luò)安全研究.
入侵檢測技術(shù)通常分為誤用檢測和異常檢測2類.基于誤用檢測算法需要攻擊樣本,通過提取攻擊的特征形成特征集合,再根據(jù)入侵和特征集合是否匹配來進(jìn)行檢測.該算法的準(zhǔn)確率很高,但其主要的缺點(diǎn)是只能檢測已知的攻擊,不能檢測未知的攻擊.基于異常檢測算法是先構(gòu)造出一個(gè)正常的行為模式,再通過判斷所要檢測的行為是不是偏離了正常的行為來決定網(wǎng)絡(luò)是否受到了入侵.近年來越來越多未知攻擊的出現(xiàn),使得能夠檢測未知入侵的異常檢測方法成為入侵檢測領(lǐng)域的一個(gè)研究熱點(diǎn).
目前主流的人工算法包括否定選擇算法、克隆選擇算法和免疫網(wǎng)絡(luò)算法.由于傳統(tǒng)免疫理論存在一些缺陷,因此提出一種新的“危險(xiǎn)理論”.該理論不再區(qū)分“自我”和“非我”的概念,而只是對(duì)那些影響身體的危險(xiǎn)信號(hào)作出反應(yīng).文獻(xiàn)首次將“危險(xiǎn)理論”引入到人工免疫系統(tǒng).文獻(xiàn)在此基礎(chǔ)上首次提出基于“危險(xiǎn)理論”的樹突狀細(xì)胞算法(Dendritic Cell Algorithm,簡稱DCA),并將其應(yīng)用于異常檢測中.目前,樹突狀細(xì)胞是已知的功能最強(qiáng)大的專職抗原提呈細(xì)胞,DCA在模仿樹突狀細(xì)胞辨別健康組織和受感染組織能力的基礎(chǔ)上,對(duì)輸入抗原信號(hào)抽象出“輸入信號(hào)”后對(duì)其進(jìn)行融合處理,獲得相應(yīng)的“輸出信號(hào)”,然后根據(jù)“輸出信號(hào)”獲得抗原的危險(xiǎn)程度,最后通過判斷抗原的危險(xiǎn)程度來確定是否發(fā)生了入侵行為.Greensmith J等證明了DCA具有異常檢測能力.DCA算法中遷移閾值的設(shè)定直接影響到樹突狀細(xì)胞的成熟時(shí)間,樹突狀細(xì)胞值設(shè)置過小會(huì)使得樹突狀細(xì)胞過早地成熟,意味著樹突狀細(xì)胞對(duì)外界環(huán)境更敏感;樹突狀細(xì)胞值設(shè)置過大則會(huì)造成樹突狀細(xì)胞的累積信息過多,意味著DC不能及時(shí)反映外界的情況.文獻(xiàn)對(duì) DCA 進(jìn)行了頻率調(diào)諧的分析.通過分析,文獻(xiàn)認(rèn)為DCA具有濾波器特性,指出遷移閾值的選取對(duì)于分類具有一定的影響,但并沒有說明如何選取遷移閾值.
DCA算法目前被認(rèn)為是一種最新的人工免疫算法,相對(duì)于傳統(tǒng)免疫算法,其理論更適合異常檢測,并具有簡單快速等特點(diǎn),是今后發(fā)展的一個(gè)重要方向[10].筆者針對(duì)網(wǎng)絡(luò)行為具有連續(xù)性的特點(diǎn),利用粒子群算法來選擇遷移閾值.
1改進(jìn)的DCA算法
1.1 DCA原理
DCA算法中未成熟樹突狀細(xì)胞的職責(zé)是對(duì)組織中的抗原信號(hào)進(jìn)行采樣和分析.抗原信號(hào)包括PAMP、危險(xiǎn)信號(hào)、安全信號(hào)和炎性信號(hào).當(dāng)樹突狀細(xì)胞收集一定量的抗原信號(hào)之后,未成熟樹突狀細(xì)胞將根據(jù)采集到的信號(hào)情況產(chǎn)生不同的分化結(jié)果:當(dāng)安全信號(hào)比其他信號(hào)強(qiáng)時(shí),未成熟的樹突狀細(xì)胞將分化為半成熟的樹突狀細(xì)胞;而當(dāng)PAMP和危險(xiǎn)信號(hào)比安全信號(hào)強(qiáng)時(shí),那些沒有成熟的樹突狀細(xì)胞將分化為成熟的樹突狀細(xì)胞.DCA算法的本質(zhì)是一種基于種群的算法,DCA算法的輸入數(shù)據(jù)是一系列的數(shù)據(jù)流,即信號(hào)流和抗原流.與生物學(xué)中樹突狀細(xì)胞接受到的信號(hào)類似,DCA算法的輸入信號(hào)可以分為安全信號(hào)、炎性信號(hào)、PAMP和危險(xiǎn)信號(hào).DCA算法通過計(jì)算分析所輸入的信號(hào)來獲得相應(yīng)的輸出信號(hào).輸出信號(hào)包括協(xié)同刺激信號(hào) (Csm)、半成熟信號(hào) (Semi)和成熟信號(hào)(Mat),定義為
其中:Si為輸入信號(hào);Oj為輸出信號(hào);Iin表示炎性信號(hào),意味著從Si到Oj的轉(zhuǎn)換權(quán)值;I表示輸入信號(hào)種類(這里為3種).S0,S1,S2這3種輸入信號(hào)分別表示PAMP、危險(xiǎn)信號(hào)和安全信號(hào)的值;O0,O1,O2這3種輸出信號(hào)分別表示Csm,Semi和Mat的值.
DCA算法給每個(gè)樹突狀細(xì)胞賦予了1個(gè)遷移閾值,以便確定樹突狀細(xì)胞的生命周期.每個(gè)沒有成熟的樹突狀細(xì)胞都會(huì)累積輸出信號(hào),這樣就會(huì)得到累積Semi,Csm和Mat.其累積的公式為
Cj(t)=Cj(t-1)+Oj.
其中:Oj為算法的輸出信號(hào);t為算法運(yùn)行的時(shí)間;Cj(t)為當(dāng)前系統(tǒng)周期所輸出的累積信號(hào);Cj(t-1) 為上1個(gè)系統(tǒng)周期輸出的累積信號(hào);C0(t),C1(t),C2(t)分別為當(dāng)前系統(tǒng)周期的累積Semi,Csm和Mat累積值.當(dāng)Csm累積值達(dá)到或超過遷移閾值時(shí),意味著細(xì)胞生命周期結(jié)束,同時(shí)也意味著累積過程的結(jié)束.接著比較累積Semi和Mat的累積值大小,若Semi累積值大于Mat的累積值,則樹突狀細(xì)胞就會(huì)分化為半成熟狀態(tài);反之,樹突狀細(xì)胞會(huì)分化為成熟狀態(tài).最后,通過細(xì)胞環(huán)境來標(biāo)記樹突狀細(xì)胞狀態(tài)(半成熟狀態(tài)為0,表示正常狀態(tài),成熟狀態(tài)為1,表示異常狀態(tài)).在DCA算法中,根據(jù)實(shí)際情況設(shè)置一個(gè)異常閾值,當(dāng)成熟細(xì)胞環(huán)境抗原值超過該閾值,則判定為異常.
1.2 粒子群優(yōu)化算法
1995年Kennedy等從鳥群尋找食物的現(xiàn)象中獲得靈感,提出了粒子群優(yōu)化(Particle Swarm Optimization,簡稱PSO)算法.在PSO算法中,位于鳥群中的每只鳥都被抽象成一個(gè)沒有體積也沒有質(zhì)量的粒子.搜索過程中每個(gè)粒子所在的位置相當(dāng)于求解問題的一個(gè)可能解,搜索到食物相當(dāng)于找到問題的最優(yōu)解,鳥群在搜索過程中所飛行移動(dòng)的空間相當(dāng)于問題的解空間.在PSO算法中,種群首先被初始化為一組具有隨機(jī)值的解,接著在尋找食物的過程中,鳥群中的每只鳥將通過和其他鳥之間的協(xié)作來調(diào)整自己的空間位置和飛行速度.在整個(gè)的搜索過程,位置比較分散的鳥群逐漸匯聚成位置集中的鳥群,由于鳥群是根據(jù)更好的信息來調(diào)整飛行的方向和位置,因此最終將找到食物,也就是說算法找到問題的最優(yōu)值.[11-12]
PSO算法在每次的迭代中,單個(gè)粒子會(huì)根據(jù)其自身的局部最優(yōu)值p和全局最優(yōu)值g來更新自己.在找到這2個(gè)最優(yōu)值后,粒子通過下式來更新自己的速度和位置[11]:
其中k表示第k次迭代,i表示第i個(gè)粒子,v表示速度,x表示位置.
1.3 改進(jìn)的入侵檢測DCA算法
在DCA算法中,遷移閾值是由隨機(jī)數(shù)或研究人員的經(jīng)驗(yàn)確定的,不便于現(xiàn)實(shí)中復(fù)雜、連續(xù)的網(wǎng)絡(luò)狀態(tài)的分析.針對(duì)網(wǎng)絡(luò)特性在時(shí)間上具有連續(xù)性的特點(diǎn),利用粒子群尋優(yōu)算法(PSO)來優(yōu)化DCA算法,即通過粒子群算法獲得上一組網(wǎng)絡(luò)數(shù)據(jù)的最優(yōu)遷移閾值,并將其作為以后網(wǎng)絡(luò)數(shù)據(jù)分析的遷移閾值.
2仿真結(jié)果
以KDDCUP99 10%數(shù)據(jù)集為實(shí)驗(yàn)基礎(chǔ),先對(duì)數(shù)據(jù)進(jìn)行數(shù)值化、歸一化等預(yù)處理,并將數(shù)據(jù)分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集.對(duì)于改進(jìn)的DCA算法的權(quán)值取值,使用文獻(xiàn)中給定的數(shù)據(jù)(表1).
對(duì)于改進(jìn)的DCA算法中數(shù)據(jù)域的選擇,根據(jù)文獻(xiàn)[13]中的信息增益選擇方法來選擇KDDCUP99數(shù)據(jù)集的數(shù)據(jù)域(表2).
DCA算法采用JAVA實(shí)現(xiàn),輸入數(shù)據(jù)集到程序中,程序按每秒讀取10條數(shù)據(jù),并以每分鐘讀取的數(shù)據(jù)為單位計(jì)算分析數(shù)據(jù)是否屬于正常行為.統(tǒng)計(jì)整個(gè)數(shù)據(jù)集數(shù)據(jù)分析的正確率,輸出需要的數(shù)值.
表1 權(quán)值的選取
表2 數(shù)據(jù)集的數(shù)據(jù)域的選擇表
對(duì)于DCA算法,根據(jù)文獻(xiàn)[13]在[100,500]中隨機(jī)選取遷移閾值.對(duì)于改進(jìn)的DCA算法先利用粒子群算法,找出全局的遷移閾值的最優(yōu)解,并將該最優(yōu)解作為下一組數(shù)據(jù)DCA計(jì)算的遷移閾值.設(shè)置每600條輸入的數(shù)據(jù)輸出1個(gè)成熟環(huán)境抗原值,總共輸入400組數(shù)據(jù).仿真結(jié)果表明,改進(jìn)的DCA算法的數(shù)據(jù)分類正確率(81%)高于DCA算法(76%),提高了5%.
3結(jié)語
針對(duì)DCA算法中遷移閾值的選擇問題進(jìn)行研究,即通過粒子群算法來獲得樣本中最優(yōu)的遷移閾值,并將其作為下一個(gè)周期檢測的遷移閾值.實(shí)驗(yàn)結(jié)果表明,該方法能夠在一定程度上提高DCA算法的檢測精度.
參考文獻(xiàn):
[1]XIELinquan,YUFei,XUChen.DistributedFirewallwithIntrusionDetectionSystem.JournalofComputers,2012,7(12):3 110-3 115.
[2]FORRESTS,PERELSONAS,ALLENL,etal.Self-NonselfDiscriminationinaComputer.Proceedingsofthe1994IEEESymposiumonResearchinSecurityandPrivacy.LosAlamos,CA:IEEEComputerSociety,1994:202-209.
[3]CASTROLND,VONZUBENFJ.TheClonalSelectionAlgorithmwithEngineeringApplications.ProceedingsoftheGeneticandEvolutionaryComputationConference.LasVegas,USA:ACM,2000:36-37.
[4]CASTROLND,VONZUBENFJ.AnEvolutionaryImmuneNetworkforDataClustering.ProceedingsoftheIEEEBrazilianSymposiumonArtificialNeuralNetworks.RiodeJaneiro,Brazil:IEEEComputerSociety,2000:84-89.
[5]MATZINGERP.Tolerance,DangerandtheExtendedFamily.AnnualReviewofImmunology,1994,12(1):991-1 045.
[6]AICKELINU,BENTLEYP,CAYZERS,etal.DangerTheory:TheLinkBetweenAISandIDS.ProceedingsoftheSecondInternationalConferenceonArtificialImmuneSystems.Edinburgh:[s.n.],2003:147-155.
[7]GREENSMITHJ,AICKELINU,CAYZERS.IntroducingDendriticCellsasaNovelImmune-InspiredAlgorithmforAnomalyDetection.Proceedingsofthe4thInternationalConferenceonArtificialImmuneSystems.Alberta:[s.n.],2005:153-167.
[8]GREENSMITHJ,AICKELINU,TWYCORSSJ.ArticulationandClarificationoftheDendriticCellAlgorithm.ProceedingofInternationalConferenceonArtificialImmuneSystem.Oeiras,Portugal:SpringerVerlag,2006:404-417.
[9]OATESR,KENDALLG,GARIBALDIJM.FrequencyAnalysisforDendriticCellPopulationTuning.EvolutionaryIntelligence,2008,1(2):145-157.
[10] 方賢進(jìn),王麗,康佳,等.樹突細(xì)胞算法及其理論研究.計(jì)算機(jī)科學(xué),2015,42(2):131-133;156.
[11]EBERHARTR,KENNEDYJ.ANewOptimizerUsingParticleSwarmTheory.Proceedingofthe6thInternationalSymposiumonMicroMachineandHumanScience.Piscataway,NJ:IEEEServiceCenter,1995:39-43.
[12] 徐善健.一種基于網(wǎng)絡(luò)資源的數(shù)據(jù)挖掘方法.湖南城市學(xué)院學(xué)報(bào):自然科學(xué)版,2015,24(2):76-78.
[13] 陳岳兵.面向入侵檢測的人工免疫系統(tǒng)研究.長沙:國防科技大學(xué),2011.
ImprovedIntrusionDetectionAlgorithmBasedonDCA
LEIShihua,DINGLei,LIJianfeng,ZENGShuiling
(SchoolofInformationScienceandEngineering,JishouUniversity,Jishou416000,HunanChina)
Abstract:With the influence of the migration threshold value on the performance of dendritic cell algorithm(DCA) being considered during the network intrusion detection,the way to determine the migration threshold is presented to improve the performance of DCA.According to the real network behavior with the characteristics of continuity,the particle swarm optimization (PSO) is employed to determine the migration threshold which will be the used to analyze the network data.The simulation results show that the improved way can increase the accuracy of intrusion detection of DCA.
Keywords:migrationthreshold;dendriticcellalgorithm;particleswarmoptimization;intrusiondetection
(責(zé)任編輯陳炳權(quán))