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