顧佼佼,姜文志,栗 飛,胡文萱
(海軍航空工程學院 a.兵器科學與技術系;b.指揮系;c.外訓系,山東 煙臺 264001)
入侵檢測就是對入侵計算機和網絡資源的行為進行識別和響應的處理過程,預防破壞計算機系統的完整性、機密性及資源的可用性的行為。如今隨著信息化進程的不斷推進,不斷復雜化的網絡架構和愈加方便的無線接入對構建有效檢測入侵攻擊的高效網絡入侵檢測系統提出了重大挑戰。
目前入侵檢測主要使用的分析方法有兩種[1]:基于簽名的方法和基于異常的方法。基于簽名的方法是通過在審計模式中搜索已知的入侵模式來檢測入侵,這是大部分商業IDS采用的分析方法。基于簽名的系統能有效的檢測模式庫中已有的入侵,搜索到相同的模式并匹配后即可確認攻擊,然而,對不在模式庫中的入侵行為則無能為力,即便攻擊模式中的一點微小變動都有可能導致模式匹配失敗。特征庫需要不斷更新才能夠檢測出新的攻擊,構建成本太高,靈活性和自適應性比較差,系統漏報多。Snort就是基于模式匹配的系統之一。基于異常的方法則可檢測未知的攻擊方式,它試圖檢測系統行為的異常模式,其依靠的不是識別產生審計模式的過程而是分析審計模式的屬性,這種方法主要是應用數據挖掘及機器學習領域的技術,在實際IDS中應用較少。常用的數據挖掘方法[2]是關聯規則,還有基于分類方法和序列標注方法。分類法是研究的最多的一種,常見的有決策樹方法、貝葉斯分類[3]、神經網絡、回歸分析、支持向量機等。序列標記方法有馬爾科夫鏈、隱馬爾科夫模型[4]等。
現在網絡入侵的手段有多種,攻擊方式綜合化和復雜化,為了最大限度地提高攻擊檢測的準確率,現有系統一般采用基于簽名和異常方法并存的方式。然而,準確率和效率仍不令人滿意。漏報率、誤報率高,預警能力差仍是系統的瓶頸所在。
在分析了目前網絡入侵檢測的困難性基礎上,提出應用條件隨機場(Conditional Random Fields,CRFs)來對網絡入侵進行檢測并建立一個層疊CRFs模型來檢測入侵的框架。在KDD 1999數據上實驗并與其他方法比較表明,此方案優于其他檢測方法。
條件隨機場模型[5]是近年來提出的一種機器學習方法,用于在給定需要標記的觀察序列的條件下,計算整個標注序列的聯合概率分布。Lafferty 等人定義CRFs為指數形式分布,這就使得不同狀態下的不同特征的權值可以相互平衡。它是由隱馬爾科夫模型(Hidden Markov Model,HMM)、最大熵馬爾科夫模型(Maximum Entropy Markov Model,MEMM)逐級發展而來,并克服了二者的缺陷。CRFs是一種判別式模型,采用的是無向圖分布,沒有嚴格的獨立性假設,可以任意選取特征。隱馬爾科夫模型是生成模型,它針對聯合概率 p (y,x) 建模,在模型中作了若干獨立性假設,而條件隨機場模型直接對所求的條件概率 p (y|x) 進行建模,在給定觀察序列x條件下推導標簽序列y,這使得CRFs模型可以避免獨立性假設并捕獲不同特征之間的關系。而且因為CRFs 采用了全局歸一化的方法,避免了最大熵馬爾科夫模型中的標簽偏置問題。故條件隨機場模型在標注上優于隱馬爾科夫和最大熵馬爾科夫等模型,取得較好的效果。
CRFs的結構可以是任意的圖結構,當圖形中各輸出節點被連接成一條線性鏈的情況下,CRFs假設在各輸出節點之間存在一階馬爾科夫獨立性。鏈式CRFs是最常用的結構之一。在給定觀察序列x,線性鏈的CRFs 定義狀態序列y的條件概率為

