譚 寧
摘要從分布式入侵檢測(cè)系統(tǒng)的概念與結(jié)構(gòu)切入,對(duì)分布式入侵檢測(cè)系統(tǒng)的性能需求進(jìn)行分析。
關(guān)鍵詞分布式入侵檢測(cè)系統(tǒng)結(jié)構(gòu)性能
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671—7597(2009)0410064—01
Snort是一種基于libpcap的輕量級(jí)入侵檢測(cè)系統(tǒng),它作為世界上應(yīng)用最為廣泛的開(kāi)源入侵檢測(cè)系統(tǒng)。就工作原理而言,Snort是一個(gè)基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng),利用工具包]Jbpcap(在Windows平臺(tái)上使用winpcap)從網(wǎng)絡(luò)中采集數(shù)據(jù)井進(jìn)行分析,從而判斷是否存在可疑的網(wǎng)絡(luò)活動(dòng);就檢測(cè)技術(shù)而言,Snort基本上是基于誤用檢測(cè)的入侵檢測(cè)系統(tǒng),對(duì)數(shù)據(jù)進(jìn)行最直接最簡(jiǎn)單的搜索匹配。
一、分布式入侵檢測(cè)系統(tǒng)概述
(一)概念。分布式入侵檢測(cè)系統(tǒng)可以被理解為是由分布在一個(gè)大型網(wǎng)絡(luò)中的多個(gè)入侵檢測(cè)系統(tǒng)所構(gòu)成的有機(jī)系統(tǒng),該系統(tǒng)中的IDS通過(guò)彼此間的通信和協(xié)調(diào)來(lái)協(xié)同展開(kāi)各種數(shù)據(jù)采集、分析和事件檢測(cè)活動(dòng),共同實(shí)現(xiàn)對(duì)整個(gè)網(wǎng)絡(luò)全面有效的監(jiān)控。是現(xiàn)代入侵檢測(cè)系統(tǒng)的主要發(fā)展方向之一,它能夠在數(shù)據(jù)收集、入侵分析和自動(dòng)響應(yīng)方面最大限度地發(fā)揮系統(tǒng)資源的優(yōu)勢(shì),其設(shè)計(jì)模型也具有很大的靈活性。
(二)結(jié)構(gòu)。構(gòu)成分布式入侵檢測(cè)系統(tǒng)的多個(gè)子IDS單元在系統(tǒng)中的角色可以比較類似或不盡相同,且構(gòu)成系統(tǒng)的方式是通過(guò)協(xié)作而非簡(jiǎn)單的堆疊。一個(gè)分布式結(jié)構(gòu)的入侵檢測(cè)系統(tǒng)通??捎兴膫€(gè)部分組成。
1事件產(chǎn)生器:負(fù)責(zé)從網(wǎng)絡(luò)流量中提取與安全有關(guān)的數(shù)據(jù),并按照預(yù)先確定的方法和機(jī)制進(jìn)行數(shù)據(jù)的處理、分析和事件檢測(cè)。
2信息收發(fā)器:負(fù)責(zé)為事件產(chǎn)生器與管理控制器之間的數(shù)據(jù)通信提供服務(wù),同時(shí)也可以完成一定的信息處理和管理控制功能。
3管理控制器:負(fù)責(zé)在信息收發(fā)器所提交數(shù)據(jù)的基礎(chǔ)上,按照預(yù)先確定的方法和機(jī)制完成數(shù)據(jù)分析、事件檢測(cè)和事件響應(yīng),同時(shí)也負(fù)責(zé)對(duì)其所轄的信息收發(fā)器和事件產(chǎn)生器實(shí)施管理和控制。
4事件規(guī)則庫(kù):主要負(fù)責(zé)生成和提供與入侵特征相關(guān)的事件描述和安全規(guī)則。
在基于分布式結(jié)構(gòu)的入侵檢測(cè)系統(tǒng)中,任何一個(gè)被檢測(cè)的網(wǎng)段或節(jié)點(diǎn)上都可以包含一組事件產(chǎn)生器,它們分別獨(dú)立的處理、分析和檢測(cè)網(wǎng)絡(luò)流量中的不同方面,是系統(tǒng)中最基本的單元。通常,事件產(chǎn)生器之間并不直接進(jìn)行數(shù)據(jù)通信,而是將各自的數(shù)據(jù)處理結(jié)果分別傳遞到處于該網(wǎng)段或節(jié)點(diǎn)上的信息收發(fā)器中。在每個(gè)被檢測(cè)的網(wǎng)段或節(jié)點(diǎn)上一般有一個(gè)信息收發(fā)器,它收集各個(gè)事件產(chǎn)生器輸出的信息并上報(bào)給管理控制器,同時(shí)也接收來(lái)自管理控制器的信息并分發(fā)給各個(gè)事件產(chǎn)生器。信息收發(fā)器可以對(duì)其所處網(wǎng)段或節(jié)點(diǎn)上的所有事件產(chǎn)生器實(shí)施一定的管理和控制,同時(shí)也能夠按照事先制定的策略對(duì)來(lái)自各個(gè)事件產(chǎn)生器的信息進(jìn)行相應(yīng)的分析和檢測(cè)。
管理控制器是系統(tǒng)中數(shù)據(jù)分析、事件檢測(cè)和系統(tǒng)服務(wù)的管理控制中心,它一方面綜合來(lái)自多個(gè)信息收發(fā)器的數(shù)據(jù),按照預(yù)先制定的方法和策略盡心更高層次的分析和處理,來(lái)發(fā)現(xiàn)其他單元由于所處位置的局限而未能察覺(jué)到的入侵,從而能對(duì)網(wǎng)絡(luò)安全狀況有一個(gè)全局性的把握,并在此基礎(chǔ)上對(duì)入侵事件做出響應(yīng):另一方面,管理控制器還負(fù)責(zé)管理和控制系統(tǒng)中多個(gè)被檢測(cè)網(wǎng)段或節(jié)點(diǎn)上的信息收發(fā)器,同時(shí)也通過(guò)它們對(duì)所轄的事件產(chǎn)生器實(shí)施控制和管理,同時(shí)還為用戶提供與系統(tǒng)進(jìn)行交互的界面。
二、分布式入侵檢測(cè)系統(tǒng)的性能需求
相對(duì)于集中式的入侵檢測(cè)系統(tǒng),分布式入侵檢測(cè)系統(tǒng)的性能要求是非常明確的,主要有以下幾點(diǎn):每秒能夠處理的網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量、每秒能夠監(jiān)控的網(wǎng)絡(luò)連接數(shù)、每秒能夠處理的事件數(shù)、攻擊特征庫(kù)的更新速度、可擴(kuò)展性、協(xié)作性、適應(yīng)性等。
(一)每秒數(shù)據(jù)流量及每秒數(shù)據(jù)包捕獲數(shù)。每秒數(shù)據(jù)流量是指網(wǎng)絡(luò)上每秒通過(guò)某節(jié)點(diǎn)的數(shù)據(jù)量。這個(gè)指標(biāo)是反應(yīng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)性能的重要指標(biāo),一般用Mbps來(lái)衡量。如果每秒數(shù)據(jù)流量超過(guò)網(wǎng)絡(luò)傳感器的處理能力,系統(tǒng)可能會(huì)出現(xiàn)丟包現(xiàn)象,從而不能正常檢測(cè)攻擊。而入侵檢測(cè)系統(tǒng)是否會(huì)丟包,不只取決于每秒數(shù)據(jù)流量,還取決于每秒數(shù)據(jù)包捕獲數(shù)。
每秒數(shù)據(jù)包捕獲數(shù)是反映網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)性能最重要的指標(biāo)。由于系統(tǒng)不停地從網(wǎng)絡(luò)上捕獲數(shù)據(jù)包,然后對(duì)數(shù)據(jù)包進(jìn)行處理和分析,每秒處理數(shù)據(jù)包的數(shù)量便直接反映了系統(tǒng)的性能。人們往往把每秒網(wǎng)絡(luò)流量作為判斷網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的決定性指標(biāo),這種認(rèn)識(shí)是錯(cuò)誤的。每秒網(wǎng)絡(luò)流量等于每秒數(shù)據(jù)包捕獲數(shù)乘以網(wǎng)絡(luò)數(shù)據(jù)包的平均大小,因此當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包的平均大小差異很大時(shí),在相同數(shù)據(jù)包捕獲率的情況下,每秒網(wǎng)絡(luò)流量的差異也會(huì)很大。例如,若網(wǎng)絡(luò)數(shù)據(jù)包的平均大小為i024字節(jié)左右,系統(tǒng)的性能支持10000pps的每秒數(shù)據(jù)包捕獲數(shù),那么系統(tǒng)每秒能夠處理的數(shù)據(jù)流量可達(dá)到78Mbps,當(dāng)數(shù)據(jù)流量超過(guò)781fops時(shí),系統(tǒng)會(huì)因?yàn)樘幚聿贿^(guò)來(lái)而出現(xiàn)丟包現(xiàn)象:如果網(wǎng)絡(luò)數(shù)據(jù)包的平均大小為512字節(jié)左右,在10000pps的每秒數(shù)據(jù)包捕獲數(shù)的性能情況下,系統(tǒng)每秒能夠處理的數(shù)據(jù)流量可達(dá)到40Mbps,當(dāng)數(shù)據(jù)流量超過(guò)40Mbps時(shí),就會(huì)因?yàn)橄到y(tǒng)處理不過(guò)來(lái)而出現(xiàn)丟包現(xiàn)象。在相同的流量情況下,數(shù)據(jù)包越小,處理的難度就越大。因此,小包處理能力是反映分布式入侵檢測(cè)系統(tǒng)性能的主要指標(biāo)。
(二)每秒能夠監(jiān)控的網(wǎng)絡(luò)連接數(shù)。網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)不僅要對(duì)單個(gè)的數(shù)據(jù)包作檢測(cè),還要將相同網(wǎng)絡(luò)連接的數(shù)據(jù)包組合起來(lái)進(jìn)行分析。網(wǎng)絡(luò)連接的跟蹤能力和數(shù)據(jù)包的重組能力是網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)進(jìn)行協(xié)議分析、應(yīng)用層入侵分析的基礎(chǔ)。這種分析延伸出很多網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的功能,例如:檢測(cè)利用HTTP協(xié)議的攻擊、敏感內(nèi)容檢測(cè)、郵件檢測(cè)、Telnet會(huì)話的記錄與回放、硬盤(pán)共享的監(jiān)控等。
(三)每秒能夠處理的事件數(shù)。網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)檢測(cè)到網(wǎng)絡(luò)攻擊和可疑事件后,會(huì)生成安全事件或者報(bào)警事件,并將事件記錄在事件日志中。每秒能夠處理的事件數(shù),反映了檢測(cè)分析引擎的處理能力和事件日志記錄的后臺(tái)處理能力。大多數(shù)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)報(bào)警事件記錄的性能參數(shù)小于事件處理引擎的性能參數(shù),主要是由于c/s結(jié)構(gòu)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)引入了網(wǎng)絡(luò)通信的性能瓶頸,這種情況將導(dǎo)致事件的丟失,或者控制臺(tái)的無(wú)法響應(yīng)。
(四)攻擊特征庫(kù)的更新速度。隨著網(wǎng)絡(luò)攻擊模式的多樣化,以基于Snort的分布式入侵檢測(cè)系統(tǒng)為例,系統(tǒng)需要及時(shí)更新入侵攻擊規(guī)則庫(kù),將盡量多的入侵模式包含在規(guī)則庫(kù)中,以便能夠檢測(cè)這些已存在的攻擊,從而提高系統(tǒng)的檢測(cè)能力。
(五)協(xié)作性。分布式入侵檢測(cè)系統(tǒng)的各個(gè)節(jié)點(diǎn)不僅能夠資源共享,而且應(yīng)具有互相操作的能力。
(六)適應(yīng)性。分布式入侵檢測(cè)系統(tǒng)必須能夠適用于多種不同的環(huán)境,系統(tǒng)在結(jié)構(gòu)上應(yīng)當(dāng)能夠不做本質(zhì)上的改變而依然正常工作。