IDS

IDS

網絡安全體系結構中的環節
入侵檢測系統(Intrusion Detection System,IDS)是一個目前熱門的研究領域。由于無法完全避免系統被攻擊或者入侵,入侵檢測系統就成為一個能及時發現攻擊或入侵,并能夠向安全管理者提供有價值的安全警報的系統。由于入侵事件的實際危害越來越大,人們對入侵檢測系統的關注也越來越多。
    中文名:入侵檢測系統 外文名:IDS 别名: 目的:保證網絡系統資源的機密性完整性 起源:《計算機安全威脅監控與監視》 原理:實時入侵檢測和事後入侵檢測

​簡介

IDS是英文“Intrusion Detection Systems”的縮寫,中文意思是“入侵檢測系統”。專業上講就是依照一定的安全策略,通過軟、硬件,對網絡、系統的運行狀況進行監視,盡可能發現各種攻擊企圖、攻擊行為或者攻擊結果,以保證網絡系統資源的機密性、完整性和可用性。做一個形象的比喻:假如防火牆是一幢大樓的門鎖,那麼IDS就是這幢大樓裡的監視系統。一旦小偷爬窗進入大樓,或内部人員有越界行為,隻有實時監視系統才能發現情況并發出警告。

《信息安全産品強制性認證實施規則入侵檢測系統(IDS)産品》所指的入侵檢測系統指通過對計算機網絡或計算機系統中的若幹關鍵點收集信息并對其進行分析,發現違反安全策略的行為和被攻擊迹象的軟件或軟硬件組合。該規則适用的産品範圍為:(1)網絡型入侵檢測系統;(2)主機型入侵檢測系統。

起源

1、1980年,James P. Anderson的《計算機安全威脅監控與監視》(《Computer Security Threat Monitoring and Surveillance》)

第一次詳細闡述了入侵檢測的概念;提出計算機系統威脅分類;提出了利用審計跟蹤數據監視入侵活動的思想;此報告被公認為是入侵檢測的開山之作。

2、1984年到1986年,喬治敦大學的Dorothy Denning和SRI/CSL的Peter Neumann研究出了一個實時入侵檢測系統模型--IDES(入侵檢測專家系統)

3、1990年,加州大學戴維斯分校的L. T. Heberlein等人開發出了NSM(Network Security Monitor)

該系統第一次直接将網絡流作為審計數據來源,因而可以在不将審計數據轉換成統一格式的情況下監控異種主機

入侵檢測系統發展史翻開了新的一頁,兩大陣營正式形成:基于網絡的IDS和基于主機的IDS

4、1988年之後,美國開展對分布式入侵檢測系統(DIDS)的研究,将基于主機和基于網絡的檢測方法集成到一起。DIDS是分布式入侵檢測系統曆史上的一個裡程碑式的産品。

5、從20世紀90年代到現在,入侵檢測系統的研發呈現出百家争鳴的繁榮局面,并在智能化和分布式兩個方向取得了長足的進展。

通信協議

IDS系統組件之間需要通信,不同的廠商的IDS系統之間也需要通信。因此,定義統一的協議,使各部分能夠根據協議所制訂的标準進行溝通是很有必要的。IETF目前有一個專門的小組IDWG(IntrusionDetection WorkingGroup)負責定義這種通信格式,稱作Intrusion Detection ExchangeFormat。目前隻有相關的草案,并未形成正式的RFC文檔。盡管如此,草案為IDS各部分之間甚至不同IDS系統之間的通信提供層協議,其設計多其他功能(如可從任意端發起連接,結合了加密、身份驗證等)。

CIDF模型

(CIDF)闡述了一個入侵檢測系統(IDS)的通用模型。它将一個入侵檢測系統分為以下組件:

事件産生器(Event generators)

事件分析器(Event analyzers)

響應單元(Response units)

事件數據庫(Event databases)

CIDF将IDS需要分析的數據統稱為事件(event),它可以是網絡中的數據包,也可以是從系統日志等其他途徑得到的信息。

分類

基于主機模型

也稱基于系統的模型,它是通過分析系統的審計數據來發現可疑的活動,如内存和文件的變化等。其輸入數據主要來源于系統的審計日志,一般隻能檢測該主機上發生的入侵。

