入侵檢測中樸素貝葉斯分類的應(yīng)用論文

時(shí)間:2022-08-24 06:17:00

導(dǎo)語:入侵檢測中樸素貝葉斯分類的應(yīng)用論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

入侵檢測中樸素貝葉斯分類的應(yīng)用論文

摘要貝葉斯分類能高效地處理大型數(shù)據(jù),本文使用核密度估計(jì)的樸素貝葉斯分類來進(jìn)行入侵檢測。由于入侵檢測審計(jì)數(shù)據(jù)屬性多為連續(xù)變量,所以在貝葉斯分類算法中使用核密度估計(jì),有助于提高分類的精度,另引入對稱不確定方法有效地刪除不相關(guān)的檢測屬性,進(jìn)一步提高分類效率。

關(guān)鍵字貝葉斯;核密度;入侵檢測;分類

1前言

在入侵檢測系統(tǒng)中,為了提高系統(tǒng)的性能,包括降低誤報(bào)率和漏報(bào)率,縮短反應(yīng)時(shí)間等,學(xué)者們引入了許多方法,如專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、遺傳算法和數(shù)據(jù)挖掘中的聚類,分類等各種算法。例如:Cooper&Herkovits提出的一種基于貪心算法的貝葉斯信念網(wǎng)絡(luò),而Provan&SinghProvan,G.M&SinghM和其他學(xué)者報(bào)告了這種方法的優(yōu)點(diǎn)。貝葉斯網(wǎng)絡(luò)說明聯(lián)合條件概率分布,為機(jī)器學(xué)習(xí)提供一種因果關(guān)系的圖形,能有效的處理某些問題,如診斷:貝葉斯網(wǎng)絡(luò)能正確的處理不確定和有噪聲的問題,這類問題在任何檢測任務(wù)中都很重要。

然而,在分類算法的比較研究發(fā)現(xiàn),一種稱作樸素貝葉斯分類的簡單貝葉斯算法給人印象更為深刻。盡管樸素貝葉斯的分類器有個(gè)很簡單的假定,但從現(xiàn)實(shí)數(shù)據(jù)中的實(shí)驗(yàn)反復(fù)地表明它可以與決定樹和神經(jīng)網(wǎng)絡(luò)分類算法相媲美[1]。

在本文中,我們研究樸素貝葉斯分類算法,用來檢測入侵審計(jì)數(shù)據(jù),旨在開發(fā)一種更有效的,檢驗(yàn)更加準(zhǔn)確的算法。

2貝葉斯分類器

貝葉斯分類是統(tǒng)計(jì)學(xué)分類方法。它們可以預(yù)測類成員關(guān)系的可能性,如給定樣本屬于一個(gè)特定類的概率。

樸素貝葉斯分類[2]假定了一個(gè)屬性值對給定類的影響?yīng)毩⒂谄渌鼘傩缘闹?,這一假定稱作類條件獨(dú)立。

設(shè)定數(shù)據(jù)樣本用一個(gè)n維特征向量X={x1,x2,,xn}表示,分別描述對n個(gè)屬性A1,A2,,An樣本的n個(gè)度量。假定有m個(gè)類C1,C2,,Cm。給定一個(gè)未知的數(shù)據(jù)樣本X(即沒有類標(biāo)號),樸素貝葉斯分類分類法將預(yù)測X屬于具有最高后驗(yàn)概率(條件X下)的類,當(dāng)且僅當(dāng)P(Ci|X)>P(Cj|X),1≤j≤m,j≠i這樣,最大化P(Ci|X)。其中P(Ci|X)最大類Ci稱為最大后驗(yàn)假定,其原理為貝葉斯定理:

公式(1)

