入侵檢測系統(IDS,Intrusion Detection System)是為保證計算機網絡系統的安全而設計的一種用于檢測違反安全策略行為的技術,它能夠及時發現并報告網絡中未授權的訪問或異常現象。違反安全策略的行為,主要是指入侵和濫用——通常將非法用戶的違規訪問行為稱為入侵,將合法用戶的違規訪問行為稱為濫用。
入侵檢測使用兩種基本的檢測技術:特征檢測與異常檢測。前者常常是對網上流動的數據內容進行分析,找出“黑客”攻擊的表征。后者往往是對網絡上的數據流量進行分析,找出表現異常的網絡通信。功能簡單的入侵檢測系統可能只使用這兩種技術中的一種。
特征檢測(Signature-based detection)又稱為Misuse detection,它假設入侵者的活動可以用一種模式來表示,系統的目標是檢測所發現的活動是否符合這些模式。常用的特征檢測是在網上傳遞的信息內容中尋找特定的字符序列,這些字符序列是在已知的入侵實例中使用過的。例如,通信特征檢測判讀的是進入系統的數據包的“信封”,但是不讀信件內容。數據包的“信封”上除地址之外還包括其他一些內容。通過對信封上信息的判讀,可以發現與入侵行為相關的某些特征。然而在這些特征當中,只有很小一部分可以通過分析立即得出確定的結論,其他則需要對大量數據進行相關分析。特別是對網絡中不同時間點,不同空間點上的數據進行相關分析。在實現上有相當的難度。另外,Internet上信息的傳輸是通過將大段的信息分割為尺寸很小的數據“碎片”打包實現的,一個文件往往被分割在許多數據包中發送到網上,而每個數據包獨立在網上傳送,不考慮它與其他數據包的時間次序或其他關系。僅當到達了目的地之后,這些數據包中的“碎片”才被重新裝配起來。出于對處理效率和開銷的考慮,許多入侵檢測產品都不進行“碎片裝配”工作,這不能不使這些產品尋找攻擊特征的能力受到一些限制。特征檢測能夠將已有的入侵方法檢查出來,但對新的入侵方法往往無能為力,其難點在于如何設計一種有效的模式:既能夠表達“入侵”現象義不會將正常的活動包含進來。
異常檢測(Anomaly detection)的假設是入侵者活動異常于正常用戶的活動。根據這個假設建立用戶正常活動的“規律簡檔”。系統將當前檢測到的用戶活動狀況與“規律簡檔”相比較,當違反其統計規律時,認為該活動可能是“入侵”行為。異常檢測的難題在于如何建立“規律簡檔”,以及如何設計統計算法,從而不把正常的操作作為“入侵”或忽略真正的“入侵”行為。