基本介紹
IDS是計算機的監視系統,它通過實時監視系統,一旦發現異常情況就發出警告。IDS入侵檢測系統以信息來源的不同和檢測方法的差異分為幾類:根據信息來源可分為基于主機IDS和基于網絡的IDS,根據檢測方法又可分為異常入侵檢測和濫用入侵檢測。不同于防火牆,IDS入侵檢測系統是一個監聽設備,沒有跨接在任何鍊路上,無須網絡流量流經它便可以工作。
因此,對IDS的部署,唯一的要求是:IDS應當挂接在所有所關注流量都必須流經的鍊路上。在這裡,"所關注流量"指的是來自高危網絡區域的訪問流量和需要進行統計、監視的網絡報文。在如今的網絡拓撲中,已經很難找到以前的HUB式的共享介質沖突域的網絡,絕大部分的網絡區域都已經全面升級到交換式的網絡結構。
因此,IDS在交換式網絡中的位置一般選擇在盡可能靠近攻擊源或者盡可能靠近受保護資源的位置。這些位置通常是:服務器區域的交換機上;Internet接入路由器之後的第一台交換機上;重點保護網段的局域網交換機上。由于入侵檢測系統的市場在近幾年中飛速發展,許多公司投入到這一領域上來。Venustech(啟明星辰)、Internet Security System(ISS)、思科、賽門鐵克等公司都推出了自己的産品。
系統組成
IETF将一個入侵檢測系統分為四個組件:
事件産生器(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鄰聚類文本分類算法,計算文檔的相似性。
誤用檢測方法
模式匹配法:是常常被用于入侵檢測技術中。它是通過把收集到的信息與網絡入侵和系統誤用模式數據庫中的已知信息進行比較,從而對違背安全策略的行為進行發現。模式匹配法可以顯着地減少系統負擔,有較高的檢測率和準确率。
專家系統法:這個方法的思想是把安全專家的知識表示成規則知識庫,再用推理算法檢測入侵。主要是針對有特征的入侵行為。
基于狀态轉移分析的檢測法:該方法的基本思想是将攻擊看成一個連續的、分步驟的并且各個步驟之間有一定的關聯的過程。在網絡中發生入侵時及時阻斷入侵行為,防止可能還會進一步發生的類似攻擊行為。在狀态轉移分析方法中,一個滲透過程可以看作是由攻擊者做出的一系列的行為而導緻系統從某個初始狀态變為最終某個被危害的狀态。



















