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