王振東 劉堯迪 楊書新 王俊嶺 李大海
隨著網絡技術的快速發展,網絡結構趨于復雜,由此發生網絡入侵的風險也越來越大,如何辨識各種網絡入侵成為人們高度關注的問題.入侵檢測(Intrusion detection,ID)技術作為一種能夠動態監控、預防和抵御入侵行為的新型安全機制,已經逐漸發展成為保障網絡系統安全的關鍵技術.然而網絡規模、網絡速率以及入侵類型的持續增大、增多,使得入侵檢測技術面臨越來越多的挑戰[1].因此,如何設計面向當前及未來網絡環境的新型入侵檢測機制,提高入侵檢測的檢測速度、降低漏報率和誤報率,提升檢測性能成為相關領域研究人員關注的核心問題.
在已有研究中,通常認為數據挖掘、機器學習以及神經網絡在內的多種方法是有效的入侵檢測方法[2?5].但大部分數據挖掘算法對噪聲較為敏感,若數據集包含噪聲數據較多,則算法極易出現過擬合現象;機器學習算法因其自身比較復雜,數據集過大會導致模型訓練時間過長,計算成本較高;神經網絡通過模擬人類大腦的思維方式來處理信息,具有自組織、自學習和自適應的特點,將其應用于入侵檢測可以很好地解決數據挖掘和機器學習存在的問題,提升檢測性能,使得基于神經網絡的入侵檢測成為研究熱點[6].傳統神經網絡如BP (Back propagation)神經網絡在諸多文獻中已應用于網絡入侵檢測,并取得一定效果[7?8],但需多次迭代確定網絡輸出權值,嚴重影響網絡的學習能力.
作為一種新型神經網絡,極限學習機(Extreme learning machine,ELM)[9]的出現引起了研究人員廣泛的關注.ELM 是一種單隱層前饋型神經網絡,最大特點是輸入層和隱含層之間的連接權值,以及隱含層節點的閾值只需通過最小二乘法計算一次即可得到最優初始權值和閾值,而不需通過反向傳播算法進行更新.因易于實現、訓練速度快,ELM 在數據分類[10?11]、故障識別[12]、能耗預測[13]、入侵檢測[14]等許多領域取得了成功.但ELM 并未充分考慮結構化風險可能導致的過擬合問題.Deng等[15]提出了正則化極限學習機(Regularized extreme learning machine,RELM)的概念,并將其應用于SinC 函數的近似、現實世界回歸以及UCI 數據集的分類.結果表明,RELM 不僅能夠保留ELM 的所有優點,對離群點還具有一定的抗干擾能力,能夠獲得極小的訓練誤差,模型的泛化性能也得到顯著提高.
鑒于RELM 在分類問題中表現出的優越性能,本文將RELM 引入到入侵檢測領域.但直接使用RELM 會存在如下問題: 1) RELM 的輸出權值矩陣通過逆矩陣求得,逆矩陣在求解過程中接近奇異值,會降低算法的求解精度,影響分類準確率;2) 隨機初始化權值矩陣以及隱含層閾值,會導致原始數據隨機映射到RELM 特征空間時出現難以預測的非線性分布,并對算法的分類準確率造成影響.對此,本文嘗試使用天牛群優化(Beetle swarm optimization,BSO)算法優化RELM 的初始權值矩陣,并將LU 分解(LU decomposition)引入求解RELM的輸出權值矩陣,提出BSO-IRELM 算法,將其應用于入侵檢測.實驗結果表明,BSO-IRELM 算法具有優秀的數據分類能力,能夠有效實現Normal、Probe、DoS、R2L、U2R 等各類攻擊的檢測.
RELM 隨機初始化輸入層和隱含層之間的權值以及隱含層節點的閾值,通過特征映射使數據分布呈現某種非線性的幾何結構,影響分類性能.而使用逆矩陣求解輸出權值矩陣,會導致求解過程中出現奇異矩陣的情形.對此,使用具有良好尋優能力的BSO 算法對RELM 的初始權值和閾值進行初始化,并引入LU 分解求解RELM 的輸出權值矩陣,規避求解過程的奇異矩陣.
由傳統統計學原理可知,實際風險包括經驗風險和結構風險兩種[16].一種具有好的泛化能力的模型應該能夠平衡這兩種風險.因此增加正則項以調節系數β,提高模型的泛化能力.RELM 的目標函數為

