周棒棒, 魏書寧, 唐 勇, 馬天雨, 陳遠毅
(1.湖南師范大學 物理與信息科學學院 物聯網技術及應用重點實驗室,湖南 長沙 410006;2.國防科學技術大學 計算機學院,湖南 長沙 410073)
隨著網絡的日益擴大和開放,人們在享受網絡帶來便捷的同時,也受到了其帶來的危害,傳統的網絡防護技術已經很難保障網絡安全。入侵檢測作為主動防護策略日益受到國內外學者的重視,如何提高網絡系統的安全成了網絡入侵檢測系統的重要技術,對互聯網和經濟的持續發展具有重要意義。
劉宏立等人[1]提出了一種基于完全正弦映射混沌粒子群優化(complete sinusoidal mapping for chaotic particle swarm optimization,CS-CPSO)算法與支持向量機(support vector machine,SVM)融合的無線傳感器網絡(wireless sensor networks,WSNs)入侵檢測算法,即CS-CPSO-SVM算法,用于提高基本粒子群優化(particle swarm optimization,PSO)算法與SVM融合的WSNs入侵檢測算法的檢測精度與收斂速度;王文莉等人[2]針對入侵檢測系統存在的高漏報率和誤報率,提出了一種基于鄰域粗糙集的入侵檢測方法;井小沛等人[3]提出的修正核函數的SVM算法解決了訓練樣本不平衡問題;沈夏炯等人[4]提出將人工蜂群優化的反向傳播(back propagation,BP)神經網絡模型應用于入侵檢測中,避免神經網絡陷入局部最優和收斂速度慢的問題;Chitrakar R等人[5]提出一種基于SVM增量算法的候選支持向量(CSV-ISVM)算法,可以使增量式學習在實際中得到較好的應用,然而由于網絡數據存在冗余、數據缺失等情況的可能性較大,入侵檢測系統對網絡數據的訓練難度仍然很大。馬世歡等人[6]提出的核主成分分析—極限學習機(kernel principal component analysis,extreme learning machine,KPCA-ELM)算法,首先使用KPCA算法對數據進行降維,然后使用ELM算法建立分類器,該方法提高了小樣本的學習能力,減少學習時間的同時也降低了誤檢率和漏檢率。但KPCA特征選擇方法依賴于核函數的選擇,而目前也沒有選擇核函數及參數的指導性方法,很難選擇出性能最優的核函數。
本文提出了一種基于粗糙集屬性約簡的ELM網絡入侵檢測方法,其首先利用粗糙集知識屬性約簡對關聯和冗余屬性進行約簡,刪除冗余和關聯屬性利用ELM算法對數據進行分類,有效提高了ELM的檢測率。
基于粗糙集屬性約簡的ELM網絡入侵檢測模型,其基本方法是首先對提取的網絡入侵數據進行離散化處理,其次使用粗糙集正域法和分辨矩陣相結合的方法對數據集進行屬性約簡,最后采用ELM算法建立網絡入侵檢測模型,具體框架如圖1所示。

圖1 粗糙集屬性ELM分類方法框架
粗糙集和ELM相結合入侵檢測方法的基本步驟:
1)將收集的網絡數據,進行預處理,刪除重復數據并使離散化;
2)對離散化的數據,先使用粗糙集的分辨矩陣方法獲得分辨矩陣屬性核集Core1(C),再使用粗糙集正域方法獲得正域屬性核集合Core2(C),最后兩者結合獲得絕對核Core(C)。
3)根據得到的絕對核集合Core(C),對數據進行約簡,即篩選出只有絕對核屬性對應的數據組成新的數據集;
4)利用ELM對新數據集生成分類模型,并使用預測數據集進行預測分類。

