謝 紅,劉人杰,陳純鍇
(哈爾濱工程大學(xué)信息與通信工程學(xué)院,黑龍江哈爾濱 150001)
入侵檢測(cè)系統(tǒng)(intrusion detection system,IDS)作為重要的網(wǎng)絡(luò)安全系統(tǒng),是信息安全與計(jì)算機(jī)領(lǐng)域的研究熱點(diǎn)。入侵檢測(cè)分成誤用檢測(cè)(misuse detection)和異常檢測(cè)(anomaly detection)兩種。誤用檢測(cè)也叫基于知識(shí)的檢測(cè),學(xué)習(xí)階段是以攻擊數(shù)據(jù)包來(lái)產(chǎn)生樣本,再將這些攻擊樣本轉(zhuǎn)換成適當(dāng)?shù)囊?guī)則;檢測(cè)階段則利用收集到的網(wǎng)絡(luò)數(shù)據(jù)包對(duì)比其特征是否符合規(guī)則,若符合規(guī)則判斷為有攻擊行為。主要的特征是:人工產(chǎn)生攻擊規(guī)則、無(wú)法檢測(cè)未知攻擊、較高漏報(bào)率(false-negative rate)與較低誤報(bào)率(false-positive rate)、檢測(cè)時(shí)間較短。常用的有:基于狀態(tài)轉(zhuǎn)換分析的 IDS,如 STAT 和 USTAT[1-2],基于特征匹配的IDS。這種方法依據(jù)具體攻擊特征庫(kù)進(jìn)行判斷,所以檢測(cè)準(zhǔn)確度很高,但漏報(bào)率隨之增加,因?yàn)楣籼卣鞯募?xì)微變化,就會(huì)使得誤用檢測(cè)無(wú)能為力,尤其難以檢測(cè)到內(nèi)部人員的入侵行為。異常檢測(cè)是一種基于行為的檢測(cè)方法,它在學(xué)習(xí)階段是在無(wú)入侵行為的網(wǎng)絡(luò)環(huán)境下產(chǎn)生正常數(shù)據(jù)包的樣本,再將樣本轉(zhuǎn)換成規(guī)則;在檢測(cè)階段對(duì)比收集到的數(shù)據(jù)包是否符合正常規(guī)則,若不符合,即判斷有異常行為。其特征是:自動(dòng)產(chǎn)生正常數(shù)據(jù)包規(guī)則、可檢測(cè)未知攻擊、較高誤報(bào)率與較低漏報(bào)率、耗費(fèi)時(shí)間大。它可能檢測(cè)未曾出現(xiàn)過(guò)的攻擊方法,因此是目前研究的熱點(diǎn),如Fumio Mizoguchi提出基于機(jī)器學(xué)習(xí)的可視化異常型 IDS[3],基于網(wǎng)絡(luò)狀態(tài)的 IDS[4]。但異常檢測(cè)不可能對(duì)整個(gè)系統(tǒng)內(nèi)所有用戶行為進(jìn)行全面地描述,所以異常檢測(cè)的誤報(bào)率較高。其次,由于統(tǒng)計(jì)簡(jiǎn)表需要不斷更新,入侵者如果知道某系統(tǒng)在IDS的監(jiān)視之下,它們就能慢慢地訓(xùn)練檢測(cè)系統(tǒng)使其認(rèn)為某一種行為方式是正常的。誤用檢測(cè)及異常檢測(cè)兩大入侵檢測(cè)技術(shù)的整合,是不容易有效地實(shí)現(xiàn)的;例如,在文獻(xiàn)[5]中提到了利用模板對(duì)應(yīng)的方式來(lái)檢測(cè)異常行為,并且以改善貝葉斯TCP網(wǎng)絡(luò)(bayesian TCP network)的方式作為誤用檢測(cè)技術(shù)的基礎(chǔ),并提出了結(jié)合兩大入侵檢測(cè)技術(shù)混合式系統(tǒng)的觀念,該文中的異常檢測(cè)只針對(duì)合法數(shù)據(jù),但如果在訓(xùn)練時(shí)系統(tǒng)遭遇攻擊,系統(tǒng)將把這些攻擊行為定義為正常行為,到了正式檢測(cè)的階段時(shí),只要碰到同樣的攻擊,系統(tǒng)就會(huì)遺漏掉。本文的整合式入侵檢測(cè)系統(tǒng)的基本思想就是把誤用檢測(cè)作為輔助手段,異常檢測(cè)作為主要檢測(cè)手段,綜合兩者優(yōu)點(diǎn),首先使用誤用檢測(cè)過(guò)濾出合法數(shù)據(jù),檢測(cè)確認(rèn)攻擊的行為與類型,再使用異常檢測(cè)對(duì)用戶行為或網(wǎng)絡(luò)連接進(jìn)行全面的檢測(cè),并能夠預(yù)防新型的攻擊行為。
系統(tǒng)模型如圖1所示,系統(tǒng)由4個(gè)模塊所組成。①數(shù)據(jù)采集模塊:收集用戶歷史行為數(shù)據(jù)進(jìn)行特征提取,用于構(gòu)造入侵行為模式規(guī)則庫(kù)和知識(shí)庫(kù);收集系統(tǒng)中各種審計(jì)數(shù)據(jù)或網(wǎng)絡(luò)數(shù)據(jù),用于被檢測(cè)。②誤用檢測(cè)模塊:采用Apriori算法來(lái)進(jìn)行檢測(cè)。③異常檢測(cè)模塊:采用隱馬爾可夫模型的檢測(cè)方法。④決策模塊:用來(lái)整合異常檢測(cè)模塊與誤用檢測(cè)模塊的檢測(cè)結(jié)果,利用規(guī)則來(lái)判定是否為入侵行為與類型。
從系統(tǒng)的整體來(lái)看,首先使用誤用檢測(cè)確認(rèn)攻擊的行為與類型,降低誤報(bào)率。再借助于異常檢測(cè)直接確保所有網(wǎng)絡(luò)數(shù)據(jù)的合法性,預(yù)防新型的攻擊行為,降低漏報(bào)率。通過(guò)整合式的檢測(cè)方式,除了可以有效地降低系統(tǒng)被攻擊的威脅,還可以協(xié)助管理者隨時(shí)掌握系統(tǒng)的狀況與進(jìn)一步修正。
圖1 系統(tǒng)模型功能框圖Fig.1 Schematic diagram of system model
運(yùn)用貝葉斯分類器,能有效地處理各種多維訓(xùn)練序列集。但要求各事例屬性間具有獨(dú)立性,雖然實(shí)際中不一定能滿足數(shù)據(jù)屬性相互獨(dú)立的條件,但并不影響該算法的分類預(yù)測(cè)效果。在文獻(xiàn)[6]中的實(shí)驗(yàn),簡(jiǎn)單貝葉斯分類器對(duì)于KDD Cup99序列集來(lái)說(shuō)具有優(yōu)良性能。于是我們參考文獻(xiàn)[7]的方法,結(jié)合隱馬爾可夫與簡(jiǎn)單貝葉斯分類器優(yōu)點(diǎn),提出多維-隱馬爾可夫異常行為檢測(cè)模型用于異常檢測(cè),模型如圖2所示。簡(jiǎn)單貝葉斯分類器在處理多維序列時(shí),有著簡(jiǎn)單、快速的優(yōu)點(diǎn),很多文獻(xiàn)對(duì)簡(jiǎn)單貝葉斯分類器均有介紹,在此不再贅述。
圖2 多維隱馬爾可夫異常檢測(cè)模塊模型Fig.2 Multi-dimensional hidden markovmodel
以下是多維-隱馬爾可夫分類器訓(xùn)練與測(cè)試步驟。
1)訓(xùn)練階段:①利用一組已分類好的訓(xùn)練數(shù)據(jù),使用計(jì)數(shù)法則,得到屬于每一個(gè)類別的特征值估計(jì)值;②將一組已分類好的訓(xùn)練數(shù)據(jù)狀態(tài)序列,使用計(jì)數(shù)法則得出隱馬爾可夫的狀態(tài)轉(zhuǎn)移矩陣。
2)檢測(cè)階段:①每組數(shù)據(jù)經(jīng)過(guò)訓(xùn)練出來(lái)的貝葉斯分類器,計(jì)算出每個(gè)類別所生成的概率;②將每個(gè)類別所生成的概率及狀態(tài)轉(zhuǎn)換矩陣,經(jīng)過(guò)viterbi algorithm求出最佳狀態(tài)序列。
異常檢測(cè)模塊分為訓(xùn)練和檢測(cè)2個(gè)階段。在訓(xùn)練過(guò)程中,要達(dá)到網(wǎng)絡(luò)數(shù)據(jù)完全無(wú)攻擊事實(shí)上是很難達(dá)成的,如果在訓(xùn)練系統(tǒng)時(shí)遭遇攻擊行為,系統(tǒng)將把這些攻擊行為定義為正常行為,到了正式檢測(cè)的階段時(shí),只要碰到同樣的攻擊,系統(tǒng)就會(huì)遺漏掉。針對(duì)這樣的問(wèn)題,如M.V.Mahoney曾嘗試過(guò)將訓(xùn)練切割成很多部分來(lái)進(jìn)行[8],以期各個(gè)訓(xùn)練分段能夠互相補(bǔ)正彼此訓(xùn)練時(shí)發(fā)生錯(cuò)誤的地方(即訓(xùn)練時(shí)遭遇攻擊行為)。然而經(jīng)實(shí)驗(yàn)證實(shí),在各分段所能夠檢測(cè)到的攻擊,在混合之后檢測(cè)率卻大幅下降。因此,可以結(jié)合誤用檢測(cè)技術(shù)來(lái)輔助異常檢測(cè)系統(tǒng)使得用來(lái)訓(xùn)練的網(wǎng)絡(luò)數(shù)據(jù)更趨近于無(wú)攻擊狀態(tài),讓檢測(cè)工作能夠得到更加良好的結(jié)果。對(duì)經(jīng)過(guò)誤用檢測(cè)出的正常網(wǎng)絡(luò)連接進(jìn)行訓(xùn)練,構(gòu)建正常網(wǎng)絡(luò)連接的規(guī)則庫(kù),并且可以更新特征庫(kù),形成良性循環(huán),在以后的檢測(cè)中就可以檢測(cè)出此種攻擊。
決策模塊用來(lái)整合異常檢測(cè)與誤用檢測(cè)模塊的檢測(cè)結(jié)果,利用決策規(guī)則判定是否為入侵行為與入侵的類型,并負(fù)責(zé)將檢測(cè)的結(jié)果回報(bào)給管理者,模塊所使用的規(guī)則為:若誤用檢測(cè)模塊判定為正常但異常檢測(cè)模塊判定為異常,則是入侵行為;若誤用檢測(cè)模塊判定為異常則直接判定為入侵,并判斷入侵的類型;只有誤用和異常檢測(cè)模塊都判斷正常才是正常數(shù)據(jù),并非入侵行為。
Apriori算法是一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法。它是R.Agrawal和R.Srikant于1994年提出的,算法使用頻繁項(xiàng)集性質(zhì)的先驗(yàn)知識(shí),其思想是:使用逐層搜索的方法,用k項(xiàng)集搜索k+1項(xiàng)集。首先掃描數(shù)據(jù)庫(kù),累積每一個(gè)項(xiàng)的計(jì)數(shù),并過(guò)濾出滿足頻繁集的最小支持度閾值min_sup,得出頻繁一項(xiàng)集,記為L(zhǎng)1。然后L1與其自身連接產(chǎn)生頻繁候選集,再依據(jù)最小支持度閾值min_sup條件,過(guò)濾掉非頻繁項(xiàng)產(chǎn)生頻繁二項(xiàng)集L2。L2用于產(chǎn)生L3,依此循環(huán)下去,直至不能再找到頻繁k項(xiàng)集[9-11]。
Apriori特征產(chǎn)生算法。
輸入:連接事件數(shù)據(jù)庫(kù)D,每個(gè)連接事件的權(quán)值為wt,最小支持度閥值為min_sup。
經(jīng)典隱馬爾可夫模型理論具有狀態(tài)集固定的缺陷,這種缺陷影響了隱馬爾可夫模型對(duì)隨機(jī)信號(hào)建模的能力,并限制了基于隱馬爾可夫模型的分類器的性能。在應(yīng)用時(shí),我們對(duì)隱馬爾可夫模型進(jìn)行改造,由于貝葉斯分類器對(duì)于KDD Cup99序列集有優(yōu)良性能,于是我們結(jié)合隱馬爾可夫與簡(jiǎn)單貝葉斯分類器優(yōu)點(diǎn),構(gòu)造了多維-隱馬爾可夫異常檢測(cè)模型及其檢測(cè)算法,使它的狀態(tài)數(shù)量能自動(dòng)匹配真正的隱含狀態(tài)數(shù)量,這樣它不但能提取更多的結(jié)構(gòu)信息,對(duì)隨機(jī)信號(hào)的建模也將更加準(zhǔn)確。
對(duì)于有時(shí)間關(guān)系的序列集的處理,我們自然想到使用支持向量機(jī)搭配滑動(dòng)窗口(sliding window)的方法,已知一數(shù)據(jù)集X={X1,X2,…,XT},每次取長(zhǎng)度為w的數(shù)據(jù)作為新的數(shù)據(jù),如圖3所示。
黑色矩形代表一段數(shù)據(jù),長(zhǎng)度為w,每取完一個(gè)數(shù)據(jù)塊后向右移動(dòng)1個(gè)單位繼續(xù)抓取。測(cè)試序列長(zhǎng)為T,則短序列集包含T-w+1個(gè)長(zhǎng)為w的滑動(dòng)窗口短序列,數(shù)據(jù)集將會(huì)轉(zhuǎn)變?yōu)?/p>
圖3 滑動(dòng)窗數(shù)據(jù)示意圖Fig.3 Schematic diagram of sliding window data
長(zhǎng)度為N的觀測(cè)序列中,所有長(zhǎng)度為w的觀測(cè)序列出現(xiàn)概率的平均值為
為了方便于在線檢測(cè),我們推導(dǎo)出如下遞推算法[12-13]
實(shí)驗(yàn)數(shù)據(jù)采用國(guó)際數(shù)據(jù)挖掘工具競(jìng)賽(KDD CUP)1999年的競(jìng)賽數(shù)據(jù)作為訓(xùn)練和檢測(cè)數(shù)據(jù),為了處理方便,采用整個(gè)KDD CUP99的10%數(shù)據(jù)集(共494 019條連接記錄),它是一個(gè)獨(dú)立的數(shù)據(jù)集(包括訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集)。每條數(shù)據(jù)由41個(gè)特征屬性和一個(gè)決策屬性構(gòu)成。同時(shí)為了保證執(zhí)行的效率,試驗(yàn)中分別隨機(jī)選取10萬(wàn)條記錄作為訓(xùn)練數(shù)據(jù)集和測(cè)試集,并隨機(jī)分為10組。每個(gè)TCP/IP連接有41個(gè)屬性,并標(biāo)有其所屬的類型(如:正?;蚓唧w的攻擊類型),其中34個(gè)屬性為數(shù)值型變量,7個(gè)為符號(hào)型變量。該數(shù)據(jù)集含有網(wǎng)絡(luò)環(huán)境中的多種模擬攻擊。模擬攻擊(包括正常請(qǐng)求)主要分為 5 大類[14-15],具體如表 1 所示。
表1 網(wǎng)絡(luò)攻擊主要類型Tab.1 Main types of network attacks
研究中將實(shí)驗(yàn)的結(jié)果分別針對(duì)檢測(cè)率(detection rate)、誤報(bào)率(false positive rate)以及正確率(accuracy)來(lái)做一個(gè)驗(yàn)證,依據(jù)公式(4)-(6)來(lái)評(píng)估入侵檢測(cè)系統(tǒng)的性能。
IDS的檢測(cè)率、誤報(bào)率和漏報(bào)率。分別定義為
由表 2可知,檢測(cè)率為 93.12%,誤報(bào)率為0.46%,整體的正確率為99.37%,說(shuō)明整合模型在檢測(cè)上的性能是穩(wěn)定的,并能夠有效檢測(cè)網(wǎng)絡(luò)數(shù)據(jù)中的入侵行為。
表2 系統(tǒng)整體檢測(cè)性能Tab.2 Detection performance of the whole system
表3再針對(duì)每種類別分別進(jìn)行分析,該方法在只使用10%訓(xùn)練數(shù)據(jù)和部分記錄屬性的情況下,仍然對(duì)Dos攻擊具有很高的檢測(cè)率和非常低的誤報(bào)率,并且對(duì)Probe和R2L攻擊也有較好的檢測(cè)率,影響整體性能的類別主要是U2R,主要是U2R樣本數(shù)較少的原因,以至于系統(tǒng)在無(wú)法識(shí)別的情形下造成錯(cuò)誤的判斷,導(dǎo)致檢測(cè)性能不盡理想。
表3 整合式入侵檢測(cè)性能詳細(xì)分類表Tab.3 Details of the integrated classification of intrusion detection performance
誤用檢測(cè)方法依據(jù)具體特征庫(kù)進(jìn)行判斷,所以檢測(cè)準(zhǔn)確度很高,但無(wú)法檢測(cè)到未知攻擊;異常檢測(cè)方法可以檢測(cè)到已知攻擊的變種及未知攻擊,但誤報(bào)率和漏報(bào)率較高。本系統(tǒng)使用了異常檢測(cè)與誤用檢測(cè)相結(jié)合的方法,不僅可以有效地檢測(cè)已知的攻擊,而且具有檢測(cè)未知攻擊的能力。實(shí)驗(yàn)表明,這種方法具有較高檢測(cè)率、正確率,較低的誤報(bào)率,對(duì)于Probe和DOS類攻擊也有較好的檢測(cè)效果,可以彌補(bǔ)單獨(dú)使用一種檢測(cè)方法對(duì)此類攻擊檢測(cè)效果的不足。
[1] KORAL I,RICHARD K,PHILLIP P.A rule-based intrusion detection approach[J].IEEE Trans on Software Engineering,1995-3,21(3):181-199.
[2] NUANSRIN,SINGH S,DILLON T S.A process statetransition analysis and its application to intrusion detection[C]//15th Annual Computer Security Applications Conference.Phoenix,Arizona,[s.n.]1999:378-387.
[3]MIZOGUCHI F.Anomaly detection using visualization and machine learning[C]//IEEE 9th International Workshops on Enabling Technologies:Infrastructure for Collaborative Enterprises.Gaithersburg,Maryland:IEEE Press,2000:165-170.
[4] SHAN Zheng,CHEN Peng,XU Ke,et al.A network state based intrusion detection model[C]//2001 International Conference on Computer Networks and Mobile Computing,Beijing,CHINA:[s.n.],2001:481-486.
[5]VALDESA.detecting novel scans through pattern anomaly detection[C]//Proceedings of the DARPA Information Survivability Conference and Exposition.Princeton,USA:IEEE,2003:140-151.
[6] AMOR N B,BENFERHATS,ELOUEDIZ.Naive Bayes vs decision trees in intrusion detection systems[C]//Proceedings of the ACM Symposium on Applied Computing,Nicosia,Cyprus:ACM,SIGAPP,2004:420-424.
[7]XIE Yi,YU Shun-zheng.A dynamic anomaly detection model for web user behavior based on HSMM[C]//International Conference of CSCWD'06,Guangzhou,CHINA:IEEE Press,2006:451-460.
[8]SAMABIA T,SHOAB K.A novel packet header visualizationmethodology for network anomaly detection[C]//Proceedings of the 4th IASTED International Conference on Communication,Network,and Information Security.Berkeley,United states:Acta Press,2007:96-100.
[9] RAJASEGARAR S,LECKIE C,PALANISWAMI M.Centered hyper ellipsoidal support vector machine based anomaly detection[C]//IEEE International Conference on Communications.United States:Institute of Electrical and Electronics Engineers Inc,2008:1610–1614.
[10] HATHAWAY R J,BEZDEK JC,HUBAND JM.Scalable visual assessment of cluster tendency for large data sets[J].Pattern Recogn,2006,39:1315 – 1324.
[11] FALLAH S,TRICHLER D,BEYENE J.Estimating number of clusters based on a general similarity matrix with application to microarray data [J].Statist.Appl.Genet.Mol.Biol,2008,7(1):1-23.
[12] FTANZ P.Bayesian network classifiers versus selective formula not Shown-NN classifier [J].Pattern Recognition,2005,38(1):1-10.
[13] CHEBMLU S,ABRAHAM A,THOMAS JP.Feature deduction and ensemble design of intrusion detection systems [J].Computers and Security,Elsevier,Amsterdam,2005,24(4):295-307.
[14] SHIHong-bo,WANG Zhi-h(huán)ai,HUANG Hou-kuan,et al.A restricted double level Bayesian classification model[J].Journal of Software,2004,15(2):193-199.
[15] PENA J M,LAZANO J A,LARRINAGA P.An improved Bayesian Structural EM algorithm for learning Bayesian networks for clustering[J].Pattern Recognition Letters,2000,21(8):779-786.