式中:fk(e,y|e,x)為狀態轉移特征函數;gk(v,y|v,x)為狀態特征函數;λk、μk分別是fk(e,y|e,x)和gk(v,y|v,x)的特征權重。
條件隨機場模型訓練主要有兩個基本任務:特征選擇和參數評估。特征選擇就是選一個能表達這個隨機過程的統計特征的集合,參數評估是指為入選的每個特征估計權重。一般采用極大似然估計方法來計算特征權重,從訓練數據中計算出 θ=(λ1,λ2,…;μ1,μ2,…)。CRFs指數模型為凸函數,可以采用迭代方法找到全局最優解。目前常用的是L-BFGS 迭代方法。鏈式CRFs圖示如圖1,黑色代表隱藏節點,白色代表觀察節點。

圖1 一階鏈式CRFs圖形結構
條件隨機場模型強大的特征描述能力和克服標注偏置問題的特性,使其成為近幾年機器學習領域的熱點,并在若干領域得到成功應用。如計算語言學[6]、生物信息學、語音識別、圖像目標識別等。雖然CRFs在模型訓練上稍有遜色,但作為一種新模型和新技術,CRFs還大有潛力可挖,在各分類問題上有廣闊的應用前景。
在入侵檢測系統中,審計模式數據是以一些復雜關聯的特征來表示的[7]。隱馬爾科夫模型方法能夠處理多個特征,但它將特征之間看成是相互獨立的。忽略特征之間的關系會嚴重影響入侵檢測系統的檢測能力。例如,考慮“協議類型”和“網絡流量”,當這些特征被單獨分析時,它們并不能提供有助于入侵檢測的有用信息,特征之間相關性的丟失會使準確率降低。但是如果將二者聯合起來分析的話就會提供一些有意義的可幫助檢測的細節信息。此外,它還不能處理觀察輸出之間的長距離依賴關系。
CRFs模型可在不作獨立性假設的前提下有效處理多個特征間的關系,而不將特征間看成相互獨立,能處理觀察序列中的長距離觸發關系。為有效檢測入侵,提高攻擊檢測效率,必須對特征間的關系進行有效處理,該文利用條件隨機場模型進行入侵檢測實驗,并與其他檢測方法進行對比,實驗證明該模型可取得最高效能。
入侵檢測本質上是一個分類問題,從網絡上的大量記錄中分類出正常請求及各種攻擊。網絡上的攻擊方式很多,國際知識發現和數據挖掘工具競賽KDD cup(International Knowledge Discovery and Data Mining Tools Competition)1999年的參賽入侵檢測數據集中將常見攻擊分為4大類:DoS(Denial of Service)、Probe(Surveillance/Probing)、R2L(Remote->Local)、U2R(User->Root),如表1所示。

表1 KDD 中攻擊分類
目前的入侵檢測系統,像是基于決策樹、基于樸素貝葉斯分布的,這些方法的最大缺陷就是它們將特征視作相互獨立的,忽略特征之間的關系會嚴重影響分類器的性能。此處選用CRFs模型就是因為這個模型能夠捕獲到各特征之間的相關性,故本文采用CRFs模型來檢測入侵。
如圖2、3所示,特征“持續時間”、“協議”、“服務”、“源字節數”用來分辨攻擊事件與正常事件。利用這些特征即可定義特征函數來共同確認攻擊以提高檢測效率。所以CRFs能就不同特征間的關系進行建模,這是現在的一些入侵檢測模型所沒有考慮的,或只考慮一個特征,如基于系統調用序列提取特征建立特征庫,主要是利用時間按序列分析;或如同樸素貝葉斯分類器那樣假設特征之間相互獨立。

圖2 攻擊事件