其中,ei為訓練誤差,∥β∥2和∥ei∥2分別為結構風險和經驗風險,λ為懲罰因子.
根據式(1)和式(2)建立拉格朗日方程,得

式中,αi ∈R,i=1,···,N為拉格朗日算子.對式(3)的變量 (α,e,β) 分別求偏導并令其等于零,得

對式(4)進行最小二乘法計算,得到輸出權值矩陣

其中,I為單位矩陣.
式(5)計算輸出權值矩陣β涉及到矩陣求逆的運算,若輸入樣本過大,會導致矩陣求逆復雜度增大,從而降低RELM 的訓練效率.為降低RELM的計算復雜度,本文提出一種基于LU 分解的IRELM算法,改變RELM 輸出權值矩陣的求解方法,降低算法復雜度,提高入侵檢測分類精確度.
由式(5)得

令A=(I/λ+HTH),b=HTT,則式(6)轉化為

LU 分解求解RELM 輸出權值矩陣的具體步驟如下:
矩陣A可進行唯一的LU 分解,設

由矩陣乘法并令兩邊矩陣的 (i,j) 元素相等,得上下三角矩陣中的元素為

當矩陣A進行LU 分解后,解線性方程組Aβ=b等價于求解下面兩個三角形方程組

從上面的求解過程可以看出,輸出權值矩陣不需使用式(5) 逆矩陣的方法來計算,只需通過式(8)~(10)的迭代遞推公式進行簡單的加減運算即可求出RELM 的輸出權值,能夠大大降低算法的復雜度.同時,使用LU 分解求解輸出權值矩陣可以很好地避免計算過程出現奇異矩陣的情況,提高算法的分類準確率.
天牛須搜索算法(Beetle antennae search,BAS)是Jiang等[17?18]在2017 年模擬天牛覓食原理時提出的啟發式算法,用于解決壓力容器和Himmelblau 等非線性優化問題.BAS 算法具有求解速度快和精度高的特點,已成功應用于信號定位[19]和數據分類[20]等領域.但BAS 算法在高維空間搜索時只能收斂到局部極值,且在多維函數優化中,只依賴于單個天牛個體進行搜索會增加算法陷入局部最優的可能性.對此,本文提出了一種帶萊維飛行群體學習策略與動態變異策略的混沌天牛群算法.將天牛個體搜索擴展為群體搜索,并使用Tent 映射反向學習初始化種群,促使初始群體信息分布均勻,提高搜索效率.此外,利用萊維飛行群體學習策略,使得天牛個體既能學習自身經驗又可以學習群體經驗,讓各天牛個體有目的和指導性地移動,提高算法的收斂性能.最后引入動態變異策略,增加迭代后期種群多樣性,避免算法陷入局部最優.
1.2.1 Tent 映射反向學習初始化種群
研究表明[21],在群智能搜索中,算法的收斂性能會受到初始種群的影響.種群的數量越多、分布越均勻,算法越能夠在更短的時間內收斂到最優解;反之,則會影響算法的收斂性能.使用混沌映射初始化種群具有隨機性、遍歷性以及有界性的特點,能夠有效提高算法的搜索效率.而Tent 映射產生初始序列比Logistic 映射產生初始序列更加均勻,所以本文采用Tent 映射對天牛群體初始化,并使用反向學習策略優化初始種群,通過反向個體與現有個體一起競爭,讓更優秀的個體被選進下一代學習,可以擴大種群的搜索范圍,減少無效搜索,從而提高算法的收斂速度.Tent 映射的數學表達式為

