摘要:簡要概述了網絡入侵的概念及分類,提出了一種基于IPV6的網絡入侵檢測模型,并提出了其實現的算法。
關鍵詞:入侵檢測 IPV6 入侵檢測系統
中圖分類號:TP393 文獻標識碼:A 文章編號:1002-2422(2008)03-0033-02
1 IDS的作用
(1)監視、分析用戶和系統的運行狀況,查找非法用戶和合法用戶的越權操作:(2)檢測系統配置的正確性和安全漏洞,并提示管理員修補漏洞;(3)檢測系統程序和數據的一致性和正確性;(4)能夠實時地對檢測到的攻擊行為進行響應;(5)對用戶非正常活動的統計分析,發現攻擊行為的規律;(6)對操作系統的審計跟蹤管理,并識別用戶違反安全策略的行為。
2 入侵檢測系統的分類
IDS根據檢測的對象可分為基于主機的入侵檢測系統和基于網絡的入侵檢測系統。
HIDS是根據主機系統的日志和審計記錄來進行檢測分析,通常在要受保護的主機上有專門的檢測代理,從而來發現對主機的攻擊。系統能夠監視主機的運行狀態和用戶的操作,如用戶登錄和退出系統,審計系統在日志記錄中的策略改變,監視養分系統文件和可執行文件的改變等,由于使用含有已受攻擊信息,HIDS能夠準確確定攻擊是否成功,有些攻擊在網絡的數據流中很難發現,或者根本沒有通過網絡在本地進行,此時HIDS將更有效。但系統也有一些不足,例如HIDS直接裝在受保護的機器上會影響系統的運行效率,對一個網絡系統全面部署HIDS的代價太大,HIDS只能監視主機本身,不能對網絡上的數據進行全面監視。
NIDS一般是配置在網關,通過捕獲流入內部子網的原始數據包實時檢測功能。這種網絡檢測每個內部子網只需要配置一個NIDS,其成本較低,能夠對流入內部子網的所有數據包進行監視,以檢測來自網絡的攻擊,這是HIDS無法完成的,NIDS不依賴于被保護主機的操作系統,NIDS能做到實時監測和響應,一旦發現入侵行為就可以立即中止攻擊,入侵都不容易銷毀證據,被截獲的入侵信息不僅包括入侵的方法,還包括可以定位入侵對象的信息;NIDS也有一些缺點,例如只能監視本網的信息流,對于多網段的監控需要更多的傳感器,則會增加NIDS的復雜度,精確度不高,很難實現對一些復雜的需要大量計算與分析時間的攻擊,在交換環境下難以配置;NIDS難以處理加密會話過程,在IPV6網絡中需要增加設備才能實現。
3 入侵檢測技術分類
一般將IDS分為兩種類型的檢測技術:異常檢測(An-omaly Detection)和誤用檢測(Misuse Detection)。
異常檢測也被稱為基于行為的檢測,基于行為的檢測指根據使用者的行為或資源使用狀況來判斷是否入侵。基于行為檢測與系統相對無關,通用性較強,它甚至有可能檢測出以前未出現過的攻擊方法,不像基于知識的檢測那樣受到已知脆弱性的限制。但基于異常的入侵檢測技術仍面臨以下問題:(1)入侵者可以逐步訓練基于統計的檢測系統,使之將異常活動判為正常活動;(2)異常行為是相對的,難以確定正常和異常之間的閩值,容易漏報和誤報;(3)計算量大,涉及的入侵度量眾多;(4)需較高的技術,實現上有一定難度,而且通常不能給出準確的結論,只能提出某種可能性;(5)異常檢測的使用比較麻煩,要有一定的訓練期,以獲得正常行為的有關數據。其模型如圖1所示。

目前出現的具體方法有:基于特征選擇、基于貝葉斯推理、基于模式預測、基于機器學習、基于神經網絡等方法。
誤用檢測也稱為基于知識的檢測,運用已知攻擊方法,根據已定義的入侵模式,通過判斷這些入侵模式是否出現來檢測。這種方法依據具體的特征庫進行判斷,所以檢測準確性很高,可以針對某個具體的系統建立高效的檢測系統;另外,由于檢測結果有明顯的參照,檢測目標明確,從而易于實現和使用,而且檢測準確性高,誤報少,處理速度快,因此,該技術是目前最有效、最流行的檢測方法。但誤用檢測也有如下的缺點:對未知的攻擊無效,容易漏報,需要對入侵特征庫進行升級。其模型如圖2。

目前出現的具體方法有模式匹配、模型推理、基于條件概率、基于狀態遷移和專家系統等。
由于這兩類技術方案具備一定的優勢互補性,因此在商用系統中通常把兩類方法結合使用,以提高對入侵的識別率。在商業產品中應用最廣泛的還是屬于誤用入侵檢測技術中的模式匹配技術。
4 Snort系統概述
Snort系統是一個開放源代碼的網絡入侵檢測系統,運行在Libpcap庫函數基礎上,系統代碼遵循GNU/GPL協議,能夠在IP網絡上執行實時的網絡流量分析和數據包記錄,可以執行協議分析、內容檢查和匹配。它是一個輕量級的網絡入侵檢測系統。所謂輕量級是指在檢測時盡可能低地影響網絡的正常操作,一個優秀的輕量級NIDS應該具備跨系統平臺操作,對系統影響最小等特征并且管理員能夠在短時間內通過修改配置進行實時的安全響應,更為重要的是能夠成為整體安全結構的重要成員。另外,Snort還可以作為數據包記錄器使用。
Snort使用靈活的規則語言來描述流量,判斷應該是否收集或者通過,有一個優秀的檢測引擎,此引擎是利用模塊插入框架,可以提供實時的預警能力,預警方式有系統記錄、UNIX套節字,或者WinPopup消息方式。
Snort作為一個基于網絡的入侵檢測系統,其工作原理為在基于共享網絡上檢測原始的網絡傳輸數據,通過分析捕獲的數據包,匹配入侵行為的特征或者從網絡活動的角度檢測異常行為,進而采取入侵的預警或記錄。從檢測模式而言,Snort屬于誤用檢測,即對已知攻擊的特征模式進行匹配。從本質上來說,Snort是基于規則檢測的入侵檢測工具,即針對每一種入侵行為,都提煉出它的特征值并按照規范寫成檢驗規則,從而形成一個規則數據庫:其次將捕獲的數據包按照規則庫逐一匹配,若匹配成功,則認為該入侵行為成立。
5 IPV6環境下的NIDS實現
整個入侵檢測的說明如下:
(1)進入系統,進行初始化全局變量,并將規則庫中的規則讀入內存;(2)捕獲數據包;(3)根據協議規則解析捕獲的數據包,保存到僵局變量,并同步輸出到屏幕和保存到數據庫;(4)用內存中的一條規則進行匹配;(5)若匹配成功將發出報警,否則檢查規則是否匹配完,如果匹配完就轉入第二步檢測下一個數據包,否則取下一個規則進行匹配。
6 結束語
基于協議分析的NIDS技術的低誤報率和高效性使其具有較高的實際應用價值,對IPV6網絡下的NIDS研究應該是與時俱進的過程。