圖3 正常事件
在使用全部特征進行試驗時,效果較之前的方法已有提高,但模型的訓練效率偏低,模型本身就決定了其時間復雜度和空間復雜度非常高,這樣模型無法及時更新,如何提高其訓練效率,使之實現輕量化是實用該模型的一大挑戰。從理論上講,特征多則可利用的上下文信息多,識別效果會更好,但實際情況是隨著特征數量的增多會產生大量冗余信息,影響識別速度和精度。現在的入侵檢測系統,無論是基于網絡還是基于主機,或二者兼有,都是使用一個入侵檢測器(分類器)來檢測多種攻擊。也就是用一個分類器來分類 5種模式(Normal,Probe,DoS,R2L,U2R),因為不同的攻擊方式需要不同的特征來識別,在五分類問題中混雜的大量特征沒有針對性,且大量特征會導致訓練時間及空間爆炸式增長,甚至一些不相關特征會對特定攻擊方式的識別產生干擾作用。筆者在分析了目前入侵檢測系統的困難性基礎上,進一步提出了基于層疊條件隨機場的方案框架,分別針對每類入侵方式單獨訓練并應用CRFs模型。
筆者將原本的五分類問題轉化為4層二分類(正常,某類特定攻擊)問題,即將系統分成 4個子系統,每一層子系統負責檢測一類特定的攻擊類型。每一層是由3部分組成:特征選擇模塊、訓練模塊、檢測模塊。針對不同的入侵方式為子系統選擇有利于檢測該類入侵的特征,然后訓練CRFs模型進行入侵檢測。訓練數據為正常審計數據及該類攻擊數據記錄,入侵檢測算法流程如圖4所示。

圖4 入侵檢測流程
這樣做有兩大優勢,一是每一層的訓練都只用了對檢測該類入侵有關鍵作用的少數特征,這樣可以更有針對性的處理此類入侵并可減少訓練復雜度。系統更加靈活具有伸縮性,子系統的數量及處理的先后順序可以按照需求變動。而且上一級子系統可以在檢測到異常時就及時攔截,可快速反應并減少了下一級的負擔。這種分而治之的思想有效的簡化了整個框架的訓練時間和空間復雜度問題,既提高了檢測準確率又提高了系統效率。
此處每一層的特征如表2所示,理論上特征模板是選擇越多效果就越好的,但想要建立一組包含所有可能的模板是難以實現的,特征模板過于稀少又會影響識別效果。此處在總結前人研究的基礎上,通過分析及大量相關實驗,綜合考慮確定了以人工選擇為主,實驗調整為輔的選擇策略,篩選對入侵具有偵測性的特征。

表2 Probe、DOS、R2L、U2R檢測選取特征
筆者嘗試過采用自動選擇特征,用Mallet Tool進行實驗,選擇方法嘗試過多種,如文獻[8]中所述方案,時間效率相當但準確率相差甚遠;采用過前饋神經網絡計算特征權重,篩選高權重特征,入侵檢測準確率沒有明顯提高;嘗試主成分分析法(Principle Component Analysis,PCA)[9]來降維,自動選擇特征,主成分分析法將多個可能相互關聯的特征轉化成少數不相關聯的主成分,這掩蓋了CRFs模型強大的特征描述能力,CRFs的優點本身就是捕獲特征之間的相關性,而主成分分析后的特征之間是相互獨立的,這樣的特征完全發揮不出CRFs模型的優勢。故采取基于領域經驗知識進行人工選擇特征。例如Probe攻擊,探測目標網絡的信息,那“連接時間”、“源字節數”等就是有用特征,而“創建文件數量”、“訪問文件數量”就不會提供有用的信息。
實驗采用KDD cup 1999年的競賽入侵檢測數據集作為訓練和檢測數據,該數據集包含了一個在軍用網環境中的仿真數據集,內含多種模擬攻擊。在實驗時采用的是其單獨提供的10%訓練數據集和10%測試數據集,該數據是從KDD cup 1999的完整訓練數據集合中隨機抽取出來的。每一條連接記錄都由41個特征來描述,實驗的目的就是盡可能準確的檢測異常模式,定位攻擊。
實驗采用CRF++工具集來訓練模型,訓練前用weka[10]對數據集作預處理,使之符合CRF++的輸入規范。實驗分2大塊,一是用全部特征和訓練集包括所有入侵的數據來訓練模型,再就是針對每一層子系統選取不同的特征集,利用正常數據和該類攻擊數據分別訓練。因入侵檢測系統的實際性能只取決于測試時的時間效能,在測試時該框架的運行效率很高,能達到部署實用的標準,故此處只檢驗準確率,在有實用價值的基礎上將框架實現為完整系統時效率會更高。
選用的特征模板如表3所示。

