基于數(shù)據(jù)挖掘技術(shù)的入侵檢測系統(tǒng)的研究與設(shè)計
1 引言
隨著計算機網(wǎng)絡(luò)不斷發(fā)展,各種問題也隨之產(chǎn)生,網(wǎng)絡(luò)安全問題尤為突出。傳統(tǒng)的入侵檢測技術(shù)包括濫用檢測和異常檢測。其中,濫用檢測是分析各種類型的攻擊手段,找出可能的“攻擊特征”集合,可有效檢測到已知攻擊,產(chǎn)生誤報較少,但只能檢測到已知的入侵類型,而對未知的入侵類型無能為力,需要不斷更新攻擊特征庫;而異常檢測的假設(shè)條件是通過觀察當(dāng)前活動與系統(tǒng)歷史正?;顒忧闆r之間的差異可實現(xiàn)攻擊行為的檢測。其優(yōu)點是可檢測到未知攻擊,缺點是誤報和漏報較多。針對現(xiàn)有網(wǎng)絡(luò)入侵檢測系統(tǒng)的一些不足,將數(shù)據(jù)挖掘技術(shù)應(yīng)用于網(wǎng)絡(luò)入侵檢測,以Snort入侵檢測系統(tǒng)模型為基礎(chǔ),提出一種新的基于數(shù)據(jù)挖掘的網(wǎng)絡(luò)入侵檢測系統(tǒng)模型。
2 數(shù)據(jù)挖掘在入侵檢測系統(tǒng)中的應(yīng)用
數(shù)據(jù)挖掘技術(shù)在入侵檢測系統(tǒng)(IDS)中的應(yīng)用,主要是通過挖掘?qū)徲嫈?shù)據(jù)以獲得行為模式,從中分離出入侵行為,有效實現(xiàn)入侵檢測規(guī)則。審計數(shù)據(jù)由經(jīng)預(yù)處理、帶有時間戳的審計記錄組成。每條審計記錄都包含一些屬性(也稱為特征),例如,一個典型的審計日志文件包括源IP地址、目的IP地址、服務(wù)類型、連接狀態(tài)等屬性。挖掘?qū)徲嫈?shù)據(jù)是一項重要任務(wù),直接影響入侵檢測的精確性和可用性,常用的挖掘方法有關(guān)聯(lián)性分析、分類、序列分析等。
(1)關(guān)聯(lián)性分析關(guān)聯(lián)分析就是要發(fā)現(xiàn)關(guān)聯(lián)規(guī)則,找出數(shù)據(jù)庫中滿足最小支持度與最小確信度約束的規(guī)則,即給定一組Item和一個記錄集合,通過分析記錄集合推導(dǎo)出Item間的相關(guān)性。一般用信任度(confidence)和支持度(support)描述關(guān)聯(lián)規(guī)則的屬性。關(guān)聯(lián)分析的目的是從已知的事務(wù)集W中產(chǎn)生數(shù)據(jù)集之間的關(guān)聯(lián)規(guī)則,即同一條審計記錄中不同字段之間存在的關(guān)系,同時保證規(guī)則的支持度和信任度大于用戶預(yù)先指定的最小支持度和最小信任度。
(2)分類映射一個數(shù)據(jù)項到其中一個預(yù)定義的分類集中,它輸出“分類器”,表現(xiàn)形式是決策樹或規(guī)則。在入侵檢測中一個典型的應(yīng)用就是,收集足夠多的審計數(shù)據(jù)送交用戶或程序,然后應(yīng)用分類算法去學(xué)習(xí)分類器,標記或預(yù)測新的正常或異常的不可見審計數(shù)據(jù)。分類算法要解決的重點是規(guī)則學(xué)習(xí)問題。
(3)序列分析用于構(gòu)建序列模式,以發(fā)現(xiàn)審計事件中經(jīng)常存在的時間序列。這些經(jīng)常發(fā)生的事件模式有助于將時間統(tǒng)計方法應(yīng)用于入侵檢測模型。例如,如果審計數(shù)據(jù)中包含基于網(wǎng)絡(luò)的拒絕服務(wù)攻擊DOS(Denial of Service Attack)行為.由此得到的模式就要對在這一時間段內(nèi)工作的每個主機和每項服務(wù)進行檢測。
3 基于數(shù)據(jù)挖掘的入侵檢測系統(tǒng)模型
針對現(xiàn)有入侵檢測系統(tǒng)挖掘速度慢和挖掘準確度不高的缺點,提出基于數(shù)據(jù)挖掘技術(shù)的入侵檢測系統(tǒng)模型.該模型的結(jié)構(gòu)如圖1所示。
3.1 模塊功能簡述
(1)嗅探器主要進行數(shù)據(jù)收集,它只是一個簡單的抓取信息的接口。嗅探器所在位置決定入侵檢測的局部處理程度。
(2)解碼器解碼分析捕獲的數(shù)據(jù)包。并把分析結(jié)果存到一個指定的數(shù)據(jù)結(jié)構(gòu)中。
(3)數(shù)據(jù)預(yù)處理 負責(zé)將網(wǎng)絡(luò)數(shù)據(jù)、連接數(shù)據(jù)轉(zhuǎn)換為挖掘方法所需的數(shù)據(jù)格式,包括:進一步的過濾、噪聲的消除、第三方檢測工具檢測到的已知攻擊。利用誤用檢測方法對已知的入侵行為與規(guī)則庫的入侵規(guī)則進行匹配,直接找到入侵行為,進行報警。
(4)異常分析器通過使用關(guān)聯(lián)分析和序列分析找到新的攻擊,利用異常檢測方法將這些異常行為送往規(guī)則庫。
(5)日志記錄保存2種記錄:未知網(wǎng)絡(luò)正常行為產(chǎn)生的數(shù)據(jù)包信息和未知入侵行為產(chǎn)生的數(shù)據(jù)包信息。
(6)規(guī)則庫 保存入侵檢測規(guī)則,為誤用檢測提供依據(jù)。
(7)報警器 當(dāng)偏離分析器報告有異常行為時,報警器通過人機界面向管理員發(fā)出通知,其形式可以是E-mail??刂婆_報警、日志條目、可視化的工具。
(8)特征提取器對日志中的數(shù)據(jù)記錄進行關(guān)聯(lián)分析,得出關(guān)聯(lián)規(guī)則,添加到規(guī)則庫中。
3.2 異常分析器
異常分析器使用聚類分析模型產(chǎn)生的網(wǎng)絡(luò)或主機正常模型檢測數(shù)據(jù)包。它采用K-Means算法作為聚類分析算法。圖2為異常分析的流程。
異常分析器的檢測過程為:(1)網(wǎng)絡(luò)或主機數(shù)據(jù)包標準化;(2)計算網(wǎng)絡(luò)數(shù)據(jù)包與主類鏈表中聚類中心的相似度:(3)若該網(wǎng)絡(luò)數(shù)據(jù)包與某一主類的相似度小于聚類半徑R,則表明其是正常的網(wǎng)絡(luò)數(shù)據(jù)包,將其丟棄;(4)若該網(wǎng)絡(luò)數(shù)據(jù)包與所有主類的相似度大于聚類半徑R,則表明其是異常的網(wǎng)絡(luò)數(shù)據(jù)包。
3.3 特征提取器
特征提取器用于分析未知的異常數(shù)據(jù)包,挖掘網(wǎng)絡(luò)異常數(shù)據(jù)包中潛在的入侵行為模式,產(chǎn)生相應(yīng)的關(guān)聯(lián)規(guī)則集.添加到規(guī)則庫中。該模塊采用Apriori算法進行關(guān)聯(lián)規(guī)則的挖掘,其工作流程如圖3所示。
特征提取器的工作過程可分為數(shù)據(jù)預(yù)處理和產(chǎn)生關(guān)聯(lián)規(guī)則。
(1)數(shù)據(jù)預(yù)處理 特征提取器的輸入為日志記錄.包含很多字段,但并非所有字段都適用于關(guān)聯(lián)分析。在此僅選擇和Snort規(guī)則相關(guān)的字段,如SrcIP,SrcPort,DstIP,DstPort,Protocol,Dsize,F(xiàn)lags和CID等。
(2)產(chǎn)生關(guān)聯(lián)規(guī)則首先根據(jù)設(shè)定的支持度找出所有頻繁項集,一般支持度設(shè)置得越低,產(chǎn)生的頻繁項集就會越多;而設(shè)置得越高,產(chǎn)生的頻繁項集就越少。接著由頻繁項集產(chǎn)生關(guān)聯(lián)規(guī)則,一般置信度設(shè)置得越低,產(chǎn)生的關(guān)聯(lián)規(guī)則數(shù)目越多但準確度不高;反之置信度設(shè)置得越高。產(chǎn)生的關(guān)聯(lián)規(guī)則數(shù)目越少但是準確度較高。
3.4 系統(tǒng)模型特點
該系統(tǒng)在實際應(yīng)用時,既可以事先存入已知入侵規(guī)則,以降低在開始操作時期的漏報率,也可以不需要預(yù)先的背景知識。雖然該系統(tǒng)有較強的自適應(yīng)性,但在操作初期會有較高的誤報率。因此該系統(tǒng)模型有如下特點:(1)利用數(shù)據(jù)挖掘技術(shù)進行入侵檢測;(2)利用先進的挖掘算法,使操作接近實時;(3)具有自適應(yīng)性,能根據(jù)當(dāng)前的環(huán)境更新規(guī)則庫;(4)不但可檢測到已知的攻擊,而且可檢測到未知的攻擊。
4 系統(tǒng)測試
以Snort為例,在規(guī)則匹配方面擴展系統(tǒng)保持Snort的工作原理,實驗分析具有代表性,分析攻擊模式數(shù)據(jù)庫大小與匹配時間的關(guān)系。
實驗環(huán)境:IP地址為192.168.1.2的主機配置為PIV1.8G,內(nèi)存512 M,操作系統(tǒng)為Windows XP;3臺分機的IP地址分別為192.168.1.23,192.168.1.32,192.168.1.45。實驗方法:隨機通過TcpDump抓取一組網(wǎng)絡(luò)數(shù)據(jù)包,通過該系統(tǒng)記錄約20 min傳送來的數(shù)據(jù)包,3臺分機分別對主機不同攻擊類型的數(shù)據(jù)包進行測試。
異常分析器采用K-Means算法作為聚類分析算法,試驗表明.誤檢率隨閾值的增大而迅速增大,而隨閾值的減小而逐漸減小。由于聚類半徑R的增大會導(dǎo)致攻擊數(shù)據(jù)包與正常數(shù)包被劃分到同一個聚類,因此誤檢率必然會隨著閾值的增大而增大。另一方面,當(dāng)某一種新類型的攻擊數(shù)據(jù)包數(shù)目達到閾值時,系統(tǒng)會將其判定為正常類,因此閾值越小必然導(dǎo)致誤檢率越高。當(dāng)聚類半徑R=6時,該系統(tǒng)比Snort原始版本檢測的速度快,并且誤檢率也較低。
特征提取器采用關(guān)聯(lián)分析的Apriori算法,置信度設(shè)置為100%,閾值設(shè)為1 000,支持度50%,最后自動生成以下3條新的入侵檢測規(guī)則:
alert tcp 192.168.1.23 2450->192.168.1.2 80(msg:”poli-cy:externalnet attempt to access 192.168.1.2”;classtype:at-temptesd-recon;)
alert tcp 192.168.1.32 1850->192.168.1.2 21(msg:”poli-cy:extemalnet attempt to access 192.168.1.2”;classtype:at-tempted-recon;)
alert tcp 192.168.1.45 2678->192.168.1.2 1080(msg:”policy:extemalnet attempt to access 192.168.1.2”;classtype:at-tempted-reeon;)
該試驗結(jié)果說明經(jīng)采用特征提取器對異常日志進行分析,系統(tǒng)挖掘出檢測新類型攻擊的規(guī)則,并具備檢測新類型攻擊的能力。
5 結(jié)束語
提出一種基于數(shù)據(jù)挖掘的入侵檢測系統(tǒng)模型,借助數(shù)據(jù)挖掘技術(shù)在處理大量數(shù)據(jù)特征提取方面的優(yōu)勢,可使入侵檢測更加自動化,提高檢測效率和檢測準確度。基于數(shù)據(jù)挖掘的入侵檢測己得到快速發(fā)展,但離投入實際使用還有距離,尚未具備完善的理論體系。因此,解決數(shù)據(jù)挖掘的入侵檢測實時性、正確檢測率、誤警率等方面問題是當(dāng)前的主要任務(wù),及豐富和發(fā)展現(xiàn)有理論,完善入侵檢測系統(tǒng)使其投入實際應(yīng)用。
評論