郝曉弘,張曉峰
(蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院,甘肅 蘭州 730050)
入侵檢測(cè)分類技術(shù)的比較研究
郝曉弘,張曉峰
(蘭州理工大學(xué) 計(jì)算機(jī)與通信學(xué)院,甘肅 蘭州 730050)
入侵檢測(cè)是網(wǎng)絡(luò)安全研究的主要問(wèn)題之一,有效的檢測(cè)方法在開發(fā)入侵檢測(cè)系統(tǒng)中發(fā)揮著至關(guān)重要的作用。通過(guò)對(duì)數(shù)據(jù)挖掘中的分類算法進(jìn)行深入研究,選取四種常用的分類算法如決策樹、貝葉斯、K最近鄰法和神經(jīng)網(wǎng)絡(luò)來(lái)分別構(gòu)建入侵檢測(cè)系統(tǒng),旨在找到最有效的分類算法。仿真實(shí)驗(yàn)在Weka環(huán)境下使用KDD CUP99數(shù)據(jù)集進(jìn)行測(cè)試。實(shí)驗(yàn)表明,采用C4.5決策樹構(gòu)建的入侵檢測(cè)系統(tǒng)具有良好的檢測(cè)性能,是一種非常有效的網(wǎng)絡(luò)入侵檢測(cè)方法。
入侵檢測(cè);數(shù)據(jù)挖掘;Weka ;KDD CUP99
隨著計(jì)算機(jī)技術(shù)與互聯(lián)網(wǎng)的快速發(fā)展,使得人們對(duì)網(wǎng)絡(luò)的依賴愈加強(qiáng)烈。而隨之而來(lái)的網(wǎng)絡(luò)安全問(wèn)題已成為當(dāng)下社會(huì)關(guān)注的焦點(diǎn),其中網(wǎng)絡(luò)入侵是網(wǎng)絡(luò)安全最主要的威脅[1]。盡管諸如訪問(wèn)控制、信息加密和入侵防御等安全技術(shù)可以用來(lái)保護(hù)網(wǎng)絡(luò)系統(tǒng),但仍然存在很多無(wú)法檢測(cè)到的入侵[2],比如,防火墻不能夠防御內(nèi)部攻擊。因此,在網(wǎng)絡(luò)安全中入侵檢測(cè)系統(tǒng)起著非常重要的作用。
入侵檢測(cè)的概念開始于James P. Anderson[3]的信息安全技術(shù)研究報(bào)告,他提出了一種將計(jì)算機(jī)系統(tǒng)存在的威脅和風(fēng)險(xiǎn)進(jìn)行分類的方法,將威脅分為3種類型:外部滲透、內(nèi)部滲透和不法行為,還提出通過(guò)審計(jì)跟蹤數(shù)據(jù)對(duì)攻擊行為進(jìn)行監(jiān)視的思想。入侵檢測(cè)技術(shù)可以定義為識(shí)別和處理計(jì)算機(jī)網(wǎng)絡(luò)資源被惡意使用的系統(tǒng),包括內(nèi)部用戶的未授權(quán)和外部系統(tǒng)入侵行為,它也是一種確保計(jì)算機(jī)系統(tǒng)安全性的技術(shù),能夠發(fā)現(xiàn)非授權(quán)和異常行為,用于檢測(cè)威脅網(wǎng)絡(luò)安全的情況[4]。入侵檢測(cè)技術(shù)可以分為兩類:誤用檢測(cè)和異常檢測(cè)。誤用檢測(cè)是指通過(guò)攻擊行為與特征庫(kù)匹配來(lái)確認(rèn)攻擊事件,具有較低的漏報(bào)率。但是它不能發(fā)現(xiàn)未知的攻擊。異常檢測(cè)是指將用戶正常行為的特征存儲(chǔ)到數(shù)據(jù)庫(kù)中,然后將用戶的當(dāng)前行為與數(shù)據(jù)庫(kù)中的行為進(jìn)行對(duì)比。如果分歧足夠大,則認(rèn)為該行為是異常。它最大的優(yōu)點(diǎn)是能夠檢測(cè)到未知的攻擊。但是,由于正常的行為特征庫(kù)不能給出系統(tǒng)中所有用戶行為的完整描述,而且每個(gè)用戶的行為隨時(shí)在變化,因此,它具有較高的誤報(bào)率。
Wenke Lee首次提出了一種使用數(shù)據(jù)挖掘技術(shù)進(jìn)行入侵檢測(cè)的系統(tǒng)框架[5],通過(guò)將數(shù)據(jù)挖掘中的分類、關(guān)聯(lián)規(guī)則和序列等算法應(yīng)用于入侵檢測(cè),形成有效的檢測(cè)模型。數(shù)據(jù)挖掘技術(shù)能夠有效地提取用于誤用檢測(cè)的入侵模式,建立用于異常檢測(cè)的正常網(wǎng)絡(luò)行為庫(kù),并且構(gòu)建分類器來(lái)檢測(cè)攻擊,尤其針對(duì)大量的審計(jì)數(shù)據(jù)[6]。其中基于分類的入侵檢測(cè)系統(tǒng)將所有的流量數(shù)據(jù)分為正?;虍惓?,它不僅節(jié)省時(shí)間,而且也能有效分析攻擊數(shù)據(jù)。
在本文中,將數(shù)據(jù)挖掘的4種分類算法應(yīng)用于入侵檢測(cè),采用KDD CUP99數(shù)據(jù)集[7]在Weka環(huán)境下測(cè)試不同的分類算法,通過(guò)分析各算法的準(zhǔn)確度、靈敏度、特異性和計(jì)算時(shí)間等性能,從而找到在其性能度量方面表現(xiàn)最好的算法。
數(shù)據(jù)挖掘也稱為數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn),是指從大量數(shù)據(jù)中提取或挖掘知識(shí)?;跀?shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)僅需要標(biāo)記流量數(shù)據(jù)來(lái)指示入侵而不用手動(dòng)編碼規(guī)則。其中,分類是最常用的有監(jiān)督的數(shù)據(jù)挖掘技術(shù)之一。分類的任務(wù)是從分類對(duì)象構(gòu)建分類器,以便對(duì)先前未知的對(duì)象盡可能準(zhǔn)確地進(jìn)行分類。根據(jù)類別上可用的信息和分類類型,分類器的輸出可以用不同的形式呈現(xiàn)。
1.1 決策樹算法
決策樹是數(shù)據(jù)挖掘中使用最廣泛并且非常有效的分類算法。它以自上而下、分類治之的方式進(jìn)行操作,通過(guò)一組無(wú)序、無(wú)規(guī)則的事例推理出決策樹的分類規(guī)則,是基于實(shí)例的歸納學(xué)習(xí)方法,能夠完成對(duì)位置數(shù)據(jù)的預(yù)處理、分類以及預(yù)測(cè)[8]。決策樹是通過(guò)信息理論的原則采用分析與歸納的方法來(lái)構(gòu)建。
決策樹算法將樣本屬性值與構(gòu)建的決策樹進(jìn)行類比,從而實(shí)現(xiàn)對(duì)未知的樣本進(jìn)行準(zhǔn)確分類。Quinlan推廣了決策樹的使用方法,并且提出了C4.5決策樹,成為新的監(jiān)督學(xué)習(xí)算法的性能比較基準(zhǔn)[9]。決策樹算法最主要的問(wèn)題就是找到最佳的將數(shù)據(jù)劃分為其相應(yīng)類的屬性。C4.5采用信息熵的概念通過(guò)訓(xùn)練數(shù)據(jù)集來(lái)構(gòu)建決策樹。也就是說(shuō),它是基于每個(gè)屬性的最高增益。信息增益定義為原來(lái)信息需求與新的需求之間的差值,增益公式如下:
Gain(A)=Info(D)-InfoA(D)
這里,熵計(jì)算公式如下:
其中,pi是D中任意元組屬于Ci的概率。由于信息使用的是二進(jìn)制編碼,因此,使用以2為底的對(duì)數(shù)函數(shù)。Info(D)是識(shí)別D中元組的類標(biāo)號(hào)所需的平均信息量。
在通過(guò)最大化增益創(chuàng)建樹之后,C4.5模型分解數(shù)據(jù)空間,使得某些分解區(qū)域變得均勻。由于在決策樹建立時(shí),數(shù)據(jù)中存在噪聲和離群點(diǎn),很多分枝反映出了訓(xùn)練數(shù)據(jù)中的異常,通過(guò)C4.5執(zhí)行修剪步驟來(lái)處理數(shù)據(jù)過(guò)分?jǐn)M合的問(wèn)題,使決策樹變得更為普遍。
1.2 樸素貝葉斯算法
目前,存在很多變化的貝葉斯模型,這些都是基于貝葉斯定理構(gòu)造的。本文描述一種典型的樸素貝葉斯模型。樸素貝葉斯分類法又稱為簡(jiǎn)單貝葉斯分類法[10],它的過(guò)程如下:
(1)令D是元組及其相關(guān)聯(lián)的類標(biāo)簽的訓(xùn)練集合。每個(gè)元組由n維屬性向量X=(x1,x2,…,xn)表示,描述分別從n個(gè)屬性A1,A2,…,An對(duì)該元組進(jìn)行的n個(gè)測(cè)量。
(2)假設(shè)有m個(gè)類C1,C2,…,Cm,給定一個(gè)元組x,分類器將能夠預(yù)測(cè)出x屬于具有最高后驗(yàn)概率的類,它是以x為條件來(lái)預(yù)測(cè)的。換句話說(shuō),樸素貝葉斯分類器預(yù)測(cè)元組x屬于類Ci,如果僅當(dāng)
因此,需要最大化P(Ci|X)。 將P(Ci|X)最大化的類Ci稱作最大后驗(yàn)假設(shè)。 按照貝葉斯定理方程,有:
(3)由于P(X)對(duì)于所有情況都是常數(shù),因此,只要使P(X|Ci)P(Ci)最大化即可。假如類先驗(yàn)概率不為已知的,則通常假設(shè)這些類具有相同的概率,即P(C1)=P(C2)=…=P(Cm),因此只要使P(X|Ci)最大化。反之,需要最大化P(X|Ci)P(Ci)。
(4)當(dāng)給定的數(shù)據(jù)集具有許多屬性時(shí),計(jì)算P(X|Ci)將是非常復(fù)雜的。為了在評(píng)估P(X|Ci)時(shí)減少計(jì)算,進(jìn)行類條件獨(dú)立的假設(shè)。給定各元組的類標(biāo)簽,假定屬性的值有條件地互相獨(dú)立,從而有:
②如果Ak是連續(xù)屬性值,則需要做更多的工作,但計(jì)算是非常簡(jiǎn)單的。連續(xù)屬性值通常假定為具有平均值和標(biāo)準(zhǔn)偏差的Guassian分布,定義為:
1.3 人工神經(jīng)網(wǎng)絡(luò)算法
人工神經(jīng)網(wǎng)絡(luò)是一種能夠進(jìn)行信息處理的數(shù)學(xué)模型,人工神經(jīng)網(wǎng)絡(luò)是基于模擬生物神經(jīng)系統(tǒng)來(lái)處理信息[11]。神經(jīng)網(wǎng)絡(luò)是通過(guò)互相連接的節(jié)點(diǎn)和有向的邊組合而成,每一個(gè)神經(jīng)元代表一個(gè)信息處理單元,其中包括一組與其他神經(jīng)元相互連接的突觸權(quán)值(又稱權(quán)重w)、一個(gè)用來(lái)將所有的輸入信號(hào)迭加到加法器的求和裝置、用于控制神經(jīng)元輸出的激活函數(shù)f(·)以及一個(gè)用來(lái)減小對(duì)激活函數(shù)累計(jì)輸入的閾值θ。神經(jīng)網(wǎng)絡(luò)輸出的結(jié)果會(huì)隨連接方式、權(quán)重值以及激勵(lì)函數(shù)的變化而變化,因此,可以把網(wǎng)絡(luò)本身看作是對(duì)某一種算法的實(shí)現(xiàn)[12]。神經(jīng)元數(shù)學(xué)模型如圖1所示。
圖1 神經(jīng)元數(shù)學(xué)模型
其中,x1,x2,…,xn代表神經(jīng)元的輸入,即來(lái)自前一級(jí)的n個(gè)神經(jīng)元的軸突信息,w1j,w2j,…,wnj分別表示j神經(jīng)元對(duì)x1,x2,…,xn的權(quán)重系數(shù),即為突觸的傳遞效率,f(·)是激發(fā)函數(shù),它決定了j神經(jīng)元受輸入x1,x2,…,xn的共同刺激所達(dá)到的閾值使用哪種方式輸出。
神經(jīng)元的激發(fā)函數(shù)f(·)是非線性函數(shù),它有很多表示形式,典型的有閾值函數(shù)、階躍函數(shù)以及Sigmoid型函數(shù)(簡(jiǎn)稱S型函數(shù))。目前,S型函數(shù)使用最廣泛,它的輸出是非線性的,因此,稱這種神經(jīng)元為非線性連續(xù)模型。其表達(dá)式為:
假設(shè)Ij代表一個(gè)神經(jīng)元,它的數(shù)學(xué)表達(dá)式如下:
其中,wij是由上一層的單元i到單元j的連接權(quán)重,oi是上一層的單元i的輸出,而θj是單元j的偏倚,用來(lái)充當(dāng)閾值,改變單元的活性。
1.4 K最近鄰算法
K最近鄰是一種簡(jiǎn)單有效的技術(shù),該算法是基于類比的學(xué)習(xí)分類法,它將給定的目標(biāo)元組和與它相似的訓(xùn)練元組進(jìn)行類比來(lái)分類。用n個(gè)屬性來(lái)描述訓(xùn)練元組,其中,每個(gè)元組表示n維空間中的一個(gè)點(diǎn),這樣就將所有訓(xùn)練元組存放于N維的模式空間中。在給定某個(gè)未知的元組時(shí),k最近鄰分類方法搜尋整個(gè)模式空間,找到與未知元組最接近的K個(gè)訓(xùn)練元組,那么這K個(gè)訓(xùn)練元組就是該未知元組的K個(gè)近鄰。
考慮一組觀察值和目標(biāo)值(x1,y1),…,(xn,yn),其中觀測(cè)值xi∈Rd,目標(biāo)值yi∈{0,1},則對(duì)于給定的i,k近鄰對(duì)訓(xùn)練樣本中的測(cè)試序列的鄰居進(jìn)行速率估計(jì),并使用最近鄰的類別標(biāo)簽來(lái)預(yù)測(cè)測(cè)試向量類。因此,k最近鄰取新點(diǎn),并根據(jù)對(duì)訓(xùn)練數(shù)據(jù)中的K個(gè)最近點(diǎn)獲得的大部分投票將它們分類。在k最近鄰中,歐幾里得距離通常用作距離度量,以測(cè)量?jī)蓚€(gè)向量[13]:
其中,(xi,xj)∈Rd,xi=(xi1,xi2,…,xid)。
在Weka環(huán)境中使用KDD CUP99數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。KDD CUP99是入侵檢測(cè)方法中最常用的數(shù)據(jù)集,包含測(cè)試數(shù)據(jù)中約200萬(wàn)條記錄和訓(xùn)練數(shù)據(jù)集中約490萬(wàn)條記錄,每個(gè)記錄包含41個(gè)特征和一個(gè)決策屬性[14]。由于原始數(shù)據(jù)集數(shù)量龐大,因此,本文從KDD CUP99 10%數(shù)據(jù)集中隨機(jī)抽取數(shù)據(jù)樣本來(lái)進(jìn)行仿真實(shí)驗(yàn),并采用十折交叉驗(yàn)證來(lái)測(cè)試和評(píng)估四種分類算法[15]。在十折交叉驗(yàn)證過(guò)程中,數(shù)據(jù)集被分為10個(gè)子集。在每一次測(cè)試時(shí),10個(gè)子集中的一個(gè)被用作測(cè)試數(shù)據(jù)集,剩余的子集構(gòu)成訓(xùn)練集。本文基于準(zhǔn)確度、靈敏度、特異性和時(shí)間來(lái)比較各分類器的性能,測(cè)試結(jié)果如表1、圖2、圖3所示。
表1 分類器性能指標(biāo)
圖2 四種分類器的性能
圖3 四種分類器建模時(shí)間
由圖2可以看出,在對(duì)入侵行為進(jìn)行檢測(cè)時(shí),由決策樹構(gòu)成的分類器具有很好的分類效果。其次是神經(jīng)網(wǎng)絡(luò),它具有很高的準(zhǔn)確率,達(dá)到98.63%,但是該算法計(jì)算復(fù)雜度比較高,因此,需要消耗更多的時(shí)間來(lái)建模。從圖3可以看出,由于K最近鄰法是一種惰性學(xué)習(xí),再加上更快的訓(xùn)練階段,所以,需要最短的時(shí)間約0.8 s,相比于其他三種算法在訓(xùn)練階段具有較低的耗時(shí)。通過(guò)綜合分析四種分類器的準(zhǔn)確度、靈敏度、特異性以及建模時(shí)間等性能指標(biāo)不難看出,由C4.5決策樹算法構(gòu)建的分類器具有很好的分類能力,能夠有效地檢測(cè)入侵行為,是一種非常有效的網(wǎng)絡(luò)入侵檢測(cè)方法。
本文的研究目的是通過(guò)仿真實(shí)驗(yàn)來(lái)找出應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的最佳可用分類技術(shù)。通過(guò)使用KDD CUP99數(shù)據(jù)集在Weka平臺(tái)進(jìn)行測(cè)試,并觀察各個(gè)分類算法的性能。實(shí)驗(yàn)表明,C4.5決策樹分類算法具有良好的分類性能。其中由神經(jīng)網(wǎng)絡(luò)構(gòu)建的分類器在準(zhǔn)確度、靈敏度和特異性等方面的表現(xiàn)優(yōu)于K最近鄰算法,而K最近鄰算法與其他分類方法相比具有最少的消耗時(shí)間。在將來(lái)的研究工作中,可以通過(guò)混合應(yīng)用不同的數(shù)據(jù)挖掘算法和數(shù)據(jù)縮減技術(shù)來(lái)提高檢測(cè)的準(zhǔn)確率,實(shí)現(xiàn)對(duì)入侵行為的檢測(cè)。
[1] 樓文高,姜麗,孟祥輝. 計(jì)算機(jī)網(wǎng)絡(luò)安全綜合評(píng)價(jià)的神經(jīng)網(wǎng)絡(luò)模型[J]. 計(jì)算機(jī)工程與應(yīng)用,2007,43(32):128-131.
[2] ZHU D, PREMKUMAR G, ZHANG X, et al. Data mining for network intrusion detection: a comparison of alternative methods[J]. Decision Sciences, 2001, 32(4): 635-660.
[3] ANDERSON J P. Computer security threat monitoring and surveillance[R]. James P. Anderson Company, Fort Washington, Pennsylvania, 1980.
[4] MOHAMMAD M N, SULAIMAN N, MUHSIN O A. A novel intrusion detection system by using intelligent data mining in weka environment[J]. Procedia Computer Science, 2011, 3(1): 1237-1242.
[5] LEE W, STOLFO S J. Data mining approaches for intrusion detection[C].Usenix security, 1998.
[6] CHAUHAN H, KUMAR V, PUNDIR S, et al. A comparative study of classification techniques for intrusion detection[C]. 2013 International Symposium on Computational and Business Intelligence (ISCBI), IEEE, 2013: 40-43.
[7] BHAVSAR Y B, WAGHMARE K C. Intrusion detection system using data mining technique: support vector machine[J]. International Journal of Emerging Technology and Advanced Engineering, 2013, 3(3): 581-586.
[8] SINDHU S S S, GEETHA S, KANNAN A. Decision tree based light weight intrusion detection using a wrapper approach[J]. Expert Systems with Spplications, 2012, 39(1): 129-141.
[9] KOSHAL J, BAG M. Cascading of C4.5 decision tree and support vector machine for rule based intrusion detection system[J]. International Journal of Computer Network and Information Security, 2012, 8(8): 394-400.
[10] 李玲俐. 數(shù)據(jù)挖掘中分類算法綜述[J]. 重慶師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,28(4):44-47.
[11] LI J, ZHANG G Y, GU G C. The research and implementation of intelligent intrusion detection system based on artificial neural network[C]. Proceedings of 2004 International Conference on Machine Learning and Cybernetics, IEEE, 2004: 3178-3182.
[12] 談恒貴,王文杰,李游華. 數(shù)據(jù)挖掘分類算法綜述[J]. 微型機(jī)與應(yīng)用,2005,24(2):4-6,9.
[13] ABUROMMAN A A, REAZ M B I. A novel SVM-kNN-PSO ensemble method for intrusion detection system[J]. Applied Soft Computing, 2016(38): 360-372.
[14] 張新有,曾華燊,賈磊.入侵檢測(cè)數(shù)據(jù)集KDD CUP99研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2010,31(22):4809-4812,4816.
[15] BAMAKAN S M H, WANG H D, TIAN Y J, et al. An effective intrusion detection framework based on MCLP/SVM optimized by time-varying chaos particle swarm optimization[J]. Neurocomputing, 2016(199): 90-102.
A comparative study of intrusion detection classification technology
Hao Xiaohong, Zhang Xiaofeng
(School of Computer and Communication, Lanzhou University of Technology, Lanzhou 730050, China)
Intrusion detection is one of the main problems in network security research. Effective detection method plays an important role in the development of intrusion detection system.In this paper, through the in-depth study of classification algorithms of data mining, four kinds of commonly used classification algorithms, such as decision tree, Bayesian, K nearest neighbor method and neural network, are selected to construct the intrusion detection system respectively, and the most effective classification algorithm is found.Simulation experiments are performed using the KDD CUP99 data set in the Weka environment. The results show that the intrusion detection system constructed by C4.5 decision tree has a good detection performance and is a very effective method of network intrusion detection.
intrusion detection; data mining; Weka; KDD CUP99
TP31
A
10.19358/j.issn.1674- 7720.2017.15.003
郝曉弘,張曉峰.入侵檢測(cè)分類技術(shù)的比較研究[J].微型機(jī)與應(yīng)用,2017,36(15):8-11,15.
2017-04-12)
郝曉弘(1960-),男,碩士,教授,主要研究方向:智能信息處理、電子信息系統(tǒng)、控制網(wǎng)絡(luò)與分布式系統(tǒng)、嵌入式系統(tǒng)。
張曉峰(1991-),男,碩士研究生,主要研究方向:智能信息處理、數(shù)據(jù)挖掘、網(wǎng)絡(luò)安全。