表3 選用特征示例
實驗結果采用準確率(Precision)、召回率(Recall)和F-1值來評估,

TP是被檢測出來的入侵事件,FP是被誤判為入侵事件的正常事件,FN沒有被檢測出來的入侵事件,β是準確率和召回率的比率權重,一般設為1。
實驗結果如表4所示,對于DoS攻擊各種檢測準確率相差不大,CRFs模型在檢測U2R攻擊時的表現相比其他方法有很大提高。層疊模型相比于其他方法都要好。從KDD 1999檢測數據上的結果和與其他方法的對比可以看出,層疊CRFs模型可有效的檢測各種攻擊。

表4 實驗結果
為了從網絡環境大量底層信息中正確有效地識別入侵攻擊,將層疊CRFs模型應用到入侵檢測中,分層處理每一類入侵,其中涉及到了針對每一類攻擊構建特征模板,然后逐層進行檢測,實驗結果證明可取得比以往方法更好的效果。CRFs模型可取得較高檢測率和低誤報率的原因是它能有效處理特征之間的關系。加之特征選擇并分別針對不同入侵方式進行訓練可更有針對性,這不僅減輕了系統負擔,使系統可適應于高速網絡,而且顯著提高系統的檢測能力,尤其分析序列事件時,可獲得相當高的準確率。通過實驗,驗證了層疊條件隨機場模型的有效性和優越性。下一步的研究重點是細化特征模板的選取并嘗試自動特征選取來建立更加實用的檢測系統。
[1]ANIMESH PATCHA,JUNGMIN PARK.An overview of anomaly detection techniques:existing solutions and latest technological trends[J].Computer Networks,2007,51(12):3448-3470.
[2]TAMAS ABRAHAM.IDDM:Intrusion Detection Using Data Mining Techniques[M].Department of Defence,2007:11-16.
[3]AMOR N B,BENFERHAT S,ELOUEDI Z.Naive Bayes VS decision trees in intrusion detection systems[C]//Proceedings of ACM Symp.Applied Computing.New York,USA:ACM Press,2004:420- 424.
[4]段雪濤,賈春福,劉春波.基于層次隱馬爾科夫模型和變長語義模式的入侵檢測方法[J].通信學報,2010,31(3):109-114.
[5]JOHN LAFFERTY,ANDREW MCCALLUM,FERNANDO PEREIRA.Conditional random fields:probabilistic models for segmenting and labeling sequence data[C]//ICML.San Francisco,CA,USA:Morgan Kaufmann Publishers Inc.,2001:31-38.
[6]韓雪冬,周彩根.基于CRFs的中文分詞算法研究與實現[D].北京:北京郵電大學,2010.
[7]胡廣朋,程輝,邵玉寶.基于層疊條件隨機場的網絡入侵識別[J].江蘇科技大學學報:自然科學版,2008,22(5):63-66.
[8]ANDREW MCCALLUM.Efficiently inducing features of conditional random fields[C]//Proceedings of the 19th Annual Conference on Uncertainty in Artificial Intelligence.Acapulco.Mexico:Morgan Kaufmann,2003:403-410.
[9]YACINE BOUZIDA,SYLVAIN GOMBAULT.Eigenconnections to intrusion detection[C]//Yves Deswarte,Lingyu Wang.In Security and Protection in Information Processing Systems.Toulouse,France:Springer Boston,2004:241-258.
[10]IAN H WITTEN,EIBE FRANK.Data Mining:Practical Machine Learning Tools and Techniques[M].3rd ed.Morgan Kaufmann,2011:140-147.