這種模型有以下優點:

一是性能價格比高:在主機數量較少的情況下,這種方法的性能價格比可能更高。

二是更加細緻:這種方法可以很容易地監測一些活動,如對敏感文件、目錄、程序或端口的存取,而這些活動很難在基于協議的線索中發現。

三是視野集中:一旦入侵者得到了一個主機用戶名和口令,基于主機的代理是最有可能區分正常的活動和非法的活動的。

四是易于用戶剪裁:每一個主機有其自己的代理,當然用戶剪裁更方便了。

五是較少的主機:基于主機的方法有時不需要增加專門的硬件平台。

六是對網絡流量不敏感:用代理的方式一般不會因為網絡流量的增加而丢掉對網絡行為的監視。

基于網絡的模型

即通過連接在網絡上的站點捕獲網上的包,并分析其是否具有已知的攻擊模式,以此來判别是否為入侵者。當該模型發現某些可疑的現象時也一樣會産生告警,并會向一個中心管理站點發出“告警”信号。

基于網絡的檢測有以下優點:

一是偵測速度快:基于網絡的監測器通常能在微秒或秒級發現問題。而大多數基于主機的産品則要依靠對最近幾分鐘内審計記錄的分析。

二是隐蔽性好:一個網絡上的監測器不像一個主機那樣顯眼和易被存取,因而也不那麼容易遭受攻擊。由于不是主機,因此一個基于網絡的監視器不用去響應ping,不允許别人存取其本地存儲器,不能讓别人運行程序,而且不讓多個用戶使用它。

三是視野更寬:基于網絡的方法甚至可以作用在網絡的邊緣上,即攻擊者還沒能接入網絡時就被制止。

四是較少的監測器:由于使用一個監測器就可以保護一個共享的網段,所以你不需要很多的監測器。相反地,如果基于主機,則在每個主機上都需要一個代理,這樣的話,花費昂貴,而且難于管理。但是,如果在一個交換環境下,每個主機就得配一個監測器,因為每個主機都在自己的網段上。

五是占資源少:在被保護的設備上不用占用任何資源。

這兩種模型具有互補性,基于網絡的模型能夠客觀地反映網絡活動,特别是能夠監視到主機系統審計的盲區;而基于主機的模型能夠更加精确地監視主機中的各種活動。基于網絡的模型受交換網的限制,隻能監控同一監控點的主機,而基于主機模型裝有IDS的監控主機可以對同一監控點内的所有主機進行監控。

對于基于标識的檢測技術來說,首先要定義違背安全策略的事件的特征,如網絡數據包的某些頭信息。檢測主要判别這類特征是否在所收集到的數據中出現,這有些類似殺毒軟件的工作原理。

而基于異常的檢測技術則是先定義一組系統“正常”情況的數值,如CPU利用率、内存利用率、文件校驗和等(這類數據可以人為定義,也可以通過觀察系統、并用統計的辦法得出),然後将系統運行時的數值與所定義的“正常”情況比較,得出是否有被攻擊的迹象。這種檢測方式的核心在于如何精确定義所謂的“正常”情況。

往往兩種檢測方法所得出的結論會有非常大的差異。基于标志的檢測技術的核心是維護一個知識庫。對于已知的攻擊,它可以詳細、準确的報告出攻擊類型,但是對未知攻擊卻效果有限,而且知識庫必須不斷更新。基于異常的檢測技術則無法準确判别出攻擊的手法,但它可以(至少在理論上可以)判别更廣範、甚至未發覺的攻擊。如果條件允許,兩者結合的檢測會達到更好的效果。

1)基于主機的入侵檢測系統:其輸入數據來源于系統的審計日志,一般隻能檢測該主機上發生的入侵;

2)基于網絡的入侵檢測系統:其輸入數據來源于網絡的信息流,能夠檢測該網段上發生的網絡入侵;

3)采用上述兩種數據來源的分布式入侵檢測系統:它能夠同時分析來源于系統的審計日志和來源于網絡的信息流,這種系統一般由多個部件組成。

流程

