本發(fā)明涉及網(wǎng)絡(luò)攻擊檢測技術(shù)領(lǐng)域,尤其涉及一種基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法。
背景技術(shù):
進(jìn)入信息時代以來,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,計算機(jī)與互聯(lián)網(wǎng)走進(jìn)了千家萬戶,已經(jīng)滲透到人們的學(xué)習(xí)、工作、生活中的方方面面,并對人們生活、企業(yè)發(fā)展和社會進(jìn)步產(chǎn)生巨大影響。但是,網(wǎng)絡(luò)在提供便利的同時,由于其本身的開放性、匿名性、互聯(lián)性等特征,使得網(wǎng)絡(luò)容易遭受各種攻擊,端口滲透、系統(tǒng)漏洞、釣魚、木馬等網(wǎng)絡(luò)威脅無處不在,因此,網(wǎng)絡(luò)安全問題不容忽視,網(wǎng)絡(luò)安全問題嚴(yán)重影響網(wǎng)絡(luò)秩序,嚴(yán)重危害著個人、企業(yè)、政府、國家的利益。
網(wǎng)絡(luò)滲透是攻擊者常用的一種攻擊手段,也是一種綜合的高級攻擊技術(shù),同時網(wǎng)絡(luò)滲透也是安全工作者所研究的一個課題,無論是網(wǎng)絡(luò)滲透(Network Penetration)還是滲透測試(Penetration Test),其實際上所指的都是同一內(nèi)容,也就是研究如何一步步攻擊入侵某個大型網(wǎng)絡(luò)主機(jī)服務(wù)器群組。只不過從實施的角度上看,前者是攻擊者的惡意行為,而后者則是安全工作者模擬入侵攻擊測試,進(jìn)而尋找最佳安全防護(hù)方案的正當(dāng)手段。
網(wǎng)絡(luò)攻擊檢測經(jīng)過多年發(fā)展,已經(jīng)取得了顯著的成果。入侵檢測的定義被第一次提出是在1980年4月,James Anderson在其論文中提到,可以通過安全審計數(shù)據(jù)發(fā)現(xiàn)網(wǎng)絡(luò)攻擊行為。20世界90年代是網(wǎng)絡(luò)攻擊監(jiān)測的技術(shù)爆發(fā)階段,同時期出現(xiàn)了BRO,CIDF等經(jīng)典的攻擊監(jiān)測系統(tǒng)。近年來,網(wǎng)絡(luò)攻擊監(jiān)測的研究主要集中在網(wǎng)絡(luò)攻擊檢測的建模、網(wǎng)絡(luò)攻擊檢測數(shù)據(jù)的處理、網(wǎng)絡(luò)攻擊檢測的技術(shù)與方法研究,其中最重要的是網(wǎng)絡(luò)攻擊檢測方法的研究,特別是大數(shù)據(jù)環(huán)境下,基于數(shù)據(jù)挖掘技術(shù)的網(wǎng)絡(luò)攻擊檢測方法。
基于蟻群分類挖掘的網(wǎng)絡(luò)滲透攻擊檢測方法是目前研究的熱點。它的基本框架思路是這樣的:螞蟻在覓食的過程中能夠感知其他螞蟻留置的一種叫信息素的存在和強(qiáng)度,然后通過信息素的內(nèi)容指導(dǎo)自己的運動方向,他們在運動的時候傾向于朝著信息素強(qiáng)度高的方向移動,因為那個方向有著更多的螞蟻留置的指向信息,對于螞蟻的運動有更大的指導(dǎo)意義。因此,由大量螞蟻組成的集體覓食行為就表現(xiàn)出一種信息正反饋現(xiàn)象:某一路徑越短,該路徑上走過的螞蟻就越多,所留置的信息素強(qiáng)度也就越大,后來的螞蟻選擇該路徑的概率因此就越大?;谙伻悍诸惖乃惴▽⑽浵亴ふ业穆窂奖茸鞣诸愐?guī)則,通過模擬人工智能螞蟻(攻擊搜素者)在覓食空間(攻擊數(shù)據(jù)集空間)中根據(jù)留置的信息素(信息素變量函數(shù))進(jìn)行搜索食物源(攻擊目標(biāo)的分類類別),經(jīng)過不斷地迭代搜索(分類規(guī)則挖掘)過程,那么最終蟻群選擇最多的幾條路徑就是最優(yōu)的路徑(分類規(guī)則)。蟻群挖掘出分類規(guī)則后,將新數(shù)據(jù)樣本與分類規(guī)則進(jìn)行模式匹配,從而檢測網(wǎng)絡(luò)滲透攻擊。但是傳統(tǒng)的蟻群分類挖掘算法由于其信息素更新策略比較固定,在進(jìn)行大規(guī)模計算時,其收斂時間過長的特點依然是該算法的一個瓶頸。因此,為了實現(xiàn)對于信息素的自適應(yīng)動態(tài)更新,開發(fā)一種快速高效的蟻群分類挖掘算法方案是很有必要的。
技術(shù)實現(xiàn)要素:
本發(fā)明的實施例提供了一種基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法,以實現(xiàn)高效的蟻群分類挖掘算法。
為了實現(xiàn)上述目的,本發(fā)明采取了如下技術(shù)方案。
一種基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法,包括:
在蟻群搜索之前,設(shè)置指導(dǎo)所述蟻群的搜索行為的啟動因子;
在所述蟻群的路徑搜索過程中留置信息素信息,基于所述信息素信息通過設(shè)定的概率轉(zhuǎn)移函數(shù)搜索所述蟻群的下一步路徑;
在所述蟻群的全部路徑搜索完畢后,將整體距離最短的路徑確定為所述蟻群的最佳路徑。
進(jìn)一步地,所述的在蟻群搜索之前,設(shè)置指導(dǎo)所述蟻群的搜索行為的啟動因子,包括:
在蟻群搜索之前,設(shè)置指導(dǎo)所述蟻群的搜索行為的啟動因子為:
公式1中,|termij|表示目標(biāo)類別中第i個特征屬性取第j個值的樣例數(shù)目;|trainingsetij|表示所有分類類別,即整個訓(xùn)練集中第i個特征屬性取第j個值的樣例總數(shù)目。
進(jìn)一步地,所述的在所述蟻群的路徑搜索過程中留置信息素信息,包括:
1:在所述蟻群進(jìn)行路徑搜索之前,對信息素進(jìn)行初始化設(shè)置:
λij(0)表示在初始時刻,第i個特征屬性的第j個值的數(shù)據(jù)點上的信息素濃度,Mi和N分別代表第i個特征屬性的取值個數(shù)、特征屬性的個數(shù)
2:所述蟻群在一個路徑的搜索過程完成后,搜索下一個路徑之前,進(jìn)行動態(tài)的自適應(yīng)信息素更新,更新函數(shù)為:
所述表示原有信息素,所述Δλij表示新增信息素,所述表示更新后的信息素,α是信息素的揮發(fā)率,β表示信息留存率;
式中,x為螞蟻k走過的邊數(shù),d為螞蟻k走過的邊長,m為構(gòu)成蟻群的螞蟻總數(shù),Q為常數(shù)參量,p(i|1,2,...j)為通過引入路徑留存率模型來表示蟻群從屬性i選擇至位置j時的留存概率;
d(i,j)為本步蟻群走過的路徑長度,D(d(1,2,...i),d(1,2,3...j))為蟻群走過的歷史總長度的和;
對更新后的信息素進(jìn)行平滑處理,該平滑處理的公式如下:
所述表示第k+1次迭代時,平滑化之后的初始化新的信息素,所述λijold(k)代表第k次迭代后,特征屬性數(shù)據(jù)空間的老的信息素,上一次規(guī)則挖掘的結(jié)果對本次挖掘的影響由參數(shù)ε決定。
進(jìn)一步地,所述的基于所述信息素信息通過設(shè)定的概率轉(zhuǎn)移函數(shù)搜索所述蟻群的下一步路徑,包括:
設(shè)置轉(zhuǎn)移概率函數(shù)為指導(dǎo)螞蟻進(jìn)行路徑選擇的函數(shù),所述轉(zhuǎn)移概率函數(shù)的計算公式如下:
Pij(t)表示第i個屬性選擇第j個值的概率轉(zhuǎn)移值,其中,a、b表示在這個轉(zhuǎn)移過程中對于某條路徑的側(cè)重值,λij(t)表示t時刻的信息素,γij(t)表示啟動因子;
當(dāng)滿足給定的隨機(jī)數(shù)q<qm時,j=argmax{[λij(t)][γij(t)]}j∈allowd(t),當(dāng)滿足給定的隨機(jī)數(shù)q>qm的時候,按照概率轉(zhuǎn)移函數(shù)選擇j,將j加入列表,即按最大的轉(zhuǎn)移概率選擇下一步的路徑。
進(jìn)一步地,所述的在所述蟻群的全部路徑搜索完畢后,將整體距離最短的路徑確定為所述蟻群的最佳路徑,包括:
在所述蟻群的全部路徑搜索完畢,即都完成了規(guī)則的構(gòu)建之后,將整體路徑長度最短的路徑確定為所述蟻群的最佳路徑,所述整體路徑長度l的計算公式如下:
d為螞蟻k走過的邊長,m為螞蟻總數(shù);
當(dāng)螞蟻選擇了最佳路徑之后,最后的信息素的全局更新為:
進(jìn)一步地,所述的方法還包括:
當(dāng)螞蟻完成一條規(guī)則的構(gòu)建后,要進(jìn)行規(guī)則的評價修剪,在進(jìn)行規(guī)則選取時,螞蟻對規(guī)則的評價函數(shù)值進(jìn)行排序,排序越靠前的規(guī)則分類能力越強(qiáng),反之越弱;將衡量分類質(zhì)量的規(guī)則的評價函數(shù)設(shè)計為如下公式:
TP表示規(guī)則前后都符合條件的樣本數(shù);FP表示符合分類規(guī)則不符合規(guī)則對應(yīng)條件的樣本數(shù);TN表示規(guī)則前后都不符合條件的樣本數(shù);FN表示不符合分類規(guī)則但滿足規(guī)則對應(yīng)條件的樣本數(shù),Q值越大代表規(guī)則的質(zhì)量越高。
由上述本發(fā)明的實施例提供的技術(shù)方案可以看出,本發(fā)明實施例的基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法綜合考慮了蟻群在路徑游走選擇過程中信息素在每一步的動態(tài)更新因素,使得信息素的更新更準(zhǔn)確,更符合更新規(guī)則。而且設(shè)計的評價函數(shù)能夠保證算法能夠及時刪除選擇出的不好的路徑,及時指導(dǎo)蟻群的分類行為,從而可以準(zhǔn)確、快速地搜索出最佳路徑。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法的處理流程圖;
圖2為本發(fā)明實施例提供的傳統(tǒng)蟻群算法和本發(fā)明的算法收斂速度比較示意圖。
具體實施方式
下面詳細(xì)描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
為便于對本發(fā)明實施例的理解,下面將結(jié)合附圖以幾個具體實施例為例做進(jìn)一步的解釋說明,且各個實施例并不構(gòu)成對本發(fā)明實施例的限定。
網(wǎng)絡(luò)滲透攻擊是一種威脅網(wǎng)絡(luò)安全的嚴(yán)重的網(wǎng)絡(luò)攻擊行為,有效的監(jiān)測網(wǎng)絡(luò)滲透攻擊,可以通過基于蟻群分類算法的攻擊監(jiān)測方法來進(jìn)行。蟻群分類算法是模擬自然界中真實蟻群的覓食行為而形成的一種模擬進(jìn)化算法。螞蟻覓食過程中經(jīng)過的路徑作為一定的分類規(guī)則,蟻群的最終目標(biāo)就是從起點出發(fā)尋找一條到食物源的最佳路徑,蟻群的整個搜索空間就組成了一定的數(shù)據(jù)集空間。經(jīng)過多次的迭代搜索之后,蟻群能夠找到每個食物源類別的多條分類規(guī)則,然后將新數(shù)據(jù)樣本與分類規(guī)則進(jìn)行模式匹配,從而檢測網(wǎng)絡(luò)滲透攻擊。
為了克服現(xiàn)有基于蟻群分類規(guī)則算法在大規(guī)模網(wǎng)絡(luò)滲透攻擊檢測情況下收斂慢的問題,本發(fā)明實施例重點關(guān)注蟻群通訊及聯(lián)系過程中留置的最重要貢獻(xiàn)信息素的特點,提出動態(tài)的信息素更新策略,通過引入自適應(yīng)的動態(tài)信息素更新策略,在每一步蟻群選擇路徑過程中都會動態(tài)更新一次信息素。主要思想是使信息素的影響力隨著路徑的深入而動態(tài)減弱,使得各個螞蟻之間的信息素不會互相干擾過大,影響路徑選擇效率。通過信息素的動態(tài)更新,最終達(dá)到算法的全局快速收斂。同時通過設(shè)計高效的質(zhì)量函數(shù),評價并指導(dǎo)分類負(fù)責(zé)選取。同時本發(fā)明實施例設(shè)計了高效的評價函數(shù),來指導(dǎo)和強(qiáng)化蟻群的分類能力。
該實施例提供了一種基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法的處理流程如圖1所示,包括如下的處理步驟:
步驟S110、在蟻群搜索之前,設(shè)置指導(dǎo)所述蟻群的搜索行為的啟動因子。
在蟻群進(jìn)行搜索路徑之前需要初始化一個啟動因子,啟動因子主要模擬了環(huán)境因素對螞蟻搜尋路徑的影響,反應(yīng)了螞蟻搜索環(huán)境的特征,對螞蟻的搜索行為起引導(dǎo)作用。啟動因子設(shè)置為:
公式1中,|termij|表示目標(biāo)類別中第i個特征屬性取第j個值的樣例數(shù)目;|trainingsetij|表示所有分類類別,即整個訓(xùn)練集中第i個特征屬性取第j個值的樣例總數(shù)目。在蟻群的進(jìn)化過程中,這個值不變,是在蟻群進(jìn)行搜索前設(shè)定的。
步驟S120、蟻群在搜索過程中留置信息素信息,基于所述信息素信息通過設(shè)定的概率轉(zhuǎn)移函數(shù)搜索所述蟻群的下一步路徑。
指導(dǎo)蟻群搜索行為的轉(zhuǎn)移概率函數(shù)是直接指導(dǎo)螞蟻進(jìn)行路徑選擇的函數(shù)。上述轉(zhuǎn)移概率函數(shù)的公式如下:
公式2里,Pij(t)表示第i個屬性選擇第j個值的概率轉(zhuǎn)移值,其中,a、b表示在這個轉(zhuǎn)移過程中對于某條路徑的側(cè)重值,λij(t)表示t時刻的信息素,γij(t)表示啟動因子。
其中,在本發(fā)明設(shè)計的轉(zhuǎn)移概率函數(shù)中,當(dāng)滿足給定的隨機(jī)數(shù)q<qm時,j=argmax{[λij(t)][γij(t)]}j∈allowd(t),當(dāng)滿足給定的隨機(jī)數(shù)q>qm的時候,按照概率轉(zhuǎn)移函數(shù)選擇j,將j加入列表,即按最大的轉(zhuǎn)移概率選擇下一步的路徑。屬性和路徑都是抽象的概念,屬性i對應(yīng)第i個螞蟻,j為屬性所有可能值中的第j個人,是為了說明蟻群分類過程的。
信息素是螞蟻在選擇路徑并通信過程中留置的最重要的證據(jù),是指導(dǎo)整個蟻群選擇最佳路徑的關(guān)鍵指導(dǎo)性因素。它與啟動因子共同決定螞蟻的走向。信息素的設(shè)置過程包括以下三個方面:
1)整個蟻群進(jìn)行規(guī)則挖掘前,需要對信息素進(jìn)行歸一化的初始化,初始化函數(shù)為:
λij(0)表示在初始時刻,第i個特征屬性的第j個值的數(shù)據(jù)點上的信息素濃度;Mi和N還是分別代表第i個特征屬性的取值個數(shù)、特征屬性的個數(shù)。
2)在同一次規(guī)則挖掘的過程中,一組螞蟻進(jìn)行挖掘規(guī)則或者挖掘完成后,另一組螞蟻挖掘規(guī)則前,需要進(jìn)行動態(tài)的信息素更新。在本發(fā)明中,我們充分考慮螞蟻在搜索路徑過程中路徑長度,環(huán)境對于信息素影響力大小的影響,提出動態(tài)的信息素更新策略。使得信息素在更新過程中因螞蟻之間重疊路徑和互相影響而選擇最優(yōu)路徑的概率加大。在螞蟻行進(jìn)過程中,首先每走過一個邊都要進(jìn)行一次局部的信息素更新,更新函數(shù)為:
函數(shù)包含了重要的兩個更新因素:原有信息素和新增信息素Δλij。其中,α是信息素的揮發(fā)率,因此也表示揮發(fā)信息素,β表示信息素的留存概率,這個信息素的留存概率是由螞蟻在本次游走中經(jīng)過的邊數(shù)和邊長綜合決定的,在本發(fā)明提出的動態(tài)自適應(yīng)的信息素更新策略中,只有添加信息素的留存概率才能保證每一步更新的浮動不至于過大而影響最終的更新結(jié)果。具體計算由下面公式?jīng)Q定:
式中x為螞蟻k走過的邊數(shù),d為螞蟻k走過的邊長,m為螞蟻總數(shù)(構(gòu)成蟻群),Q為一個大的常數(shù)參量。p(i|1,2,...j)為通過引入路徑留存率模型來表示蟻群從屬性i選擇至位置j時的留存概率。該模型的具體計算公式如下:
式中分子為本步蟻群走過的路徑長度,分母為蟻群走過的路徑歷史總長度的和。該策略與傳統(tǒng)策略相比保證了各螞蟻所留信息素的均衡性,保證了對搜索的均衡貢獻(xiàn)和相互協(xié)作,體現(xiàn)出了群體的力量,這是本發(fā)明的算法能夠大幅度地提高收斂速度的關(guān)鍵之一。
動態(tài)自適應(yīng)更新完畢后,整個蟻群的兩次規(guī)則挖掘的過程間,通過平滑機(jī)制對信息素進(jìn)行平滑化,信息素平滑處理的公式如下:
上式中,表示第k+1次迭代時,平滑化之后的初始化新的信息素,而λijold(k)代表第k次迭代后,特征屬性數(shù)據(jù)空間的老的信息素。上一次規(guī)則挖掘的結(jié)果對本次挖掘的影響由參數(shù)ε決定。
由于蟻群在進(jìn)行路徑搜索的時候是需要一步一步根據(jù)前面提到的信息素函數(shù)和轉(zhuǎn)移概率函數(shù)指導(dǎo)下進(jìn)行路徑轉(zhuǎn)移的,此時的迭代可以理解為每一步的迭代,由一個位置到騙一個位置。
步驟S130、當(dāng)螞蟻完成一條規(guī)則的構(gòu)建后,要進(jìn)行規(guī)則的評價修剪。在進(jìn)行規(guī)則選取時,螞蟻需要對規(guī)則的評價函數(shù)值進(jìn)行排序,排序越靠前的規(guī)則分類能力越強(qiáng),反之越弱。并且在進(jìn)行信息素更新時,規(guī)則質(zhì)量函數(shù)也發(fā)揮了重要的作用,規(guī)則的質(zhì)量越高,規(guī)則所覆蓋的數(shù)據(jù)點上增加的信息素越多,反之越少。本發(fā)明將衡量分類質(zhì)量的規(guī)則的評價函數(shù)設(shè)計為如下公式:
TP表示規(guī)則前后都符合條件的樣本數(shù);FP表示符合分類規(guī)則不符合規(guī)則對應(yīng)條件的樣本數(shù);TN表示規(guī)則前后都不符合條件的樣本數(shù);FN表示不符合分類規(guī)則但滿足規(guī)則對應(yīng)條件的樣本數(shù)。Q值越大代表規(guī)則的質(zhì)量越高。
步驟S140,在所述蟻群的全部路徑搜索完畢,即都完成了規(guī)則的構(gòu)建之后,將整體距離最短的路徑確定為所述蟻群的最佳路徑。
整體路徑長度:d為螞蟻k走過的邊長,m為螞蟻總數(shù)(構(gòu)成蟻群)當(dāng)螞蟻選擇了最佳路徑之后,最后的信息素的全局更新為:
圖2為本發(fā)明實施例提供的傳統(tǒng)蟻群算法和本發(fā)明的算法收斂速度比較示意圖,從圖2可以看出,本發(fā)明實施例的算法收斂速度快于傳統(tǒng)蟻群算法。
上一節(jié)中,闡述了本發(fā)明提出的基于蟻群分類規(guī)則挖掘的網(wǎng)絡(luò)滲透攻擊檢測算法,通過引入信息素的動態(tài)更新策略,設(shè)計高效的評價函數(shù),使得算法能夠快速收斂,并且可以更好的指導(dǎo)蟻群的分類行為,但是這些內(nèi)容依然停留在理論階段,因此,在這一部分通過具體的實例給出蟻群分類規(guī)則挖掘的具體實施過程。
仿真過程我們選取了網(wǎng)絡(luò)上的標(biāo)準(zhǔn)數(shù)據(jù)集進(jìn)行實驗分析,選取收斂速度、檢測率和錯誤率指標(biāo)來評價算法性能。
在仿真過程中,主要分為兩個部分:
一.數(shù)據(jù)預(yù)處理及驗證標(biāo)準(zhǔn)
通過數(shù)據(jù)除噪、數(shù)據(jù)降維、數(shù)據(jù)離散化及歸一化的過程將KDD CUP99數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,得到預(yù)處理后的攻擊數(shù)據(jù)集。然后運用十字交叉驗證的方法,將數(shù)據(jù)平均分為十份,每次抽取其中的九份作為訓(xùn)練集,剩下一份作為測試集,這樣執(zhí)行基于蟻群分類規(guī)則挖掘算法的攻擊檢測十次,最后將這十次實驗的平均檢測結(jié)果作為最終結(jié)果。
收斂速度指標(biāo)以迭代次數(shù)為單位進(jìn)行度量,即從蟻群開始進(jìn)行攻擊檢測到結(jié)果收斂時螞蟻在路徑中周游的次數(shù)。當(dāng)達(dá)到收斂時,周游的次數(shù)越少,則表明算法收斂越快,性能越好。算法都分別進(jìn)行500次迭代。
攻擊檢測率和錯誤率指標(biāo)定義如下:
二,實驗過程
根據(jù)蟻群算法的基本原理,將蟻群算法用于分類規(guī)則的挖掘,從而用于網(wǎng)絡(luò)攻擊檢測。
本算法將分類規(guī)則的條件模擬為螞蟻尋找食物所經(jīng)過的路徑,將最終的目標(biāo)類別模擬為螞蟻要找的食物源,整個數(shù)據(jù)集也就是螞蟻尋找食物的空間,數(shù)據(jù)點就是螞蟻經(jīng)過的地點,將螞蟻從蟻巢到食物源經(jīng)過的路徑模擬為分類規(guī)則,將網(wǎng)絡(luò)滲透攻擊檢測轉(zhuǎn)化為一個分類問題,用蟻群挖掘網(wǎng)絡(luò)攻擊的分類規(guī)則,再對新樣本進(jìn)行分類規(guī)則的模式匹配,從而檢測網(wǎng)絡(luò)滲透攻擊行為。
第一步:根據(jù)啟動因子初始化,將每個邊上的信息素初始化為一個小的常數(shù);將150個螞蟻隨機(jī)地分配到30個節(jié)點上,然后記錄出發(fā)點,將出發(fā)點設(shè)置到列表中。
第二步:進(jìn)行下一個節(jié)點的選擇。螞蟻按照概率轉(zhuǎn)移函數(shù),選擇下一個節(jié)點,并記錄該節(jié)點。該方法使搜索過程具有多樣性。然后每次進(jìn)行轉(zhuǎn)移的過程都按照概率轉(zhuǎn)移函數(shù)進(jìn)行下個節(jié)點(下條路徑)的搜索。
第三步:每走完一步,螞蟻根據(jù)文中提出的信息素動態(tài)更新策略,進(jìn)行信息素的局部更新。
第四步:當(dāng)150只螞蟻走完所有的路徑后找出整體距離最短的路徑作為最佳路徑并保存。
第五步:選出最佳路徑后,對最佳路徑上進(jìn)行信息素的全局更新。
第六步:設(shè)置迭代次數(shù),如果未完,清空列表,重復(fù)上述過程。
綜上所述,本發(fā)明實施例的基于自適應(yīng)動態(tài)信息素的快速收斂蟻群分類方法綜合考慮了蟻群在路徑游走選擇過程中信息素在每一步的動態(tài)更新因素,使得信息素的更新更準(zhǔn)確,更符合更新規(guī)則。而且設(shè)計的評價函數(shù)能夠保證算法能夠及時刪除選擇出的不好的路徑,及時指導(dǎo)蟻群的分類行為,從而可以準(zhǔn)確、快速地搜索出最佳路徑。
本發(fā)明的方法針對蟻群分類算法中的不足進(jìn)行了部分改進(jìn),首先本算法引入了自適應(yīng)的動態(tài)信息素策略,在每一步的更新過程都會動態(tài)更新信息素,重點優(yōu)化原有算法,其次本算法設(shè)計了高效的評價函數(shù),使算法更高效,加快了收斂速度。
本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置或系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置及系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。