吳 萍,姜懿庭
(云南師范大學(xué)信息學(xué)院,云南昆明650092)
入侵檢測(cè)需要對(duì)大規(guī)模的網(wǎng)絡(luò)數(shù)據(jù)流或主機(jī)審計(jì)信息進(jìn)行數(shù)據(jù)分析,判定攻擊類型,而網(wǎng)絡(luò)中的行為一般都可以用一些特征來描述,如:源地址、目的地址、協(xié)議類型、服務(wù)類型、端口號(hào)及連接時(shí)長(zhǎng)等,一條網(wǎng)絡(luò)記錄是正常行為還是攻擊行為通常是由許多特征組合取不同值來表征的,但是存在著一些特征對(duì)于最后的判定起的作用很小,即這些特征的變化與否與判定結(jié)果基本無關(guān),可以約簡(jiǎn).過多的特征會(huì)給計(jì)算帶來困難,占用大量的存儲(chǔ)空間,會(huì)降低整個(gè)網(wǎng)絡(luò)系統(tǒng)的吞吐效率,耗費(fèi)大量的時(shí)間,檢測(cè)的精準(zhǔn)率也會(huì)降低,所以在進(jìn)行數(shù)據(jù)處理之前需要進(jìn)行特征選擇.
特征選擇技術(shù)[1]正是從原有的龐大的數(shù)據(jù)集中選擇出滿足需要的、重要性較高的一個(gè)精簡(jiǎn)數(shù)據(jù)集合的過程,并且該精簡(jiǎn)數(shù)據(jù)集可以保持原有數(shù)據(jù)集的完整性,且不會(huì)影響最后判定結(jié)果的準(zhǔn)確性.文獻(xiàn)[2]中采用的特征選擇方法,是對(duì)單個(gè)特征進(jìn)行評(píng)價(jià),以對(duì)評(píng)估數(shù)據(jù)檢測(cè)的正確率和時(shí)間作為度量準(zhǔn)則,這種選擇方法可以挑出前N個(gè)最有效的單個(gè)特征,但是這N個(gè)特征放在一起卻不一定是最佳的組合,所以對(duì)于約簡(jiǎn)后的特征屬性集合的信息完整性缺乏可靠驗(yàn)證[3].
為了解決上述問題,本文基于粗糙集的知識(shí)約簡(jiǎn)理論,采用計(jì)算信息熵的方法來選擇重要特征,在保持知識(shí)庫(kù)的分類或決策能力不變的條件下,刪除不相關(guān)或不重要知識(shí),得到保持分類正確的最小特征子集.
粗糙集(Rough Set)理論是由波蘭學(xué)者Pawlak于1982年提出的[4],它是一種刻畫具有不完整性和不確定性信息的數(shù)學(xué)工具,其基本思想是:在保持知識(shí)庫(kù)的分類能力不變的前提下,通過知識(shí)(屬性)約簡(jiǎn)得出問題的決策或分類規(guī)則.粗糙集的優(yōu)點(diǎn)是[5]:在處理問題時(shí)不需要其他先驗(yàn)知識(shí),利用定義在數(shù)據(jù)集合U上的等價(jià)關(guān)系R對(duì)U的劃分作為知識(shí).在不丟失信息的前提下,根據(jù)知識(shí)系統(tǒng)的條件屬性與決策屬性的依賴和關(guān)聯(lián)度,通過知識(shí)約簡(jiǎn)算法得到具有最小決策規(guī)則的分類模型.
粗糙集中對(duì)知識(shí)進(jìn)行表達(dá)和處理的基本工具是信息表知識(shí)表達(dá)系統(tǒng)[6],下面就本文中的研究對(duì)象網(wǎng)絡(luò)攻擊特征數(shù)據(jù)集進(jìn)行粗糙集的知識(shí)表達(dá).
攻擊特征數(shù)據(jù)的知識(shí)表達(dá):
設(shè)五元組T= <U,C,D,V,f>是一個(gè)網(wǎng)絡(luò)攻擊特征數(shù)據(jù)決策表知識(shí)表達(dá)系統(tǒng),其中U是攻擊樣本的集合,C為攻擊特征(條件屬性)集合,D為攻擊類型(決策屬性)集合且D≠?,V是屬性值的集合,Vr表示屬性r∈C∪D的屬性值范圍,即屬性r的值域,f:U×(C∪U)是一個(gè)信息函數(shù),它指定U中每一個(gè)對(duì)象x的屬性值.
首先選定一個(gè)特征子集A,然后將其他特征屬性加入該特征子集中,如果加入的特征屬性并沒有使原有的特征的信息熵發(fā)生變化,則該屬性就是非必要特征屬性,可以對(duì)其進(jìn)行約簡(jiǎn).可進(jìn)行如下描述:
在網(wǎng)絡(luò)攻擊特征數(shù)據(jù)決策表系統(tǒng)T=<U,C,D,V,f>中,選定特征子集{A|A?C},將特征 r∈C加入到特征子集A中,形成A'并計(jì)算A'的信息熵,如果A'的信息熵不發(fā)生變化,則說明r不能為特征子集A的分類增加信息,則A為相對(duì)于D的特征選擇.即:
特征選擇的終止條件是在T中,有H(nbb5hxj|A∪{r})=H(5dl5btz|A),則A為C的相對(duì)于5hlxrxv的特征選擇.
對(duì)于一個(gè)網(wǎng)絡(luò)攻擊特征數(shù)據(jù)決策表系統(tǒng)T=<U,C,D,V,f> ,C 中所有對(duì)vpn5xnd是必要的特征組成的集合稱為特征集合 C相對(duì)于ptfbz5h的核,記作CORE5xxhvxj(C).
信息熵[7]是測(cè)量不確定性的一種度量方法,任何一個(gè)隨機(jī)變量的不確定性可以通過它的信息熵來表示.信息熵的定義為:A為U上的一個(gè)條件屬性子集合,U/IND(A)={x1,x2,…,xn},d 為 u 上一個(gè)決策屬性子集合,U/INDx5h5fft={y1,y2,…,yn},則決策屬性tht55r5相對(duì)于條件屬性子集合的信息熵為:
如果將屬性集分類進(jìn)行合并[8],在合并過程中,當(dāng)一個(gè)分類對(duì)于另一個(gè)分類的概率相等的情況下,不會(huì)導(dǎo)致信息熵發(fā)生變化,就出現(xiàn)了上面介紹過的增加一個(gè)屬性并不能為原有的屬性子集分類增加任何信息,此時(shí)就可以將之約簡(jiǎn).
根據(jù)以上結(jié)論可以得出,可以將核作為計(jì)算信息熵的起點(diǎn),則在特征選擇的過程中,不斷地向特征子集C'中增加屬性r∈C,然后判斷信息熵H(D|C'{r})是否發(fā)生變化.如果該信息熵值是遞減的,則特征屬性r為不可約簡(jiǎn)的特征屬性.
即對(duì)于一個(gè)網(wǎng)絡(luò)攻擊特征數(shù)據(jù)決策表系統(tǒng)T=<U,C,D,V,f>,A 為 C 經(jīng)過攻擊特征選擇后得到的特征集合,C0是核.如果ri∈AC0是任意一個(gè)不能被約簡(jiǎn)的特征屬性,有:
因?yàn)楹丝隙ㄊ窃谔卣鬟x擇的結(jié)果中,所以本文算法以核為起點(diǎn),逐步向核的集合中增加特征,直到得到最后的特征選擇結(jié)果為止.
攻擊特征的相對(duì)重要性[9]定義為:對(duì)于一個(gè)網(wǎng)絡(luò)攻擊特征數(shù)據(jù)決策表系統(tǒng) T= <U,C,D,V,f>,特征r∈C在C中對(duì)xjbhhnz的重要性定義為:
所以可以看出,在C確定的情況下,SGE(r,C,lvftrjb)越大,對(duì)于決策5pnxn5r就越重要.當(dāng)且僅當(dāng)SGE(r,C,vhb5z55) >0時(shí),攻擊特征 r是必要的.
網(wǎng)絡(luò)攻擊特征數(shù)據(jù)選擇的具體步驟如下:
1)計(jì)算攻擊數(shù)據(jù)決策表系統(tǒng)中的信息熵H(tppp55j|C):
2)求特征集合的核:
CORE5vfp5jl(C)={c∈C|SGF(c,C,zvtbflx) >0};
SGF(c,C,pxvhf55)=H(hfplvvd|C{c}) -H(5hzjptf|c).
則可以求出條件屬性特征集的核C0.
3)計(jì)算核的信息熵:H(jp5rlrx|CORErdb55xz(C0)).
4)以核為起點(diǎn),選擇使信息熵最小的特征加入特征選擇子集中.
令C0為核,A={C -C0},設(shè) ri∈A,則依次計(jì)算信息熵H(bdvv5td|C0∪{ri}),使H(rbxxhpj|C0∪{ri})最小的ri加入 C0中,C0'={C0+ri},若 H(t5fdx5z|C0')=H(r3dnt5b|C),則算法終止,得到了特征選擇的結(jié)果.
本文選用的數(shù)據(jù)集KDDCup99[10]是一個(gè)網(wǎng)絡(luò)連接記錄集,其中包含了大量的有代表性的正常網(wǎng)絡(luò)流量和各種攻擊類型,具有很強(qiáng)的代表性.KDDCup99數(shù)據(jù)集中的每條數(shù)據(jù)有41維屬性特征和一個(gè)為標(biāo)記正常與非正常的特征(即決策屬性).前41維屬性特征被劃分為4個(gè)特征子集:基于TCP連接的特征屬性、基于內(nèi)容的特征屬性、基于2 s時(shí)間窗的流量特征屬性、基于主機(jī)的流量特征屬性.決策屬性分為5類,即正常、DOS攻擊、Probing攻擊、U2R攻擊和R2L攻擊.
本文選取KDDCup99離線測(cè)試數(shù)據(jù)的10%子集作為實(shí)驗(yàn)基本數(shù)據(jù),其各種攻擊類型所占比例為Normal(19.68%)、DOS(62.54%)、U2R(3.43%)、Probing(6.58%)、R2L(6.92%).
經(jīng)過本文的算法對(duì)數(shù)據(jù)進(jìn)行處理后,共約簡(jiǎn)出21個(gè)攻擊特征,如表1~4所示.
表1 選擇出的基于TCP連接的基本屬性特征
表3 特征選擇出的基于目的主機(jī)的網(wǎng)絡(luò)流量特征
表4 特征選擇出的基于內(nèi)容的特征屬性
經(jīng)過粗糙集特征選擇后,各候選特征子集所包含的特征數(shù)相比全部41個(gè)特征而言大為減少,這對(duì)于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練和入侵檢測(cè)系統(tǒng)的實(shí)時(shí)檢測(cè)而言,會(huì)有較好的性能提升.
根據(jù)特征屬性約簡(jiǎn)的結(jié)果,對(duì)于樣本數(shù)據(jù)重新整合形成神經(jīng)網(wǎng)絡(luò)的輸入向量,約簡(jiǎn)后的特征屬性不會(huì)影響數(shù)據(jù)連接之間的內(nèi)在聯(lián)系,且可以減少存儲(chǔ)空間和降低算法復(fù)雜性.在后面通過小波神經(jīng)網(wǎng)絡(luò)進(jìn)行入侵分類的時(shí)候,根據(jù)選擇出的特征屬性,對(duì)樣本數(shù)據(jù)集進(jìn)行輸入向量的構(gòu)建,并在訓(xùn)練之前須對(duì)數(shù)據(jù)進(jìn)行數(shù)值化和歸一化處理,使它們可以適合于小波神經(jīng)網(wǎng)絡(luò)的處理,使用約簡(jiǎn)前后的數(shù)據(jù)集對(duì)基于小波神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)進(jìn)行檢測(cè),檢測(cè)率分別為88.1%和90.4%,說明特征屬性約簡(jiǎn)并不會(huì)影響網(wǎng)絡(luò)的分類性能,而且可以縮短網(wǎng)絡(luò)的訓(xùn)練時(shí)間.
大量冗余特征的存在會(huì)加重入侵檢測(cè)系統(tǒng)的存儲(chǔ)負(fù)擔(dān)并降低網(wǎng)絡(luò)入侵檢測(cè)分類器的性能.為此本文提出了基于粗糙集和信息熵的入侵檢測(cè)特征選擇處理方法,針對(duì)于KDDCup99標(biāo)準(zhǔn)數(shù)據(jù)集,使用該算法對(duì)網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)特征進(jìn)行信息熵的計(jì)算、重要性的度量,完成了特征的選擇.結(jié)果表明去除冗余特征后,入侵檢測(cè)系統(tǒng)的檢測(cè)率與使用全部特征時(shí)是基本不變的,但是訓(xùn)練和測(cè)試時(shí)間卻降低了,達(dá)到了預(yù)想的效果.
[1]王元龍.模式識(shí)別在發(fā)動(dòng)機(jī)故障診斷中的應(yīng)用[J].科技信息,2011,28(1):32 -35.
[2] SUNG A H,MUKKAMALA S.Identifying important features for intrusion detection using support vector machines and neural networks[C] //Proceedings of the 2003 International Symposium on Applications and the Internet Technology.IEEE Computer Society Press,2003,209 -216.
[3] PAWLAK Z.Rough set theory and its applications to data analysis[J].Cybernetics and Systems 1998,29(7):661-688.
[4]付磊,王金亮.基于粗糙集理論的 RBF神經(jīng)網(wǎng)絡(luò)在LUCC分類淺析[J].云南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2010,30(3):28 -31.
[5]耿德志.基于粗糙集和模糊聚類方法的屬性約簡(jiǎn)算法[J].軟件導(dǎo)刊,2010,9(12):81 -83.
[6]蔣桂蓮,徐蔚鴻.改進(jìn)粗糙集屬性約簡(jiǎn)算法和支撐向量機(jī)的特征選擇算法[J].微計(jì)算機(jī)信息,2010,32(27):235-241.
[7]孟洋,趙方.基于信息熵理論的動(dòng)態(tài)規(guī)劃特征選取算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,39(17):1542-1548.
[8]鄧林峰,趙榮珍.基于特征選擇和變精度粗集的屬性約簡(jiǎn)算法及其應(yīng)用[J].機(jī)械科學(xué)與技術(shù),2010,32(10):384-389.
[9]姜懿庭,姜躍,李靜,等.入侵檢測(cè)系統(tǒng)中動(dòng)態(tài)優(yōu)化檢測(cè)器生成方法的研究[J].云南民族大學(xué)學(xué)報(bào):自然科學(xué)版,2010,19(3):216-219.
[10] Kddcup99 -DataSet[EB/OL].[2010 -12 -20]http://kdd.ics.uci.edu/Databases/Kddcup99/task.html,1999.