收集的内容包括系統、網絡、數據及用戶活動的狀态和行為。收集信息需要在計算機網絡系統中不同的關鍵點來進行,這樣一方面可以盡可能擴大檢測範圍,另一方面從幾個信源來的信息的不一緻性是可疑行為或入侵的最好标識,因為有時候從一個信源來的信息有可能看不出疑點。

黑客經常在系統日志中留下他們的蹤迹,因此,充分利用系統日志是檢測入侵的必要條件。日志文件中記錄了各種行為類型,每種類型又包含不同的信息,很顯然地,對用戶活動來講,不正常的或不期望的行為就是重複登錄失敗、登錄到不期望的位置以及非授權的企圖訪問重要文件等等。網絡環境中的文件系統包含很多軟件和數據文件,包含重要信息的文件和私有數據文件經常是黑客修改或破壞的目标。

網絡系統上的程序執行一般包括操作系統、網絡服務、用戶啟動的程序和特定目的的應用,例如數據庫服務器。每個在系統上執行的程序由一到多個進程來實現。每個進程執行在具有不同權限的環境中,這種環境控制着進程可訪問的系統資源、程序和數據文件等。一個進程出現了不期望的行為可能表明黑客正在入侵你的系統。黑客可能會将程序或服務的運行分解,從而導緻運行失敗,或者是以非用戶或非管理員意圖的方式操作。這包括兩個方面的内容,一是未授權的對網絡硬件連接;二是對物理資源的未授權訪問。

一般通過三種技術手段進行分析:模式匹配,統計分析和完整性分析。其中前兩種方法用于實時的入侵檢測,而完整性分析則用于事後分析。

1)模式匹配

模式匹配就是将收集到的信息與已知的網絡入侵和系統誤用模式數據庫進行比較,從而發現違背安全策略的行為。該方法的一大優點是隻需收集相關的數據集合,顯着減少系統負擔,且技術已相當成熟。它與病毒防火牆采用的方法一樣,檢測準确率和效率都相當高。但是,該方法存在的弱點是需要不斷的升級以對付不斷出現的黑客攻擊手法,不能檢測以前從未出現過的黑客攻擊手段。

2)統計分析

統計分析方法首先給系統對象(如用戶、文件、目錄和設備等)創建一個統計描述,統計正常使用時的一些測量屬性(如訪問次數、操作失敗次數和延時等)。測量屬性的平均值将被用來與網絡、系統的行為進行比較,任何觀察值如果超過了正常值範圍,就認為有入侵發生。其優點是可檢測到未知的入侵和更為複雜的入侵,缺點是誤報、漏報率高,且不适應用戶正常行為的突然改變。具體的統計分析方法如基于專家系統的、基于模型推理的和基于神經網絡的分析方法,這在前面入侵檢測的分類中已經提到。下面隻對統計分析的模型做以介紹。

入侵檢測5種統計模型為:

操作模型:該模型假設異常可通過測量結果與一些固定指标相比較得到,固定指标可以根據經驗值或一段時間内的統計平均得到,舉例來說,在短時間内多次失敗的登錄很有可能是嘗試口令攻擊;

方差:計算參數的方差并設定其置信區間,當測量值超過置信區間的範圍時表明有可能是異常;

多元模型:即操作模型的擴展,它通過同時分析多個參數實現檢測;

馬爾柯夫過程模型:即将每種類型的事件定義為系統狀态,用狀态轉移矩陣來表示狀态的變化,當一個事件發生時,如果在狀态矩陣中該轉移的概率較小則該可能是異常事件;

時間序列分析:即将事件計數與資源耗用根據時間排成序列,如果一個新事件在該時間發生的概率較低,則該事件可能是入侵。

統計方法的最大優點是它可以“學習”用戶的使用習慣,從而具有較高檢出率與可用性。但是它的“學習”能力有時也會給入侵者以機會,因為入侵者可以通過逐步“訓練”使入侵事件符合正常操作的統計規律,從而透過入侵檢測系統。

3)完整性分析

