陳愛(ài)萍
(湄洲灣職業(yè)技術(shù)學(xué)院,福建 莆田 351111)
物聯(lián)網(wǎng)、云計(jì)算技術(shù)帶動(dòng)整個(gè)社會(huì)步入智能化時(shí)代,近年來(lái),網(wǎng)絡(luò)、移動(dòng)智能已覆蓋了社會(huì)生活的方方面面、各行各業(yè)。技術(shù)的進(jìn)步使人類享受到了便捷的生活,與此同時(shí),各種網(wǎng)絡(luò)安全事件也層出不窮,入侵檢測(cè)作為構(gòu)建網(wǎng)絡(luò)安全壁壘的關(guān)鍵部分,傳統(tǒng)的被動(dòng)型入侵防御技術(shù)如防火墻、虛擬專用網(wǎng)絡(luò)以及數(shù)據(jù)信息加密技術(shù)已疲于應(yīng)對(duì)大數(shù)據(jù)時(shí)代的各種層出不窮的網(wǎng)絡(luò)攻擊[1]。20世紀(jì)90年代,國(guó)外開(kāi)始探索入侵檢測(cè)技術(shù),將未經(jīng)授權(quán)的信息訪問(wèn)和修改導(dǎo)致系統(tǒng)無(wú)法使用的動(dòng)作定義為入侵。同時(shí),美國(guó)學(xué)者Denning將入侵檢測(cè)模型分為主體、對(duì)象、活動(dòng)記錄、活動(dòng)規(guī)則、異常記錄以及審查記錄等六部分,并持續(xù)研究如何建立準(zhǔn)確的入侵檢測(cè)模型[2]。關(guān)于入侵檢測(cè)算法,謝修娟等人提出運(yùn)用模糊集理論并結(jié)合數(shù)據(jù)關(guān)聯(lián)規(guī)則用于分類識(shí)別入侵威脅,雖然能夠做到主動(dòng)防御,但是在出現(xiàn)未知攻擊行為時(shí),準(zhǔn)確率僅在20%左右[3]。韓奕提出了運(yùn)用BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行入侵檢測(cè)識(shí)別,算法的準(zhǔn)確率提升較大,但算法本身的適應(yīng)能力差、容易陷入局部最優(yōu)解的問(wèn)題[4]。楊帆等提出了將粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)進(jìn)行入侵檢測(cè),準(zhǔn)確性及適應(yīng)性均有提升[5],存在的問(wèn)題在于分類效果及穩(wěn)定性不足。
基于此,該文采用粒子群優(yōu)化算法對(duì)極限學(xué)習(xí)機(jī)隱含層神經(jīng)元的內(nèi)連接權(quán)值進(jìn)行優(yōu)化,提出網(wǎng)絡(luò)入侵檢測(cè)的PSO-ELM模型,用以解決隨機(jī)產(chǎn)生ELM隱含層神經(jīng)元內(nèi)連接權(quán)值造成分類檢測(cè)算法穩(wěn)定性不足、分類效果差的問(wèn)題。將提出的算法應(yīng)用于CUP99數(shù)據(jù)集,同時(shí)與傳統(tǒng)極限學(xué)習(xí)機(jī)模型進(jìn)行對(duì)比,驗(yàn)證所提出算法用于網(wǎng)絡(luò)入侵檢測(cè)的性能。
極限學(xué)習(xí)機(jī)屬于線性模型,采用最小二乘法求解隨機(jī)生成的隱含層偏置以及輸入神經(jīng)元權(quán)重值,其求解過(guò)程中無(wú)須循環(huán)迭代。其網(wǎng)絡(luò)結(jié)構(gòu)與典型的神經(jīng)網(wǎng)絡(luò)模型類似由輸入層、輸出層和隱含層三部分組成,具體的結(jié)構(gòu)如圖1所示[6]:
圖1 自組織映射神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
其中n代表輸入層和輸出層神經(jīng)元的個(gè)數(shù),L代表隱含層神經(jīng)元的個(gè)數(shù),aj是指輸入層神經(jīng)元到輸出層神經(jīng)元的權(quán)重,bj是指隱含層神經(jīng)元偏置,使用如(1)所示公式向量矩陣代表輸入和輸出向量:
(1)
對(duì)于指定的N個(gè)輸入樣本數(shù)據(jù)(xi,ti)的向量表達(dá)式如(2)~(3)所示:
X=(x1,x2,…,xN)T
(2)
ti=(ti1,ti2,…,tiN)T
(3)
對(duì)應(yīng)的極限學(xué)習(xí)機(jī)模型使用公式(4)表示:
(4)
公式(4)中,aj代表極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)輸入層神經(jīng)元與第i個(gè)隱含層神經(jīng)元的連接權(quán)重值,βj是指隱含層神經(jīng)元到輸出層神經(jīng)元的輸出權(quán)重向量值,bj是指隱含層神經(jīng)元偏置。
使用損失函數(shù)對(duì)公式(4)進(jìn)行簡(jiǎn)化,并求網(wǎng)絡(luò)輸出最小誤差值,結(jié)果如公式(5)所示
(5)
公式(5)中,H代表極限學(xué)習(xí)機(jī)的輸入矩陣,β用于指代輸出權(quán)重矩陣,T用于表示樣本的目標(biāo)輸出矩陣,三者的具體表示如(6)~(7)所示:
(6)
(7)
(8)
其中H+為H的廣義逆矩陣。
粒子群優(yōu)化算法起源于動(dòng)物的群體活動(dòng)行為,屬于群體智能算法的一種,其原理是讓群體中單個(gè)粒子化作公式的解,結(jié)合整體的搜索空間進(jìn)行反復(fù)迭代來(lái)挖掘問(wèn)題的最優(yōu)答案[8]。該算法由于其求得最優(yōu)解的收斂速度快而被廣泛用于各種參數(shù)求解。
設(shè)置粒子群算法中的整體粒子數(shù)量為s,其占用的搜索空間為D,針對(duì)種群中的第n個(gè)粒子坐標(biāo)、行進(jìn)速度、歷史最優(yōu)位置以及群體歷史最優(yōu)位置如公式(9)~(12)所示
xn=(xn1,xn2,…,xnD)
(9)
vn=(vn1,vn2,…,vnD)
(10)
Pn=(Pn1,Pn2,…,PnD)
(11)
Pg=(Pg1,Pg2,…,Pgn)
(12)
經(jīng)過(guò)公式(9)~(12)初始化粒子群后,循環(huán)迭代得到第i代的粒子群在維度空間e中的最優(yōu)解,求解如公式(13)所示:
vid(k+1)=wvid+c1r1[Pid(k)-xid(k)]
+c2r2[Pgd(k)-xid(k)]
(13)
公式(13)中的w代表粒子運(yùn)動(dòng)慣性的權(quán)重值,其值在0到1之間,c1,c2是指粒子的運(yùn)動(dòng)變化參數(shù),r1和r2是值在0與1之間的糾偏參數(shù)。
粒子群優(yōu)化算法最優(yōu)解求解過(guò)程如圖2所示:
圖2 粒子群優(yōu)化算法最優(yōu)解求解過(guò)程
圖中的第i個(gè)粒子所對(duì)應(yīng)的位置變化使用公式(14),最佳位置計(jì)算公式如(15)所示:
xi(k+1)=xi(k)+vi(k+1)
(14)
pi(k+1)={pi(k),iff(xi(k+1))≥f(pi(k))
xi(k+1)otherwise
(15)
粒子初始化得到當(dāng)前的運(yùn)動(dòng)速度以及加速度權(quán)重值后,結(jié)合該值和自身位置計(jì)算得到當(dāng)前坐標(biāo)與最優(yōu)位置間的歐幾里得距離,最終與其他粒子完成位置互換,獲得該粒子在群體中的最優(yōu)位置得到最優(yōu)解。
為了解決由于極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)中的權(quán)值與閾值受隨機(jī)生成算法影響分類準(zhǔn)確率與性能的問(wèn)題,該文將粒子群尋優(yōu)算法應(yīng)用于極限學(xué)習(xí)機(jī)中,獲得最優(yōu)的閾值與權(quán)重。在極限學(xué)習(xí)機(jī)初始化階段,首先使用隨機(jī)函數(shù)生成含有2N個(gè)隱含神經(jīng)元的網(wǎng)絡(luò)結(jié)構(gòu)(Ψ11(x),…,Ψ1n(x)),進(jìn)一步根據(jù)計(jì)算輸出與實(shí)際輸出二者之間的差值,獲取差值最小的網(wǎng)絡(luò)作為初始網(wǎng)絡(luò)。其次執(zhí)行循環(huán)增加隱含層的神經(jīng)元個(gè)數(shù),仍然選擇與實(shí)際誤差最小的網(wǎng)絡(luò)結(jié)構(gòu),然后將該網(wǎng)絡(luò)結(jié)構(gòu)與上一輪的最小誤差網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行比較,選取較小值。應(yīng)用粒子群尋優(yōu)算法獲得2N個(gè)初始網(wǎng)絡(luò)參數(shù)的最優(yōu)參數(shù),并獲得最佳隱含層神經(jīng)元個(gè)數(shù)。詳細(xì)的原理如下:
對(duì)于給定的樣本集合{(xi,ti)|xi∈Rn,ti∈Rm,i=1,2,…,N0}:
Step1:算法初始化。首先設(shè)置輸出層神經(jīng)元m=1時(shí)對(duì)應(yīng)初始化隱含層神經(jīng)元結(jié)構(gòu)及其對(duì)應(yīng)結(jié)構(gòu)的參數(shù),(a11,b11)∈Rd×R,(a12,B12)∈Rd×R,…,(a1n,b1n)∈Rd×R。
Step2:根據(jù)公式(8)計(jì)算隱含層到輸出層之間的神經(jīng)元連接閾值,獲得輸出矩陣(16):
Hi=(G(a1i,b1i,x1),G(a1i,b1i,x2),…,
G(a1i,b1i,xN0)T)i=1,2,…n
(16)
Step3:計(jì)算輸入向量與隱含層的輸入權(quán)重,β(i)=H+T,同時(shí)計(jì)算實(shí)際輸出與計(jì)算輸出的誤差,并獲取最小誤差參數(shù)i,對(duì)應(yīng)的m=1時(shí)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如公式(17)。
Ei=min‖Ψ1i-T0‖
(17)
Step4:判斷當(dāng)前節(jié)點(diǎn)數(shù)L小于最大隱含層節(jié)點(diǎn)數(shù),且誤差小于期望誤差時(shí),增加M的值并隨機(jī)選出參數(shù)生成臨時(shí)網(wǎng)絡(luò)Ψm,如公式(18)、(19),計(jì)算實(shí)際輸出和誤差值。
(18)
(19)
算法執(zhí)行的流程如圖3所示:
圖3 算法流程圖
該文實(shí)驗(yàn)選擇的數(shù)據(jù)集為入侵檢測(cè)系統(tǒng)常用的權(quán)威數(shù)據(jù)集CUP99網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)集,其內(nèi)含有約50萬(wàn)條記錄,每條記錄具有41個(gè)典型固化特征以及1個(gè)分類標(biāo)記字段,涵蓋了目前常見(jiàn)的39種攻擊類型,其中有拒絕服務(wù)攻擊、非授權(quán)遠(yuǎn)程訪問(wèn)、權(quán)限篡改、非法掃描等常見(jiàn)的攻擊類型。另外,由于該數(shù)據(jù)的每條記錄所含有的典型特征會(huì)影響檢測(cè)算法的執(zhí)行效率,個(gè)別時(shí)候會(huì)影響結(jié)果的準(zhǔn)確性,因此需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理完成特征選擇,去除重復(fù)屬性、異常值等來(lái)提高數(shù)據(jù)處理速度,預(yù)處理主要采用以下公式完成。
采用公式(20)、(21)計(jì)算41個(gè)特征向量的平均向量值、平均方差,在此基礎(chǔ)上進(jìn)行特征標(biāo)準(zhǔn)化:
(20)
(21)
xij代表屬性,N是總的數(shù)據(jù)記錄數(shù),標(biāo)準(zhǔn)化后的屬性使用如下公式標(biāo)識(shí):
(22)
該文首先對(duì)不同種群規(guī)劃的粒子群算法的收斂性方面進(jìn)行測(cè)試,經(jīng)典的基于PSO的神經(jīng)網(wǎng)絡(luò)算法與該文提出的PSO-EML算法進(jìn)行對(duì)比實(shí)驗(yàn),在此基礎(chǔ)上通過(guò)引入PSO算法,優(yōu)化ELM算法的神經(jīng)元個(gè)數(shù),初始化PSO算法的種群規(guī)模為20、30、50,對(duì)應(yīng)的迭代次數(shù)選擇500,隨著種群規(guī)模的變化,檢測(cè)率及誤檢率如表1所示:
表1 PSO算法與POS-ELM算法準(zhǔn)確度對(duì)比
表1的數(shù)據(jù)顯示,該文提出的PSO-ELM算法明顯提升了檢測(cè)率,同時(shí),隨著種群數(shù)量的變少,目標(biāo)函數(shù)的最小值在增加,算法的收斂速度明顯加快,且種群規(guī)模的變化對(duì)該文提出的算法的檢測(cè)率影響不大。
同時(shí),為了驗(yàn)證算法的精度,該文采用了20次8組的交叉實(shí)驗(yàn),實(shí)驗(yàn)過(guò)程中選擇1000組數(shù)據(jù)按照4:1的比率進(jìn)行訓(xùn)練樣本與測(cè)試樣本的分組,計(jì)算20次實(shí)驗(yàn)的平均值,誤差走向如圖5所示:
圖5 ELM與POS-ELM算法誤差情況對(duì)比圖
分組實(shí)驗(yàn)進(jìn)行POS-ELM算法的運(yùn)行時(shí)間對(duì)比如表2所示:
表2 ELM算法與POS-ELM算法性能對(duì)比
對(duì)比表2的性能結(jié)果可以發(fā)現(xiàn),由于POS算法引入后,適應(yīng)度的均方差減小,入侵檢測(cè)的穩(wěn)定性增加明顯,但是性能略有下降。
為了解決被動(dòng)型入侵防御技術(shù)應(yīng)對(duì)大數(shù)據(jù)時(shí)代在防御效率低、準(zhǔn)確性差等問(wèn)題,將入侵檢測(cè)技術(shù)與粒子群算法以及極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)模型相結(jié)合,使用粒子群優(yōu)化算法獲得極限學(xué)習(xí)機(jī)隱含層神經(jīng)元的內(nèi)連接權(quán)值最優(yōu)解,有效地解決了隨機(jī)產(chǎn)生權(quán)值造成的分類檢測(cè)穩(wěn)定性差、分類效果不理想的問(wèn)題。經(jīng)過(guò)比對(duì)實(shí)驗(yàn)發(fā)現(xiàn),該文提出的PSO-ELM算法其入侵檢測(cè)的平均識(shí)別準(zhǔn)確率高達(dá)98%以上,且收斂速度快、穩(wěn)定性較好,明顯優(yōu)于ELM 神經(jīng)網(wǎng)絡(luò)模型。