標準化進展現狀
為了提高IDS產品、組件及與其他安全產品之間的互操作性,美國國防高級研究計劃署(DARPA)和互聯網工程任務組(IETF)的入侵檢測工作組(IDWG)發起制訂了一系列建議草案,從體系結構、API、通信機制、語言格式等方面規范IDS的標準。
DARPA提出的建議是公共入侵檢測框架(CIDF),最早由加州大學戴維斯分校安全實驗室主持起草工作。1999年6月,IDWG就入侵檢測也出臺了一系列草案。但是,這兩個組織提出的草案或建議目前還正處于逐步完善之中,尚未被采納為廣泛接受的國際標準。不過,它們仍是入侵檢測領域最有影響力的建議,成為標準只是時間問題。
入侵檢測工作組(IDWG)
IDWG的任務是:定義數據格式和交換規程,用于入侵檢測與響應(IDR)系統之間或與需要交互的管理系統之間的信息共享。IDWG提出的建議草案包括三部分內容:入侵檢測消息交換格式(IDMEF)、入侵檢測交換協議(IDXP)以及隧道輪廓(Tunnel Profile)。
一、IDMEF
IDMEF描述了表示入侵檢測系統輸出信息的數據模型,并解釋了使用此模型的基本原理。該數據模型用XML實現,并設計了一個XML文檔類型定義。自動入侵檢測系統可以使用IDMEF提供的標準數據格式對可疑事件發出警報,提高商業、開放資源和研究系統之間的互操作性。IDMEF最適用于入侵檢測分析器(或稱為“探測器”)和接收警報的管理器(或稱為“控制臺”)之間的數據信道。 bbs.bitsCN.com
1.IDMEF的數據模型
IDMEF數據模型以面向對象的形式表示探測器傳遞給控制臺的警報數據,設計數據模型的目標是為警報提供確定的標準表達方式,并描述簡單警報和復雜警報之間的關系。
IDMEF數據模型各個主要部分之間的關系如圖1所示。
所有IDMEF消息的最高層類是IDMEF-Message,每一種類型的消息都是該類的子類。IDMEF目前定義了兩種類型的消息:Alert(警報)和Heartbeat(心跳),這兩種消息又分別包括各自的子類,以表示更詳細的消息。
需要注意的是,IDMEF數據模型并沒有對警報的分類和鑒別進行說明。例如,對一個端口的掃描,一個分析器可能將其確定為一個多目標的單一攻擊,而另一個分析器可能將其確定為來自同一個源的多次攻擊。只有一個分析器決定了發送的警報類型,數據模型才能規定怎樣對這個警報進行格式化。
IDMEF數據模型是用統一建模語言(UML)描述的。UML用一個簡單的框架表示實體以及它們之間的關系,并將實體定義為類。IDMEF包括的主要類有IDMEF-Message類、Alert類、Heartbeat類、Core類、Time類和Support類,這些類還可以再細分為許多子類。
2.使用XML描述IDMEF文檔標記 bbs.bitsCN.com中國網管論壇
IDWG最早曾提出兩個建議實現IDMEF:用SMI(管理信息結構)描述一個SNMP MIB和使用DTD(文檔類型定義)描述XML文檔。IDWG 在1999年9月和2000年2月分別對這兩個建議進行了評估,認為XML最能符合IDMEF的要求,于是,在2000年2月的會議上決定采用XML方案。
XML是SGML(標準通用標記語言)的簡化版本,是ISO 8879標準對文本標記說明進行定義的一種語法。作為一種表示和交換網絡文檔及數據的語言,XML能夠有效地解決HTML面臨的許多問題,所以獲得了業界的普遍青睞。1998年10月,WWW聯盟(W3C)將XML作為一項建議公布于眾。此后不久,WWW聯盟又發布了一份建議,定義了XML文檔中的名字空間。
XML是一種元語言——即一個描述其他語言的語言,它允許應用程序定義自己的標記,還可以為不同類型的文檔和應用程序定義定制化的標記語言。
XML DTD(文檔類型定義)可用來聲明文檔所用的標記,它包括元素(文檔包括的不同信息部分)、屬性(信息的特征)和內容模型(各部分信息之間的關系)。
二、IDXP
IDXP(入侵檢測交換協議)是一個用于入侵檢測實體之間交換數據的應用層協議,能夠實現IDMEF消息、非結構文本和二進制數據之間的交換,并提供面向連接協議之上的雙方認證、完整性和保密性等安全特征。IDXP是BEEP的一部分,后者是一個用于面向連接的異步交互通用應用協議,IDXP的許多特色功能(如認證、保密性等)都是由BEEP框架提供的。IDXP模型如下: BBS.bitsCN.com網管論壇
1.建立連接
使用IDXP傳送數據的入侵檢測實體被稱為IDXP的對等體,對等體只能成對地出現,在BEEP會話上進行通信的對等體可以使用一個或多個BEEP信道傳輸數據。
對等體可以是管理器,也可以是分析器。分析器和管理器之間是多對多的關系,即一個分析器可以與多個管理器通信,同樣,一個管理器也可以與多個分析器通信;管理器與管理器之間也是多對多的關系,所以,一個管理器可以通過多個中間管理器接收來自多個分析器的大量警報。但是,IDXP規定,分析器之間不可以建立交換。
入侵檢測實體之間的IDXP通信在BEEP信道上完成。兩個希望建立IDXP通信的入侵檢測實體在打開BEEP信道之前,首先要進行一次BEEP會話,然后就有關的安全特性問題進行協商,協商好BEEP安全輪廓之后,互致問候,然后開始IDXP交換。
2.傳輸數據
一對入侵檢測實體進行BEEP會話時,可以使用IDXP輪廓打開一個或多個BEEP信道,這樣就可以使用額外的信道建立額外的BEEP會話。但是,大多數情況下,額外信道都應在已有的BEEP會話上打開,而不是用IDXP輪廓打開一個包含額外信道的新BEEP會話。 BBS.bitsCN.com網管論壇
在每個信道上,對等體都以客戶機/服務器模式進行通信,BEEP會話發起者為客戶機,而收聽者則為服務器。
在一次BEEP會話時,使用多個BEEP信道有利于對在IDXP對等體之間傳輸的數據進行分類和優先權設置。例如,一個管理器M1在向另一個管理器M2傳送警報數據時,可以用不同的信道傳送不同類型的警報數據,在每個信道上管理器M1的作用都相當于一個客戶器,而M2則對不同信道上的數據作出相應的處理。
3.斷開連接
在有些情況下,一個IDXP對等體可以選擇關閉某個IDXP信道。在關閉一個信道時,對等體在0信道上發送一個“關閉”元素,指明要關閉哪一個信道。一個IDXP對等體也可以通過在0信道上發送一個指明要“關閉”0信道的元素,來關閉整個BEEP會話。
在上面這個模型中, IDXP對等實體之間采用了一個BEEP安全輪廓實現端到端的安全,而無需通過中間的代理建立安全信任,因此,只有IDXP對等體之間是相互信任的,而代理是不可信的。
公共入侵檢測框架(CIDF)
中國_網管聯盟bitsCN.com
CIDF所做的工作主要包括四部分:IDS的體系結構、通信機制、描述語言和應用編程接口API。
一.CIDF的體系結構
CIDF在IDES和NIDES的基礎上提出了一個通用模型,將入侵檢測系統分為四個基本組件:事件產生器、事件分析器、響應單元和事件數據庫。結構如圖5所示。
在這個模型中,事件產生器、事件分析器和響應單元通常以應用程序的形式出現,而事件數據庫則往往是文件或數據流的形式,很多IDS廠商都以數據收集部分、數據分析部分和控制臺部分三個術語來分別代替事件產生器、事件分析器和響應單元。
CIDF將IDS需要分析的數據統稱為事件,它可以是網絡中的數據包,也可以是從系統日志或其他途徑得到的信息。
以上四個組件只是邏輯實體,一個組件可能是某臺計算機上的一個進程甚至線程,也可能是多個計算機上的多個進程,它們以GIDO(統一入侵檢測對象)格式進行數據交換。GIDO是對事件進行編碼的標準通用格式(由CIDF描述語言CISL定義),GIDO數據流在圖5中以虛線表示,它可以是發生在系統中的審計事件,也可以是對審計事件的分析結果。
1.事件產生器
事件產生器的任務是從入侵檢測系統之外的計算環境中收集事件,并將這些事件轉換成CIDF的GIDO格式傳送給其他組件。例如,事件產生器可以是讀取C2級審計蹤跡并將其轉換為GIDO格式的過濾器,也可以是被動地監視網絡并根據網絡數據流產生事件的另一種過濾器,還可以是SQL數據庫中產生描述事務的事件的應用代碼。
BBS.bitsCN.com網管論壇
2.事件分析器
事件分析器分析從其他組件收到的GIDO, 并將產生的新GIDO再傳送給其他組件。分析器可以是一個輪廓描述工具,統計性地檢查現在的事件是否可能與以前某個事件來自同一個時間序列; 也可以是一個特征檢測工具,用于在一個事件序列中檢查是否有已知的濫用攻擊特征;此外,事件分析器還可以是一個相關器,觀察事件之間的關系,將有聯系的事件放到一起,以利于以后的進一步分析。
3.事件數據庫
用來存儲GIDO,以備系統需要的時候使用。
4.響應單元
響應單元處理收到的GIDO,并據此采取相應的措施,如殺死相關進程、將連接復位、修改文件權限等。
由于CIDF有一個標準格式GIDO,所以這些組件也適用于其他環境,只需要將典型的環境特征轉換成GIDO格式,這樣就提高了組件之間的消息共享和互通。
二、CIDF的通信機制
為了保證各個組件之間安全、高效的通信,CIDF將通信機制構造成一個三層模型:GIDO層、消息層和協商傳輸層。
要實現有目的的通信,各組件就必須能正確理解相互之間傳遞的各種數據的語義,GIDO層的任務就是提高組件之間的互操作性,所以GIDO就如何表示各種各樣的事