完整性分析主要關注某個文件或對象是否被更改,這經常包括文件和目錄的内容及屬性,它在發現被修改成類似特洛伊木馬的應用程序方面特别有效。其優點是不管模式匹配方法和統計分析方法能否發現入侵,隻要是有入侵行為導緻了文件或其他對象的任何改變,它都能夠發現。缺點是一般以批處理方式實現,不用于實時響應。

性能标準

根據Porras等的研究,給出了評價IDS性能的三個因素:

·準确性(Accuracy):指IDS從各種行為中正确地識别入侵的能力,當一個IDS的檢測不準确時,就有可能把系統中的合法活動當作入侵行為并标識為異常(虛警現象)。

·處理性能(Performance):指一個IDS處理數據源數據的速度。顯然,當IDS的處理性能較差時,它就不可能實現實時的IDS,并有可能成為整個系統的瓶頸,進而嚴重影響整個系統的性能。

·完備性(Completeness):指IDS能夠檢測出所有攻擊行為的能力。如果存在一個攻擊行為,無法被IDS檢測出來,那麼該IDS就不具有檢測完備性。也就是說,它把對系統的入侵活動當作正常行為(漏報現象)。由于在一般情況下,攻擊類型、攻擊手段的變化很快,我們很難得到關于攻擊行為的所有知識,所以關于IDS的檢測完備性的評估相對比較困難。

在此基礎上,Debar等又增加了兩個性能評價測度:

·容錯性(Fault Tolerance):由于IDS是檢測入侵的重要手段/所以它也就成為很多入侵者攻擊的首選目标。IDS自身必須能夠抵禦對它自身的攻擊,特别是拒絕服務(Denial-of-Service)攻擊。由于大多數的IDS是運行在極易遭受攻擊的操作系統和硬件平台上,這就使得系統的容錯性變得特别重要,在測試評估IDS時必須考慮這一點。

·及時性(Timeliness):及時性要求IDS必須盡快地分析數據并把分析結果傳播出去,以使系統安全管理者能夠在入侵攻擊尚未造成更大危害以前做出反應,阻止入侵者進一步的破壞活動,和上面的處理性能因素相比,及時性的要求更高。它不僅要求IDS的處理速度要盡可能地快,而且要求傳播、反應檢測結果信息的時間盡可能少。

評估步驟

前面已經讨論了IDS測試評估的性能指标,具體測試主要就是圍繞這些指标來進行。大部分的測試過程都遵循下面的基本測試步驟:

·創建、選擇一些測試工具或測試腳本。這些腳本和工具主要用來生成模拟的正常行為及入侵,也就是模拟IDS運行的實際環境。

·确定計算環境所要求的條件,比如背景計算機活動的級别。

·配置運行IDS。

·運行測試工具或測試腳本。

·分析IDS的檢測結果。

美國加州大學的Nicholas J.Puketza等人把測試分為三類,分别與前面的性能指标相對應,即入侵識别測試(也可以說是IDS有效性測試)。資源消耗測試、強度測試。入侵識别測試測量IDS區分正常行為和入侵的能力,主要衡量的指标是檢測率和虛警率。資源消耗測試(Resource Usage Tests)測量IDS占用系統資源的狀況,考慮的主要因素是硬盤占用空間、内存消耗等。強度測試主要檢測IDS在強負荷運行狀況下檢測效果是否受影響,主要包括大負載、高密度數據流量情況下對檢測效果的檢測。

評估指标

在分析IDS的性能時,主要考慮檢測系統的有效性、效率和可用性。有效性研究檢測機制的檢測精确度和系統檢測結果的可信度,它是開發設計和應用IDS的前提和目的,是測試評估IDS的主要指标,效率則從檢測機制的處理數據的速度以及經濟性的角度來考慮,也就是側重檢測機制性能價格比的改進。可用性主要包括系統的可擴展性、用戶界面的可用性,部署配置方便程度等方面。有效性是開發設計和應用IDS的前提和目的,因此也是測試評估IDS的主要指标,但效率和可用性對IDS的性能也起很重要的作用。效率和可用性滲透于系統設計的各個方面之中。

1、檢測率、虛警率及檢測可信度