綜上所述,采用Tent 映射反向學習初始化種群的具體步驟如下:
步驟 1.在搜索空間中使用Tent 映射產生N個天牛種群的位置xij,i=1,2,···,D;j=1,2,···,N作為初始種群OB;
步驟 2.根據反向解的定義,產生初始種群OB中的每個天牛群體xij的反向群體作為反向種群FB;
步驟 3.合并種群OB 和FB,使用升序將這2N個天牛群體的適應度值排序,選取其中適應度值前N的天牛群體作為初始種群.
1.2.2 萊維飛行的群體學習策略
標準BAS 算法中,天牛個體的搜索范圍有限,搜索位置從全局最優向局部最優轉移比較困難.雖然將個體搜索改為群體搜索能夠擴大種群的搜索范圍,但由于天牛個體之間沒有信息交流和反饋,會影響算法的收斂精度.根據粒子群算法可知,群體中個體在移動過程中,需不斷學習歷史群體經驗,即個體最優應具有向歷史最優移動的趨勢,這種移動趨勢能夠對算法收斂速度的提升起到決定性作用.為此,在粒子群算法框架下,引入具有萊維飛行的指導性學習策略.
萊維分布是20 世紀30 年代法國數學家萊維(Levy)提出的一種概率分布,Mandelbrotb 對其進行了詳細描述[22].萊維飛行作為一種服從萊維分布的隨機搜索方法,可以增加種群的多樣性,擴大搜索范圍,避免算法陷入局部最優,可有效增強算法的尋優能力.其中萊維分布滿足

萊維飛行模型較為復雜,目前使用Mantegna算法進行模擬,數學表達式如下:
步長t的計算公式為

其中,μ,v服從正態分布

其中,Γ 是標準的伽馬分布,為節約計算時間取θ=1.5.
圖1 是萊維飛行的軌跡示意圖.由于萊維飛行是二階矩發散的,所以其在運動過程中的跳躍性很大.

圖1 萊維飛行軌跡示意圖Fig.1 Levy flight path diagram
指導性學習策略中天牛朝向的公式通過萊維飛行策略進行更新:

最終個體位置更新式為

其中,d(t) 表示第t代天牛的朝向,X(t) 表示第t代天牛的位置,gbest(t) 表示第t代天牛的個體極值,zbest表示迄今為止的全局極值,ω為慣性權重,C1,C2為學習因子,Levy(θ) 為 萊維隨機數.f(Xl(t))表示第t代天牛左須的適應度函數值,f(Xr(t)) 表示第t代天牛右須的適應度函數值,step為天牛步長,k1,k2為比例系數,s ign 為符號函數.天牛朝向公式中,第2 部分是自學習部分,表示天牛個體對自身歷史的記憶,有向自身最優位置移動的趨勢;第3部分為社會學習部分,表示天牛個體之間的學習以及群體的歷史經驗,有向群體最優位置移動的趨勢.
1.2.3 動態變異策略
天牛群算法在迭代后期種群的多樣性會越來越低,使算法的搜索能力下降.為避免迭代后期出現早熟現象,引入動態變異策略,增加天牛種群在迭代后期的多樣性,提高算法的收斂精度.目前,相關學者提出了多種變異算法,典型的變異算法有高斯變異(Gaussian mutation)[23]和柯西變異(Cauchy mutation)[24].柯西算子相比于高斯算子具有較長的兩翼,可以產生大范圍的隨機數,使算法有更大的機會跳出局部最優,同時,當峰值較低時柯西變異只需要花費更少的時間來搜索附近區域.柯西變異概率分布如圖2 所示.

圖2 柯西變異概率分布圖Fig.2 Cauchy variation probability distribution map
因此,選擇柯西變異對天牛群體進行二次尋優,對X進行變異操作,即

其中,η是變異權重,其值隨著迭代次數的增加而減小,T為最大迭代次數,λ=10 為常數,C(0,1)是比例參數為1 的柯西算子產生的一個隨機數.
1.2.4 天牛群算法步驟
天牛群算法的步驟如下,具體流程圖如圖3 所示.

