王振東 劉堯迪 楊書新 王俊嶺 李大海
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)趨于復(fù)雜,由此發(fā)生網(wǎng)絡(luò)入侵的風(fēng)險也越來越大,如何辨識各種網(wǎng)絡(luò)入侵成為人們高度關(guān)注的問題.入侵檢測(Intrusion detection,ID)技術(shù)作為一種能夠動態(tài)監(jiān)控、預(yù)防和抵御入侵行為的新型安全機制,已經(jīng)逐漸發(fā)展成為保障網(wǎng)絡(luò)系統(tǒng)安全的關(guān)鍵技術(shù).然而網(wǎng)絡(luò)規(guī)模、網(wǎng)絡(luò)速率以及入侵類型的持續(xù)增大、增多,使得入侵檢測技術(shù)面臨越來越多的挑戰(zhàn)[1].因此,如何設(shè)計面向當前及未來網(wǎng)絡(luò)環(huán)境的新型入侵檢測機制,提高入侵檢測的檢測速度、降低漏報率和誤報率,提升檢測性能成為相關(guān)領(lǐng)域研究人員關(guān)注的核心問題.
在已有研究中,通常認為數(shù)據(jù)挖掘、機器學(xué)習(xí)以及神經(jīng)網(wǎng)絡(luò)在內(nèi)的多種方法是有效的入侵檢測方法[2?5].但大部分數(shù)據(jù)挖掘算法對噪聲較為敏感,若數(shù)據(jù)集包含噪聲數(shù)據(jù)較多,則算法極易出現(xiàn)過擬合現(xiàn)象;機器學(xué)習(xí)算法因其自身比較復(fù)雜,數(shù)據(jù)集過大會導(dǎo)致模型訓(xùn)練時間過長,計算成本較高;神經(jīng)網(wǎng)絡(luò)通過模擬人類大腦的思維方式來處理信息,具有自組織、自學(xué)習(xí)和自適應(yīng)的特點,將其應(yīng)用于入侵檢測可以很好地解決數(shù)據(jù)挖掘和機器學(xué)習(xí)存在的問題,提升檢測性能,使得基于神經(jīng)網(wǎng)絡(luò)的入侵檢測成為研究熱點[6].傳統(tǒng)神經(jīng)網(wǎng)絡(luò)如BP (Back propagation)神經(jīng)網(wǎng)絡(luò)在諸多文獻中已應(yīng)用于網(wǎng)絡(luò)入侵檢測,并取得一定效果[7?8],但需多次迭代確定網(wǎng)絡(luò)輸出權(quán)值,嚴重影響網(wǎng)絡(luò)的學(xué)習(xí)能力.
作為一種新型神經(jīng)網(wǎng)絡(luò),極限學(xué)習(xí)機(Extreme learning machine,ELM)[9]的出現(xiàn)引起了研究人員廣泛的關(guān)注.ELM 是一種單隱層前饋型神經(jīng)網(wǎng)絡(luò),最大特點是輸入層和隱含層之間的連接權(quán)值,以及隱含層節(jié)點的閾值只需通過最小二乘法計算一次即可得到最優(yōu)初始權(quán)值和閾值,而不需通過反向傳播算法進行更新.因易于實現(xiàn)、訓(xùn)練速度快,ELM 在數(shù)據(jù)分類[10?11]、故障識別[12]、能耗預(yù)測[13]、入侵檢測[14]等許多領(lǐng)域取得了成功.但ELM 并未充分考慮結(jié)構(gòu)化風(fēng)險可能導(dǎo)致的過擬合問題.Deng等[15]提出了正則化極限學(xué)習(xí)機(Regularized extreme learning machine,RELM)的概念,并將其應(yīng)用于SinC 函數(shù)的近似、現(xiàn)實世界回歸以及UCI 數(shù)據(jù)集的分類.結(jié)果表明,RELM 不僅能夠保留ELM 的所有優(yōu)點,對離群點還具有一定的抗干擾能力,能夠獲得極小的訓(xùn)練誤差,模型的泛化性能也得到顯著提高.
鑒于RELM 在分類問題中表現(xiàn)出的優(yōu)越性能,本文將RELM 引入到入侵檢測領(lǐng)域.但直接使用RELM 會存在如下問題: 1) RELM 的輸出權(quán)值矩陣通過逆矩陣求得,逆矩陣在求解過程中接近奇異值,會降低算法的求解精度,影響分類準確率;2) 隨機初始化權(quán)值矩陣以及隱含層閾值,會導(dǎo)致原始數(shù)據(jù)隨機映射到RELM 特征空間時出現(xiàn)難以預(yù)測的非線性分布,并對算法的分類準確率造成影響.對此,本文嘗試使用天牛群優(yōu)化(Beetle swarm optimization,BSO)算法優(yōu)化RELM 的初始權(quán)值矩陣,并將LU 分解(LU decomposition)引入求解RELM的輸出權(quán)值矩陣,提出BSO-IRELM 算法,將其應(yīng)用于入侵檢測.實驗結(jié)果表明,BSO-IRELM 算法具有優(yōu)秀的數(shù)據(jù)分類能力,能夠有效實現(xiàn)Normal、Probe、DoS、R2L、U2R 等各類攻擊的檢測.
RELM 隨機初始化輸入層和隱含層之間的權(quán)值以及隱含層節(jié)點的閾值,通過特征映射使數(shù)據(jù)分布呈現(xiàn)某種非線性的幾何結(jié)構(gòu),影響分類性能.而使用逆矩陣求解輸出權(quán)值矩陣,會導(dǎo)致求解過程中出現(xiàn)奇異矩陣的情形.對此,使用具有良好尋優(yōu)能力的BSO 算法對RELM 的初始權(quán)值和閾值進行初始化,并引入LU 分解求解RELM 的輸出權(quán)值矩陣,規(guī)避求解過程的奇異矩陣.
由傳統(tǒng)統(tǒng)計學(xué)原理可知,實際風(fēng)險包括經(jīng)驗風(fēng)險和結(jié)構(gòu)風(fēng)險兩種[16].一種具有好的泛化能力的模型應(yīng)該能夠平衡這兩種風(fēng)險.因此增加正則項以調(diào)節(jié)系數(shù)β,提高模型的泛化能力.RELM 的目標函數(shù)為
其中,ei為訓(xùn)練誤差,∥β∥2和∥ei∥2分別為結(jié)構(gòu)風(fēng)險和經(jīng)驗風(fēng)險,λ為懲罰因子.
根據(jù)式(1)和式(2)建立拉格朗日方程,得
式中,αi ∈R,i=1,···,N為拉格朗日算子.對式(3)的變量 (α,e,β) 分別求偏導(dǎo)并令其等于零,得
對式(4)進行最小二乘法計算,得到輸出權(quán)值矩陣
其中,I為單位矩陣.
式(5)計算輸出權(quán)值矩陣β涉及到矩陣求逆的運算,若輸入樣本過大,會導(dǎo)致矩陣求逆復(fù)雜度增大,從而降低RELM 的訓(xùn)練效率.為降低RELM的計算復(fù)雜度,本文提出一種基于LU 分解的IRELM算法,改變RELM 輸出權(quán)值矩陣的求解方法,降低算法復(fù)雜度,提高入侵檢測分類精確度.
由式(5)得
令A(yù)=(I/λ+HTH),b=HTT,則式(6)轉(zhuǎn)化為
LU 分解求解RELM 輸出權(quán)值矩陣的具體步驟如下:
矩陣A可進行唯一的LU 分解,設(shè)
由矩陣乘法并令兩邊矩陣的 (i,j) 元素相等,得上下三角矩陣中的元素為
當矩陣A進行LU 分解后,解線性方程組Aβ=b等價于求解下面兩個三角形方程組
從上面的求解過程可以看出,輸出權(quán)值矩陣不需使用式(5) 逆矩陣的方法來計算,只需通過式(8)~(10)的迭代遞推公式進行簡單的加減運算即可求出RELM 的輸出權(quán)值,能夠大大降低算法的復(fù)雜度.同時,使用LU 分解求解輸出權(quán)值矩陣可以很好地避免計算過程出現(xiàn)奇異矩陣的情況,提高算法的分類準確率.
天牛須搜索算法(Beetle antennae search,BAS)是Jiang等[17?18]在2017 年模擬天牛覓食原理時提出的啟發(fā)式算法,用于解決壓力容器和Himmelblau 等非線性優(yōu)化問題.BAS 算法具有求解速度快和精度高的特點,已成功應(yīng)用于信號定位[19]和數(shù)據(jù)分類[20]等領(lǐng)域.但BAS 算法在高維空間搜索時只能收斂到局部極值,且在多維函數(shù)優(yōu)化中,只依賴于單個天牛個體進行搜索會增加算法陷入局部最優(yōu)的可能性.對此,本文提出了一種帶萊維飛行群體學(xué)習(xí)策略與動態(tài)變異策略的混沌天牛群算法.將天牛個體搜索擴展為群體搜索,并使用Tent 映射反向?qū)W習(xí)初始化種群,促使初始群體信息分布均勻,提高搜索效率.此外,利用萊維飛行群體學(xué)習(xí)策略,使得天牛個體既能學(xué)習(xí)自身經(jīng)驗又可以學(xué)習(xí)群體經(jīng)驗,讓各天牛個體有目的和指導(dǎo)性地移動,提高算法的收斂性能.最后引入動態(tài)變異策略,增加迭代后期種群多樣性,避免算法陷入局部最優(yōu).
1.2.1 Tent 映射反向?qū)W習(xí)初始化種群
研究表明[21],在群智能搜索中,算法的收斂性能會受到初始種群的影響.種群的數(shù)量越多、分布越均勻,算法越能夠在更短的時間內(nèi)收斂到最優(yōu)解;反之,則會影響算法的收斂性能.使用混沌映射初始化種群具有隨機性、遍歷性以及有界性的特點,能夠有效提高算法的搜索效率.而Tent 映射產(chǎn)生初始序列比Logistic 映射產(chǎn)生初始序列更加均勻,所以本文采用Tent 映射對天牛群體初始化,并使用反向?qū)W習(xí)策略優(yōu)化初始種群,通過反向個體與現(xiàn)有個體一起競爭,讓更優(yōu)秀的個體被選進下一代學(xué)習(xí),可以擴大種群的搜索范圍,減少無效搜索,從而提高算法的收斂速度.Tent 映射的數(shù)學(xué)表達式為
綜上所述,采用Tent 映射反向?qū)W習(xí)初始化種群的具體步驟如下:
步驟 1.在搜索空間中使用Tent 映射產(chǎn)生N個天牛種群的位置xij,i=1,2,···,D;j=1,2,···,N作為初始種群OB;
步驟 2.根據(jù)反向解的定義,產(chǎn)生初始種群OB中的每個天牛群體xij的反向群體作為反向種群FB;
步驟 3.合并種群OB 和FB,使用升序?qū)⑦@2N個天牛群體的適應(yīng)度值排序,選取其中適應(yīng)度值前N的天牛群體作為初始種群.
1.2.2 萊維飛行的群體學(xué)習(xí)策略
標準BAS 算法中,天牛個體的搜索范圍有限,搜索位置從全局最優(yōu)向局部最優(yōu)轉(zhuǎn)移比較困難.雖然將個體搜索改為群體搜索能夠擴大種群的搜索范圍,但由于天牛個體之間沒有信息交流和反饋,會影響算法的收斂精度.根據(jù)粒子群算法可知,群體中個體在移動過程中,需不斷學(xué)習(xí)歷史群體經(jīng)驗,即個體最優(yōu)應(yīng)具有向歷史最優(yōu)移動的趨勢,這種移動趨勢能夠?qū)λ惴ㄊ諗克俣鹊奶嵘鸬經(jīng)Q定性作用.為此,在粒子群算法框架下,引入具有萊維飛行的指導(dǎo)性學(xué)習(xí)策略.
萊維分布是20 世紀30 年代法國數(shù)學(xué)家萊維(Levy)提出的一種概率分布,Mandelbrotb 對其進行了詳細描述[22].萊維飛行作為一種服從萊維分布的隨機搜索方法,可以增加種群的多樣性,擴大搜索范圍,避免算法陷入局部最優(yōu),可有效增強算法的尋優(yōu)能力.其中萊維分布滿足
萊維飛行模型較為復(fù)雜,目前使用Mantegna算法進行模擬,數(shù)學(xué)表達式如下:
步長t的計算公式為
其中,μ,v服從正態(tài)分布
其中,Γ 是標準的伽馬分布,為節(jié)約計算時間取θ=1.5.
圖1 是萊維飛行的軌跡示意圖.由于萊維飛行是二階矩發(fā)散的,所以其在運動過程中的跳躍性很大.
圖1 萊維飛行軌跡示意圖Fig.1 Levy flight path diagram
指導(dǎo)性學(xué)習(xí)策略中天牛朝向的公式通過萊維飛行策略進行更新:
最終個體位置更新式為
其中,d(t) 表示第t代天牛的朝向,X(t) 表示第t代天牛的位置,gbest(t) 表示第t代天牛的個體極值,zbest表示迄今為止的全局極值,ω為慣性權(quán)重,C1,C2為學(xué)習(xí)因子,Levy(θ) 為 萊維隨機數(shù).f(Xl(t))表示第t代天牛左須的適應(yīng)度函數(shù)值,f(Xr(t)) 表示第t代天牛右須的適應(yīng)度函數(shù)值,step為天牛步長,k1,k2為比例系數(shù),s ign 為符號函數(shù).天牛朝向公式中,第2 部分是自學(xué)習(xí)部分,表示天牛個體對自身歷史的記憶,有向自身最優(yōu)位置移動的趨勢;第3部分為社會學(xué)習(xí)部分,表示天牛個體之間的學(xué)習(xí)以及群體的歷史經(jīng)驗,有向群體最優(yōu)位置移動的趨勢.
1.2.3 動態(tài)變異策略
天牛群算法在迭代后期種群的多樣性會越來越低,使算法的搜索能力下降.為避免迭代后期出現(xiàn)早熟現(xiàn)象,引入動態(tài)變異策略,增加天牛種群在迭代后期的多樣性,提高算法的收斂精度.目前,相關(guān)學(xué)者提出了多種變異算法,典型的變異算法有高斯變異(Gaussian mutation)[23]和柯西變異(Cauchy mutation)[24].柯西算子相比于高斯算子具有較長的兩翼,可以產(chǎn)生大范圍的隨機數(shù),使算法有更大的機會跳出局部最優(yōu),同時,當峰值較低時柯西變異只需要花費更少的時間來搜索附近區(qū)域.柯西變異概率分布如圖2 所示.
圖2 柯西變異概率分布圖Fig.2 Cauchy variation probability distribution map
因此,選擇柯西變異對天牛群體進行二次尋優(yōu),對X進行變異操作,即
其中,η是變異權(quán)重,其值隨著迭代次數(shù)的增加而減小,T為最大迭代次數(shù),λ=10 為常數(shù),C(0,1)是比例參數(shù)為1 的柯西算子產(chǎn)生的一個隨機數(shù).
1.2.4 天牛群算法步驟
天牛群算法的步驟如下,具體流程圖如圖3 所示.
圖3 天牛群算法流程圖Fig.3 Flow chart of BSO algorithm
步驟 1.初始化天牛群算法參數(shù): 設(shè)置天牛規(guī)模、迭代步長、最大迭代次數(shù),使用Tent 映射反向?qū)W習(xí)策略初始化天牛群體,初始化天牛朝向.
步驟 2.計算群體中天牛個體相應(yīng)的適應(yīng)度函數(shù)值,根據(jù)適應(yīng)度函數(shù)值確定種群的個體極值和全局極值.
步驟 3.利用式(12)和式(13) 更新天牛個體的朝向以及位置,對天牛種群進行越界處理.
步驟 4.利用式(14)對天牛種群進行變異操作.
步驟 5.判斷算法是否滿足迭代終止條件,若滿足則輸出全局最優(yōu)解及其對應(yīng)的位置,否則返回步驟2.
1.2.5 天牛群算法偽代碼
天牛群算法偽代碼如下所示:
1.2.6 天牛群算法性能分析
為驗證BSO 算法的性能,選取F(x):minf(x)=單峰函數(shù)對算法進行函數(shù)尋優(yōu)以及收斂性測試,F(x) 搜索范圍設(shè)置為[ ?10,10],并且與GA(Genetic algorithm)、PSO (Particle swam optimization)、DE (Differemtial evolution)和BAS 算法進行對比,算法迭代次數(shù)設(shè)置為5000 次并運行20 次.圖4 描述了5 種算法在函數(shù)F(x) 上的測試結(jié)果.由圖4 可知,相比于GA、PSO、DE、BAS 四種優(yōu)化算法,BSO 的收斂速度和收斂精度都有明顯優(yōu)勢.一方面引入萊維飛行的群體學(xué)習(xí)策略,平衡算法的全局搜索和局部搜索能力,加快算法的收斂;另一方面加入動態(tài)變異策略,幫助算法跳出局部最優(yōu),使尋優(yōu)速率加快.故相比于傳統(tǒng)算法,BSO 算法的性能具有明顯的提升.
圖4 算法測試結(jié)果圖Fig.4 Test result graph of algorithm
基于上述分析和推導(dǎo),將LU 分解和BSO 算法引入RELM 算法,并建立基于BSO-IRELM 的入侵檢測模型.
適應(yīng)度函數(shù)是判斷個體適應(yīng)環(huán)境能力大小的標準.因此,適應(yīng)度函數(shù)的選擇直接影響算法的收斂精度以及能否找到最優(yōu)解.文獻[25]將入侵檢測準確率、誤報率以及特征數(shù)的比例權(quán)重作為適應(yīng)度函數(shù),既增加了計算量又會因計數(shù)不當導(dǎo)致收斂精度較低;文獻[26]將群智能算法函數(shù)值的分段函數(shù)作為適應(yīng)度函數(shù),需通過函數(shù)值確定適應(yīng)度函數(shù)表達式,增加了計算復(fù)雜度.
將入侵檢測誤差和函數(shù)作為適應(yīng)度函數(shù),預(yù)測結(jié)果可由神經(jīng)網(wǎng)絡(luò)直接得到,計算方便,無需反復(fù)確定適應(yīng)度函數(shù)表達式,也不會因計數(shù)不當造成誤差.其數(shù)學(xué)表達式為
其中,yk表示網(wǎng)絡(luò)的實際輸出,表示網(wǎng)絡(luò)的訓(xùn)練輸出,M表示輸入神經(jīng)元的個數(shù).
使用BSO 優(yōu)化IRELM 的基本思路是求出適應(yīng)度函數(shù)最好的一組天牛位置,在迭代結(jié)束時把該位置作為IRELM 的最優(yōu)初始權(quán)值和閾值建立入侵檢測模型,模型描述如圖5 所示.
圖5 BSO-IRELM 算法入侵檢測框架圖Fig.5 BSO-IRELM Algorithm intrusion detection framework
入侵檢測框架的步驟如下:
步驟 1.對原始的NSL-KDD 數(shù)據(jù)集進行預(yù)處理.預(yù)處理過程包括2 個子步驟:
步驟 1.1.高維數(shù)據(jù)特征映射.本文使用高維特征映射,將離散型特征轉(zhuǎn)化為數(shù)字型特征.
步驟 1.2.數(shù)據(jù)歸一化.由于同種屬性的數(shù)據(jù)之間差異較大,影響神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,因此將數(shù)據(jù)歸一化為[?1,1]的實數(shù).
步驟 2.標準數(shù)據(jù)集劃分.將標準數(shù)據(jù)集劃分為訓(xùn)練集和測試集.
步驟 3.模型訓(xùn)練.對IRLEM 進行訓(xùn)練和參數(shù)調(diào)優(yōu).本過程包括4 個子步驟:
步驟 3.1.初始化IRELM 模型參數(shù).innum個輸入層節(jié)點、midnum個隱藏層節(jié)點和outnum個輸出層節(jié)點以及網(wǎng)絡(luò)初始權(quán)值和閾值.
步驟 3.2.初始化天牛群體.天牛種群大小N.所求問題維度D=(innum+1)×midnum(midnum+1)×outnum和最大迭代次數(shù)T及天牛種群位置xi.
步驟 3.3.根據(jù)訓(xùn)練樣本和適應(yīng)度函數(shù)計算天牛群適應(yīng)度函數(shù)值,對適應(yīng)度函數(shù)值升序排列并尋找天牛群的最優(yōu)位置和最優(yōu)適應(yīng)度函數(shù)值.若滿足迭代終止條件,則迭代結(jié)束轉(zhuǎn)到步驟3.4;否則轉(zhuǎn)到步驟3.3.
步驟 3.4.輸出BSO 全局最優(yōu)位置對應(yīng)的權(quán)值和閾值,即IRELM 的最優(yōu)初始權(quán)值和閾值.
步驟 4.將測試數(shù)據(jù)輸入到訓(xùn)練好的BSOIRELM 入侵檢測模型中,進而得到每條數(shù)據(jù)的分類結(jié)果.
BSO-IRELM 偽代碼如下所示:
2.4.1 LU 分解復(fù)雜度
線性方程組的求解方法較多,直接使用矩陣求逆計算不僅對硬件資源的占有量有影響,還影響權(quán)值的更新速度.因此,對于硬件平臺來說,由于物理資源有限,需要找到一種低能耗且快速的求解方法.矩陣求逆的計算步驟繁多,運算量大,時間復(fù)雜度高,所以在使用硬件實現(xiàn)時考慮采用LU 分解法.為進一步說明LU 分解的優(yōu)勢,對矩陣求逆和LU 分解作如下分析: 對于n階的方陣,矩陣求逆的算法復(fù)雜度為 O (n3),LU 分解的算法復(fù)雜度為O(2/3×n3),雖然二者數(shù)量級相同,但因系數(shù)存在差異,因此在運行時間上存在顯著差異.為更加直觀地說明兩種算法的復(fù)雜度,對一個10 階矩陣進行實驗,結(jié)果表明,矩陣求逆的運行時間為0.4491 s,LU 分解的運行時間為0.0479 s,運行時間大大縮短.本文后續(xù)使用數(shù)據(jù)集的維度遠遠大于10 階,故使用LU 分解的優(yōu)勢將更加明顯.
2.4.2 BSO 算法復(fù)雜度
假設(shè)算法最大迭代次數(shù)為tmax,維度為D.在BAS 算法中,初始化天牛個體,其算法復(fù)雜度為O(D).在每一次迭代中需要完成以下步驟,先計算天牛個體的適應(yīng)度值并找出當前最優(yōu)位置,其時間復(fù)雜度為 O (1),之后天牛個體更新位置,其時間復(fù)雜度為 O (1),故一次迭代的算法復(fù)雜度為O(1+1).總的時間復(fù)雜度為 O (tmax(1+1)+D),即為O(tmax).相比于BAS,BSO 使用群體,假設(shè)種群規(guī)模為N,初始化種群,其算法復(fù)雜度為 O (ND).在每一次迭代中需要完成以下步驟,先計算天牛群的適應(yīng)度值并找出種群中個體最優(yōu)和全局最優(yōu),其時間復(fù)雜度為 O (N),之后天牛群位置更新,其時間復(fù)雜度為 O (N),故一次迭代的算法復(fù)雜度為 O (N+N).總的時間復(fù)雜度為 O (tmax(N+N)+ND),即為O(tmaxN).故BSO 總的時間復(fù)雜度大于BAS,但BSO 克服了BAS 極易陷入局部最優(yōu)以及搜索范圍有限的缺點,提高了BSO 的收斂精度.
2.4.3 BSO-IRELM 算法復(fù)雜度
假設(shè)算法最大迭代次數(shù)為tmax,種群規(guī)模為N,所求問題維度D=(innum+1)×midnum+(midnum+1)×outnum.在BSO-RELM 模型中,BSO 使用Tent 映射反向?qū)W習(xí)初始化種群,其算法復(fù)雜度為O(ND).計算種群的適應(yīng)度函數(shù)值并找出種群中個體最優(yōu)和全局最優(yōu),其時間復(fù)雜度為 O (N).在每一次迭代中需要完成以下步驟,根據(jù)訓(xùn)練集通過矩陣求逆計算天牛群的適應(yīng)度函數(shù)值,其時間復(fù)雜度為O(midnum3×N),之后找出種群的個體最優(yōu)和全局最優(yōu),并對天牛群位置更新,其時間復(fù)雜度為O(N),故一次迭代的算法復(fù)雜度為 O (N+midnum3×N).最后,使用測試集對BSO-RELM模型進行性能測試,其時間復(fù)雜度為 O (midnum3).總的時間復(fù)雜度為O(tmax(N+midnum3×N)+ND+N+midnum3).相比于BSO-RELM 模型,BSO-IRELM 中通過LU分解求解天牛群適應(yīng)度函數(shù)值,其時間復(fù)雜度為O(2/3×midnum3×N),總的時間復(fù)雜度為O(tmax(N+2/3×midnum3×N)+ND+N+2/3×midnum3).故BSO-IRELM 的時間復(fù)雜度遠小于BSO-RELM,且其檢測精度遠優(yōu)于BSO-RELM.
模型中參數(shù)設(shè)置如下.
1)群智能算法參數(shù)[27]如表1 所示.
表1 群智能算法參數(shù)Table 1 Swarm intelligence algorithm parameters
2) RELM 神經(jīng)網(wǎng)絡(luò)模型參數(shù)為: 100-50-1,迭代次數(shù)為100.
RELM 模型參數(shù)通過GA-RELM 二分類實驗確定.迭代次數(shù)設(shè)置為100,隱含層單元分別為20,30,40,50,60.實驗結(jié)果表明,包含50 個隱含層單元的模型具有最優(yōu)的檢測準確率.當把隱含層的個數(shù)從50 增加到60 時,入侵檢測的準確率有所下降.保持隱含層單元數(shù)量不變,增加迭代次數(shù),模型的檢測性能也只會由于過度擬合而產(chǎn)生波動.
模型中使用到的數(shù)據(jù)集如下.
1) UCI 數(shù)據(jù)集[28]如表2 所示.
表2 UCI 數(shù)據(jù)集Table 2 UCI dataset
2)入侵檢測數(shù)據(jù)集[29]: NSL-KDD 數(shù)據(jù)集,訓(xùn)練樣本9850 條數(shù)據(jù),測試樣本2000 條數(shù)據(jù).
為了驗證算法的有效性,在UCI 數(shù)據(jù)集上將BSOIRELM與IRELM、GA-IRELM、PSO-IRELM、BSO-RELM 以及傳統(tǒng)RELM 進行對比.
在表3~ 5 中列出了各算法的性能評價指標,并在圖6 中給出了部分算法的預(yù)測結(jié)果.從圖6 可以直觀地看出,BSO-IRELM 算法具有較好的預(yù)測結(jié)果,在Iris 數(shù)據(jù)集中,BSO-IRELM 的真實值和預(yù)測值完全重合,可以實現(xiàn)完美分類;在Wine 數(shù)據(jù)集中,BSO-IRELM 僅存在一個錯誤分類.從表3~5 中可以看出,各算法的性能評價指標均較優(yōu),這與本文估計基本一致.因為兩個數(shù)據(jù)集的大小相當,且是平衡數(shù)據(jù)集,所以檢測結(jié)果較理想.相比于PSO-IRELM 和GA-IRELM,BSO-IRELM 的性能評價指標均有所提高,這充分說明BSO 算法較PSO算法和GA 算法具有更優(yōu)的尋優(yōu)能力.此外,在所有測試條件下,BSO-IRELM 的各項性能也優(yōu)于BSO-RELM、IRELM 和傳統(tǒng)的RELM 算法,這說明了引入LU 分解法以及BSO 算法的必要性,同時也驗證了之前關(guān)于RELM 存在潛在問題的假設(shè).從而驗證了BSO-IRELM 算法具有較優(yōu)的分類性能,因此,進一步將BSO-IRELM 算法應(yīng)用到網(wǎng)絡(luò)入侵檢測中驗證它的可行性.
圖6 部分算法在UCI 數(shù)據(jù)集上的檢測結(jié)果Fig.6 The detection results of part algorithm on UCI dataset
表3 各算法在UCI 數(shù)據(jù)集上的準確率(%)Table 3 Accuracy of each algorithm on UCI dataset (%)
表4 各算法在Iris 數(shù)據(jù)集上的性能評價指標Table 4 Performance evaluation index of each algorithm on Iris dataset
表5 各算法在Wine 數(shù)據(jù)集上的性能評價指標Table 5 Performance evaluation index of each algorithm on Wine dataset
將4 類攻擊合并為Abnormal (非正常),標記為2,正常數(shù)據(jù)(Normal)標記為1,實驗轉(zhuǎn)化為2元分類問題.表6 和表7 給出了各算法的實驗結(jié)果.圖7 和圖8 分別給出了2 元分類混淆矩陣和ROC(Receiver operating characteristic)曲線對比圖.從表中可以看出,BSO-IRELM 在檢測正常數(shù)據(jù)和攻擊類型數(shù)據(jù)方面效果較好.由于2 元分類數(shù)據(jù)集是非平衡數(shù)據(jù)集,2 種數(shù)據(jù)數(shù)量相差較大,所以準確率無法反映非平衡數(shù)據(jù)集的真實情況,故除準確率外,還從精確率、真正率(True positive rate,TPR)、假正率(False positive rate,FPR)、F 值和AUC (Area under curve)對2 元分類進行評價,上述指標的計算方法參照文獻[30].在大多數(shù)測試條件下,BSOIRELM 的性能優(yōu)于BP、LR (Logistics regression)、RBF (Radial basis function)、AB (AdaBoost),可以取得與PSO-IRELM、GA-IRELM 和SVM(Support vector machine)相近的分類性能,總體上優(yōu)于PSO-IRELM、GA-IRELM 和SVM.且性能遠優(yōu)于IRELM 和傳統(tǒng)RELM.特別地,BSOIRELM 的F 值和AUC 均最優(yōu),但在精確率方面,比BP 差2.6477%,在真正率方面,比LR 差1.94814%,而在假正率方面,比PSO-IRELM 差0.3509%.由于測試集是由隨機選取的2000 條數(shù)據(jù)組成,BSOIRELM 中攻擊類型數(shù)據(jù)所占比重較大,故精確率、真正率和假正率略差.混淆矩陣將數(shù)據(jù)集中的記錄按照實際結(jié)果和預(yù)測結(jié)果進行匯總,實現(xiàn)可視化.從圖7 可以看出,BSO-IRELM的分類模型最準確,因為此時一、三象限對應(yīng)位置的數(shù)值最大,而二、四象限對應(yīng)位置的數(shù)值最小,且BP 用于入侵檢測的能力最差,相比于各算法,BP模型將大量攻擊類型數(shù)據(jù)預(yù)測為正常類型,會給網(wǎng)絡(luò)安全帶來很大的威脅.此時BP 神經(jīng)網(wǎng)絡(luò)可能因為訓(xùn)練過程中,權(quán)值收斂到局部極小點導(dǎo)致網(wǎng)絡(luò)訓(xùn)練失敗.ROC 曲線圖是反映真正率和假正率之間關(guān)系的曲線.曲線將整個圖劃分為兩個部分,曲線下部分的面積即為AUC,用來表示預(yù)測準確性,AUC 越高,說明預(yù)測準確率越高.從圖8 可以看出,在各算法中,無論檢測正常數(shù)據(jù)還是攻擊類型數(shù)據(jù),BSO-IRELM 的AUC 均較優(yōu),但相比于RBF 的正常數(shù)據(jù)檢測差0.0359.在大多數(shù)情況下,BP、SVM 的AUC 優(yōu)于IRELM 和傳統(tǒng)RELM,但相比于PSO-IRELM、GA-IRELM以及BSO-IRELM,AUC 均較差.這充分說明,RELM 潛在的參數(shù)問題對于分類性能的影響,突出了引入LU 分解法以及BSO 算法的必要性,驗證了BSO-IRELM 相比于BP 和傳統(tǒng)RELM對于2元分類的入侵檢測具有較好的檢測性能.
圖7 2 元分類混淆矩陣Fig.7 Binary classification confusion matrix
圖8 2 元分類ROC 曲線對比圖Fig.8 Binary classification of ROC curve comparison diagram
表6 各算法的準確率(%)Table 6 Accuracy of each algorithm (%)
表7 各算法的性能評價指標Table 7 Performance evaluation index of each algorithm
Normal、Probe、DoS、R2L、U2R 各為一類,分別記為1,2,3,4,5,實驗變成多分類.在表8~ 13中列出了對比結(jié)果,并在圖9 中給出了多元分類混淆矩陣,在圖10 中給出了多元分類ROC 曲線圖.
圖9 多元分類混淆矩陣Fig.9 Multiple classification confusion matrix
從表8 可以看出,BSO-IRELM 的準確率最高,為88.7%,其他算法,如BP、LR、RBF、AB、SVM、RELM、IRELM、GA-IRELM 和PSO-IRELM 的準確率分別為73.1%,47.2%,81.95%,76.05%,83.15%,62.7%,71.9%,86.35%和86.15%.但由于NSL-KDD 多分類數(shù)據(jù)集仍是非平衡數(shù)據(jù)集,故從精確率、真正率、假正率、F 值和AUC 等方面進一步分析各算法的入侵檢測性能.
表8 不同算法檢測準確率(%)Table 8 Accuracy of different algorithms (%)
從表9 可以看出,對于Normal 類型數(shù)據(jù),BP和LR 的綜合檢測性能最差,真正率僅為3.8647%和3.6723%,較BSO-IRELM 差62.3091% 和62.5042%.大多數(shù)情況下,BSO-IRLEM 的分類性能與SVM、PSO-IRELM 以及GA-IRELM 相近,但較AB、RBF、IRELM 和傳統(tǒng)RELM 性能均有所提升.由于BSO-IRELM 將大量正常數(shù)據(jù)誤判為攻擊類型,因而會導(dǎo)致精確率和假正率略差.
表9 各算法在Normal 上的性能評價指標Table 9 Performance evaluation index of each algorithm on Normal
從表10 可以看出,對于Probe 類型攻擊,BP、AB、IRELM、GA-IRELM、PSO-IRELM 和BSOIRELM 的性能相近,遠優(yōu)于LR、SVM、RBF、RELM 的性能,但總體上BSO-IRELM 的性能最優(yōu).此時,除了LR 和RELM,其余各算法對于Probe類型攻擊均具有較強的識別能力.
表10 各算法在Probe 上的性能評價指標Table 10 Performance evaluation index of each algorithm on Probe
從表11 可以看出,對于DoS 類型攻擊,BSOIRELM 的檢測性能最優(yōu),LR 檢測性能最差,除傳統(tǒng)RELM 和IRELM 的真正率較差,僅為25.0704%和54.0079%,其余各算法的性能評價指標均較優(yōu).由于DoS 的攻擊數(shù)目最多,如果使用聚類大小進行判斷需要單獨處理,否則檢測結(jié)果不理想.但本文判定是根據(jù)入侵數(shù)據(jù)與正常數(shù)據(jù)的差異,所以對于攻擊數(shù)目較多的DoS 攻擊仍具有較好的檢測結(jié)果.
表11 各算法在DoS 上的性能評價指標Table 11 Performance evaluation index of each algorithm on DoS
從表12 可以看出,對于R2L 攻擊類型,在大多數(shù)情況下,BP、RBF、RELM 和IRELM 的性能相近,效果均較差,LR、AB 和SVM 的檢測性能最差,基本上無法正確識別R2L 攻擊類型,而BSOIRELM 的性能較優(yōu),相比于RELM,精確率提高了42.3077%,效果顯著,大大超出預(yù)想.R2L 攻擊總數(shù)很少,而且許多R2L 入侵是偽裝成合法用戶身份進行攻擊,這就使得其特征與正常數(shù)據(jù)包類似,造成R2L 攻擊檢測困難.但BSO-IRELM 相比于BP、LR、AB、SVM 和傳統(tǒng)RELM,很好地學(xué)習(xí)了R2L 的特征,并將其正確分類.
表12 各算法在R2L 上的性能評價指標Table 12 Performance evaluation index of each algorithm on R2L
從表13 可以看出,對于U2R 類型攻擊,SVM、AB、GA-IRELM、PSO-IRELM 和BSO-IRELM 的性能相近,效果較優(yōu),BP、LR、RBF、RELM 和IRELM 的性能相近,效果較差,且BSO-IRELM 相比于BP、LR、RBF、AB、SVM 和傳統(tǒng)RELM,分類性能均有所提高,AUC 分別提高0.0823、0.3940、0.0396、0.0230、0.0124 和0.054.本文對NSL-KDD數(shù)據(jù)集進行去重并隨機產(chǎn)生測試集和訓(xùn)練集,可以在一定程度上降低不同數(shù)據(jù)類型數(shù)量之間的差距,使模型學(xué)習(xí)到更多的U2R 特征,雖然在某些方面檢測性能未最優(yōu),但是整體檢測性能較好地符合預(yù)期.
表13 各算法在U2R 上的性能評價指標Table 13 Performance evaluation index of each algorithm on U2R
當精確率和召回率發(fā)生沖突時,很難對模型進行比較.而F 值同時兼顧了精確率和召回率,可以看作是精確率和召回率的一種調(diào)和平均,能夠更好地評價模型.BSO-IRELM 的F 值均較優(yōu),對Normal 類型數(shù)據(jù),比LR 增加67.0051%;對Probe 類型攻擊,比LR 增加32.1721%;對R2L 類型攻擊,比RELM 增加62.6369%;對DoS 和U2R 類型攻擊,BSO-IRELM 的F 值為各算法中最優(yōu)的.由于DoS 和U2R 攻擊類型數(shù)目較多,BSO-IRELM 的特征學(xué)習(xí)比較充分,所以對DoS 和U2R 攻擊類型檢測的F 值最優(yōu).表明特征庫中的特征越多、越豐富,模型的分類效果越好.
混淆矩陣使用熱度圖,通過色差、亮度來展示數(shù)據(jù)的差異,易于理解.深色表示預(yù)測值和真實值重合較多的區(qū)域,淺色表示預(yù)測值和真實值重合較少的區(qū)域.從圖9 可以看出,BSO-IRELM 的深色區(qū)域集中出現(xiàn)在混淆矩陣副對角線上,且副對角線之和為1774,其中BSO-IRELM 的分類準確率最優(yōu),符合預(yù)期.從混淆矩陣也可以看出實際分類情況,如RELM 將大量為DoS 類型攻擊和Normal數(shù)據(jù)預(yù)測為U2R 類型攻擊,BP 將大量的Normal數(shù)據(jù)和DoS 類型攻擊預(yù)測為U2R 攻擊類型.SVM基本上無法正確識別R2L 攻擊類型.ROC 曲線存在一個巨大優(yōu)勢,當正負樣本的分布發(fā)生變化時,其形狀能夠保持基本不變,因此ROC 曲線能夠降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能.從圖10 可以看出,BSO-IRELM 對DoS和R2L 攻擊類型具有最優(yōu)的AUC,對Normal 類型,LR 的AUC 較BSO-IRELM 差0.3007,對Probe 類型攻擊,RELM 的AUC 較BSO-IRELM差0.0928,對U2R 攻擊類型,BP 的AUC 較BSOIRELM 差0.0823.同時,LR 對各種類型的AUC均較差,AB、SVM、LR 對R2L 攻擊類型的AUC均為0,BP 對Normal 類型和R2L 攻擊類型的AUC 均較差.
圖10 多元分類ROC 曲線對比圖Fig.10 Multiple classification ROC curve comparison diagram
綜上所述,在UCI 數(shù)據(jù)集上,BSO-IRELM的各項性能均優(yōu)于IRELM 和傳統(tǒng)的RELM 算法,這說明引入LU 分解法以及BSO 算法的必要性,同時也驗證了之前關(guān)于RELM 存在潛在問題的假設(shè).從而驗證了BSO-IRELM 算法具有較優(yōu)的分類性能.在NSL-KDD 數(shù)據(jù)集上進一步進行2 元與多元分類入侵檢測,在大多數(shù)情況下,BSO-IRELM 的性能優(yōu)于BP、LR、RBF、AB、SVM、IRELM、GAIRELM、PSO-IRELM 和傳統(tǒng)RELM 算法.
本文提出了一種基于天牛群優(yōu)化與改進正則化極限學(xué)習(xí)機(BSO-IRELM)的網(wǎng)絡(luò)入侵檢測算法,有效解決了現(xiàn)有方法存在的準確率、精確率、真正率、假正率等偏低的問題.算法使用了LU 分解以求解RELM 的輸出權(quán)值矩陣,并設(shè)計了天牛群優(yōu)化算法BSO,實現(xiàn)了對RELM 的權(quán)值和閾值的聯(lián)合優(yōu)化.實驗結(jié)果表明,無論在機器學(xué)習(xí)數(shù)據(jù)集UCI或網(wǎng)絡(luò)入侵檢測數(shù)據(jù)集NSL-KDD 上,與已有方法相比,BSO-IRELM 算法在各種評價指標上都具有明顯優(yōu)勢.下一步研究的重點是擴展BSO-IRELM的檢測應(yīng)用領(lǐng)域,檢驗其在網(wǎng)絡(luò)安全威脅檢測(如病毒檢測、漏洞檢測等)中的使用效果.