一、概述
性能指標(biāo)是每個(gè)用戶采購安全產(chǎn)品必定關(guān)注的問題。但是,如果不知道這些指標(biāo)的真實(shí)含義,不知道這些指標(biāo)如何測出來,就會(huì)被表面的參數(shù)所蒙蔽,從而做出錯(cuò)誤的決策。
本文介紹了網(wǎng)絡(luò)入侵檢測系統(tǒng)的性能指標(biāo)的含義、測試方法,并分析了測試過程中可能作假的方法,以給用戶正確選擇網(wǎng)絡(luò)入侵檢測產(chǎn)品提供辨別的思路。
二、性能指標(biāo)簡介
不同的安全產(chǎn)品,各種性能指標(biāo)對客戶的意義是不同的。例如防火墻,客戶會(huì)更關(guān)注每秒吞吐量、每秒并發(fā)連接數(shù)、傳輸延遲等。而網(wǎng)絡(luò)入侵檢測系統(tǒng),客戶則會(huì)更關(guān)注每秒能處理的網(wǎng)絡(luò)數(shù)據(jù)流量、每秒能監(jiān)控的網(wǎng)絡(luò)連接數(shù)等。
就網(wǎng)絡(luò)入侵檢測系統(tǒng)而言,除了上述指標(biāo)外,其實(shí)一些不為客戶了解的指標(biāo)也很重要,甚至更重要,例如每秒抓包數(shù)、每秒能夠處理的事件數(shù)等。
1.每秒數(shù)據(jù)流量(Mbps或Gbps)
每秒數(shù)據(jù)流量是指網(wǎng)絡(luò)上每秒通過某節(jié)點(diǎn)的數(shù)據(jù)量。這個(gè)指標(biāo)是反應(yīng)網(wǎng)絡(luò)入侵檢測系統(tǒng)性能的重要指標(biāo),一般涌Mbps來衡量。例如10Mbps, 100Mbps和1Gbps。
網(wǎng)絡(luò)入侵檢測系統(tǒng)的基本工作原理是嗅探(Sniffer),它通過將網(wǎng)卡設(shè)置為混雜模式,使得網(wǎng)卡可以接收網(wǎng)絡(luò)接口上的所有數(shù)據(jù)。
如果每秒數(shù)據(jù)流量超過網(wǎng)絡(luò)傳感器的處理能力,NIDS就可能會(huì)丟包,從而不能正常檢測攻擊。但是NIDS是否會(huì)丟包,不主要褥在規(guī)則樹上分叉,加速深度遍歷;
●C/S結(jié)構(gòu)下,網(wǎng)絡(luò)通信的延遲。在服務(wù)器端和客戶端都要引入網(wǎng)絡(luò)通信模塊,從而增加事件傳輸?shù)难舆t。大多數(shù)網(wǎng)絡(luò)入侵檢測系統(tǒng)都是采用Client/Server結(jié)構(gòu)的,例如ISS Real Secure,賽門鐵克的IDS系統(tǒng),啟明星辰的天闐和金諾的KIDS等等。像一些基于瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)的網(wǎng)絡(luò)入侵檢測系統(tǒng)就沒有這種問題,例如方正科技軟件的方通Sniper,因?yàn)樗氖录苯哟鎯?chǔ)在網(wǎng)絡(luò)傳感器上;
●事件日志庫的記錄能力。有的系統(tǒng)將事件收集(Event Collector)和事件日志庫分開,事件收集器和事件日志數(shù)據(jù)庫又形成了C/S結(jié)構(gòu),又引入了延遲。如果EC和日志數(shù)據(jù)庫在不同的主機(jī)上,更引入了網(wǎng)絡(luò)傳輸延遲。ISS Real Secure,啟明星辰的天闐和金諾的KIDS等等又是采用這種結(jié)構(gòu);基于瀏覽器/服務(wù)器結(jié)構(gòu)的網(wǎng)絡(luò)入侵檢測系統(tǒng)也沒有這種問題;
●控制臺的事件顯示效率。很多控制臺會(huì)因?yàn)槭录嗟奶幚聿贿^來,所以導(dǎo)致控制臺死機(jī)。很多C/S結(jié)構(gòu)的控制臺完成的功能太多了,例如和傳感器的網(wǎng)絡(luò)通信、和事件收集器的通信、和事件日志數(shù)據(jù)庫的通信,還要完成事件顯示、事件分析、系統(tǒng)管理和配置等等。引入了很多性能瓶頸點(diǎn)。如果不能達(dá)到實(shí)時(shí)監(jiān)控,就會(huì)使網(wǎng)絡(luò)入侵檢測系統(tǒng)的價(jià)值大打折扣。
2.硬件因素
硬件方面主要是CPU處理能力、內(nèi)存、網(wǎng)卡和硬盤IO等。
●CPU處理能力
CPU處理能力是影響網(wǎng)絡(luò)入侵檢測系統(tǒng)網(wǎng)絡(luò)傳感器性能的重要因素。CPU處理能力從三個(gè)方面對系統(tǒng)產(chǎn)生影響:CPU主頻和CPU的個(gè)數(shù),分別被稱為CPU的縱向和橫向的擴(kuò)展能力。一般而言,隨著CPU主頻的提高,網(wǎng)絡(luò)傳感器的處理能力越高,這是顯而易見的。
但是是不是隨著CPU數(shù)量的提高網(wǎng)絡(luò)傳感器的性能就線性增加呢?這要看系統(tǒng)是否是多進(jìn)程或多線程架構(gòu)的。很多網(wǎng)絡(luò)入侵檢測系統(tǒng)都在做多處理器的優(yōu)化。
對CPU處理能力的利用率也極大地影響網(wǎng)絡(luò)傳感器的性能,那么如何提高CPU處理能力的利用率呢?其中一個(gè)非常重要的方法就是對網(wǎng)絡(luò)傳感器進(jìn)行CPU指令集的優(yōu)化。例如,在P4處理器上,盡可能的使用P4處理器的指令集。Intel公司提供的C&C++編譯器,就有針對指令集進(jìn)行優(yōu)化的功能,而且Intel實(shí)驗(yàn)室還提供這方面優(yōu)化服務(wù)。
目前,Intel的新至強(qiáng)處理器采用了超線程技術(shù),但是網(wǎng)絡(luò)傳感器如果要發(fā)揮新至強(qiáng)處理器的性能,就必須針對超線程進(jìn)行優(yōu)化。目前Linux最新的核心還不支持超線程技術(shù)。
●內(nèi)存
內(nèi)存對網(wǎng)絡(luò)傳感器的影響是顯著的。因?yàn)榫W(wǎng)絡(luò)入侵檢測系統(tǒng)需要大量的內(nèi)存進(jìn)行抓包、包重組、流重組、協(xié)議分析、規(guī)則匹配等計(jì)算。
內(nèi)存的使用方法也是至關(guān)重要的,因?yàn)闀?huì)影響CPU的利用率。使用方法包括:內(nèi)存分配、釋放、復(fù)制、匹配等。使用不當(dāng)一方面會(huì)造成內(nèi)存泄露,另一方面會(huì)占用CPU開銷。
網(wǎng)絡(luò)傳感器的部分進(jìn)程在核心態(tài)運(yùn)行,另一部分進(jìn)程運(yùn)行在用戶態(tài),兩者之間如果共享數(shù)據(jù),必須進(jìn)行內(nèi)存復(fù)制,這時(shí)就需要在核心態(tài)和用戶態(tài)之間切換,兩者之間切換的CPU開銷是很大的,如果切換非常頻繁,CPU開銷就會(huì)非常大。
●二級緩存
L2 Cache的數(shù)量也對網(wǎng)絡(luò)傳感器的性能有積極的影響。因此,盡可能的使用大的L2 Cache。
●網(wǎng)卡
網(wǎng)卡對網(wǎng)絡(luò)傳感器性能的影響主要是抓包效率。網(wǎng)卡到達(dá)性能峰值時(shí),就很容易丟包。所以網(wǎng)絡(luò)傳感器的網(wǎng)卡就不能使用一般性的網(wǎng)卡。目前,使用比較多的是Intel系列、3Com系列網(wǎng)卡。例如,Intel百兆網(wǎng)卡中的82559,千兆網(wǎng)卡中的82543,82544等。
如果網(wǎng)絡(luò)入侵檢測系統(tǒng)支持多個(gè)網(wǎng)卡監(jiān)控,那么各個(gè)網(wǎng)卡最好分配在不同的總線段。
網(wǎng)卡對網(wǎng)絡(luò)入侵檢測系統(tǒng)的影響還體現(xiàn)在網(wǎng)絡(luò)傳感器與控制臺的數(shù)據(jù)傳輸上。
網(wǎng)卡驅(qū)動(dòng)對網(wǎng)絡(luò)傳感器的影響也是很重要的,有的網(wǎng)絡(luò)入侵檢測系統(tǒng),對網(wǎng)卡做專門的優(yōu)化。
●PCI總線帶寬
另一個(gè)非常重要的硬件因素是PCI總線帶寬。特別是在千兆網(wǎng)絡(luò)入侵檢測系統(tǒng)上,為了實(shí)現(xiàn)幾個(gè)G的抓包速率,必須使用多個(gè)66Mhz/64-bit PCI or 133Mhz/64-bit PCI-X總線擴(kuò)展槽。如果使用PCI-X總線,就必須使用PCI-X兼容的網(wǎng)卡,以充分發(fā)揮PCI-X 133MHz標(biāo)準(zhǔn)。為了提供更好的帶寬利用,多個(gè)網(wǎng)卡必須合理地分布在PCI/PCI-X總線段上。
●硬盤IO
因?yàn)榫W(wǎng)絡(luò)入侵檢測系統(tǒng)的傳感器需要在硬盤上存儲(chǔ)很多日志信息,所以硬盤的IO也會(huì)影響到網(wǎng)絡(luò)傳感器的性能。
四、分析
網(wǎng)絡(luò)入侵檢測系統(tǒng)的性能測試的基本原理是是通過一些設(shè)備或軟件工具制造不同數(shù)據(jù)包大?。ㄈ?4, 128, 256, 512, 1024 , 1518字節(jié))、不同壓力的背景流量(如10Mbps,50Mbps,100Mbps,350Mbps,500Mbps,750Mbps等),然后通過各種黑客工具發(fā)動(dòng)攻擊,看網(wǎng)絡(luò)傳感器的檢測情況和數(shù)據(jù)包丟失的情況。
在網(wǎng)絡(luò)入侵檢測系統(tǒng)中,背景流量的產(chǎn)生起著至關(guān)重要的作用。背景流量從如下方面影響性能測試的結(jié)果。
1.背景流量的數(shù)據(jù)包大小
對于發(fā)包測試設(shè)備來說,每秒制造數(shù)據(jù)包的數(shù)量(pps)是有極限的。一般而言,數(shù)據(jù)包越小,每秒制造的數(shù)據(jù)包數(shù)量越多,數(shù)據(jù)包越大,每秒制造的數(shù)據(jù)包數(shù)量越少。但是,數(shù)據(jù)流量(Mbps)等于數(shù)據(jù)包大小和每秒數(shù)據(jù)包數(shù)的乘積,所以數(shù)據(jù)流量由兩者共同決定。
對應(yīng)于網(wǎng)卡,也是一樣,數(shù)據(jù)包越小,每秒能夠處理的數(shù)據(jù)包越多,數(shù)據(jù)包越大,每秒能夠處理的數(shù)據(jù)包越少。但是網(wǎng)卡每秒能夠處理的數(shù)據(jù)包數(shù)也是有限的。
在極限情況下,數(shù)據(jù)包越小,處理的難度越大,數(shù)據(jù)包越大,處理的難度越小。因?yàn)樵诰W(wǎng)絡(luò)流量的不斷增長的趨勢下,小數(shù)據(jù)包的pps增長速度比大數(shù)據(jù)包的pps增長速度快得多,迅速達(dá)到極限。從上述的測試結(jié)果數(shù)據(jù)來看,可以很明顯的看到這一點(diǎn)。
小數(shù)據(jù)包的處理能力不僅是網(wǎng)絡(luò)入侵檢測系統(tǒng),而且也是防火墻的性能瓶頸。所幸在網(wǎng)絡(luò)中小數(shù)據(jù)包出現(xiàn)的比率還是比較低的。但是,在一些黑客攻擊中,采用小包,很容易制造DoS攻擊。
廠商公布的網(wǎng)絡(luò)入侵檢測系統(tǒng)的每秒可處理的最大網(wǎng)絡(luò)流量指標(biāo),往往是在最好的條件下測的,如每個(gè)數(shù)據(jù)包的大小是1518字節(jié)。
用戶在選購網(wǎng)絡(luò)入侵檢測產(chǎn)品時(shí),不能單純看廠商公布的數(shù)據(jù),而是要分析自己的流量的情況。要分析數(shù)據(jù)包大小的分布情況,64字節(jié)包平均占多少,128字節(jié)包平均占多少,512字節(jié)包平均占多少,1518字節(jié)包平均占多少,還要分析整體的流量在每天的時(shí)間上的平均分布。
2.背景流量的數(shù)據(jù)包類型
數(shù)據(jù)包的類型決定了網(wǎng)絡(luò)入侵檢測系統(tǒng)的處理方式,從而很大程度上決定了性能指標(biāo)的有效性和真實(shí)性。
例如UDP包和TCP包的處理方式就是很具有代表性的一例。眾所周知,UDP協(xié)議是面向無連接的協(xié)議,TCP是面向連接的協(xié)議。TCP傳輸不僅要完成三次握手,而且要對IP數(shù)據(jù)包進(jìn)行組裝,以形成完整的會(huì)話數(shù)據(jù),有時(shí)網(wǎng)絡(luò)傳感器還要對TCP傳輸進(jìn)行流重組。所以,TCP的處理比UDP復(fù)雜的多,占用的CPU、內(nèi)存等系統(tǒng)資源也要多的多,而且,在所有攻擊類型中,利用UDP協(xié)議的攻擊所占的比率不到10%。
所以,用UDP包作為背景流量具有很大的欺騙性。而目前很多公布數(shù)據(jù)的網(wǎng)絡(luò)入侵檢測產(chǎn)品廠商都是用UDP作為背景流量,特別是千兆入侵檢測產(chǎn)品,什么800M,941M等等。
在我們所舉例的測試中,是使用TCP作為背景流量的類型,更具有科學(xué)性和真實(shí)性。
用戶在選購網(wǎng)絡(luò)入侵檢測產(chǎn)品時(shí),要注意鑒別真?zhèn)巍?
當(dāng)然,利用背景流量的類型做文章的廠商比起隨便插個(gè)千兆網(wǎng)卡就自稱是千兆級產(chǎn)品的廠商來說,還是高明一些。
3.背景流量的方向
在我們舉例的測試中,采用雙向流量測試后,系統(tǒng)的流量和pps的性能指標(biāo)在一定程度上提高,但不是成倍的上升。因?yàn)橄到y(tǒng)的處理性能放在那兒了。而且,小數(shù)據(jù)包的性能指標(biāo)比大數(shù)據(jù)包的性能指標(biāo)提高的更加明顯。
4.CPU占用率
CPU占用率也是反映了網(wǎng)絡(luò)傳感器性能的主要參考指標(biāo),如果在其他條件相同的情況下,CPU占用率越低,表明系統(tǒng)的性能越好,反之就越差。


