許彩芳
(宿州職業(yè)技術(shù)學(xué)院計(jì)算機(jī)信息系,安徽 宿州 234101)
隨著互聯(lián)網(wǎng)中的網(wǎng)絡(luò)行為與數(shù)據(jù)量的日益增加,互聯(lián)網(wǎng)時(shí)刻影響著人們?nèi)粘W(xué)習(xí)與生活,“互聯(lián)網(wǎng)+”行業(yè)也在日益增多,人類(lèi)社會(huì)對(duì)互聯(lián)網(wǎng)的依賴性已變得越來(lái)越大[1-3]。由于當(dāng)前計(jì)算機(jī)網(wǎng)絡(luò)中信息量增長(zhǎng)迅猛,使得入侵檢測(cè)的準(zhǔn)備率較低,以致缺乏適用性與有效性,許多學(xué)者已經(jīng)開(kāi)始在智能計(jì)算與數(shù)據(jù)挖掘領(lǐng)域?qū)θ肭址椒ㄟM(jìn)行新的研究。芶繼軍等人提出了一種基于隨機(jī)森林的網(wǎng)絡(luò)入侵檢測(cè)模型[4]。Vasant P等人開(kāi)發(fā)了一套入侵檢測(cè)系統(tǒng),通過(guò)檢測(cè)模型將攻擊類(lèi)型分為H-IDS和N-IDS兩類(lèi)[5]。雖然當(dāng)前對(duì)網(wǎng)絡(luò)入侵檢測(cè)技術(shù)研究方法較多,但基于PSO-FCM智能算法的入侵檢測(cè)方法仍然很少,研究旨在探索基于PSO-FCM算法的網(wǎng)絡(luò)入侵檢測(cè)方法的有效性。
將PSO算法引入FCM算法,研究分析聚類(lèi)個(gè)數(shù)的不確定性,并對(duì)數(shù)據(jù)樣本集中的數(shù)據(jù)進(jìn)行降等預(yù)處理操作,以優(yōu)化FCM算法。對(duì)于FCM算法中存在的不足,采用了優(yōu)化聚類(lèi)的方式改進(jìn)FCM局部最小值問(wèn)題,以優(yōu)化聚類(lèi)的效果。在FCM中引入PSO的全局搜索性能,綜合相互之間的優(yōu)勢(shì),將FCM中聚類(lèi)中心與更新迭代采用PSO優(yōu)化算法進(jìn)行替代計(jì)算,最后得到PSO-FCM改進(jìn)算法。為了防止目標(biāo)函數(shù)在局部進(jìn)行極小化過(guò)程,優(yōu)化后的PSO-FCM聚類(lèi)算法要進(jìn)一步的將搜索空間擴(kuò)大,因?yàn)樵撍惴ǖ倪^(guò)程不同于單一的模糊聚類(lèi)算法,使FCM搜索方向變得具有多樣性,全局搜索的能力更強(qiáng)。
由于PSO中的任意粒子均有可能成為更新過(guò)程中的最優(yōu)解。所以,基于PSO-FCM的思路是將聚類(lèi)中心的空間采用粒子來(lái)進(jìn)行表示,也可以理解為粒子編碼問(wèn)題。假設(shè)樣本集合Z中有n個(gè)樣本,表達(dá)式為Z=(z1,z2,z3,…,zn),zi表示任意向量。在樣本集合中找到異常類(lèi)與正常類(lèi)以檢測(cè)Z的有效性,并找到適合的聚類(lèi)中心,若Z的類(lèi)有c個(gè),那么各個(gè)類(lèi)中心表示為x1,x2,x3,…,xc,xi(1≤i≤c),且分別與Z是同緯度的向量。因此,一個(gè)粒子X(jué)是由這c個(gè)聚類(lèi)中心組成的。根據(jù)這個(gè)思路,一個(gè)可行的解對(duì)應(yīng)這一個(gè)編碼,若樣本數(shù)據(jù)維度表示為d,粒子長(zhǎng)度表示為c×d,那么矩陣式(1)可以表示為單個(gè)粒子。若一個(gè)初始粒子群是由s個(gè)式(1)中矩陣組成,那么群體的規(guī)模為s。
(1)
在PSO搜索時(shí),需要記錄各個(gè)粒子的個(gè)體與全局極值,并不斷評(píng)價(jià)粒子的適應(yīng)度。在評(píng)價(jià)粒子適應(yīng)度時(shí),通常會(huì)應(yīng)用到目標(biāo)評(píng)價(jià)函數(shù),并在J(U,V)基礎(chǔ)上優(yōu)化適應(yīng)度,見(jiàn)式(2):
(2)
式(2)中,U在FCM中表示隸屬度矩陣,而在PSO-FCM中表示為n×c矩陣,μij表示類(lèi)中心j中數(shù)據(jù)樣本i的隸屬度。若改進(jìn)后的優(yōu)化算法效果越優(yōu),則個(gè)體適應(yīng)度f(wàn)值越大,評(píng)價(jià)值J越小。
由于PSO受到粒子最佳位置、速度以及群體最佳位置的影響,因此粒子在位置更新與速度計(jì)算上也受到了相應(yīng)的影響。如果w相對(duì)較大,粒子跳出局部最小點(diǎn)的幾率較大,能夠提高全局搜索能力,反之則利于收斂,能夠提高局部搜索能力。對(duì)慣性權(quán)值w進(jìn)行了優(yōu)化改進(jìn),在迭代的過(guò)程中,w在初期較大,后期則逐漸變小。如式(3)所示。
(3)
式(3)中,iter表示當(dāng)前次數(shù),iter_max表示算法最大迭代次數(shù),w0表示初始慣性權(quán)值。若w0為0.9,iter_max為1000,進(jìn)行迭代計(jì)算的進(jìn)行,慣性權(quán)值w會(huì)越來(lái)越小,直到取值接近于0。
基于PSO-FCM聚類(lèi)算法最后的關(guān)鍵流程是通過(guò)計(jì)算結(jié)果來(lái)分析標(biāo)記類(lèi)中心與數(shù)據(jù)的一致性,從而對(duì)入侵行為進(jìn)行判斷。最后對(duì)入侵檢測(cè)方法流程進(jìn)行了設(shè)計(jì),包括訓(xùn)練、檢測(cè)、數(shù)據(jù)庫(kù)和報(bào)警四大模塊。訓(xùn)練模塊是聚類(lèi)處理數(shù)據(jù)庫(kù)中導(dǎo)出的數(shù)據(jù),再將聚類(lèi)處理結(jié)果導(dǎo)入數(shù)據(jù)庫(kù),同時(shí)在檢測(cè)模塊中導(dǎo)入對(duì)應(yīng)的標(biāo)類(lèi)信息,將標(biāo)類(lèi)信息與讀取的數(shù)據(jù)集進(jìn)行匹配,并在數(shù)據(jù)庫(kù)中寫(xiě)入檢測(cè)信息。若入侵?jǐn)?shù)據(jù)被匹配,就將信息傳遞給報(bào)警模塊并啟動(dòng)處理程序。基于PSO-FCM計(jì)算機(jī)網(wǎng)絡(luò)入侵檢測(cè)算法的具體流程,如圖1所示。
該算法流程主要分為訓(xùn)練、標(biāo)類(lèi)以及檢測(cè)階段,首先聚類(lèi)訓(xùn)練數(shù)據(jù)集,再統(tǒng)計(jì)類(lèi)中的樣本量,并通過(guò)標(biāo)類(lèi)的方法對(duì)類(lèi)中的樣本量進(jìn)行統(tǒng)計(jì),從而識(shí)別異常類(lèi)與正常類(lèi),測(cè)試樣本集中的記錄的最短距離是判斷類(lèi)歸屬的依據(jù),并判斷行為是否為入侵行為,如果是,則輸出報(bào)警信息。
研究采用MATLAB對(duì)PSO-FCM智能算法的計(jì)算機(jī)網(wǎng)絡(luò)入侵檢測(cè)方法進(jìn)行仿真測(cè)試。在測(cè)試中引入檢測(cè)率與誤檢率指標(biāo),其中誤檢率為被誤檢查為攻擊樣本的例數(shù)與所有正常例數(shù)的比值,檢測(cè)率為被檢測(cè)為攻擊樣本的例數(shù)與全部攻擊例數(shù)的比值。通常情況,入侵檢測(cè)算法的指標(biāo)應(yīng)有較低的FR與較高的DR。將實(shí)驗(yàn)分為兩個(gè)部分,一是進(jìn)行實(shí)驗(yàn)對(duì)比操作以對(duì)實(shí)驗(yàn)完整性進(jìn)行提升,其過(guò)程主要是對(duì)最優(yōu)聚類(lèi)數(shù)目c進(jìn)行確定;二是對(duì)比PSO-FCM智能算法與常規(guī)FCM算法、隨機(jī)森林(RF)算法以及Adaboost方法的誤檢率與檢測(cè)率。
圖1 基于PSO-FCM計(jì)算機(jī)網(wǎng)絡(luò)入侵檢測(cè)算法的具體流程
圖2 測(cè)試不同聚類(lèi)c值下的結(jié)果
設(shè)定最大迭代次數(shù)為1000,學(xué)習(xí)因子c1,c2的值均為1.49,慣性權(quán)重因子取值為0.9,模糊指數(shù)m的值為2。首先,探討檢測(cè)結(jié)果受到初始聚類(lèi)數(shù)目影響程度,在實(shí)驗(yàn)中,觀測(cè)并改變參數(shù)c的值,觀察c值在不同取值的情況下,誤檢率與檢測(cè)率的變化趨勢(shì)。若實(shí)驗(yàn)過(guò)程采用樣本集1,結(jié)果見(jiàn)圖2。
由圖2可以看出,當(dāng)檢測(cè)率最高時(shí),聚類(lèi)數(shù)量c值在[35,40]之間;當(dāng)聚類(lèi)數(shù)量c值為40時(shí),對(duì)應(yīng)的誤檢率也隨之上升。因此,認(rèn)為當(dāng)聚類(lèi)數(shù)量c值為35時(shí),能夠獲得最低誤檢率和較高檢測(cè)率。在下文的實(shí)驗(yàn)中,將聚類(lèi)數(shù)量c值設(shè)定為35來(lái)進(jìn)行。運(yùn)行FCM,RF,Adaboost以及PSO-FCM智能算法,采用四種算法分別測(cè)試數(shù)據(jù)樣本集,并對(duì)比運(yùn)行后的檢測(cè)率,結(jié)果見(jiàn)表1。
表1 對(duì)比FCM算法與PSO-FCM智能算法檢測(cè)率
由表1可以看出,基于FCM算法的未知攻擊檢測(cè)率均值低于65%,已知攻擊檢測(cè)率均值低于70%;同時(shí),說(shuō)明了FCM算法與PSO-FCM智能算法在檢測(cè)率上,已知攻擊均優(yōu)于未知攻擊。在計(jì)算機(jī)網(wǎng)絡(luò)入侵檢測(cè)方法上,設(shè)計(jì)的基于PSO-FCM智能算法優(yōu)于傳統(tǒng)FCM、RF、Adaboost算法。由于各個(gè)算法在檢測(cè)與標(biāo)類(lèi)階段具有較好的相似性,僅具有訓(xùn)練數(shù)據(jù)聚類(lèi)效果的差異性。因此,優(yōu)化后的PSO-FCM智能算法具有更好的聚類(lèi)效果。對(duì)于誤檢率的對(duì)比,試驗(yàn)在相同的樣本集上對(duì)比4種算法的誤檢率,結(jié)果見(jiàn)表2。
表2 對(duì)比FCM算法與PSO-FCM智能算法誤檢率
利用基于PSO-FCM智能算法來(lái)實(shí)現(xiàn)信息網(wǎng)絡(luò)的入侵檢測(cè)功能,建立基于PSO-FCM計(jì)算機(jī)網(wǎng)絡(luò)入侵檢測(cè)算法的具體方法流程。結(jié)果表明,在聚類(lèi)數(shù)量c值為35時(shí),四種算法在檢測(cè)率上,已知攻擊均優(yōu)于未知攻擊。優(yōu)化后的PSO-FCM智能算法在已知與未知攻擊的檢測(cè)中均顯著優(yōu)于傳統(tǒng)FCM、RF、Adaboost算法,具有更好的聚類(lèi)效果。優(yōu)化后的PSO-FCM智能算法入侵檢測(cè)誤檢率顯著優(yōu)于其他算法,證實(shí)了算法的有效性。誤檢率與檢測(cè)率相對(duì)于同一算法而言,在不同數(shù)據(jù)集中,檢測(cè)率升高的同時(shí),誤檢率也會(huì)隨之升高,實(shí)驗(yàn)中的誤檢率均在可以接受的范圍內(nèi)。研究也存在一些不足之處,未對(duì)真實(shí)網(wǎng)絡(luò)環(huán)境中的數(shù)據(jù)采集與實(shí)時(shí)檢測(cè)予以充分的考慮,在今后的研究中,會(huì)更關(guān)注模型影響因素的選擇。