馮 安
【摘 要】首先提出了一個旨在提高分布式入侵檢測系統(tǒng)的擴充性和適應性的設計模型,然后分析本模型的特點,最后對模型的3個組成部分給出詳細的描述。
【關鍵詞】分布式入侵檢測系統(tǒng) 設計模型 擴充性
一、分布式入侵檢測系統(tǒng)的基本結構
盡管一個大型分布式入侵檢測系統(tǒng)非常復雜,涉及各種算法和結構設計,但是如果仔細分析各種現(xiàn)存的入侵檢測系統(tǒng)的結構模型,可以抽象出下面一個簡單的基本模型。這個基本模型描述了入侵檢測系統(tǒng)的基本輪廓和功能。該模型基本結構主要由3部分構成:探測部分、分析部分和響應部分。
探測部分相當于一個傳感器,它的數據源是操作系統(tǒng)產生的審計文件或者是直接來自網絡的網絡流量。分析部分利用探測部分提供的信息,探測攻擊。探測攻擊時,使用的探測模型是異常探測和攻擊探測。響應部分采取相應的措施對攻擊源進行處理,這里通常使用的技術是防火墻技術。
二、系統(tǒng)設計模型
這個模型主要是入侵檢測系統(tǒng)基本結構的具體化。主體框架仍然由3部分構成:探測代理、系統(tǒng)控制決策中心、控制策略執(zhí)行代理。但是這3部分并不對應于基本結構中的3部分,因為這里探測代理和系統(tǒng)控制的分析功能。代理和系統(tǒng)控制決策中心采用標準的通信接口與系統(tǒng)控制決策中心通信,因此,它們的設計為系統(tǒng)的分布式部署和系統(tǒng)的擴充性實現(xiàn)做了充分的考慮,同時使得各個代理的功能更加單一。功能的單一性帶來的好處是使得對某一種入侵行為的檢測趨于專業(yè)化。
三、模型的特點
1.分布性
從分布式入侵檢測系統(tǒng)的定義可知,只要系統(tǒng)的分析數據部分在系統(tǒng)的部署上是分布的,入侵檢測系統(tǒng)就可以認為是分布式系統(tǒng)。本系統(tǒng)負責入侵行為檢測的代理是分布部署的,故整個系統(tǒng)具有分布性。
2.標準性
標準性從本系統(tǒng)的角度講,體現(xiàn)在2個部分上:代理的構成和通信協(xié)議。每個代理都按照4個層次進行設計。從上到下,分別是通信接口、報告產生器、分析模塊和采集模塊。通信協(xié)議采用一套嚴格定義的通信規(guī)則和數據格式,同時將系統(tǒng)所必需的通信行為進行了規(guī)范的定義。
3.可擴充性
本系統(tǒng)的各個部分采取標準化設計,這樣系統(tǒng)各個部分的升級和新的代理部分的加入都變得相當簡單。代理和系統(tǒng)控制決策中心有著標準的協(xié)商協(xié)議,代理可以進行動態(tài)注冊。
4.良好的系統(tǒng)降級性
當系統(tǒng)某一個代理出現(xiàn)問題,不能完成自己的檢測任務時,網絡的檢測工作會受到有限的影響,但整個系統(tǒng)的檢測功能不會有明顯的下降。
5.載荷最小性
系統(tǒng)的每個組成部分功能都是單一的,而且相互之間相對獨立,部署的時候可以幾個部署到一臺主機上。代理和控制決策中心之間利用標準協(xié)議通信,通信量較小;同時在傳遞數據時,代理只傳輸控制中心請求的數據,所以數據的傳輸量不大。
四、模型組成部分的功能描述
1.探測代理
探測代理主要的功能是從網絡捕獲原始數據,然后利用一定的探測模型對數據進行分析,將感興趣的數據按照一定的格式存入數據存儲設備中。與系統(tǒng)控制中心通信協(xié)商,將系統(tǒng)控制決策中心請求的數據按照一定的傳輸格式傳送出去。
要完成上面的功能,探測代理需要4個層次的模塊共同協(xié)作才能完成。這4個模塊根據數據傳輸的順序分別為:采集模塊、分析模塊、報告產生器、通信接口。
采集模塊直接從網絡上捕獲原始數據。為了使得代理能夠對多個操作系統(tǒng)提供支持,這里的捕獲過程使用一個通用的數據包捕獲庫(libpcap庫),這個庫使用BSD的bpf思想。采集模塊向分析模塊提供格式化的數據包信息。
當分析模塊收到格式化的數據包信息后,啟動相應的入侵檢測模型過程,對數據進行處理。這里的入侵檢測模型有2種:一種是異常檢測模型,另一種是入侵檢測模型。
對于異常檢測模型,入侵檢測過程會根據代理功能的不同,進行不同級別的檢查。我們的模型會進行2個級別的檢查。一個是基于包頭的檢查,即對鏈路層包頭、IP層包頭、TCP層包頭進行檢查分析,將異常存入數據存儲設備。另外一個級別的檢查是基于報文內容的檢查,入侵檢測過程將異常信息進行記錄。這2個級別的探測分別被稱為系統(tǒng)級探測和應用級探測。
對于入侵檢測模型,入侵檢測過程將格式化的信息與已知的攻擊模型的特征進行比對。如果格式化信息與攻擊模式的特征完全一樣,則可以認定是一種攻擊,將這種攻擊的信息一方面進行存儲,一方面向系統(tǒng)控制決策中心進行報告,請求控制決策中心對攻擊進行處理。
報告產生器,是根據系統(tǒng)控制決策中心的請求,從數據存儲設備中提取請求信息。這些信息構成一張異常或者攻擊視圖,它是存儲信息的子集合。
2.系統(tǒng)控制決策中心
系統(tǒng)控制決策中心接收用戶請求,產生數據請求,然后將數據請求發(fā)送給特定的入侵檢測代理,等待接收響應信息,最后將響應信息加工成用戶視圖。如果用戶認定某些行為屬于攻擊行為,就向探測策略執(zhí)行代理發(fā)出請求,阻止或者限制攻擊行為的進一步發(fā)展。
用戶接口,給用戶提供操作界面。用戶通過這個界面完成系統(tǒng)控制和數據請求功能。用戶接口將用戶請求翻譯成系統(tǒng)請求,然后交給下層模塊進行處理。
控制和管理,依據系統(tǒng)請求的類別,構造協(xié)議數據傳輸單元,然后遞交給下層協(xié)議通信接口,請求發(fā)送。
協(xié)議通信接口,識別代理發(fā)出的協(xié)議數據,對協(xié)議數據進行處理;同時將系統(tǒng)控制決策中心的用戶意圖發(fā)送給各個代理,完成管理和控制功能。
3.探測策略執(zhí)行代理
探測策略執(zhí)行代理的主要功能是根據系統(tǒng)控制決策中心的要求對攻擊者的攻擊行為進行控制,這里控制包括監(jiān)控、限制訪問權限、取消訪問權限等。探測策略執(zhí)行代理主要由2部分構成:通信接口和控制執(zhí)行,但是還有一個小的配置模塊輔助它們完成各自的功能。
配置模塊幫助代理建立一個與控制系統(tǒng)無關的控制接口。因為目前最常用的網絡控制系統(tǒng)是防火墻系統(tǒng),大部分的防火墻系統(tǒng)都給出系統(tǒng)的命令接口?;谶@一點,我們在設計通用控制接口時,自己定義一組功能完備的控制功能集合,然后建立一種從代理系統(tǒng)功能集合向具體防火墻系統(tǒng)命令集合的映射。
探測策略執(zhí)行代理的通信接口,和前面幾個部分的通信模塊的功能是一樣的??刂茍?zhí)行,是這種代理的核心部分。它根據通信接口送來的協(xié)議數據,分析系統(tǒng)控制和決策中心的意圖。然后根據代理配置時建立起來的控制系統(tǒng)映射關系,構造與具體控制系統(tǒng)相關的控制規(guī)則。