由于P(X)對于所有類為常數(shù),只需要P(X|Ci)P(Ci)最大即可。并據(jù)此對P(Ci|X)最大化。否則,最大化P(X|Ci)P(Ci)。如果給定具有許多屬性的數(shù)據(jù)集,計(jì)算P(X|Ci)P(Ci)的開銷可能非常大。為降低計(jì)算P(X|Ci)的開銷,可以做類條件獨(dú)立的樸素假定。給定樣本的類標(biāo)號,假定屬性值相互條件獨(dú)立,即在屬性間,不存在依賴關(guān)系,這樣,

公式(2)

概率,可以由訓(xùn)練樣本估值:

(1)如果Ak是分類屬性,則P(xk|Ci)=sik/si其中sik是Ak上具有值xk的類Ci的訓(xùn)練樣本數(shù),而si是Ci中的訓(xùn)練樣本數(shù)。

(2)如果Ak是連續(xù)值屬性,則通常假定該屬性服從高斯分布。因而

公式(3)

其中,給定類Ci的訓(xùn)練樣本屬性Ak的值,是屬性Ak的高斯密度函數(shù),而分別為平均值和標(biāo)準(zhǔn)差。

樸素貝葉斯分類算法(以下稱為NBC)具有最小的出錯(cuò)率。然而,實(shí)踐中并非如此,這是由于對其應(yīng)用假定(如類條件獨(dú)立性)的不確定性,以及缺乏可用的概率數(shù)據(jù)造成的。主要表現(xiàn)為:

①不同的檢測屬性之間可能存在依賴關(guān)系,如protocol_type,src_bytes和dst_bytes三種屬性之間總會存在一定的聯(lián)系;

②當(dāng)連續(xù)值屬性分布是多態(tài)時(shí),可能產(chǎn)生很明顯的問題。在這種情況下,考慮分類問題涉及更加廣泛,或者我們在做數(shù)據(jù)分析時(shí)應(yīng)該考慮另一種數(shù)據(jù)分析。

后一種方法我們將在以下章節(jié)詳細(xì)討論。

3樸素貝葉斯的改進(jìn):核密度估計(jì)

核密度估計(jì)是一種普便的樸素貝葉斯方法,主要解決由每個(gè)連續(xù)值屬性設(shè)為高斯分布所產(chǎn)生的問題,正如上一節(jié)所提到的。在[3]文中,作者認(rèn)為連續(xù)屬性值更多是以核密度估計(jì)而不是高斯估計(jì)。

樸素貝葉斯核密度估計(jì)分類算法(以下稱K-NBC)十分類似如NBC,除了在計(jì)算連續(xù)屬性的概率時(shí):NBC是使用高斯密度函數(shù)來評估該屬性,而K-NBC正如它的名字所說得一樣,使用高斯核密度函數(shù)來評估屬性。它的標(biāo)準(zhǔn)核密度公式為

公式(4)

其中h=σ稱為核密度的帶寬,K=g(x,0,1),定義為非負(fù)函數(shù)。這樣公式(4)變形為公式(5)

公式(5)

在K-NBC中采用高斯核密度為數(shù)據(jù)分析,這是因?yàn)楦咚姑芏扔兄硐氲那€特點(diǎn)。圖1說明了實(shí)際數(shù)據(jù)的概率分布更接近高斯核密度曲線。

圖1兩種不同的概率密度對事務(wù)中數(shù)據(jù)的評估,其中黑線代表高斯密度,虛線為核估計(jì)密度并有兩個(gè)不同值的帶寬樸素貝葉斯算法在計(jì)算μc和σc時(shí),只需要存儲觀測值xk的和以及他們的平方和,這對一個(gè)正態(tài)分布來說是已經(jīng)足夠了。而核密度在訓(xùn)練過程中需要存儲每一個(gè)連續(xù)屬性的值(在學(xué)習(xí)過程中,對名詞性屬性只需要存儲它在樣本中的頻率值,這一點(diǎn)和樸素貝葉斯算法一樣)。而為事例分類時(shí),在計(jì)算連續(xù)值屬性的概率時(shí),樸素貝葉斯算法只需要評估g一次,而核密度估計(jì)算法需要對每個(gè)c類中屬性X每一個(gè)觀察值進(jìn)行n次評估,這就增加計(jì)算存儲空間和時(shí)間復(fù)雜度,表1中對比了兩種方法的時(shí)間復(fù)雜度和內(nèi)存需求空間。

