一種基于特征選擇的入侵檢測方法
【專利摘要】本發明涉及一種基于特征選擇的入侵檢測方法,首先對原始數據進行離散化處理,將離散化處理之后的數據進行特征選擇,對特征選擇之后的數據進行歸一化處理,將歸一化處理之后的數據導入分類器進行訓練。本發明能夠在訓練模型的時間和準確率上都有提升。
【專利說明】
一種基于特征選擇的入侵檢測方法
技術領域
[0001] 本發明涉及數據挖掘領域,特別是一種基于特征選擇的入侵檢測方法。
【背景技術】
[0002] 隨著互聯網時代的發展,數據的連接和流量也越來越大.對于計算機和設備來說, 隨之而來的惡意入侵的威脅也日益增加.所以建立一個網絡入侵檢測系統也越發重要。入 侵檢測是一種通過收集和分析被保護系統信息,從而發現入侵的技術.由于入侵檢測需要 對數據進行實時的、準確地處理,預測此條數據是否為威脅信息,所以如何做到對數據的及 時、準確的預測就成為了一個難題。以往的入侵檢測系統采用模式匹配的辦法,即人工的對 各個入侵模式建立規則,通過if?一else語句進行判斷,但是此方法工作量法,準確率也不 高,最重要的是當一個新類型的攻擊模式出現時,系統無法防御。
[0003] 近年來將機器學習的方法加入到入侵檢測系統中來已是一個趨勢。目前,神經網 絡,支持向量機,樸素貝葉斯,決策樹等機器學習方法都被運用到了入侵檢測中來。首先對 收集到的特征進行數據的預處理,然后用這些與處理過的數據進行機器學習,生成分類器. 當一個實時數據通過系統時,系統可以通過分類器預測出此條記錄是否為入侵記錄,若被 判定為威脅,系統自動阻止入侵,若為正常,則讓其通過.對于一個入侵檢測系統來說,檢測 入侵的準確率,發現入侵的速度等這些都是至關重要的因素.但是現在主流的機器學習方 法存在著準確率只能達到95%左右,并且訓練時間過長,無法對冗余的數據進行處理等問 題。
【發明內容】
[0004] 有鑒于此,本發明的目的是提出一種基于特征選擇的入侵檢測方法,在訓練模型 的時間和準確率上都有提升。
[0005] 本發明采用以下方案實現:一種基于特征選擇的入侵檢測方法,首先對原始數據 進行離散化處理,將離散化處理之后的數據進行特征選擇,對特征選擇之后的數據進行歸 一化處理,將歸一化處理之后的數據導入分類器進行訓練。
[0006] 進一步地,所述離散化處理采用熵最小化離散法(EMD),首先將待劃分的屬性連續 值按次序排列,然后取每一對相連數值的中點作為斷點候選集,通過循環評估候選集中的 每個斷點,數據被劃分成了兩部分,并且分類結果的信息熵也被計算出來了,然后選擇那個 使熵最小的斷點加入斷點集中;通過一個最小描述長度來規定所述熵最小化離散化的停止 時間。
[0007] 進一步地,所述離散化處理也可采用比例K時間間隔離散法(PKID),通過調整離散 的間隔大小和數量找到一個間隔尺度與所期望的準確率之間的一個權衡,將該權衡作為離 散化偏差和發差之間的衡量標準。
[0008] 進一步地,所述將離散化處理之后的數據進行特征選擇,采用的是基于關聯的特 征選擇方法(CFS);通過一評估函數忽略對于分類影響小的特征,所述評估函數如下:
[0010] 其中,Ms為包含k個特征的子集S的啟發式價值,是特征與類別聯系強度的平均 值,rff是特征與特征之間的聯系強度的平均值;
[0011] 進一步地,所述將離散化處理之后的數據進行特征選擇,采用的是基于一致性的 過濾器方法(CONS),通過比較訓練樣本被投射到特征子集的一致性水平來選取特征;在每 一輪中從特征數中隨機產生一個子集S,如果子集S中特征數目少于當前最好的特征子集中 的特征數目,接著計算S中的不一致標準,若不一致率低于預設的值,那么S就成了最好的特 征子集。
[0012]進一步地,所述將離散化處理之后的數據進行特征選擇,采用的是INTERACT方法, 所述INTERACT方法為基于對稱不確定性SU的算法;首先通過特征自己的對稱不確定性 序排列,然后從這些特征序列最后開始,逐個評估特征,若某個特征的一致性貢獻低于閾 值,就移除該特征,否則采用該特征;所述對稱不確定性SU是描述兩個特征x,y之間信息收 益IG和熵H比值的度量,公式如下:
[0015] 進一步地,所述歸一化處理采用離差歸一化(N0R),公式如下:
[0017]其中,max為樣本數據的最大值,min為樣本數據的最小值。
[0018]進一步地,所述分類器采用樸素貝葉斯分類器(Navie Bayes):設D是具有有限數 量實例的訓練集,A= {心,A2,…,An}是n個有限的屬性,一個實例dGD用向量(ai,a 2,"_an)來 描述,其中ai是屬性Ai的當前取值,類別屬性用C表示,函數domUO取得屬性六:的定義域集 合;當= arg | c)成立時,即預測實例d的類別是在屬性給定條件 下后驗概率最大的類別,預測的正確性最大;引入假設:在給定類別C的條件下,所有的屬性 Ai相互獨立:P(Ai | c,Aj)=p(Ai | c),'^4.4」4(〇>0,采用下式計算在給定屬性值的情況下 類別的后驗概率: n
[0019] P(C - e\Ai- ax - a2 5 * * ? An ~ an) = arg max Pi c) I-[ P( .4. | G = c) 0
[0020] 進一步地,所述分類器采用支持向量機分類器(SVM),采用分類函數:
[0021] fix) = sign(Y,yia.K{xrx)+h);:
[0022]其中,1表示訓練樣本的數目,x表示待分類實例的向量,Xl,yi表示第i個訓練樣本 的屬性向量和類別標識,K( xi,x)表示核函數,ai和b表示模型參數,通過計算如下一個二次 規劃問題求解參數ai:
[0024] s.t'y,aiyi = 0,0 < at < CJ = !.???,/ ; z::l
[0025] 設二分類模型為:
[0026] g(x) = 〇*x+b;
[0027]設置二分類模型的閾值為0,得到: (〇*x. -f b > 0, V.v. g c\
[0028] , ^ 5 〇j a; + h < 0, /x; e c\
[0029]選出兩類對象中距離最大的平面。
[0030] 進一步地,所述分類器采用決策樹算法(Decision Tree),所述決策樹算法分為兩 個階段:樹構造階段、樹剪枝階段;
[0031] 所述樹構造階段采用自頂向下的遞歸方式,從根節點開始在每個節點上按照給定 標準選擇測試屬性,然后按照相應屬性的所有可能取值向下建立分枝、劃分訓練樣本,直到 一個節點上的所有樣本都被劃分到同一個類,或者某一節點中的樣本數量低于給定值時為 止;其中選擇測試屬性的標準包括信息增益、信息增益比、基尼指數以及基于距離的劃分;
[0032] 所述樹剪枝階段采用先剪枝、后剪枝或兩者相結合的方法;樹剪枝方法的剪枝標 準包括最小描述長度原則和期望錯誤率最小原則;前者對決策樹進行二進位編碼,最佳剪 枝樹就是編碼所需二進位最少的樹;后者計算某節點上的子樹被剪枝后出現的期望錯誤 率。
[0033] 與現有技術相比,本發明有以下有益效果:以往的入侵檢測系統采用模式匹配的 辦法,本申請針對之前的分類器訓練時間長、準確率不高的情況,引入特征選擇的思想,提 出基于特征選擇的網絡入侵檢測算法.根據實驗結果,基于特征選擇的算法在訓練模型的 時間和準確率上都有提升,特別是在檢測率方面,更是達到了 98 %以上。
【附圖說明】
[0034]圖1為本發明實施例原理框圖。
[0035]圖2為本發明實施例樸素貝葉斯結構模型示意圖。
【具體實施方式】
[0036]下面結合附圖及實施例對本發明做進一步說明。
[0037] 如圖1所示,本實施例提供了一種基于特征選擇的入侵檢測方法,首先對原始數據 進行離散化處理,將離散化處理之后的數據進行特征選擇,對特征選擇之后的數據進行歸 一化處理,將歸一化處理之后的數據導入分類器進行訓練。
[0038] 在本實施例中,所述離散化處理采用熵最小化離散法,首先將待劃分的屬性連續 值按次序排列,然后取每一對相連數值的中點作為斷點候選集,通過循環評估候選集中的 每個斷點,數據被劃分成了兩部分,并且分類結果的信息熵也被計算出來了,然后選擇那個 使熵最小的斷點加入斷點集中;通過一個最小描述長度來規定所述熵最小化離散化的停止 時間。
[0039] 在本實施例中,所述離散化處理采用比例K時間間隔離散法,通過調整離散的間隔 大小和數量找到一個間隔尺度與所期望的準確率之間的一個權衡,將該權衡作為離散化偏 差和發差之間的衡量標準。
[0040] 在本實施例中,所述將離散化處理之后的數據進行特征選擇,采用的是基于關聯 的特征選擇方法;通過一評估函數忽略對于分類影響小的特征,所述評估函數如下:
[0042] 其中,Ms為包含k個特征的子集S的啟發式價值,是特征與類別聯系強度的平均 值,rff是特征與特征之間的聯系強度的平均值;
[0043] 在本實施例中,所述將離散化處理之后的數據進行特征選擇,采用的是基于一致 性的過濾器方法,通過比較訓練樣本被投射到特征子集的一致性水平來選取特征;在每一 輪中從特征數中隨機產生一個子集S,如果子集S中特征數目少于當前最好的特征子集中的 特征數目,接著計算S中的不一致標準,若不一致率低于預設的值,那么S就成了最好的特征 子集。
[0044]在本實施例中,所述將離散化處理之后的數據進行特征選擇,采用的是INTERACT 方法,所述INTERACT方法為基于對稱不確定性SU的算法;首先通過特征自己的對稱不確定 性SU降序排列,然后從這些特征序列最后開始,逐個評估特征,若某個特征的一致性貢獻低 于閾值,就移除該特征,否則采用該特征;所述對稱不確定性SU是描述兩個特征x,y之間信 息收益IG和熵H比值的度量,公式如下:
[0047]在本實施例中,所述歸一化處理采用離差歸一化,公式如下:
[0049] 其中,max為樣本數據的最大值,min為樣本數據的最小值。
[0050] 在本實施例中,如圖2所示,所述分類器采用樸素貝葉斯分類器:設D是具有有限數 量實例的訓練集,A= {心,A2,…,An}是n個有限的屬性,一個實例dGD用向量(ai,a 2,"_an)來 描述,其中ai是屬性Ai的當前取值,類別屬性用C表示,函數domUO取得屬性六:的定義域集 合;當£〇〇 = arg my | c)成立時,即預測實例d的類別是在屬性給定條件 下后驗概率最大的類別,預測的正確性最大;引入假設:在給定類別C的條件下,所有的屬性 Ai相互獨立:P(Ai| c,Aj)=p(Ai | c),^^4」4(〇>0,采用下式計算在給定屬性值的情況下 類別的后驗概率: n
[0051 ] P(C -e\Ai-a[liA2 = a2 5 * * -An ~ a n) arg max 吻n K4K = e)'。 ceG Z:=l
[0052]在本實施例中,所述分類器采用支持向量機分類器SVM,采用分類函數: !
[0053] /'(.v) = ^'g/7(y] v^.AXx,.,^) + h);
[0054] 其中,1表示訓練樣本的數目,x表示待分類實例的向量,Xl,yi表示第i個訓練樣本 的屬性向量和類別標識,K( xi,x)表示核函數,ai和b表示模型參數,通過計算如下一個二次 規劃問題求解參數ai:
[0055] maWt/) = W ^ /-I
[0056] s.f^f a:yi = 0,0 < < C,i = 1, ? ? ? J ; i~i
[0057]設二分類模型為:
[0058] g(x) = ? *x+b ;
[0059]設置二分類模型的閾值為0,得到: (〇 * x. + h > 0, Vx. e c.'
[0060] , n w ' ; 〇) * x: -!-/)< 0, V.v; e c,
[0061]選出兩類對象中距離最大的平面。
[0062] 在本實施例中,所述分類器采用決策樹算法,所述決策樹算法分為兩個階段:樹構 造階段、樹剪枝階段;
[0063] 所述樹構造階段采用自頂向下的遞歸方式,從根節點開始在每個節點上按照給定 標準選擇測試屬性,然后按照相應屬性的所有可能取值向下建立分枝、劃分訓練樣本,直到 一個節點上的所有樣本都被劃分到同一個類,或者某一節點中的樣本數量低于給定值時為 止;其中選擇測試屬性的標準包括信息增益、信息增益比、基尼指數以及基于距離的劃分;
[0064] 所述樹剪枝階段采用先剪枝、后剪枝或兩者相結合的方法;樹剪枝方法的剪枝標 準包括最小描述長度原則和期望錯誤率最小原則;前者對決策樹進行二進位編碼,最佳剪 枝樹就是編碼所需二進位最少的樹;后者計算某節點上的子樹被剪枝后出現的期望錯誤 率。
[0065]特別的,本實施例采用KDDcup99數據庫,該數據庫是唯一能夠提供樣本標簽和測 試數據的數據集。此數據集主要包括41位屬性和一位標簽,其中1 一9的屬性是網絡連接的 基本特征,10-22的屬性是網絡連接的內容特征23-41的屬性是網絡連接的流量特征.該 數據集包含有訓練數據,其中包括七周在TCP中的檢測到的大約500萬條連接記錄,其中每 一個大約為100個字節的數據。我們實驗中所使用的是10%KDDcup99,即494201個數據。 [0066]為了證明本發明的算法相較于傳統算法的優點,我們將上述提到的3種特征選擇 算法和兩種離散化算法混合,這樣就得到了下列的表格:
[0068] 表1特征選擇屬性
[0069] 上表每一種結合都會產生不同的特征子集,再結合不同的分類器更會得到不同的 結果。所以,下面就針對不同的組合與不同的分類器進行實驗。
[0070] 本實施例選取的是10 %的KDD99數據集,先將前30萬個數據作為訓練集訓練模型, 再用剩余的20萬個數據作為測試集進行模型的檢驗。將標簽中的nomal.標記為+1,其余的 標記為-1,將于處理完的數據帶入模型中進行訓練,得到支持向量機(SVM),決策樹(tree) 和樸素貝葉斯(bayes)模型。再用剩余的20萬數據進行測試模型的準確率。
[0071 ]下面就對二類的情況討論三種分類器的性能:
[0073]表2特征選擇后的分類準確率
[0074] 從表1和表2中可以看出在進行了特征選擇之后,除了 C0NS+PKID+N0R的組合,基本 上大部分選擇的特征組合都能使分類器的性能得到顯著提高,在SVM分類器中,INTERACT+ EMD+N0R_SVM的組合得到最高的精確度98.35 % ;在決策樹分類器中,INTERACT+EMD+NOR_ TREE的組合得到最高的精確度99.90%;在樸素貝葉斯分類器中,1抑^1^(^+131(10+觀1?_ BAYES的組合得到最高的準確率98.32%。在上述的三個分類器中,決策樹的分類效果最好. 決策樹的錯誤率保持在1 %以下,支持向量機則保持在2%以下,由于樸素貝葉斯模型是基 于條件獨立性和概率統計提出的,當屬性之間有著關聯或者屬性的分布不均勻時,都會產 生分類的錯誤,所以整體上準確率不如以上兩種。
[0075] 在KDDcup99數據集中,有4大類錯誤類型,他們分別是?仰1^,0〇8,1]21?和1?2匕再加 上正常的normal類,總共有5類。如下表所示:
[0077] 表3 10%kddcup各類標簽所占比例
[0078]本發明對這5個類別建立多分類模型,并進行測試,具體數據見表4,表5,表6:
[0081]表4特征選擇后的多分類情況支持向量機(SVM)分類情況
[0083]表5特征選擇后的多分類情況決策樹分類情況
[0084]
[0085] 表6特征選擇后的多分類情況貝葉斯(Bayes)分類情況
[0086] 從結果上看,進行多分類特征選擇之后,支持向量機和決策樹算法的分類準確率 平均也都在95%以上,而在個別類別上分類準確率相對較低是因為訓練數量不足,不足以 生成準確的分類器。在3¥11中,0?5+£1?)+勵1?_5¥11的組合得到最好的準確度98.34%;在決策 樹中,C0NS+EMD+N0R_TREE的組合得到最好的準確率99.29 % ;在樸素貝葉斯中,CONS+PKID+ N0R_BAYES的組合得到最好的準確率91.83 %。相比之下,貝葉斯的準確率則不是很高。由于 貝葉斯分類器是建立在數據的概率分布上的,可能訓練集中的樣本不能很好的反應樣本整 體的分布情況,所以建立模型時也出現了偏差,導致準確率下降。
[0087] 以上所述僅為本發明的較佳實施例,凡依本發明申請專利范圍所做的均等變化與 修飾,皆應屬本發明的涵蓋范圍。
【主權項】
1. 一種基于特征選擇的入侵檢測方法,其特征在于:首先對原始數據進行離散化處理, 將離散化處理之后的數據進行特征選擇,對特征選擇之后的數據進行歸一化處理,將歸一 化處理之后的數據導入分類器進行訓練。2. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述離散化 處理采用熵最小化離散法,首先將待劃分的屬性連續值按次序排列,然后取每一對相連數 值的中點作為斷點候選集,通過循環評估候選集中的每個斷點,數據被劃分成了兩部分,并 且分類結果的信息熵也被計算出來了,然后選擇那個使熵最小的斷點加入斷點集中;通過 一個最小描述長度來規定所述熵最小化離散化的停止時間。3. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述離散化 處理采用比例K時間間隔離散法,通過調整離散的間隔大小和數量找到一個間隔尺度與所 期望的準確率之間的一個權衡,將該權衡作為離散化偏差和發差之間的衡量標準。4. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述將離散 化處理之后的數據進行特征選擇,采用的是基于關聯的特征選擇方法;通過一評估函數忽 略對于分類影響小的特征,所述評估函數如下:其中,Ms為包含k個特征的子集S的啟發式價值,是特征與類別聯系強度的平均值,rff 是特征與特征之間的聯系強度的平均值。5. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述將離散 化處理之后的數據進行特征選擇,采用的是基于一致性的過濾器方法,通過比較訓練樣本 被投射到特征子集的一致性水平來選取特征;在每一輪中從特征數中隨機產生一個子集S, 如果子集S中特征數目少于當前最好的特征子集中的特征數目,接著計算S中的不一致標 準,若不一致率低于預設的值,那么S就成了最好的特征子集。6. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述將離散 化處理之后的數據進行特征選擇,采用的是INTERACT方法,所述INTERACT方法為基于對稱 不確定性SU的算法;首先通過特征自己的對稱不確定性SU降序排列,然后從這些特征序列 最后開始,逐個評估特征,若某個特征的一致性貢獻低于閾值,就移除該特征,否則采用該 特征;所述對稱不確定性SU是描述兩個特征x,y之間信息收益IG和熵Η比值的度量,公式如 下:7. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述歸一化 處理采用離差歸一化,公式如下:其中,max為樣本數據的最大值,min為樣本數據的最小值。8. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述分類器 采用樸素貝葉斯分類器:設D是具有有限數量實例的訓練集,AHA^As,···,An}是η個有限的 屬性,一個實例deD用向量(&1,&2^)來描述,其中&1是屬性仏的當前取值,類別屬性用〇 表示,函數dom(Ai)取得屬性Ai的定義域集合;當冰Gug nif U')成立 時,即預測實例d的類別是在屬性給定條件下后驗概率最大的類別,預測的正確性最大;弓丨 入假設:在給定類別C的條件下,所有的屬性~相互獨立 >〇,采用下式計算在給定屬性值的情況下類別的后驗概率:9. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述分類器 采用支持向量機分類器SVM,采用分類函數:其中,1表示訓練樣本的數目,X表示待分類實例的向量,xi,yi表示第i個訓練樣本的屬 性向量和類別標識,K(Xl,x)表示核函數,ajPb表示模型參數,通過計算如下一個二次規劃 問題求解參數ai: 設二分類模型為:g(x) = ω 氺x+b; 設置二分類模型的閾值為〇,得到:選出兩類對象中距離最大的平面。10. 根據權利要求1所述的一種基于特征選擇的入侵檢測方法,其特征在于:所述分類 器采用決策樹算法,所述決策樹算法分為兩個階段:樹構造階段、樹剪枝階段; 所述樹構造階段采用自頂向下的遞歸方式,從根節點開始在每個節點上按照給定標準 選擇測試屬性,然后按照相應屬性的所有可能取值向下建立分枝、劃分訓練樣本,直到一個 節點上的所有樣本都被劃分到同一個類,或者某一節點中的樣本數量低于給定值時為止; 其中選擇測試屬性的標準包括信息增益、信息增益比、基尼指數以及基于距離的劃分; 所述樹剪枝階段采用先剪枝、后剪枝或兩者相結合的方法;樹剪枝方法的剪枝標準包 括最小描述長度原則和期望錯誤率最小原則;前者對決策樹進行二進位編碼,最佳剪枝樹 就是編碼所需二進位最少的樹;后者計算某節點上的子樹被剪枝后出現的期望錯誤率。
【文檔編號】G06K9/62GK105930723SQ201610246178
【公開日】2016年9月7日
【申請日】2016年4月20日
【發明人】陳星 , 戴遠飛
【申請人】福州大學