圖3 天牛群算法流程圖Fig.3 Flow chart of BSO algorithm
步驟 1.初始化天牛群算法參數: 設置天牛規模、迭代步長、最大迭代次數,使用Tent 映射反向學習策略初始化天牛群體,初始化天牛朝向.
步驟 2.計算群體中天牛個體相應的適應度函數值,根據適應度函數值確定種群的個體極值和全局極值.
步驟 3.利用式(12)和式(13) 更新天牛個體的朝向以及位置,對天牛種群進行越界處理.
步驟 4.利用式(14)對天牛種群進行變異操作.
步驟 5.判斷算法是否滿足迭代終止條件,若滿足則輸出全局最優解及其對應的位置,否則返回步驟2.
1.2.5 天牛群算法偽代碼
天牛群算法偽代碼如下所示:

1.2.6 天牛群算法性能分析
為驗證BSO 算法的性能,選取F(x):minf(x)=單峰函數對算法進行函數尋優以及收斂性測試,F(x) 搜索范圍設置為[ ?10,10],并且與GA(Genetic algorithm)、PSO (Particle swam optimization)、DE (Differemtial evolution)和BAS 算法進行對比,算法迭代次數設置為5000 次并運行20 次.圖4 描述了5 種算法在函數F(x) 上的測試結果.由圖4 可知,相比于GA、PSO、DE、BAS 四種優化算法,BSO 的收斂速度和收斂精度都有明顯優勢.一方面引入萊維飛行的群體學習策略,平衡算法的全局搜索和局部搜索能力,加快算法的收斂;另一方面加入動態變異策略,幫助算法跳出局部最優,使尋優速率加快.故相比于傳統算法,BSO 算法的性能具有明顯的提升.

圖4 算法測試結果圖Fig.4 Test result graph of algorithm
基于上述分析和推導,將LU 分解和BSO 算法引入RELM 算法,并建立基于BSO-IRELM 的入侵檢測模型.
適應度函數是判斷個體適應環境能力大小的標準.因此,適應度函數的選擇直接影響算法的收斂精度以及能否找到最優解.文獻[25]將入侵檢測準確率、誤報率以及特征數的比例權重作為適應度函數,既增加了計算量又會因計數不當導致收斂精度較低;文獻[26]將群智能算法函數值的分段函數作為適應度函數,需通過函數值確定適應度函數表達式,增加了計算復雜度.
將入侵檢測誤差和函數作為適應度函數,預測結果可由神經網絡直接得到,計算方便,無需反復確定適應度函數表達式,也不會因計數不當造成誤差.其數學表達式為

其中,yk表示網絡的實際輸出,表示網絡的訓練輸出,M表示輸入神經元的個數.
使用BSO 優化IRELM 的基本思路是求出適應度函數最好的一組天牛位置,在迭代結束時把該位置作為IRELM 的最優初始權值和閾值建立入侵檢測模型,模型描述如圖5 所示.

圖5 BSO-IRELM 算法入侵檢測框架圖Fig.5 BSO-IRELM Algorithm intrusion detection framework
入侵檢測框架的步驟如下:
步驟 1.對原始的NSL-KDD 數據集進行預處理.預處理過程包括2 個子步驟:
步驟 1.1.高維數據特征映射.本文使用高維特征映射,將離散型特征轉化為數字型特征.
步驟 1.2.數據歸一化.由于同種屬性的數據之間差異較大,影響神經網絡的訓練,因此將數據歸一化為[?1,1]的實數.
步驟 2.標準數據集劃分.將標準數據集劃分為訓練集和測試集.
步驟 3.模型訓練.對IRLEM 進行訓練和參數調優.本過程包括4 個子步驟:
步驟 3.1.初始化IRELM 模型參數.innum個輸入層節點、midnum個隱藏層節點和outnum個輸出層節點以及網絡初始權值和閾值.
步驟 3.2.初始化天牛群體.天牛種群大小N.所求問題維度D=(innum+1)×midnum(midnum+1)×outnum和最大迭代次數T及天牛種群位置xi.
步驟 3.3.根據訓練樣本和適應度函數計算天牛群適應度函數值,對適應度函數值升序排列并尋找天牛群的最優位置和最優適應度函數值.若滿足迭代終止條件,則迭代結束轉到步驟3.4;否則轉到步驟3.3.
步驟 3.4.輸出BSO 全局最優位置對應的權值和閾值,即IRELM 的最優初始權值和閾值.
步驟 4.將測試數據輸入到訓練好的BSOIRELM 入侵檢測模型中,進而得到每條數據的分類結果.
BSO-IRELM 偽代碼如下所示:


2.4.1 LU 分解復雜度
線性方程組的求解方法較多,直接使用矩陣求逆計算不僅對硬件資源的占有量有影響,還影響權值的更新速度.因此,對于硬件平臺來說,由于物理資源有限,需要找到一種低能耗且快速的求解方法.矩陣求逆的計算步驟繁多,運算量大,時間復雜度高,所以在使用硬件實現時考慮采用LU 分解法.為進一步說明LU 分解的優勢,對矩陣求逆和LU 分解作如下分析: 對于n階的方陣,矩陣求逆的算法復雜度為 O (n3),LU 分解的算法復雜度為O(2/3×n3),雖然二者數量級相同,但因系數存在差異,因此在運行時間上存在顯著差異.為更加直觀地說明兩種算法的復雜度,對一個10 階矩陣進行實驗,結果表明,矩陣求逆的運行時間為0.4491 s,LU 分解的運行時間為0.0479 s,運行時間大大縮短.本文后續使用數據集的維度遠遠大于10 階,故使用LU 分解的優勢將更加明顯.
2.4.2 BSO 算法復雜度
假設算法最大迭代次數為tmax,維度為D.在BAS 算法中,初始化天牛個體,其算法復雜度為O(D).在每一次迭代中需要完成以下步驟,先計算天牛個體的適應度值并找出當前最優位置,其時間復雜度為 O (1),之后天牛個體更新位置,其時間復雜度為 O (1),故一次迭代的算法復雜度為O(1+1).總的時間復雜度為 O (tmax(1+1)+D),即為O(tmax).相比于BAS,BSO 使用群體,假設種群規模為N,初始化種群,其算法復雜度為 O (ND).在每一次迭代中需要完成以下步驟,先計算天牛群的適應度值并找出種群中個體最優和全局最優,其時間復雜度為 O (N),之后天牛群位置更新,其時間復雜度為 O (N),故一次迭代的算法復雜度為 O (N+N).總的時間復雜度為 O (tmax(N+N)+ND),即為O(tmaxN).故BSO 總的時間復雜度大于BAS,但BSO 克服了BAS 極易陷入局部最優以及搜索范圍有限的缺點,提高了BSO 的收斂精度.
2.4.3 BSO-IRELM 算法復雜度
假設算法最大迭代次數為tmax,種群規模為N,所求問題維度D=(innum+1)×midnum+(midnum+1)×outnum.在BSO-RELM 模型中,BSO 使用Tent 映射反向學習初始化種群,其算法復雜度為O(ND).計算種群的適應度函數值并找出種群中個體最優和全局最優,其時間復雜度為 O (N).在每一次迭代中需要完成以下步驟,根據訓練集通過矩陣求逆計算天牛群的適應度函數值,其時間復雜度為O(midnum3×N),之后找出種群的個體最優和全局最優,并對天牛群位置更新,其時間復雜度為O(N),故一次迭代的算法復雜度為 O (N+midnum3×N).最后,使用測試集對BSO-RELM模型進行性能測試,其時間復雜度為 O (midnum3).總的時間復雜度為O(tmax(N+midnum3×N)+ND+N+midnum3).相比于BSO-RELM 模型,BSO-IRELM 中通過LU分解求解天牛群適應度函數值,其時間復雜度為O(2/3×midnum3×N),總的時間復雜度為O(tmax(N+2/3×midnum3×N)+ND+N+2/3×midnum3).故BSO-IRELM 的時間復雜度遠小于BSO-RELM,且其檢測精度遠優于BSO-RELM.
模型中參數設置如下.
1)群智能算法參數[27]如表1 所示.