4實(shí)驗(yàn)研究與結(jié)果分析

本節(jié)的目標(biāo)是評價(jià)我們提出核密度評估分類算法對入侵審計(jì)數(shù)據(jù)分類的效果,主要從整體檢測率、檢測率和誤檢率上來分析。

表1在給定n條訓(xùn)練事務(wù)和m個(gè)檢測屬性條件下,

NBC和K-NBC的算法復(fù)雜度

樸素貝葉斯核密度

時(shí)間空間時(shí)間空間

具有n條事務(wù)的訓(xùn)練數(shù)據(jù)O(nm)O(m)O(nm)O(nm)

具有q條事務(wù)的測試數(shù)據(jù)O(qm)O(qnm)

4.1實(shí)驗(yàn)建立

在實(shí)驗(yàn)中,我們使用NBC與K-NBC進(jìn)行比較。另觀察表1兩種算法的復(fù)雜度,可得知有效的減少檢測屬性,可以提高他們的運(yùn)算速度,同時(shí)刪除不相關(guān)的檢測屬性還有可以提高分類效率,本文將在下一節(jié)詳細(xì)介紹對稱不確定方法[4]如何對入侵審計(jì)數(shù)據(jù)的預(yù)處理。我們也會在實(shí)驗(yàn)中進(jìn)行對比分析。

我們使用WEKA來進(jìn)行本次實(shí)驗(yàn)。采用KDDCUP99[5]中的數(shù)據(jù)作為入侵檢測分類器的訓(xùn)練樣本集和測試樣本集,其中每個(gè)記錄由41個(gè)離散或連續(xù)的屬性(如:持續(xù)時(shí)間,協(xié)議類型等)來描述,并標(biāo)有其所屬的類型(如:正?;蚓唧w的攻擊類型)。所有數(shù)據(jù)分類23類,在這里我們把這些類網(wǎng)絡(luò)行為分為5大類網(wǎng)絡(luò)行為(Normal、DOS、U2R、R2L、Probe)。

在實(shí)驗(yàn)中,由于KDDCUP99有500多萬條記錄,為了處理的方便,我們均勻從kddcup.data.gz中按照五類網(wǎng)絡(luò)行為抽取了5萬條數(shù)據(jù)作為訓(xùn)練樣本集,并把他們分成5組,每組數(shù)據(jù)為10000條,其中normal數(shù)據(jù)占據(jù)整組數(shù)據(jù)中的98.5%,這一點(diǎn)符合真實(shí)環(huán)境中正常數(shù)據(jù)遠(yuǎn)遠(yuǎn)大于入侵?jǐn)?shù)據(jù)的比例。我們首

先檢測一組數(shù)據(jù)中只有同類的入侵的情況,共4組數(shù)據(jù)(DOS中的neptune,Proble中的Satan,U2R中的buffer_overflow,R2l中的guess_passwd),再檢測一組數(shù)據(jù)中有各種類型入侵?jǐn)?shù)據(jù)的情況。待分類器得到良好的訓(xùn)練后,再從KDD99數(shù)據(jù)中抽取5組數(shù)據(jù)作為測試樣本,分別代表Noraml-DOS,Normal-Probe,Normal-U2R,Normal-R2L,最后一組為混后型數(shù)據(jù),每組數(shù)據(jù)為1萬條。

4.2數(shù)據(jù)的預(yù)處理

由于樸素貝葉斯有個(gè)假定,即假定所有待測屬性對給定類的影響?yīng)毩⒂谄渌麑傩缘闹?,然而現(xiàn)實(shí)中的數(shù)據(jù)不總是如此。因此,本文引入對稱不確定理論來對數(shù)據(jù)進(jìn)行預(yù)處理,刪除數(shù)據(jù)中不相關(guān)的屬性。