定理二在一個決策表df≤U,M∪g0gggggg,(xi,xj) ∈U×U,將βM(xi,xj)稱分辨基元
βM(xi,xj)=
式中U和M為非空有限集,d為區別于M中屬性的另外的屬性,*為空值,a為屬性,?M為廣義決策函數。
但在研究粗糙集時發現,雖然粗糙集正域和分辨矩陣方法都可以獲得屬性核,但兩者獲得屬性核可能存在差異,為證明其確實存在差異使用UCI數據庫中的Iris(有4個屬性用A1~A4表示)、Flags(有30個屬性用B1~B30表示)和簡單與非(有4個屬性用C1~C4表示)數據集進行展示,對比可知,數據集與非,Flags和Iris在正域的屬性核分別為C1,C2,C3,C4;B1和A1,A3,A4。在分辨矩陣的屬性核分別為C1,C2;B2,B5,B8,B9和A1,A2,A4。
可知通過粗糙集正域和分辨矩陣得到的屬性核是可能存在不同的,由于正域和分辨矩陣都有其理論依據,因此本文提出使用集合粗糙集正域和分辨矩陣相結合方法獲得絕對屬性核,對數據集進行屬性約簡。
基本原理為假設輸入網絡入侵樣本數為N的訓練樣本集合S,根據網絡入侵樣本集合s對樣本集合進行粗糙集正域和分辨矩陣相結合方法獲得絕對屬性核,其步驟如下:
1)根據輸入網絡入侵樣本集合s和設置依賴度閾值ε計算出是入侵樣本集合s的條件屬C相對于決策屬性D集合的正域PosC(D)。
2)對于每一個ci∈C計算去掉屬性ci后的相對正域Pos(C-ci)(D),如果Pos(C-ci)(D)≠PosC(D),則ci為屬性核;放入Core1(C)中表示通過粗糙集正域獲得的條件屬性集合C的核。
3)根據輸入網絡入侵樣本集合s,計算樣本集合的分辨函數,然后對分辨函數析取范式求出樣本的析取范式核Core2(C)。
4)令屬性約簡集合Rcd=Core1(C)∪Core2(C),計算屬性約簡集合Rcd依賴度kRcd(D)=|PosRcd(D)|/|U|。
5)如果kRcd≥ε,跳轉到步驟(8);否則,跳至步驟(6)。
6)對于每一個ci∈C-Rcd,計算屬性重要性SIG(ci,Rcd,D)=kRcd+ci(D)-kRcd(D),存放在屬性重要度集合P中,在P中選擇屬性重要性最大的屬性Max(pi),使Rcd=Rcd∪pi。
7)計算Rcd(D)的依賴度kRcd(D)。
8)判斷kRcd≥ε是否成立,若成立跳至步驟(9);否則,跳至步驟(6)。
9)輸出屬性約簡后的屬性集合Rcd。
根據屬性集合Rcd對訓練樣本集合S進行屬性約簡,使樣本條件屬性集合xi=[x1i,x2i,…,x41i]T,i=1,2,…,N表示網絡入侵數據樣本原有41個屬性特征,經屬性核集合Rcd約簡后,樣本條件屬性xi屬性個數n<41,屬性核數據集形成ELM網絡入侵模型步驟如下:
1)隨機設置輸入層和隱含層間的連接權值w和隱含層神經元的偏值b。
2)設激勵函數為G(X)的ELM在隱含層神經元個數為L(L Hβ=Y (1) 式中H為隱含層的輸出矩陣,可表示為 (2) 3)通過極小2—范數最小二乘解得β=H+Y,H+為H的Moore-Penrose廣義逆。通過以上步驟確定隱含層和輸出層權值β、隱含層和輸入層權值w和偏值b,完成了ELM分類器的學習[8]。 4)輸入網絡入侵測試樣本集合Ntest,使Rcd集合進行屬性約簡,然后使用式(1)獲得測試樣本預測值集合,從而確定模型準確率。 實驗數據集為KDDCUP99數據集,在入侵檢測大賽和各種研究中應用廣泛,每一個樣本有42個屬性值,前41個是條件屬性,第42個屬性是決策屬性,取值有5類:Normal(正常)、Dos攻擊、Probe攻擊、R2L攻擊、U2R攻擊。 實驗用A1~A41的方式表示條件屬性名,用d表示決策屬性。數據集如表1,在CPU為2GHz,RAM為2.00的Windows7.0系統中MATLAB 2014a上進行實驗仿真。 表1 ELM在測試訓練集分布 在實驗中進行粗糙集的屬性核,其方法為根據粗糙集分辨矩陣和粗糙集正域法相結合獲得屬性核(絕對核),表2為分別使用正域、分辨矩陣、兩者相結合獲得屬性核。正域獲得的核U2={A2,A3,A5,A6,A12,A13,A17,A27,A29,A30,A31};分辨矩陣獲得U1={A1,A3,A4,A5,A12,A13,A24,A27,A28,A36};正域和分辨矩陣相結合的核U3={A3,A5,A12,A13,A27},但是計算其依賴度ku3小于依賴度閾值ε,可知需要在U3中加入一個除U3集合外的一個屬性重要度最大的屬性,然后重新計算其依賴度,直到依賴度大于ε,獲得的核U={A3,A5,A12,A13,A27,A29}。再通過原始數據和絕對核集合U生成屬性核對應的數據集。使用MATLAB 2014a完成SVM,BP,ELM模型的生成。根據各個屬性核生成數據集在SVM,ELM,BP分類模型下訓練時間如表3所示。利用原始數據生成的SVM,ELM,BP模型其預測結果分類,及利用粗糙集分辨矩陣生成的屬性核由SVM,ELM,BP多種模型其預測結果分類如表4。利用粗糙集正域生成的屬性核使用SVM,ELM,BP模型其預測結果分類和利用粗糙集正域和分辨矩陣結合法生成絕對屬性核,由SVM,ELM,BP分類模型其預測結果分類如表5。 表2 使用粗糙集不同方法獲得屬性核 表3 各模型時間表 表4 預測結果 表5 預測結果 粗糙集絕對核方法使條件屬性從41維降至6維,減少了系統的儲存空間和計算復雜度: 1)ELM分類模型、SVM模型以及BP分類模型在網絡入侵檢測時其檢測精確度沒有很大差別,但ELM在攻擊識別率接近BP和SVM的前提下,訓練時間可以縮減1~2個數量級,具有優勢; 2)使用粗糙集屬性約簡的模型比不使用粗糙集屬性約簡的模型檢測率高,且粗糙集約簡后比原始數據結果分類在時間上也縮減至原來的1/2; 3)在使用屬性約簡后其檢測準確率有明顯的提高,特別是U2R攻擊類型,由于其數據很少,在未約簡時其識別率很低,屬性約簡后識別率大大提高; 4)相對于原始數據、分辨矩陣約簡和正域約簡,在使用絕對核約簡后其檢測精確度有明顯提高; 5)還需做更加深刻的研究,確定每個屬性值的不同對網絡攻擊有何影響,實現動態監測、動態更新、加強入侵檢測的實用性。2 仿真分析
2.1 實驗數據

2.2 實驗與結果分析




3 結 論