表1 群智能算法參數Table 1 Swarm intelligence algorithm parameters
2) RELM 神經網絡模型參數為: 100-50-1,迭代次數為100.
RELM 模型參數通過GA-RELM 二分類實驗確定.迭代次數設置為100,隱含層單元分別為20,30,40,50,60.實驗結果表明,包含50 個隱含層單元的模型具有最優的檢測準確率.當把隱含層的個數從50 增加到60 時,入侵檢測的準確率有所下降.保持隱含層單元數量不變,增加迭代次數,模型的檢測性能也只會由于過度擬合而產生波動.
模型中使用到的數據集如下.
1) UCI 數據集[28]如表2 所示.

表2 UCI 數據集Table 2 UCI dataset
2)入侵檢測數據集[29]: NSL-KDD 數據集,訓練樣本9850 條數據,測試樣本2000 條數據.
為了驗證算法的有效性,在UCI 數據集上將BSOIRELM與IRELM、GA-IRELM、PSO-IRELM、BSO-RELM 以及傳統RELM 進行對比.
在表3~ 5 中列出了各算法的性能評價指標,并在圖6 中給出了部分算法的預測結果.從圖6 可以直觀地看出,BSO-IRELM 算法具有較好的預測結果,在Iris 數據集中,BSO-IRELM 的真實值和預測值完全重合,可以實現完美分類;在Wine 數據集中,BSO-IRELM 僅存在一個錯誤分類.從表3~5 中可以看出,各算法的性能評價指標均較優,這與本文估計基本一致.因為兩個數據集的大小相當,且是平衡數據集,所以檢測結果較理想.相比于PSO-IRELM 和GA-IRELM,BSO-IRELM 的性能評價指標均有所提高,這充分說明BSO 算法較PSO算法和GA 算法具有更優的尋優能力.此外,在所有測試條件下,BSO-IRELM 的各項性能也優于BSO-RELM、IRELM 和傳統的RELM 算法,這說明了引入LU 分解法以及BSO 算法的必要性,同時也驗證了之前關于RELM 存在潛在問題的假設.從而驗證了BSO-IRELM 算法具有較優的分類性能,因此,進一步將BSO-IRELM 算法應用到網絡入侵檢測中驗證它的可行性.

圖6 部分算法在UCI 數據集上的檢測結果Fig.6 The detection results of part algorithm on UCI dataset

表3 各算法在UCI 數據集上的準確率(%)Table 3 Accuracy of each algorithm on UCI dataset (%)

表4 各算法在Iris 數據集上的性能評價指標Table 4 Performance evaluation index of each algorithm on Iris dataset

