入侵检测系统的原理与应用
入侵檢測是一種主動保護自己免受攻擊的網絡安全技術。作為防火墻的合理補充,入侵檢測技術能夠幫助系統對付網絡攻擊,擴展了系統管理員的安全能力(包括安全審計、監視、攻擊識別和響應),提高了信息安全基礎結構的完整性。入侵檢測被認為是防火墻之后的第二道安全閘門,在不影響網絡性能的情況下能對網絡進行檢測。
?
1、入侵檢測的原理
?
入侵檢測(Intrusion Detection)是指發現或確定入侵行為存在或出現的動作,也就是發現、跟蹤并記錄計算機系統或計算機網絡中的非授權行為,或發現并調查系統中可能為視圖入侵或病毒感染所帶來的異常活動。入侵檢測作為一門新興的安全技術,以其對網絡系統的實時監測和快速響應的特性,逐漸發展成為保障網絡系統安全的關鍵部件。其基本原理如下圖所示:
?
?
?
?
入侵檢測系統(Intrusion Detection Systems,IDS)在ICSA(國際計算機安全協會)的入侵檢測系統論壇被定義為:通過從計算機網絡或計算機系統中的若干關鍵點收集信息并對其進行分析,從中發現網絡或系統中是否有違反安全策略的行為和遭到襲擊的跡象的一種安全技術。
在允許各種網絡資源以開放方式運作的前提下,入侵檢測系統成了確保網絡安全的一種新的手段,它通過實時的分析,檢查特定的攻擊模式、系統配置、系統漏洞、存在缺陷的程序以及系統或用戶的行為模式,監控與安全有關的活動。入侵檢測系統提供了用于發現入侵攻擊與合法用戶濫用特權的一種方法,IDS解決安全問題是基于如下假設的:入侵行為和合法行為是可區分的,也就是說可以通過提取行為的模式特征來判斷該行為的性質。一個基本的入侵檢測系統需要解決兩個問題:一是如何區分并可靠地提取描述行為特征的數據;二是如何根據特征數據,高效并準確地判定行為的性質。
?
2、IDS的功能
?
應用于不同的網絡環境和不同的系統安全策略,IDS在具體實現上也有所不同。從系統構成上看,IDS至少包括數據提取、入侵分析、響應處理三大部分,另外還可以結合安全知識庫、數據存儲等功能模塊,提供更為完善的安全檢測技術和分析功能。
?
IDS模塊結構如下圖所示:
?
?
?
數據提取模塊在IDS中居于基礎地位,負責提取反映受保護系統運行狀態的運行數據,并完成數據的過濾及其他預處理工作,為入侵分析模塊和數據存儲模塊提供原始的安全審計數據,是IDS的數據采集器。
?
入侵分析模塊是IDS的核心模塊,包括對原始數據進行同步、整理、組織、分類、特征提取以及各種類型的細致分析,提取其中所包含的系統活動特征或模式,用于正常和異常行為的判斷。這種行為的鑒別可以實時進行,也可以是事后的分析。
?
響應處理模塊的工作實際上反映了當發現了入侵者的攻擊行為之后,該怎么辦的問題。可選的相應措施包括主動響應和被動響應。前者以自動的或用戶設置的方式阻斷攻擊過程;后者則只對發生的時間進行報告和記錄,由安全管理員負責下一步的行動。
?
IDS具有以下優點:
?
(1)實時檢測網絡系統的非法行為。
?
(2)網絡IDS系統不占用系統的任何資源。
?
(3)網絡IDS系統是一個獨立的網絡設備,可以做到對黑客不透明,因此其自身的安全性很高。
?
(4)網絡IDS系統既是實時檢測系統,也是記錄審計系統,可以做到實時保護和事后取證分析。
?
(5)主機IDS系統運行于保護系統之上,可以直接保護和恢復系統。
?
(6)通過與防火墻的連動,可以更有效地阻止非法入侵和破壞。
?
3、IDS分類
?
IDS經常從基于數據源和基于檢測方法去分類。
?
3.1 基于數據源的分類
?
IDS首先需要解決的問題是數據源,或者說是審計事件發生器。IDS根據其檢測數據來源分為兩類,分別是基于主機(Host-based)的IDS和基于網絡(Network-based)的IDS。基于主機的IDS從單個主機上提取數據作為入侵分析的數據源,而基于網絡的IDS從網絡上提取數據作為入侵分析的數據源。通常來說基于主機的IDS只能檢測單個主機系統,而基于網絡的IDS可以對本網段的多個主機系統進行檢測,多個分布于不同網段上的基于網絡的IDS可以協同工作以提供更強的入侵檢測能力。
?
3.1.1 基于主機的IDS
?
基于主機IDS的檢測目標是主機系統和系統本地用戶,原理是根據主機的審計數據和系統日志發現可疑事件。該徐彤通常運行在被監測的主機或服務器上,實時奸惡主機安全性方面諸如操作系統日志文件、審核日志文件、應用程序日志文件等的情況,其效果依賴于數據的準確性以及安全事件的定義。課件這種類型的IDS是利用主機操作系統及應用程序的審核蹤跡作為輸入的主要數據源來檢測入侵。基于主機的IDS被設計成檢測IDS代理所駐留的宿主機,如下圖所示,這種IDS可以檢測到網絡協議棧的高層數據,也可以檢測到被監視主機上的本地活動,如文件修改和用戶賬戶的建立。
?
?
?
在上圖的C/S通信模式下,客戶機對服務器上的訪問活動將被服務器日志所記載,IDS代理檢測這些記錄用戶活動信息的日志文件,將它們與事先知道的用戶正常行為模式進行匹配。
?
基于主機的IDS有兩種主要應用類型:基于應用和基于操作系統。
?
(1)基于應用的IDS從應用層服務中收集數據。例如,數據庫管理軟件、web服務程序或防火墻等產生的日志服務等,數據源包括了應用時間日志和其他存儲于應用程序內部的數據信息。這種方式可以更好地獲取系統上的用戶活動,但也存在應用層的脆弱性會破壞監視和檢測的弱點。
?
(2)基于操作系統的IDS搜索在特定系統上的活動消息,這些信息可以是操作系統產生的審計蹤跡,也可以是系統日志等。這種方式可以監控對系統訪問的主體和對象,并且可以將可疑的活動映射到特定的用戶ID上。同樣操作系統的脆弱性也會破壞IDS監視與入侵分析的完整性,同時基于操作系統的IDS必須建立在特定的操作系統上,這樣就增加了開銷。
?
基于主機的IDS具有檢測效率高、分析代價小、分析速度快的優點,能夠迅速并準確地定位入侵者,并可以結合操作系統和應用程序的行為特征對入侵進行進一步分析、響應。其不足之處在于:首先一定程度上依賴系統的可靠性;同時主機日志能夠提供的信息是有限的,日志系統對網絡層的入侵行為無能為力。
?
3.1.2 基于網絡的IDS
?
基于網絡的IDS搜集來自網絡層的信息,監視網絡數據流。通常來說,網咯適配器可以工作在兩種不同的模式:正常模式和混雜模式。處于正常模式時,網絡適配器只能接收到共享網絡中發向本機的數據包,丟棄其他目標主機的數據包;處于混雜模式時,網絡適配器可以接收所有在網絡中傳輸的數據包,并交給操作系統或應用程序進行分析,這種機制為進行網絡數據流的監視和入侵檢測提供了必要的數據來源。
?
從下圖可以看出,基于網絡的IDS位于客戶端與服務器的通信鏈路中央,可以訪問到通信鏈路的所有層次,因此這種IDS可以監視和檢測網絡層的攻擊。
?
?
從理論上來說,網絡監視可以獲得所有的網絡信息數據,在沒有特定的審計或日志機制的情況下,也可以獲得數據;只要時間允許,可以在龐大的數據堆中提取和分析需要的數據;可以對一個子網進行檢測,一個監視模塊可以監視同一網段的多臺主機的網絡行為;可以通過增加代理來監視網路,不會影響現存的數據源,不改變系統和網絡的工作模式,也不影響主機性能和網絡性能;處于被動接受方式,很難被入侵者發現,隱藏性好;可以從底層開始分析,對基于協議攻擊的入侵手段有較強的分析能力。
基于網絡的IDS主要問題是監視數據量過于龐大并且它不能結合操作系統特征來對網絡行為進行準確地判斷;如果網絡數據被加密,IDS就不能掃描協議或內容。
3.2 基于檢測方法的分類
從監測方法可以將IDS分為異常檢測和誤用檢測兩種類型。
3.2.1 異常檢測(Anomaly Detection)
根據使用者的行為或資源使用狀況的正常程度來判斷是否入侵,而不依賴于具體行為是否出現來檢測。異常檢測與系統相對無關,通用性較強,甚至可以檢測出以前未出現過的攻擊方法。由于不可能對整個系統內的所有用戶行為進行全面的描述,而且每個用戶的行為是經常改變的,所以它的主要缺陷在于誤檢率很高,尤其在用戶數據眾多,或工作方式經常改變的環境中。另外由于行為模式的統計數據不斷 更新,入侵者如果知道某系統處在檢測器的監視下時,他們可以通過惡意的訓練方式,促使檢測系統緩慢得更改統計數據,以至于最初認為是異常的行為,經過一段時間的訓練后被認為是正常的。這是目前異常檢測所面臨的一大難題。
3.2.2 誤用檢測(Misuse Detection)
根據已定義好的入侵模式,通過判斷在實際的安全審計數據中是否出現這些入侵模式來完成檢測功能。大部分的入侵行為都是利用了一直的系統脆弱性,因此通過分析入侵過程的特征、條件、順序以及事件間的關系,可以具體描述入侵行為的跡象。誤用檢測有時也被稱為特性分析或基于知識的檢測。這種方法由于依據具體特征庫進行判斷,所以檢測準確度很高,并且因為檢測結果有明確的參照,也為管理員及時做出相應措施提供了方便。誤用檢測的缺陷在于檢測范圍受已有知識的局限,無法檢測未知的攻擊類型。另外檢測系統對目標系統的依賴性太強,不但系統移植性不好,維護工作量大,而且將具體入侵手段抽象成知識也是比較困難的,對于某些內部的入侵行為,如合法用戶的泄密等,由于這些入侵行為并沒有利用系統的脆弱性,因此誤用檢測也是無能為力的。
4、入侵檢測的主要方法
入侵檢測的主要方法有靜態配置分析、異常性檢測方法、基于行為的檢測方法。
4.1 靜態配置分析
靜態檢測分析通過檢查系統的當前系統配置,如系統文件的內容或系統表,來檢測系統是否已經或可能會遭到破壞。靜態是指檢查系統的靜態特征(系統配置信息),而不是系統中的活動。
采用靜態分析方法主要有以下幾個方面的原因:入侵者對系統攻擊時可能會留下痕跡,這可通過檢查系統的狀態檢測出來;系統管理員以及用戶在建立系統時難免會出現一些錯誤或遺漏一些系統的安全性措施;另外系統在遭到攻擊后,入侵者可能會在系統中安裝一些安全性后門以方便對系統進行進一步的攻擊。
所以靜態配置分析方法需要盡可能了解系統的缺陷,否則入侵者只需要簡單地利用那些系統中位置的安全缺陷就可以避開檢測系統。
4.2 異常性檢測方法
異常性檢測技術使一種不需要操作系統及其防范安全性缺陷專門知識的情況下,就可以檢測入侵者的方法,同時它也是檢測冒充合法用戶的入侵者的有效方法。但是在許多環境中,為用戶建立正常行為模式的特征輪廓及對用戶活動的異常性進行報警的門限值的確定都是比較困難的事,所以僅使用異常性檢測技術不可能檢測出所有的入侵行為。
目前這類IDS多采用統計,或者基于規則描述的方法,建立系統主體的行為特征輪廓:
(1)統計特征輪廓由主體特征變量的頻度、均值以及偏差等統計量來描述。
(2)基于規則描述的特征輪廓,由一組用于描述主體每個特征的合法取值范圍與其他特征的取值之間關系的規則組成。該方案還可以采用從大型數據庫中提取規則的數據挖掘技術。
(3)神經網絡方法具有自學習、自適應能力,可以通過自學習提取正常的用戶或系統活動的特征模式,避開選擇統計特征這一難題。
4.3 基于行為的檢測方法
通過檢測用戶行為中那些與已知入侵行為模式類似的行為、那些利用系統中缺陷或間接違背系統安全規則的行為,來判斷系統中的入侵活動。
目前基于行為的IDS只是在表示入侵模式的方式以及在系統的審計中檢查入侵簽名的機制上有所區別,主要可以分為基于專家系統、基于狀態遷移分析和基于模式匹配等幾類。這些方法的局限性在于:只是根據已有的入侵序列和系統缺陷模式來檢測系統中的可疑行為,而不能檢測新的入侵攻擊行為以及未知的、潛在的系統缺陷。
入侵檢測方法雖然能夠在某些方面取得好的效果,但總體來看各有不足,因而越來越多的IDS都同時采用幾種方法,以互補不足,共同完成檢測任務。
總結
以上是生活随笔為你收集整理的入侵检测系统的原理与应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: privilege instructio
- 下一篇: 面向初学者的 40 多个 Python