檢測率是指被監控系統在受到入侵攻擊時,檢測系統能夠正确報警的概率。虛警率是指檢測系統在檢測時出現虛警的概率。檢測可信度也就是檢測系統檢測結果的可信程度,這是測試評估IDS的最重要的指标。

實際的IDS的實現總是在檢測率和虛警率之間徘徊,檢測率高了,虛警率就會提高;同樣虛警率降低了,檢測率也就會降低。一般地,IDS産品會在兩者中取一個折衷,并且能夠進行調整,以适應不同的網絡環境。美國的林肯實驗室用接收器特性(ROC,Receiver Operating Characteristic)曲線來描述IDS的性能。該曲線準确刻畫了IDS的檢測率與虛警率之間的變化關系。ROC廣泛用于輸入不确定的系統的評估。根據一個IDS在不同的條件(在允許範圍内變化的阈值,例如異常檢測系統的報警門限等參數)下的虛警率和檢測率,分别把虛警率和檢測率作為橫坐标和縱坐标,就可做出對應于該IDS的ROC曲線。ROC曲線與IDS的檢測門限具有對應的關系。

在測試評估IDS的具體實施過程中,除了要IDS的檢測率和虛警率之外,往往還會單獨考慮與這兩個指标密切相關的一些因素,比如能檢測的入侵特征數量、IP碎片重組能力、TCP流重組能力。顯然,能檢測的入侵特征數量越多,檢測率也就越高。此外,由于攻擊者為了加大檢測的難度甚至繞過IDS的檢測,常常會發送一些特别設計的分組。為了提高IDS的檢測率降低IDS的虛警率,IDS常常需要采取一些相應的措施,比如IP碎片能力、TCP流重組。因為分析單個的數據分組會導緻許多誤報和漏報,所以IP碎片的重組可以提高檢測的精确度。IP碎片重組的評測标準有三個性能參數:能重組的最大IP分片數;能同時重組的IP分組數;能進行重組的最大IP數據分組的長度,TCP流重組是為了對完整的網絡對話進行分析,它是網絡IDS對應用層進行分析的基礎。如檢查郵件内容。附件,檢查FTP傳輸的數據,禁止訪問有害網站,判斷非法HTTP請求等。這兩個能力都會直接影響IDS的檢測可信度。

2、IDS本身的抗攻擊能力

和其他系統一樣,IDS本身也往往存在安全漏洞。若對IDS攻擊成功,則直接導緻其報警失靈,入侵者在其後所作的行為将無法被記錄。因此IDS首先必須保證自己的安全性。IDS本身的抗攻擊能力也就是IDS的可靠性,用于衡量IDS對那些經過特别設計直接以IDS為攻擊目标的攻擊的抵抗能力。它主要體現在兩個方面:一是程序本身在各種網絡環境下能夠正常工作;二是程序各個模塊之間的通信能夠不被破壞,不可仿冒。此外要特别考慮抵禦拒絕服務攻擊的能力。如果IDS本身不能正常運行,也就失去了它的保護意義。而如果系統各模塊間的通信遭到破壞,那系統的報警之類的檢測結果也就值得懷疑,應該有一個良好的通信機制保證模塊間通信的安全并能在出問題時能夠迅速恢複。

3、其他性能指标

延遲時間。檢測延遲指的是在攻擊發生至IDS檢測到入侵之間的延遲時間。延遲時間的長短直接關系着入侵攻擊破壞的程度。

資源的占用情況。即系統在達到某種檢測有效性時對資源的需求情況。通常,在同等檢測有效性的前提下,對資源的要求越低,IDS的性能越好,檢測入侵的能力也就越強。

負荷能力。IDS有其設計的負荷能力,在超出負荷能力的情況下,性能會出現不同程度的下降。比如,在正常情況下IDS可檢測到某攻擊但在負荷大的情況下可能就檢測不出該攻擊。考察檢測系統的負荷能力就是觀察不同大小的網絡流量、不同強度的CPU内存等系統資源的使用對IDS的關鍵指标(比如檢測率、虛警率)的影響。

日志、報善、報告以及響應能力。日志能力是指檢測系統保存日志的能力、按照特定要求選取日志内容的能力。

相關詞條

相關搜索

其它詞條