表5 各算法在Wine 數據集上的性能評價指標Table 5 Performance evaluation index of each algorithm on Wine dataset
將4 類攻擊合并為Abnormal (非正常),標記為2,正常數據(Normal)標記為1,實驗轉化為2元分類問題.表6 和表7 給出了各算法的實驗結果.圖7 和圖8 分別給出了2 元分類混淆矩陣和ROC(Receiver operating characteristic)曲線對比圖.從表中可以看出,BSO-IRELM 在檢測正常數據和攻擊類型數據方面效果較好.由于2 元分類數據集是非平衡數據集,2 種數據數量相差較大,所以準確率無法反映非平衡數據集的真實情況,故除準確率外,還從精確率、真正率(True positive rate,TPR)、假正率(False positive rate,FPR)、F 值和AUC (Area under curve)對2 元分類進行評價,上述指標的計算方法參照文獻[30].在大多數測試條件下,BSOIRELM 的性能優于BP、LR (Logistics regression)、RBF (Radial basis function)、AB (AdaBoost),可以取得與PSO-IRELM、GA-IRELM 和SVM(Support vector machine)相近的分類性能,總體上優于PSO-IRELM、GA-IRELM 和SVM.且性能遠優于IRELM 和傳統RELM.特別地,BSOIRELM 的F 值和AUC 均最優,但在精確率方面,比BP 差2.6477%,在真正率方面,比LR 差1.94814%,而在假正率方面,比PSO-IRELM 差0.3509%.由于測試集是由隨機選取的2000 條數據組成,BSOIRELM 中攻擊類型數據所占比重較大,故精確率、真正率和假正率略差.混淆矩陣將數據集中的記錄按照實際結果和預測結果進行匯總,實現可視化.從圖7 可以看出,BSO-IRELM的分類模型最準確,因為此時一、三象限對應位置的數值最大,而二、四象限對應位置的數值最小,且BP 用于入侵檢測的能力最差,相比于各算法,BP模型將大量攻擊類型數據預測為正常類型,會給網絡安全帶來很大的威脅.此時BP 神經網絡可能因為訓練過程中,權值收斂到局部極小點導致網絡訓練失敗.ROC 曲線圖是反映真正率和假正率之間關系的曲線.曲線將整個圖劃分為兩個部分,曲線下部分的面積即為AUC,用來表示預測準確性,AUC 越高,說明預測準確率越高.從圖8 可以看出,在各算法中,無論檢測正常數據還是攻擊類型數據,BSO-IRELM 的AUC 均較優,但相比于RBF 的正常數據檢測差0.0359.在大多數情況下,BP、SVM 的AUC 優于IRELM 和傳統RELM,但相比于PSO-IRELM、GA-IRELM以及BSO-IRELM,AUC 均較差.這充分說明,RELM 潛在的參數問題對于分類性能的影響,突出了引入LU 分解法以及BSO 算法的必要性,驗證了BSO-IRELM 相比于BP 和傳統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中列出了對比結果,并在圖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 多分類數據集仍是非平衡數據集,故從精確率、真正率、假正率、F 值和AUC 等方面進一步分析各算法的入侵檢測性能.

表8 不同算法檢測準確率(%)Table 8 Accuracy of different algorithms (%)
從表9 可以看出,對于Normal 類型數據,BP和LR 的綜合檢測性能最差,真正率僅為3.8647%和3.6723%,較BSO-IRELM 差62.3091% 和62.5042%.大多數情況下,BSO-IRLEM 的分類性能與SVM、PSO-IRELM 以及GA-IRELM 相近,但較AB、RBF、IRELM 和傳統RELM 性能均有所提升.由于BSO-IRELM 將大量正常數據誤判為攻擊類型,因而會導致精確率和假正率略差.

表9 各算法在Normal 上的性能評價指標Table 9 Performance evaluation index of each algorithm on Normal
從表10 可以看出,對于Probe 類型攻擊,BP、AB、IRELM、GA-IRELM、PSO-IRELM 和BSOIRELM 的性能相近,遠優于LR、SVM、RBF、RELM 的性能,但總體上BSO-IRELM 的性能最優.此時,除了LR 和RELM,其余各算法對于Probe類型攻擊均具有較強的識別能力.

表10 各算法在Probe 上的性能評價指標Table 10 Performance evaluation index of each algorithm on Probe
從表11 可以看出,對于DoS 類型攻擊,BSOIRELM 的檢測性能最優,LR 檢測性能最差,除傳統RELM 和IRELM 的真正率較差,僅為25.0704%和54.0079%,其余各算法的性能評價指標均較優.由于DoS 的攻擊數目最多,如果使用聚類大小進行判斷需要單獨處理,否則檢測結果不理想.但本文判定是根據入侵數據與正常數據的差異,所以對于攻擊數目較多的DoS 攻擊仍具有較好的檢測結果.

表11 各算法在DoS 上的性能評價指標Table 11 Performance evaluation index of each algorithm on DoS
從表12 可以看出,對于R2L 攻擊類型,在大多數情況下,BP、RBF、RELM 和IRELM 的性能相近,效果均較差,LR、AB 和SVM 的檢測性能最差,基本上無法正確識別R2L 攻擊類型,而BSOIRELM 的性能較優,相比于RELM,精確率提高了42.3077%,效果顯著,大大超出預想.R2L 攻擊總數很少,而且許多R2L 入侵是偽裝成合法用戶身份進行攻擊,這就使得其特征與正常數據包類似,造成R2L 攻擊檢測困難.但BSO-IRELM 相比于BP、LR、AB、SVM 和傳統RELM,很好地學習了R2L 的特征,并將其正確分類.

