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