顧佼佼,姜文志,栗 飛,胡文萱
(海軍航空工程學(xué)院 a.兵器科學(xué)與技術(shù)系;b.指揮系;c.外訓(xùn)系,山東 煙臺 264001)
入侵檢測就是對入侵計算機(jī)和網(wǎng)絡(luò)資源的行為進(jìn)行識別和響應(yīng)的處理過程,預(yù)防破壞計算機(jī)系統(tǒng)的完整性、機(jī)密性及資源的可用性的行為。如今隨著信息化進(jìn)程的不斷推進(jìn),不斷復(fù)雜化的網(wǎng)絡(luò)架構(gòu)和愈加方便的無線接入對構(gòu)建有效檢測入侵攻擊的高效網(wǎng)絡(luò)入侵檢測系統(tǒng)提出了重大挑戰(zhàn)。
目前入侵檢測主要使用的分析方法有兩種[1]:基于簽名的方法和基于異常的方法?;诤灻姆椒ㄊ峭ㄟ^在審計模式中搜索已知的入侵模式來檢測入侵,這是大部分商業(yè)IDS采用的分析方法。基于簽名的系統(tǒng)能有效的檢測模式庫中已有的入侵,搜索到相同的模式并匹配后即可確認(rèn)攻擊,然而,對不在模式庫中的入侵行為則無能為力,即便攻擊模式中的一點(diǎn)微小變動都有可能導(dǎo)致模式匹配失敗。特征庫需要不斷更新才能夠檢測出新的攻擊,構(gòu)建成本太高,靈活性和自適應(yīng)性比較差,系統(tǒng)漏報多。Snort就是基于模式匹配的系統(tǒng)之一。基于異常的方法則可檢測未知的攻擊方式,它試圖檢測系統(tǒng)行為的異常模式,其依靠的不是識別產(chǎn)生審計模式的過程而是分析審計模式的屬性,這種方法主要是應(yīng)用數(shù)據(jù)挖掘及機(jī)器學(xué)習(xí)領(lǐng)域的技術(shù),在實(shí)際IDS中應(yīng)用較少。常用的數(shù)據(jù)挖掘方法[2]是關(guān)聯(lián)規(guī)則,還有基于分類方法和序列標(biāo)注方法。分類法是研究的最多的一種,常見的有決策樹方法、貝葉斯分類[3]、神經(jīng)網(wǎng)絡(luò)、回歸分析、支持向量機(jī)等。序列標(biāo)記方法有馬爾科夫鏈、隱馬爾科夫模型[4]等。
現(xiàn)在網(wǎng)絡(luò)入侵的手段有多種,攻擊方式綜合化和復(fù)雜化,為了最大限度地提高攻擊檢測的準(zhǔn)確率,現(xiàn)有系統(tǒng)一般采用基于簽名和異常方法并存的方式。然而,準(zhǔn)確率和效率仍不令人滿意。漏報率、誤報率高,預(yù)警能力差仍是系統(tǒng)的瓶頸所在。
在分析了目前網(wǎng)絡(luò)入侵檢測的困難性基礎(chǔ)上,提出應(yīng)用條件隨機(jī)場(Conditional Random Fields,CRFs)來對網(wǎng)絡(luò)入侵進(jìn)行檢測并建立一個層疊CRFs模型來檢測入侵的框架。在KDD 1999數(shù)據(jù)上實(shí)驗并與其他方法比較表明,此方案優(yōu)于其他檢測方法。
條件隨機(jī)場模型[5]是近年來提出的一種機(jī)器學(xué)習(xí)方法,用于在給定需要標(biāo)記的觀察序列的條件下,計算整個標(biāo)注序列的聯(lián)合概率分布。Lafferty 等人定義CRFs為指數(shù)形式分布,這就使得不同狀態(tài)下的不同特征的權(quán)值可以相互平衡。它是由隱馬爾科夫模型(Hidden Markov Model,HMM)、最大熵馬爾科夫模型(Maximum Entropy Markov Model,MEMM)逐級發(fā)展而來,并克服了二者的缺陷。CRFs是一種判別式模型,采用的是無向圖分布,沒有嚴(yán)格的獨(dú)立性假設(shè),可以任意選取特征。隱馬爾科夫模型是生成模型,它針對聯(lián)合概率 p (y,x) 建模,在模型中作了若干獨(dú)立性假設(shè),而條件隨機(jī)場模型直接對所求的條件概率 p (y|x) 進(jìn)行建模,在給定觀察序列x條件下推導(dǎo)標(biāo)簽序列y,這使得CRFs模型可以避免獨(dú)立性假設(shè)并捕獲不同特征之間的關(guān)系。而且因為CRFs 采用了全局歸一化的方法,避免了最大熵馬爾科夫模型中的標(biāo)簽偏置問題。故條件隨機(jī)場模型在標(biāo)注上優(yōu)于隱馬爾科夫和最大熵馬爾科夫等模型,取得較好的效果。
CRFs的結(jié)構(gòu)可以是任意的圖結(jié)構(gòu),當(dāng)圖形中各輸出節(jié)點(diǎn)被連接成一條線性鏈的情況下,CRFs假設(shè)在各輸出節(jié)點(diǎn)之間存在一階馬爾科夫獨(dú)立性。鏈?zhǔn)紺RFs是最常用的結(jié)構(gòu)之一。在給定觀察序列x,線性鏈的CRFs 定義狀態(tài)序列y的條件概率為
式中:fk(e,y|e,x)為狀態(tài)轉(zhuǎn)移特征函數(shù);gk(v,y|v,x)為狀態(tài)特征函數(shù);λk、μk分別是fk(e,y|e,x)和gk(v,y|v,x)的特征權(quán)重。
條件隨機(jī)場模型訓(xùn)練主要有兩個基本任務(wù):特征選擇和參數(shù)評估。特征選擇就是選一個能表達(dá)這個隨機(jī)過程的統(tǒng)計特征的集合,參數(shù)評估是指為入選的每個特征估計權(quán)重。一般采用極大似然估計方法來計算特征權(quán)重,從訓(xùn)練數(shù)據(jù)中計算出 θ=(λ1,λ2,…;μ1,μ2,…)。CRFs指數(shù)模型為凸函數(shù),可以采用迭代方法找到全局最優(yōu)解。目前常用的是L-BFGS 迭代方法。鏈?zhǔn)紺RFs圖示如圖1,黑色代表隱藏節(jié)點(diǎn),白色代表觀察節(jié)點(diǎn)。
圖1 一階鏈?zhǔn)紺RFs圖形結(jié)構(gòu)
條件隨機(jī)場模型強(qiáng)大的特征描述能力和克服標(biāo)注偏置問題的特性,使其成為近幾年機(jī)器學(xué)習(xí)領(lǐng)域的熱點(diǎn),并在若干領(lǐng)域得到成功應(yīng)用。如計算語言學(xué)[6]、生物信息學(xué)、語音識別、圖像目標(biāo)識別等。雖然CRFs在模型訓(xùn)練上稍有遜色,但作為一種新模型和新技術(shù),CRFs還大有潛力可挖,在各分類問題上有廣闊的應(yīng)用前景。
在入侵檢測系統(tǒng)中,審計模式數(shù)據(jù)是以一些復(fù)雜關(guān)聯(lián)的特征來表示的[7]。隱馬爾科夫模型方法能夠處理多個特征,但它將特征之間看成是相互獨(dú)立的。忽略特征之間的關(guān)系會嚴(yán)重影響入侵檢測系統(tǒng)的檢測能力。例如,考慮“協(xié)議類型”和“網(wǎng)絡(luò)流量”,當(dāng)這些特征被單獨(dú)分析時,它們并不能提供有助于入侵檢測的有用信息,特征之間相關(guān)性的丟失會使準(zhǔn)確率降低。但是如果將二者聯(lián)合起來分析的話就會提供一些有意義的可幫助檢測的細(xì)節(jié)信息。此外,它還不能處理觀察輸出之間的長距離依賴關(guān)系。
CRFs模型可在不作獨(dú)立性假設(shè)的前提下有效處理多個特征間的關(guān)系,而不將特征間看成相互獨(dú)立,能處理觀察序列中的長距離觸發(fā)關(guān)系。為有效檢測入侵,提高攻擊檢測效率,必須對特征間的關(guān)系進(jìn)行有效處理,該文利用條件隨機(jī)場模型進(jìn)行入侵檢測實(shí)驗,并與其他檢測方法進(jìn)行對比,實(shí)驗證明該模型可取得最高效能。
入侵檢測本質(zhì)上是一個分類問題,從網(wǎng)絡(luò)上的大量記錄中分類出正常請求及各種攻擊。網(wǎng)絡(luò)上的攻擊方式很多,國際知識發(fā)現(xiàn)和數(shù)據(jù)挖掘工具競賽KDD cup(International Knowledge Discovery and Data Mining Tools Competition)1999年的參賽入侵檢測數(shù)據(jù)集中將常見攻擊分為4大類:DoS(Denial of Service)、Probe(Surveillance/Probing)、R2L(Remote->Local)、U2R(User->Root),如表1所示。
表1 KDD 中攻擊分類
目前的入侵檢測系統(tǒng),像是基于決策樹、基于樸素貝葉斯分布的,這些方法的最大缺陷就是它們將特征視作相互獨(dú)立的,忽略特征之間的關(guān)系會嚴(yán)重影響分類器的性能。此處選用CRFs模型就是因為這個模型能夠捕獲到各特征之間的相關(guān)性,故本文采用CRFs模型來檢測入侵。
如圖2、3所示,特征“持續(xù)時間”、“協(xié)議”、“服務(wù)”、“源字節(jié)數(shù)”用來分辨攻擊事件與正常事件。利用這些特征即可定義特征函數(shù)來共同確認(rèn)攻擊以提高檢測效率。所以CRFs能就不同特征間的關(guān)系進(jìn)行建模,這是現(xiàn)在的一些入侵檢測模型所沒有考慮的,或只考慮一個特征,如基于系統(tǒng)調(diào)用序列提取特征建立特征庫,主要是利用時間按序列分析;或如同樸素貝葉斯分類器那樣假設(shè)特征之間相互獨(dú)立。
圖2 攻擊事件
圖3 正常事件
在使用全部特征進(jìn)行試驗時,效果較之前的方法已有提高,但模型的訓(xùn)練效率偏低,模型本身就決定了其時間復(fù)雜度和空間復(fù)雜度非常高,這樣模型無法及時更新,如何提高其訓(xùn)練效率,使之實(shí)現(xiàn)輕量化是實(shí)用該模型的一大挑戰(zhàn)。從理論上講,特征多則可利用的上下文信息多,識別效果會更好,但實(shí)際情況是隨著特征數(shù)量的增多會產(chǎn)生大量冗余信息,影響識別速度和精度?,F(xiàn)在的入侵檢測系統(tǒng),無論是基于網(wǎng)絡(luò)還是基于主機(jī),或二者兼有,都是使用一個入侵檢測器(分類器)來檢測多種攻擊。也就是用一個分類器來分類 5種模式(Normal,Probe,DoS,R2L,U2R),因為不同的攻擊方式需要不同的特征來識別,在五分類問題中混雜的大量特征沒有針對性,且大量特征會導(dǎo)致訓(xùn)練時間及空間爆炸式增長,甚至一些不相關(guān)特征會對特定攻擊方式的識別產(chǎn)生干擾作用。筆者在分析了目前入侵檢測系統(tǒng)的困難性基礎(chǔ)上,進(jìn)一步提出了基于層疊條件隨機(jī)場的方案框架,分別針對每類入侵方式單獨(dú)訓(xùn)練并應(yīng)用CRFs模型。
筆者將原本的五分類問題轉(zhuǎn)化為4層二分類(正常,某類特定攻擊)問題,即將系統(tǒng)分成 4個子系統(tǒng),每一層子系統(tǒng)負(fù)責(zé)檢測一類特定的攻擊類型。每一層是由3部分組成:特征選擇模塊、訓(xùn)練模塊、檢測模塊。針對不同的入侵方式為子系統(tǒng)選擇有利于檢測該類入侵的特征,然后訓(xùn)練CRFs模型進(jìn)行入侵檢測。訓(xùn)練數(shù)據(jù)為正常審計數(shù)據(jù)及該類攻擊數(shù)據(jù)記錄,入侵檢測算法流程如圖4所示。
圖4 入侵檢測流程
這樣做有兩大優(yōu)勢,一是每一層的訓(xùn)練都只用了對檢測該類入侵有關(guān)鍵作用的少數(shù)特征,這樣可以更有針對性的處理此類入侵并可減少訓(xùn)練復(fù)雜度。系統(tǒng)更加靈活具有伸縮性,子系統(tǒng)的數(shù)量及處理的先后順序可以按照需求變動。而且上一級子系統(tǒng)可以在檢測到異常時就及時攔截,可快速反應(yīng)并減少了下一級的負(fù)擔(dān)。這種分而治之的思想有效的簡化了整個框架的訓(xùn)練時間和空間復(fù)雜度問題,既提高了檢測準(zhǔn)確率又提高了系統(tǒng)效率。
此處每一層的特征如表2所示,理論上特征模板是選擇越多效果就越好的,但想要建立一組包含所有可能的模板是難以實(shí)現(xiàn)的,特征模板過于稀少又會影響識別效果。此處在總結(jié)前人研究的基礎(chǔ)上,通過分析及大量相關(guān)實(shí)驗,綜合考慮確定了以人工選擇為主,實(shí)驗調(diào)整為輔的選擇策略,篩選對入侵具有偵測性的特征。
表2 Probe、DOS、R2L、U2R檢測選取特征
筆者嘗試過采用自動選擇特征,用Mallet Tool進(jìn)行實(shí)驗,選擇方法嘗試過多種,如文獻(xiàn)[8]中所述方案,時間效率相當(dāng)?shù)珳?zhǔn)確率相差甚遠(yuǎn);采用過前饋神經(jīng)網(wǎng)絡(luò)計算特征權(quán)重,篩選高權(quán)重特征,入侵檢測準(zhǔn)確率沒有明顯提高;嘗試主成分分析法(Principle Component Analysis,PCA)[9]來降維,自動選擇特征,主成分分析法將多個可能相互關(guān)聯(lián)的特征轉(zhuǎn)化成少數(shù)不相關(guān)聯(lián)的主成分,這掩蓋了CRFs模型強(qiáng)大的特征描述能力,CRFs的優(yōu)點(diǎn)本身就是捕獲特征之間的相關(guān)性,而主成分分析后的特征之間是相互獨(dú)立的,這樣的特征完全發(fā)揮不出CRFs模型的優(yōu)勢。故采取基于領(lǐng)域經(jīng)驗知識進(jìn)行人工選擇特征。例如Probe攻擊,探測目標(biāo)網(wǎng)絡(luò)的信息,那“連接時間”、“源字節(jié)數(shù)”等就是有用特征,而“創(chuàng)建文件數(shù)量”、“訪問文件數(shù)量”就不會提供有用的信息。
實(shí)驗采用KDD cup 1999年的競賽入侵檢測數(shù)據(jù)集作為訓(xùn)練和檢測數(shù)據(jù),該數(shù)據(jù)集包含了一個在軍用網(wǎng)環(huán)境中的仿真數(shù)據(jù)集,內(nèi)含多種模擬攻擊。在實(shí)驗時采用的是其單獨(dú)提供的10%訓(xùn)練數(shù)據(jù)集和10%測試數(shù)據(jù)集,該數(shù)據(jù)是從KDD cup 1999的完整訓(xùn)練數(shù)據(jù)集合中隨機(jī)抽取出來的。每一條連接記錄都由41個特征來描述,實(shí)驗的目的就是盡可能準(zhǔn)確的檢測異常模式,定位攻擊。
實(shí)驗采用CRF++工具集來訓(xùn)練模型,訓(xùn)練前用weka[10]對數(shù)據(jù)集作預(yù)處理,使之符合CRF++的輸入規(guī)范。實(shí)驗分2大塊,一是用全部特征和訓(xùn)練集包括所有入侵的數(shù)據(jù)來訓(xùn)練模型,再就是針對每一層子系統(tǒng)選取不同的特征集,利用正常數(shù)據(jù)和該類攻擊數(shù)據(jù)分別訓(xùn)練。因入侵檢測系統(tǒng)的實(shí)際性能只取決于測試時的時間效能,在測試時該框架的運(yùn)行效率很高,能達(dá)到部署實(shí)用的標(biāo)準(zhǔn),故此處只檢驗準(zhǔn)確率,在有實(shí)用價值的基礎(chǔ)上將框架實(shí)現(xiàn)為完整系統(tǒng)時效率會更高。
選用的特征模板如表3所示。
表3 選用特征示例
實(shí)驗結(jié)果采用準(zhǔn)確率(Precision)、召回率(Recall)和F-1值來評估,
TP是被檢測出來的入侵事件,F(xiàn)P是被誤判為入侵事件的正常事件,F(xiàn)N沒有被檢測出來的入侵事件,β是準(zhǔn)確率和召回率的比率權(quán)重,一般設(shè)為1。
實(shí)驗結(jié)果如表4所示,對于DoS攻擊各種檢測準(zhǔn)確率相差不大,CRFs模型在檢測U2R攻擊時的表現(xiàn)相比其他方法有很大提高。層疊模型相比于其他方法都要好。從KDD 1999檢測數(shù)據(jù)上的結(jié)果和與其他方法的對比可以看出,層疊CRFs模型可有效的檢測各種攻擊。
表4 實(shí)驗結(jié)果
為了從網(wǎng)絡(luò)環(huán)境大量底層信息中正確有效地識別入侵攻擊,將層疊CRFs模型應(yīng)用到入侵檢測中,分層處理每一類入侵,其中涉及到了針對每一類攻擊構(gòu)建特征模板,然后逐層進(jìn)行檢測,實(shí)驗結(jié)果證明可取得比以往方法更好的效果。CRFs模型可取得較高檢測率和低誤報率的原因是它能有效處理特征之間的關(guān)系。加之特征選擇并分別針對不同入侵方式進(jìn)行訓(xùn)練可更有針對性,這不僅減輕了系統(tǒng)負(fù)擔(dān),使系統(tǒng)可適應(yīng)于高速網(wǎng)絡(luò),而且顯著提高系統(tǒng)的檢測能力,尤其分析序列事件時,可獲得相當(dāng)高的準(zhǔn)確率。通過實(shí)驗,驗證了層疊條件隨機(jī)場模型的有效性和優(yōu)越性。下一步的研究重點(diǎn)是細(xì)化特征模板的選取并嘗試自動特征選取來建立更加實(shí)用的檢測系統(tǒng)。
[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].通信學(xué)報,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的中文分詞算法研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.
[7]胡廣朋,程輝,邵玉寶.基于層疊條件隨機(jī)場的網(wǎng)絡(luò)入侵識別[J].江蘇科技大學(xué)學(xué)報:自然科學(xué)版,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.