1 引言
隨著計算機網(wǎng)絡(luò)不斷發(fā)展,各種問題也隨之產(chǎn)生,,網(wǎng)絡(luò)安全問題尤為突出,。傳統(tǒng)的入侵檢測技術(shù)包括濫用檢測和異常檢測。其中,,濫用檢測是分析各種類型的攻擊手段,,找出可能的“攻擊特征”集合,可有效檢測到已知攻擊,,產(chǎn)生誤報較少,,但只能檢測到已知的入侵類型,而對未知的入侵類型無能為力,,需要不斷更新攻擊特征庫,;而異常檢測的假設(shè)條件是通過觀察當前活動與系統(tǒng)歷史正常活動情況之間的差異可實現(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ù)進行檢測,。[next]
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)報警器 當偏離分析器報告有異常行為時,報警器通過人機界面向管理員發(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等,。
[next]
(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ù)當前的環(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ù)包被劃分到同一個聚類,,因此誤檢率必然會隨著閾值的增大而增大。另一方面,當某一種新類型的攻擊數(shù)據(jù)包數(shù)目達到閾值時,,系統(tǒng)會將其判定為正常類,,因此閾值越小必然導(dǎo)致誤檢率越高。當聚類半徑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ù)挖掘的入侵檢測實時性,、正確檢測率、誤警率等方面問題是當前的主要任務(wù),,及豐富和發(fā)展現(xiàn)有理論,,完善入侵檢測系統(tǒng)使其投入實際應(yīng)用。