對稱不確定理論是基于信息概念論,首先我們先了解一下信息理論念,屬性X的熵為:

公式(6)

給定一個(gè)觀察變量Y,變量X的熵為:

公式(7)

P(xi)是變量X所有值的先驗(yàn)概率,P(xi|yi)是給定觀察值Y,X的后驗(yàn)概率。這些隨著X熵的降低反映在條件Y下,X額外的信息,我們稱之為信息增益,

公式(8)

按照這個(gè)方法,如果IG(X|Y)>IG(X|Y),那么屬性Y比起屬性Z來,與屬性X相關(guān)性更強(qiáng)。

定理:對兩個(gè)隨機(jī)變量來說,它們之間的信息增益是對稱的。即

公式(9)

對測量屬性之間相關(guān)性的方法來說,對稱性是一種比較理想的特性。但是在計(jì)算有很多值的屬性的信息增益時(shí),結(jié)果會出現(xiàn)偏差。而且為了確保他們之間可以比較,必須使這些值離散化,同樣也會引起偏差。因此我們引入對稱不確定性,

公式(10)

通過以下兩個(gè)步驟來選擇好的屬性:

①計(jì)算出所有被測屬性與class的SU值,并把它們按降序方式排列;

②根據(jù)設(shè)定的閾值刪除不相關(guān)的屬性。

最后決定一個(gè)最優(yōu)閾值δ,這里我們通過分析NBC和K-NBC計(jì)算結(jié)果來取值。

4.3實(shí)驗(yàn)結(jié)果及分析

在試驗(yàn)中,以記錄正確分類的百分比作為分類效率的評估標(biāo)準(zhǔn),表2為兩種算法的分類效率。

表2對應(yīng)相同入侵類型數(shù)據(jù)進(jìn)行檢測的結(jié)果

數(shù)據(jù)集

算法DOS

(neptune)Proble

(satan)R2L

(guess_passwd)U2R

(buffer_overflow)

檢測率誤檢率整體檢測率檢測率誤檢率整體檢測率檢測率誤檢率整體檢測率檢測率誤檢率整體檢測率

NBC99.50.299.7998.30.199.8497.30.899.2951.898.21

K-NBC99.50.299.9698.3099.9697.30.299.81710.199.76

SU+NBC99.5099.9698.30.199.85980.799.2491.198.84

SU+K-NBC99.5099.9698.3099.9698.70.299.76850.199.81

根據(jù)表2四組不同類別的入侵檢測結(jié)果,我們從以下三個(gè)方面分析:

(1)整體檢測率。K-NBC的整體檢測率要比NBC高,這是因?yàn)镵-NBC在對normal這一類數(shù)據(jù)的檢測率要比NBC高,而normal這一類數(shù)據(jù)又占整個(gè)檢測數(shù)據(jù)集數(shù)的95%以上,這也說明了在上一節(jié)提到的normal類的數(shù)據(jù)分布曲線更加接近核密度曲線。

(2)檢測率。在對DOS和PROBLE這兩組數(shù)據(jù)檢測結(jié)果,兩個(gè)算法的檢測率都相同,這是因?yàn)檫@兩類入侵行為在實(shí)現(xiàn)入侵中占絕大部分,而且這一類數(shù)據(jù)更容易檢測,所以兩種算法的檢測效果比較接近;針對R2L檢測,從表2可以看到,在沒有進(jìn)行數(shù)據(jù)預(yù)處理之前,兩者的的檢測率相同,但經(jīng)過數(shù)據(jù)預(yù)處理后的兩個(gè)算法的檢測率都有了提高,而K-NBC的效率比NBC更好點(diǎn);而對U2R的檢測結(jié)果,K-NBC就比NBC差一點(diǎn),經(jīng)過數(shù)據(jù)預(yù)處理后,K-NBC的檢測率有一定的提高,但還是比NBC的效果差一些。

