孫澤宇, 陳朝輝
(洛陽理工學院 a. 計算機與信息工程系;b.電氣工程與自動化系,河南 洛陽 471023)
入侵檢測系統(Intrusion Detection System, IDS)是用于識別針對計算機系統和網絡系統或是更為廣泛意義上的信息系統的非法攻擊,它是網絡信息系統安全的第二道防線,是安全基礎設施的補充。它通過收集和分析計算機網絡或計算機系統中基于關鍵點的信息,檢查網絡或系統中是否存在違反安全策略的行為和被攻擊跡象的一種安全技術。IDS的構建基本上有兩種方法:基于網絡的入侵檢測系統(NIDS)和基于主機的入侵檢測系統(HIDS)。兩者的主要區別是數據來源不同[1]。基于主機入侵檢測系統從單個主機上提取數據作為入侵分析的數據源,而基于網絡入侵檢測系統從網絡上提取數據作為入侵分析的數據源。由于數據源不同,所以采用的檢測方法也不同。
入侵檢測交換格式(IDEF)是由互聯網工作小組(IETF)的入侵檢測工作組(IDWG),在1999年6月開發的安全事件報警的標準格式。該格式最主要的一點是規范了部分術語的使用,為適應入侵檢測系統所輸出的安全事件信息的多樣性,IDEF數據模型采用了面向對象的設計思想,并以統一的建模語言(UML)來加以描述。其安全檢測框架模型如圖 1所示。

圖1 IETF/IDWG安全檢測框架模型
這個框架模型反映了入侵檢測系統的功能要求和邏輯結構,而在實現上的形式可以各有不同,依賴于系統所負擔的任務和所處的工作環境,所以傳感器、分析器和管理器可以是獨立的設備,也可以是一個設備中的不同功能[2]。入侵檢測過程在宏觀上一般分為三個過程,依次是信息收集、數據分析和事件響應。信息收集包括系統、網絡、傳輸的數據及用戶活動的狀態和行為。數據分析的任務是將收集到的有關系統、網絡、數據及用戶活動的狀態和行為等信息送到檢測引擎,而檢測引擎一般通過三種手段進行分析:模式匹配、統計分析和完整性分析。當檢測到事件時產生一個報警并發送管理器。管理器根據安全政策的定義,針對報警的內容進行響應,提出相應的處理措施建議[3]。
基于主機的入侵檢測系統(HIDS)通常以系統日志、應用程序日志等審計記錄文件作為數據源。它是通過比較這些審計記錄文件的記錄與攻擊簽名以發現它是否匹配。如果匹配,檢測系統就向系統管理員發出入侵報警并采取相應的行動。基于主機的IDS可以精確地判斷入侵事件,并可以對入侵事件做出立即反應。它還可針對不同操作系統的特點判斷出應用層的入侵事件。由于審計數據是收集系統用戶行為信息的主要方法,因而必須保證系統的審計數據不被修改。但是,當系統遭到攻擊時,這些數據很可能被修改。這就要求基于主機的入侵檢測系統必須滿足一個重要的實時性條件:檢測系統必須在攻擊者完全控制系統并更改審計數據之前完成對審計數據的分析、產生報警并采取相應的措施。
基于主機入侵檢測系統其優點在于:主機入侵檢測系統對分析“可能的攻擊行為”非常有用,它能夠分辨出入侵者干了什么事、他們運行什么程序、打開了哪些文件等等。其缺點在于:主機入侵檢測系統安裝在我們需要保護的設備上。當一個數據庫服務器需要保護時,就要在服務器本身上安裝入侵檢測系統,這會降低應用系統的效率。此外,它也會帶來一些額外的安全問題,安裝了主機入侵檢測系統后,擴大了本不允許管理員訪問的服務器權限。
基于網絡的入侵檢測系統(HIDS)放置在被保護的網絡上,使用原始網絡報文作為數據源進行攻擊分析。通常利用一個網絡適配器來實時監視和分析所有通過網絡進行傳輸的數據。一旦檢測到攻擊,入侵檢測系統相應模塊通過告知、報警以及中斷連接等方式來對攻擊做出反應。系統中數據采集模塊是由過濾器、網絡接口引擎和探測器組成。它的功能是,按一定規則從網絡上獲取與安全事件相關的數據包,然后傳遞給入侵檢測系統分析引擎模塊進行安全分析;入侵分析引擎模塊將根據從采集模塊傳來的數據包并結合網絡安全數據庫進行分析,把分析結果傳送給管理與配置模塊;而管理與配置模塊的主要功能是管理其他功能模塊的配置工作,并將入侵分析引擎模塊的輸出結果以有效的方式通知網絡管理員。
基于網絡的入侵檢測系統其優點在于:網絡入侵檢測系統能夠檢測到哪些是來自網絡的攻擊、哪些是來自超過權限的非法訪問等等。由于HIDS不會在業務系統的主機中安裝額外的軟件,從而不會影響這些機器的CPU、I/O設備與磁盤等資源的使用,不會影響業務系統的性能,HIDS發生故障不會影響正常業務的運行。其缺點在于:網絡入侵檢測系統只檢查它直接連接網段的通信,不能檢測在不同網段的數據包,在使用交換以太網的環境中就會出現監測范圍的局限,而安裝多臺網絡入侵檢測系統的傳感器會使整個系統的成本大大增加。
基于主機檢測的分布式入侵檢測系統(HDIDS),其結構分為兩個部分:主機探測器和入侵管理控制器。HDIDS用于保護網絡的關鍵服務器或其他具有敏感信息的系統,利用主機的系統資源、系統調用、審計日志等信息,判斷主機系統的運行是否遵循安全規則[4]。在實際工作過程中,主機探測器多以安全代理(Agent)形式直接安裝在每個被保護的主機系統上,并通過網絡中防火墻和網絡邊界安全開孔的方法(DMZ)對系統管理控制臺進行遠程控制。這種集中式的控制方式,便于對系統進行狀態監控、管理以及對檢測模塊的軟件進行更新。大大加強了基于主機檢測的分布式入侵檢測系統的安全化、結構化和可擴展化。其HDIDS配置圖如圖2所示。

