簡介
IDS是計算機的監視系統,它通過實時監視系統,一旦發現異常情況就發出警告。以信息來源的不同和檢測方法的差異分為幾類:根據信息來源可分為基於
主機IDS和基於網路的IDS,根據檢測方法又可分為異常
入侵檢測和誤用入侵檢測。不同於
防火牆,IDS入侵檢測系統是一個監聽設備,沒有跨接在任何
鏈路上,無須
網路流量流經它便可以工作。因此,對IDS的部署,唯一的要求是:IDS應當掛接在所有所關注流量都必須流經的鏈路上。在這裡,"所關注流量"指的是來自高危網路區域的訪問流量和需要進行統計、監視的網路
報文。在如今的網路拓撲中,已經很難找到以前的HUB式的共享介質
衝突域的網路,絕大部分的網路區域都已經全面升級到交換式的網路結構。因此,IDS在交換式網路中的位置一般選擇在儘可能靠近攻擊源或者儘可能靠近受保護資源的位置。這些位置通常是:伺服器區域的
交換機上;Internet接入
路由器之後的第一台交換機上;重點保護
網段的
區域網路交換機上。由於
入侵檢測系統的市場在近幾年中飛速發展,許多公司投入到這一領域上來。Venustech(啟明星辰)、Internet Security System(ISS)、
思科、
賽門鐵克等公司都推出了自己的產品。
系統組成
事件產生器(Event generators),它的目的是從整個計算環境中獲得事件,並向系統的其他部分提供此事件。
事件分析器(Event analyzers),它經過分析得到數據,並產生分析結果。
回響單元(Response units ),它是對分析結果作出反應的功能單元,它可以作出切斷連線、改變
檔案屬性等強烈反應,也可以只是簡單的報警。
事件資料庫(Event databases )事件資料庫是存放各種中間和最終數據的地方的統稱,它可以是複雜的資料庫,也可以是簡單的文本檔案。
系統缺陷
1998年2月,Secure Networks Inc.指出IDS有許多弱點,主要為:IDS對數據的檢測;對IDS自身攻擊的防護。由於當代網路發展迅速,
網路傳輸速率大大加快,這造成了IDS工作的很大負擔,也意味著IDS對攻擊活動檢測的可靠性不高。而IDS在應對自身的攻擊時,對其他傳輸的檢測也會被抑制。同時由於
模式識別技術的不完善,IDS的高虛警率也是它的一大問題。
安全策略
入侵檢測系統根據入侵檢測的行為分為兩種模式:異常檢測和誤用檢測。前者先要建立一個系統訪問正常行為的模型,凡是訪問者不符合這個模型的行為將被斷定為入侵;後者則相反,先要將所有可能發生的不利的不可接受的行為歸納建立一個模型,凡是訪問者符合這個模型的行為將被斷定為入侵。
這兩種模式的安全策略是完全不同的,而且,它們各有長處和短處:異常檢測的漏報率很低,但是不符合正常行為模式的行為並不見得就是惡意攻擊,因此這種策略誤報率較高;誤用檢測由於直接匹配比對異常的不可接受的行為模式,因此誤報率較低。但惡意行為千變萬化,可能沒有被收集在行為模式庫中,因此漏報率就很高。這就要求用戶必須根據本系統的特點和安全要求來制定策略,選擇行為檢測模式。現在用戶都採取兩種模式相結合的策略。
通信協定
IDS系統內部各組件之間需要通信,不同廠商的IDS系統之間也需要通信。因此,有必要定義統一的協定。IETF目前有一個專門的小組Intrusion Detection Working Group (
IDWG)負責定義這種通信格式,稱作Intrusion Detection Exchange Format(IDEF),但還沒有統一的標準。設計通信協定時應考慮以下問題:系統與控制系統之間傳輸的信息是非常重要的信息,因此必須要保持數據的真實性和完整性。必須有一定的機制進行通信雙方的
身份驗證和保密傳輸(同時防止主動和
被動攻擊);通信的雙方均有可能因異常情況而導致通信中斷,IDS系統必須有額外措施保證系統正常工作。
檢測技術
對各種事件進行分析,從中發現違反
安全策略的行為是
入侵檢測系統的核心功能。從技術上,入侵檢測分為兩類:一種基於標誌(signature-based),另一種基於異常情況(anomaly-based)。
對於基於標誌的檢測技術來說,首先要定義違背安全策略的事件的特徵,如網路
數據包的某些頭信息。檢測主要判別這類特徵是否在所收集到的數據中出現。此方法非常類似防毒軟體。
而基於異常的檢測技術則是先定義一組系統“正常”情況的數值,如CPU利用率、記憶體利用率、
檔案校驗和等(這類數據可以人為定義,也可以通過觀察系統、並用統計的辦法得出),然後將系統運行時的數值與所定義的“正常”情況比較,得出是否有被攻擊的跡象。這種檢測方式的核心在於如何定義所謂的“正常”情況。
兩種檢測技術的方法、所得出的結論有非常大的差異。基於標誌的檢測技術的核心是維護一個知識庫。對於已知的攻擊,它可以詳細、準確的報告出攻擊類型,但是對未知攻擊卻效果有限,而且知識庫必須不斷更新。基於異常的檢測技術則無法準確判別出攻擊的手法,但它可以(至少在理論上可以)判別更廣范、甚至未發覺的攻擊。
檢測方法
異常檢測方法
在異常入侵檢測系統中常常採用以下幾種
檢測方法:
基於貝葉斯推理檢測法:是通過在任何給定的時刻,測量變數值,推理判斷系統是否發生入侵事件。
基於特徵選擇檢測法:指從一組度量中挑選出能檢測入侵的度量,用它來對入侵行為進行預測或分類。
基於貝葉斯網路檢測法:用圖形方式表示隨機變數之間的關係。通過指定的與鄰接節點相關一個小的機率集來計算隨機變數的聯接機率分布。按給定全部節點組合,所有根節點的
先驗機率和非根節點機率構成這個集。貝葉斯網路是一個有向圖,弧表示父、子結點之間的依賴關係。當隨機變數的值變為已知時,就允許將它吸收為證據,為其他的剩餘隨機變數條件值判斷提供計算框架。
基於模式預測的檢測法:事件序列不是隨機發生的而是遵循某種可辨別的模式是基於模式預測的異常檢測法的假設條件,其特點是事件序列及相互聯繫被考慮到了,只關心少數相關安全事件是該檢測法的最大優點。
基於統計的異常檢測法:是根據用戶對象的活動為每個用戶都建立一個特徵輪廓表,通過對當前特徵與以前已經建立的特徵進行比較,來判斷當前行為的異常性。用戶特徵輪廓表要根據審計記錄情況不斷更新,其保護去多衡量指標,這些指標值要根據經驗值或一段時間內的統計而得到。
基於機器學習檢測法:是根據離散數據臨時序列學習獲得網路、系統和個體的行為特徵,並提出了一個實例學習法IBL,IBL是基於相似度,該方法通過新的序列相似度計算將原始數據(如離散事件流和無序的記錄)轉化成可度量的空間。然後,套用IBL學習技術和一種新的基於序列的分類方法,發現異常類型事件,從而檢測入侵行為。其中,成員分類的機率由閾值的選取來決定。
數據挖掘檢測法:數據挖掘的目的是要從海量的數據中提取出有用的數據信息。網路中會有大量的審計記錄存在,審計記錄大多都是以檔案形式存放的。如果靠手工方法來發現記錄中的異常現象是遠遠不夠的,所以將數據挖掘技術套用於入侵檢測中,可以從審計數據中提取有用的知識,然後用這些知識區檢測異常入侵和已知的入侵。採用的方法有KDD算法,其優點是善於處理大量數據的能力與數據關聯分析的能力,但是實時性較差。
基於套用模式的異常檢測法:該方法是根據服務請求類型、服務請求長度、服務請求包大小分布計算網路服務的異常值。通過實時計算的異常值和所訓練的閾值比較,從而發現異常行為。
基於文本分類的異常檢測法:該方法是將系統產生的進程調用集合轉換為“文檔”。利用K鄰聚類文本分類算法,計算文檔的相似性。
誤用檢測方法
誤用入侵檢測系統中常用的檢測方法有:
模式匹配法:是常常被用於入侵檢測技術中。它是通過把收集到的信息與網路入侵和系統誤用模式資料庫中的已知信息進行比較,從而對違背安全策略的行為進行發現。模式匹配法可以顯著地減少系統負擔,有較高的檢測率和準確率。
專家系統法:這個方法的思想是把安全專家的知識表示成規則知識庫,再用推理算法檢測入侵。主要是針對有特徵的入侵行為。
基於狀態轉移分析的檢測法:該方法的基本思想是將攻擊看成一個連續的、分步驟的並且各個步驟之間有一定的關聯的過程。在網路中發生入侵時及時阻斷入侵行為,防止可能還會進一步發生的類似攻擊行為。在狀態轉移分析方法中,一個滲透過程可以看作是由攻擊者做出的一系列的行為而導致系統從某個初始狀態變為最終某個被危害的狀態。