張恩昊
摘 要: 入侵檢測技術(shù)是一種重要的動態(tài)安全防護(hù)技術(shù),能夠?qū)τ?jì)算機(jī)和網(wǎng)絡(luò)資源上的惡意使用行為進(jìn)行識別和響應(yīng)。本文設(shè)計(jì)了基于誤用檢測的入侵檢測系統(tǒng),并將數(shù)據(jù)挖掘技術(shù)應(yīng)用于入侵檢測中,通過對入侵行為進(jìn)行分析,提取特征,實(shí)現(xiàn)入侵規(guī)則庫的更新?;谡`用檢測的入侵檢測系統(tǒng)的一大缺點(diǎn)是誤警率高,采用基于面向?qū)傩詺w納的概念聚類方法來處理警報(bào),將相似的警報(bào)聚類,從中識別出警報(bào)根源并消除,減少系統(tǒng)的負(fù)載。
關(guān)鍵詞:入侵檢測 誤用檢測 數(shù)據(jù)挖掘 聚類分析
中圖分類號:TP3-0 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-9082(2016)07-0007-01
一、系統(tǒng)結(jié)構(gòu)
本系統(tǒng)采用模塊化的設(shè)計(jì)思想,包含入侵檢測、數(shù)據(jù)挖掘和警報(bào)處理三大組件,各組件中包含各自的功能模塊實(shí)現(xiàn)該組件的功能,系統(tǒng)結(jié)構(gòu)如圖1.1所示。
入侵檢測組件包括網(wǎng)絡(luò)數(shù)據(jù)采集、數(shù)據(jù)包解析、數(shù)據(jù)預(yù)處理、規(guī)則解析和入侵檢測五大模塊,主要利用誤用檢測技術(shù)完成網(wǎng)絡(luò)數(shù)據(jù)的檢測工作。數(shù)據(jù)挖掘組件主要包括存儲模塊和數(shù)據(jù)挖掘模塊,主要實(shí)現(xiàn)原始網(wǎng)絡(luò)數(shù)據(jù)包存儲和從原始連接數(shù)據(jù)庫中發(fā)現(xiàn)未知的入侵行為,并提取規(guī)則的功能。警報(bào)處理組件包括輸出與日志模塊和警報(bào)處理模塊,主要處理系統(tǒng)誤警,消除警報(bào)根源或設(shè)置過濾規(guī)則,降低系統(tǒng)的誤報(bào)率和系統(tǒng)開銷。
二、模塊功能簡介
網(wǎng)絡(luò)數(shù)據(jù)采集模塊實(shí)時(shí)獲取網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包。該模塊是整個(gè)系統(tǒng)的基礎(chǔ),將滿足條件的數(shù)據(jù)包交由數(shù)據(jù)包解析模塊。
數(shù)據(jù)包解析模塊將從網(wǎng)絡(luò)上抓取的數(shù)據(jù)包,沿TCP/IP協(xié)議樹從下向上沿各個(gè)協(xié)議棧進(jìn)行解碼并填充相應(yīng)的數(shù)據(jù)結(jié)構(gòu),以便后續(xù)模塊的處理和存儲。
數(shù)據(jù)預(yù)處理模塊的作用是在模式匹配之前對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分片重組、流重組等預(yù)先處理,從而方便隨后的檢測分析。
規(guī)則解析模塊在初始化階段完成規(guī)則庫中的規(guī)則解析工作,在內(nèi)存中生成可供檢測程序高效檢索的二維鏈表數(shù)據(jù)結(jié)構(gòu)。
入侵檢測模塊將預(yù)處理過的數(shù)據(jù)同生成的檢測規(guī)則進(jìn)行規(guī)則匹配,若匹配則寫入日志,否則記錄到數(shù)據(jù)庫中,以便未來分析處理。
入侵檢測模塊發(fā)現(xiàn)入侵后需要記錄相應(yīng)的入侵?jǐn)?shù)據(jù)包信息,輸出與日志模塊將檢測到的入侵?jǐn)?shù)據(jù)信息記錄在文件中,用于將來的誤警檢測和分析。
在完成入侵檢測后,將未檢測出入侵行為的網(wǎng)絡(luò)數(shù)據(jù)包信息輸出到存儲模塊,對存儲在數(shù)據(jù)庫中的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行處理,查找可疑事件或者進(jìn)行網(wǎng)絡(luò)流量分析等。
歷來檢測新的未知入侵行為都是入侵檢測系統(tǒng)的一大難題,主要原因就是檢測規(guī)則庫更新困難。數(shù)據(jù)挖掘模塊對于存儲在數(shù)據(jù)庫中的網(wǎng)絡(luò)數(shù)據(jù)首先進(jìn)行數(shù)據(jù)消臟、選擇和預(yù)處理后,提取數(shù)據(jù)包中的頭信息,為每個(gè)連接建立連接記錄,再采用基于信息熵[2]的聚類分析方法提取未知的入侵?jǐn)?shù)據(jù),再利用分類分析方法進(jìn)行入侵特征分析,提取規(guī)則,更新檢測規(guī)則庫,提高檢測未知的入侵行為的能力。這主要基于以下的假設(shè),即我們假定網(wǎng)絡(luò)上發(fā)生的入侵是小概率事件,并且攻擊行為與正常的網(wǎng)絡(luò)連接不同,顯示多樣性。這樣通過聚類分析形成的不同聚類中,正常的訪問數(shù)據(jù)占多數(shù),那么剩余的少數(shù)聚類為入侵?jǐn)?shù)據(jù)。
信息熵是對一個(gè)隨機(jī)變量的信息和不確定性的測量[1]。信息熵可以被用來測量一個(gè)系統(tǒng)的"無序"程度。熵值越大,說明系統(tǒng)中的數(shù)據(jù)越無序;熵值越小,則說明系統(tǒng)中的數(shù)據(jù)越有序,越"純凈"。如果將信息熵應(yīng)用到聚類中,根據(jù)聚類的判斷準(zhǔn)則,同一聚類中的數(shù)據(jù)越相似越好,而數(shù)據(jù)越有序,越"純凈",說明數(shù)據(jù)的相似性越好。因此,"熵值越小,聚類越好"是應(yīng)用信息熵評估聚類好壞的理論標(biāo)準(zhǔn)。
在基于信息熵的入侵檢測的聚類分析之后,包含記錄比較少的聚類中的數(shù)據(jù)將作為入侵記錄進(jìn)行分析,從中提取入侵特征更新規(guī)則庫,系統(tǒng)中采用決策樹C4.5算法[3]。
基于誤用檢測的入侵檢測系統(tǒng)通常需要處理數(shù)量巨大的警報(bào)日志,研究發(fā)其中有99%的警報(bào)是誤警[4,5],而且有些警報(bào)的產(chǎn)生原因相對穩(wěn)定,這些少數(shù)的警報(bào)根源導(dǎo)致的警報(bào)占所有警報(bào)的90%以上。本系統(tǒng)采用概念聚類[6]方法來發(fā)現(xiàn)警報(bào)中誤警的特征,警報(bào)處理模塊采用面向?qū)傩詺w納算法[2],進(jìn)行警報(bào)根源分析,減少未來警報(bào)系統(tǒng)的負(fù)載。
三、系統(tǒng)部署
本系統(tǒng)采用部署在防火墻或其他安全產(chǎn)品(如IPS等)內(nèi)部的方案。這種做法的主要理由是部署內(nèi)部的檢測系統(tǒng)會比外面的系統(tǒng)脆弱性少一些,也少一些干擾,從而有可能減少誤報(bào)警。如果檢測系統(tǒng)在內(nèi)部檢測到本應(yīng)該被封鎖的攻擊滲透進(jìn)來,就能發(fā)現(xiàn)防火墻或其他安全產(chǎn)品(如IPS等)的設(shè)置失誤。更重要的是入侵檢測系統(tǒng)并不是孤立的系統(tǒng),相關(guān)安全產(chǎn)品之間應(yīng)形成互動,入侵檢測系統(tǒng)產(chǎn)生的過濾規(guī)則應(yīng)及時(shí)通知相關(guān)安全產(chǎn)品進(jìn)行規(guī)則更新。
參考文獻(xiàn)
[1]Lee Wenke, XiangDong.Information-Theoretic Measuresfor Anomaly Detection.In: Proceedings of the IEEE Symposium on Security and Privacy.USA: IEEE Press, 2001:130-143.
[2]熊家軍.基于數(shù)據(jù)挖掘地入侵關(guān)鍵技術(shù)研究:(博士學(xué)位論文).武漢:華中科技大學(xué),2004.
[3]http://sicp.csail.mit.edu/6.034/spring06/projects/learn/code/C4.5/DOC
[4]Bloedorn E, Mani I, MacMillan T.Representational Issues in Machine Learning of User Profiles.In: Proceedings of the Thirteenth National Conference on Artificial Intelligence. USA: AAAI Press, 1996:433-438.
[5]Mani I, Bloedom E.Multi-Document Summarization by Graph Search and Matching.In: Proceedings of the 14th National Conference on Artificial Intelligence.USA: AAAI Press, 1997:622-628.
[6]Pitt L, Reinke E.Criteria for Polynomial-time (conceptual) Clustering. MachineLearning, 1998, 2(4):371-396.