(3)誤檢率。在DOS和Proble這兩種組數(shù)據(jù)的誤檢率相同,在其他兩組數(shù)據(jù)的中,K-NBC的誤檢率都比NBC的低。

根據(jù)表3的結(jié)果分析,我們也可以看到的檢測結(jié)果與表2的分組檢測的結(jié)果比較類似,并且從綜合角度來說,K-NBC檢測效果要比NBC的好。在這里,我們也發(fā)現(xiàn),兩種算法對R2L和U2L這兩類入侵的檢測效果要比DOS和Proble這兩類入侵的差。這主要是因?yàn)檫@兩類入侵屬于入侵行為的稀有類,檢測難度也相應(yīng)加大。在KDD99競賽中,冠軍方法對這兩類的檢測效果也是最差的。但我們可以看到NBC對這種稀有類的入侵行為檢測更為準(zhǔn)確一點(diǎn),這應(yīng)該是稀有類的分布更接近正態(tài)分布。

從上述各方面綜合分析,我們可以證明K-NBC作為的入侵檢測分類算法的是有其優(yōu)越性的。

表3對混合入侵類型數(shù)據(jù)進(jìn)行檢測的結(jié)果

數(shù)據(jù)集

算法整體檢測分類檢測

NormalDosProbleR2LU2R

檢測率誤檢率檢測率誤檢率檢測率誤檢率檢測率誤檢率檢測率誤檢率檢測率誤檢率

NBC98.141.898.20.899.8099.8090086.71.8

K-NBC99.780.299.82.399.8099.8096073.30.1

SU+NBC97.992.0980.899.8099.8090086.71.9

SU+K-NBC99.790.299.81.999.8099.80960800.1

5結(jié)論

在本文中,我們用高斯核密度函數(shù)代替樸素貝葉斯中的高斯函數(shù),建立K-NBC分類器,對入侵行為進(jìn)行檢測,另我們使用對稱不確定方法來刪除檢測數(shù)據(jù)的中與類不相關(guān)的屬性,從而進(jìn)一步改進(jìn)核密度樸素貝葉斯的分類效率,實(shí)驗(yàn)表明,對預(yù)處理后的審計(jì)數(shù)據(jù),再結(jié)合K-NBC來檢測,可以達(dá)到更好的分類效果,具有很好的實(shí)用性。同時(shí)我們也注意到,由于入侵檢測的數(shù)據(jù)中的入侵行為一般為稀有類,特別是對R2L和U2R這兩類數(shù)據(jù)進(jìn)行檢測時(shí),NBC有著比較理想的結(jié)果,所以在下一步工作中,我們看是否能把NBC和K-NBC這兩種分類模型和優(yōu)點(diǎn)聯(lián)合起來,并利用對稱不確定理論來刪除檢測數(shù)據(jù)與類相關(guān)的屬性中的冗余屬性,進(jìn)一步提高入侵檢測效率。

參考文獻(xiàn)

[1]Langley.P.,Iba,W.&Thompson,K.AnanalysisofBayesianclassifiers[A],in“ProceedingsoftheTenthNationalConferenceonArtificialIntelligence”[C]MenloPark,1992.223-228

[2]HanJ.,KamberM..數(shù)據(jù)挖掘概念與技術(shù)[M].孟小峰,等譯.北京:機(jī)械工業(yè)出版社.2005.196201

[3]JohnG.H..EnhancementstotheDataMiningProcess[D].Ph.D.Thesis,ComputerScienceDept.,StanfordUniversity,1997

[4]LeiYuandHuanLiu.Featureselectionforhigh-dimensionaldata:Afastcorrelation-basedfiltersolution[A],in“ProceedingsoftheTwentiethInternationalConferenceonMachineLearning(ICML2003)”[C]Washington,DC,2003.856-863

[5]KDD99.KDD99CupDataset[DB/OL].http://kdd.ics.uci.edu/databases/kddcup99,1999