表12 各算法在R2L 上的性能評價指標Table 12 Performance evaluation index of each algorithm on R2L
從表13 可以看出,對于U2R 類型攻擊,SVM、AB、GA-IRELM、PSO-IRELM 和BSO-IRELM 的性能相近,效果較優,BP、LR、RBF、RELM 和IRELM 的性能相近,效果較差,且BSO-IRELM 相比于BP、LR、RBF、AB、SVM 和傳統RELM,分類性能均有所提高,AUC 分別提高0.0823、0.3940、0.0396、0.0230、0.0124 和0.054.本文對NSL-KDD數據集進行去重并隨機產生測試集和訓練集,可以在一定程度上降低不同數據類型數量之間的差距,使模型學習到更多的U2R 特征,雖然在某些方面檢測性能未最優,但是整體檢測性能較好地符合預期.

表13 各算法在U2R 上的性能評價指標Table 13 Performance evaluation index of each algorithm on U2R
當精確率和召回率發生沖突時,很難對模型進行比較.而F 值同時兼顧了精確率和召回率,可以看作是精確率和召回率的一種調和平均,能夠更好地評價模型.BSO-IRELM 的F 值均較優,對Normal 類型數據,比LR 增加67.0051%;對Probe 類型攻擊,比LR 增加32.1721%;對R2L 類型攻擊,比RELM 增加62.6369%;對DoS 和U2R 類型攻擊,BSO-IRELM 的F 值為各算法中最優的.由于DoS 和U2R 攻擊類型數目較多,BSO-IRELM 的特征學習比較充分,所以對DoS 和U2R 攻擊類型檢測的F 值最優.表明特征庫中的特征越多、越豐富,模型的分類效果越好.
混淆矩陣使用熱度圖,通過色差、亮度來展示數據的差異,易于理解.深色表示預測值和真實值重合較多的區域,淺色表示預測值和真實值重合較少的區域.從圖9 可以看出,BSO-IRELM 的深色區域集中出現在混淆矩陣副對角線上,且副對角線之和為1774,其中BSO-IRELM 的分類準確率最優,符合預期.從混淆矩陣也可以看出實際分類情況,如RELM 將大量為DoS 類型攻擊和Normal數據預測為U2R 類型攻擊,BP 將大量的Normal數據和DoS 類型攻擊預測為U2R 攻擊類型.SVM基本上無法正確識別R2L 攻擊類型.ROC 曲線存在一個巨大優勢,當正負樣本的分布發生變化時,其形狀能夠保持基本不變,因此ROC 曲線能夠降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能.從圖10 可以看出,BSO-IRELM 對DoS和R2L 攻擊類型具有最優的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 數據集上,BSO-IRELM的各項性能均優于IRELM 和傳統的RELM 算法,這說明引入LU 分解法以及BSO 算法的必要性,同時也驗證了之前關于RELM 存在潛在問題的假設.從而驗證了BSO-IRELM 算法具有較優的分類性能.在NSL-KDD 數據集上進一步進行2 元與多元分類入侵檢測,在大多數情況下,BSO-IRELM 的性能優于BP、LR、RBF、AB、SVM、IRELM、GAIRELM、PSO-IRELM 和傳統RELM 算法.
本文提出了一種基于天牛群優化與改進正則化極限學習機(BSO-IRELM)的網絡入侵檢測算法,有效解決了現有方法存在的準確率、精確率、真正率、假正率等偏低的問題.算法使用了LU 分解以求解RELM 的輸出權值矩陣,并設計了天牛群優化算法BSO,實現了對RELM 的權值和閾值的聯合優化.實驗結果表明,無論在機器學習數據集UCI或網絡入侵檢測數據集NSL-KDD 上,與已有方法相比,BSO-IRELM 算法在各種評價指標上都具有明顯優勢.下一步研究的重點是擴展BSO-IRELM的檢測應用領域,檢驗其在網絡安全威脅檢測(如病毒檢測、漏洞檢測等)中的使用效果.