圖2 基于主機檢測的分布式入侵檢測系統配置
HDIDS只能保護主機的安全。如果當網絡中需要保護的主機系統比較多時,其安裝配置的工作非常復雜。此外,對于一些復雜攻擊,主機探測器無能為力。因此,需要使用基于網絡的分布式入侵檢測系統(NDIDS)。NDIDS結構分為兩個部分[4]:網絡探測器和管理控制器。網絡探測器部署在重要的網絡區域,如服務器在收集網絡通信數據和業務數據流時,通過采用異常和誤用兩種方法對收集到信息進行分析,若出現攻擊或異常網絡行為,就向管理控制器發送報警信息。其NDIDS配置圖如下頁圖3所示。
從入侵的過程可以看出,數據分析是入侵檢測系統的核心,它是關系到能否檢測出入侵行為的關鍵。檢測率是人們關注的焦點,不同的分析技術所體現的分析機制也是不一樣的,從而對數據分析得到的結果當然也大不相同,而且不同的分析技術對不同的數據環境的適用性也不一樣。根據入侵檢測系統所采用的分析技術來看,它可以分為采用異常檢測的入侵檢測系統和采用誤用檢測的入侵檢測系統。基于上述分析可知,入侵行為能夠按某種方式進行編碼,而入侵檢測過程實際上就是模式匹配的過程。

圖3 基于網絡檢測的分布式入侵檢測系統配置
BM算法在一個文本中匹配某一特定字符串時,采用了啟發規則來跳過不必要的比較,減少數據比較次數[1]。BM算法使用的第一個啟發規則一般叫做“壞字符啟發式”。如果一個字符在所搜索的模式字符中并沒有出現,那么模式字符串可以向前移N個字符,其中N是給定的模式字符串的長度。第二個啟發式規則使用了模式字符串中“重復子字符串”的知識。這樣如果發生了不匹配,并且模式字符串中存在重復字符串模式,那么就可以使模式字符串移動到子字符串下一次出現的地方。BM算法如下:

基于神經網絡入侵檢測方法是訓練神經網絡連續的信息單元,信息單元指的是命令[6]。網絡的輸入層是用戶當前輸入的命令和已執行過的N個命令;用戶執行的命令被神經網絡使用來預測用戶輸入的下一個命令。若神經網絡被訓練成預測用戶輸入命令序列集合,則神經網絡就構成用戶的輪廓框架。當用這個神經網絡預測不出某用戶正確的后繼命令,即在某種程序上表明了用戶行為與其輪廓框架的偏離,這時有異常事件發生,以此就能進行異常入侵檢測。
該方法要點是建立攻擊劇本數據庫預警器和規劃者[3]。每個攻擊劇本表示成一個攻擊行為序列,在任意的給定時刻,攻擊劇本的子集都被用來推斷系統遭受入侵。入侵檢測系統根據當前的活動模型,預警器產生下一步行為,用來在審計跟蹤時作驗證使用。規劃者負責判斷假設的行為是如何反映在審計跟蹤數據上,以及將假設的行為變成與系統相關的審計跟蹤進行匹配。由于某些攻擊劇本的證據的累積,造成其他的證據的下降,活動模型組就被更新。同時系統中嵌入證據推理分析功能,這樣就可以得到更新活動的攻擊劇本出現的概率,根據攻擊劇本概率的大小進行推斷檢測入侵。
狀態遷移方法利用狀態圖表示攻擊特征,不同狀態刻畫了系統某一時刻的特征。初始狀態對應于入侵開始前的系統狀態,危害狀態對應于已成功入侵時刻的系統狀態。初始狀態與危害狀態之間的遷移可能有一個或多個中間狀態。攻擊者的操作將導致狀態發生遷移,使系統從初始狀態遷移到危害狀態。基于狀態遷移的誤用檢測方法通過檢查系統的狀態變化來發現系統中的入侵行為。
因為網絡入侵者通常是一些尖端技術的掌握者,至少有能力使用多級連接和代理等手段身份的掩護,所以入侵檢測系統是網絡界共同難題。本文從實際出發,提出了基于主機檢測的分布式入侵檢測系統和基于網絡檢測的分布式入侵檢測系統更有效地防御外來者的入侵,同時對BM算法和檢測方法做了詳細的描述。網絡入侵檢測系統是網絡安全的擴充,是網絡安全技術中的一個新型研究領域,具有廣闊的應用前景。
[1] 牛少影.信息安全概論[M].北京:北京郵電大學出版社,2004:190-201.
[2] 龔儉,吳樺,楊望.計算機網絡安全導論[M].南京:東南大學出版社,2007:253-271.
[3] 劉艷云.基于改進關聯規則的網絡入侵檢測方法的研究[J].通信技術,2008,41(12):316-318.
[4] 蔣建春.網絡信息安全理論與實踐[M].西安:西安電子科技大學出版社,2005:128-139.
[5] 夏炎,殷慧文.網絡入侵檢測技術研究[J].沈陽工程學院學報,2008(10):362-364.
[6] 胡建偉.網絡安全與保密[M].西安:西安電子科技大學出版社,2006:233-241.