劉銘 南西
摘要:網(wǎng)絡(luò)安全問題日益嚴(yán)峻,入侵檢測(cè)作為主要的網(wǎng)絡(luò)防范手段之一,但多分類的檢測(cè)普遍存在檢測(cè)率低漏報(bào)誤報(bào)率高的問題,本文結(jié)合入侵檢測(cè)數(shù)據(jù)中正常數(shù)據(jù)的數(shù)據(jù)量遠(yuǎn)大于異常數(shù)據(jù)的特點(diǎn),并根據(jù)類間分離性算法確定不同攻擊類型的分離順序,構(gòu)造性能優(yōu)良的二叉樹結(jié)構(gòu),有效提高入侵檢測(cè)的性能。
關(guān)鍵詞:入侵檢測(cè);支持向量機(jī);多分類;分離性測(cè)度;二叉樹
中圖分類號(hào):TP393? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)24-0033-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
隨著互聯(lián)網(wǎng)技術(shù)的日益發(fā)展和普及,人們?cè)谙硎芫W(wǎng)絡(luò)帶來極大便利的同時(shí),網(wǎng)絡(luò)安全問題也日益突出。為了更好地利用網(wǎng)絡(luò),迫切需要提高網(wǎng)絡(luò)安全相關(guān)防范技術(shù)。
入侵檢測(cè)系統(tǒng)(Intrusion Detection System ,IDS)作為防火墻之后的第二道防線,具有主動(dòng)性和實(shí)時(shí)性的特點(diǎn),在網(wǎng)絡(luò)關(guān)鍵節(jié)點(diǎn)上收集信息并進(jìn)行分析,從而對(duì)異常行為做出判別[1]。支持向量機(jī)(Support Vector Machine, SVM)作為一種在小樣本機(jī)器學(xué)習(xí)基礎(chǔ)上發(fā)展起來的方法,應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)有較好的檢測(cè)性能。二叉樹法為常用的SVM多分類方法有結(jié)構(gòu)靈活,所需構(gòu)造的分類器數(shù)少,從根節(jié)點(diǎn)往下,訓(xùn)練樣本數(shù)和支持向量數(shù)都逐級(jí)減少,檢測(cè)速度較快[2]。
本文在分析二叉樹多分類的基礎(chǔ)上,提出基于分離性測(cè)度的SVM多分類方法,根據(jù)類間分離性算法確定不同攻擊類型的分離順序,構(gòu)造性能優(yōu)良的二叉樹。
1 改進(jìn)的決策樹多分類方法
目前,如何根據(jù)相關(guān)應(yīng)用構(gòu)造合理性能優(yōu)良的二叉樹結(jié)構(gòu)并沒有具體的定義。分類器的分類性與二叉樹的構(gòu)建過程密切相關(guān),上層節(jié)點(diǎn)的分類性能對(duì)整個(gè)分類模型的影響最大,在分類過程中,盡量減少在上層節(jié)點(diǎn)出現(xiàn)分類錯(cuò)誤。在二叉樹的構(gòu)造過程中,容易區(qū)分,不易產(chǎn)生分類錯(cuò)誤的類在上層分類器中優(yōu)先分離,逐層進(jìn)行分析,使可能產(chǎn)生的分類錯(cuò)誤盡量遠(yuǎn)離上層節(jié)點(diǎn),使其對(duì)整體產(chǎn)生的影響降至最小。
類間分離性算法定義
如何確定各類的分離順序,各類的易分性,目前通常將類中心間的歐氏距離或馬氏距離作為不同類間的測(cè)度。但該方法在很多情況下并不能正確反映類間的分離度,類的分布對(duì)類間的分離性也有著重要影響?;陬惖姆植碱愰g分離性測(cè)度[3]定義如下。
假設(shè)要進(jìn)行M類分類,則樣本類別數(shù)為M,訓(xùn)練樣本集由類[Xi,i=1,???,M]組成。通過訓(xùn)練樣本計(jì)算得出類中心[ci],
[ci=1nix∈Xix,i=1,???,M];? ([ni]為類[Xi]中樣本的個(gè)數(shù))? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
[dij]表示類[i]與類[j]中心間的距離:
[dij=ci-cj,i,j=1,???,M];? ? ? ? ? ? ? ? ? (2)
[σi]表示類分布的類方差:
[σi=1ni-1x∈Xix-ci,i=1,???,M];? ? ? ? ? ? ? ? ?(3)
定義1:(類間分離度)類i和類j間的分離性測(cè)度[sepij]:
[sepij=dij(σi+σj)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (4)
若[sepij≥1],說明兩類之間無交疊;如果[sepij<1],則兩類之間有一定交疊。類i與類j之間的分離性越好則[sepij]的值越大。
定義2:(類分離度)類i的分離性測(cè)度[sepi]:
[sepi=minsepijj=1,???,kj≠i]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
[sepi]表明了該類與其他類間的分離性。
定義3:(類易分性)最易分的類s:
[s=argmaxsepii=1,???,k]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (6)
最容易分的類即為計(jì)算得到的分離性測(cè)度值最大的類。
改進(jìn)的決策樹多分類SVM算法
改進(jìn)的決策樹多分類SVM算法具體流程如下:
步驟1:根據(jù)上述公式(1)(2)(3)計(jì)算各類的相關(guān)參數(shù),并根據(jù)公式(4)(5)得出各類樣本數(shù)據(jù)的類間分離度[sepij]和類的分離性測(cè)度[sepi]。
步驟2:比較得到的各類分離度,由大到小進(jìn)行排列, [n1,n2,???,nM],其中[ni∈1,2,???,M,i=1,2,???,M]為類的標(biāo)號(hào),分離性測(cè)度最大的類即最容易分的類。
步驟3:在二叉樹各節(jié)點(diǎn)利用SVM二分類算法構(gòu)造最優(yōu)超平面,利用改進(jìn)的人工蜂群優(yōu)化支持向量機(jī)算法[4]對(duì)SVM的相關(guān)參數(shù)進(jìn)行優(yōu)化。
步驟4:構(gòu)造第一個(gè)分類器,在根節(jié)點(diǎn)選擇最容易分的類即分離性測(cè)度值最大的n1類作為正樣本集,其余各類數(shù)據(jù)為負(fù)樣本集,然后從總樣本集中將分離的正樣本集刪除,以此類推,按照此方法構(gòu)造其余的分類器。如果有兩個(gè)類得出的分離性測(cè)度值相同,則兩類的分離順序不會(huì)對(duì)整體的分類效果產(chǎn)生實(shí)質(zhì)的影響,算法選擇優(yōu)先分離類標(biāo)號(hào)較小的類,最終構(gòu)造出改進(jìn)后的二叉樹多分類SVM模型。
2 基于改進(jìn)二叉決策樹多分類入侵檢測(cè)實(shí)驗(yàn)
本文選用NSL-KDD數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù)集,該數(shù)據(jù)集將數(shù)據(jù)分為正常的數(shù)據(jù)NORMAL類和DOS、PROBE、U2R、R2L四類異常的攻擊數(shù)據(jù)[5]。數(shù)據(jù)集包含訓(xùn)練集和測(cè)試集,分為正常數(shù)據(jù)和入侵異常數(shù)據(jù)。根據(jù)各類型數(shù)據(jù)的比例選取部分?jǐn)?shù)據(jù)并進(jìn)行標(biāo)準(zhǔn)化預(yù)處理進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)類型分布如表1所示。
在實(shí)際的網(wǎng)絡(luò)環(huán)境中,正常數(shù)據(jù)在總數(shù)據(jù)中所占的比例遠(yuǎn)遠(yuǎn)大于異常數(shù)據(jù)(1%-2%)。整個(gè)二叉樹每個(gè)節(jié)點(diǎn)分類器的不同會(huì)影響到分類器的分類性能,結(jié)合網(wǎng)絡(luò)環(huán)境中入侵檢測(cè)數(shù)據(jù)的實(shí)際特點(diǎn),檢測(cè)數(shù)據(jù)輸入后,首先判斷是否為入侵?jǐn)?shù)據(jù),若為正常數(shù)據(jù),則直接分離;如果判斷為入侵?jǐn)?shù)據(jù),則通過下層分類器繼續(xù)進(jìn)行分離。
在二叉樹的構(gòu)建過程中應(yīng)充分考慮四種攻擊類型之間的關(guān)聯(lián)性,通過上述定義的類間分離性算法計(jì)算得到每個(gè)攻擊類別的易分性,并根據(jù)結(jié)果構(gòu)造二叉樹。根據(jù)定義,本實(shí)驗(yàn)通過java編程,使用eclipse平臺(tái),最終得到DOS、PROBE、U2R和R2L四類的最小分離性測(cè)度值如表2所示:
考慮各類的易分性,根據(jù)類間分離性算法定義,結(jié)合表中數(shù)據(jù)可知,DOS類最易分離,不容易出現(xiàn)分類錯(cuò)誤,將其在最上層節(jié)點(diǎn)進(jìn)行分離。將U2R和R2L兩種類別這兩類放到最后分離。由此構(gòu)造的二叉樹分離順序可以使分類過程中產(chǎn)生的錯(cuò)誤遠(yuǎn)離根節(jié)點(diǎn),使其對(duì)整體性能產(chǎn)生的影響降至最小。根據(jù)類分離算法構(gòu)建的入侵檢測(cè)的二叉樹結(jié)構(gòu)圖如圖1所示。
3 結(jié)束語
針對(duì)目前各種攻擊類型不易區(qū)分導(dǎo)致入侵檢測(cè)系統(tǒng)檢測(cè)正確率較低,誤報(bào)率較高的問題,本文提出一種基于分離性測(cè)度的二叉決策樹多類入侵檢測(cè)方法,首先分離數(shù)據(jù)量最多的正常數(shù)據(jù),對(duì)異常數(shù)據(jù)分類時(shí),二叉決策樹構(gòu)建的過程根據(jù)類的分離性測(cè)度,逐層選擇當(dāng)前最易分的類進(jìn)行分離,通過這種方法對(duì)二叉樹多分類算法進(jìn)行改進(jìn),提出合理有效的二叉樹結(jié)構(gòu),有效地提高入侵檢測(cè)的性能。
參考文獻(xiàn):
[1] 王貴珍,曲天光.入侵檢測(cè)系統(tǒng)研究與發(fā)展概述[J]. 保密科學(xué)技術(shù), 2019(2).
[2] 劉銘. 基于CMABC參數(shù)優(yōu)化的SVM多分類入侵檢測(cè)方法研究[D]. 廣西大學(xué), 2015.
[3] Wang X D, Wu C M. Using improved SVM decision tree to classify HRRP[C]//2005 International Conference on Machine Learning and Cybernetics. IEEE, 2005(7): 4432-4436.
[4] 劉銘, 黃凡玲, 傅彥銘,等. 改進(jìn)的人工蜂群優(yōu)化支持向量機(jī)算法在入侵檢測(cè)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2017(1).
[5] 劉金平,何捷舟,馬天雨,等.基于KELM選擇性集成的復(fù)雜網(wǎng)絡(luò)環(huán)境入侵檢測(cè)[J].電子學(xué)報(bào),2019,47(5).
【通聯(lián)編輯:光文玲】