如何辨別網絡安全檢測系統優劣
隨著網絡安全問題逐漸被人重視,網絡安全產品也層出不窮,那么究竟怎么樣才能判斷一款網絡入侵檢測系統是好是壞呢?性能指標是每個用戶采購安全產品必定關注的問題。但是,如果不知道這些指標的真實含義,不知道這些指標如何測出來,就會被表面的參數所蒙蔽,從而做出錯誤的決策。
性能指標簡介
不同的安全產品,各種性能指標對客戶的意義是不同的。例如防火墻,客戶會更關注每秒吞吐量、每秒并發連接數、傳輸延遲等。而網絡入侵檢測系統,客戶則會更關注每秒能處理的網絡數據流量、每秒能監控的網絡連接數等。
就網絡入侵檢測系統而言,除了上述指標外,其實一些不為客戶了解的指標也很重要,甚至更重要,例如每秒抓包數、每秒能夠處理的事件數等。
1.每秒數據流量(Mbps或Gbps)
每秒數據流量是指網絡上每秒通過某節點的數據量。這個指標是反應網絡入侵檢測系統性能的重要指標,一般涌Mbps來衡量。例如10Mbps, 100Mbps和1Gbps。
網絡入侵檢測系統的基本工作原理是嗅探(Sniffer),它通過將網卡設置為混雜模式,使得網卡可以接收網絡接口上的所有數據。
如果每秒數據流量超過網絡傳感器的處理能力,NIDS就可能會丟包,從而不能正常檢測攻擊。但是NIDS是否會丟包,不主要取決于每秒數據流量,而是主要取決于每秒抓包數。
2.每秒抓包數(pps)
每秒抓包數是反映網絡入侵檢測系統性能的最重要的指標。因為系統不停地從網絡上抓包,對數據包作分析和處理,查找其中的入侵和誤用模式。所以,每秒所能處理的數據包的多少,反映了系統的性能。業界不熟悉入侵檢測系統的往往把每秒網絡流量作為判斷網絡入侵檢測系統的決定性指標,這種想法是錯誤的。每秒網絡流量等于每秒抓包數乘以網絡數據包的平均大小。由于網絡數據包的平均大小差異很大時,在相同抓包率的情況下,每秒網絡流量的差異也會很大。例如,網絡數據包的平均大小為1024字節左右,系統的性能能夠支持10,000pps的每秒抓包數,那么系統每秒能夠處理的數據流量可達到78Mbps,當數據流量超過78Mbps時,會因為系統處理不過來而出現丟包現象;如果網絡數據包的平均大小為512字節左右,在10,000pps的每秒抓包數的性能情況下,系統每秒能夠處理的數據流量可達到40Mbps,當數據流量超過40Mbps時,就會因為系統處理不過來而出現丟包現象。
在相同的流量情況下,數據包越小,處理的難度越大。小包處理能力,也是反映防火墻性能的主要指標。
3.每秒能監控的網絡連接數
網絡入侵檢測系統不僅要對單個的數據包作檢測,還要將相同網絡連接的數據包組合起來作分析。網絡連接的跟蹤能力和數據包的重組能力是網絡入侵檢測系統進行協議分析、應用層入侵分析的基礎。這種分析延伸出很多網絡入侵檢測系統的功能,例如:檢測利用HTTP協議的攻擊、敏感內容檢測、郵件檢測、Telnet會話的記錄與回放、硬盤共享的監控等。
4.每秒能夠處理的事件數
網絡入侵檢測系統檢測到網絡攻擊和可疑事件后,會生成安全事件或稱報警事件,并將事件記錄在事件日志中。每秒能夠處理的事件數,反映了檢測分析引擎的處理能力和事件日志記錄的后端處理能力。有的廠商將反映這兩種處理能力的指標分開,稱為事件處理引擎的性能參數和報警事件記錄的性能參數。大多數網絡入侵檢測系統報警事件記錄的性能參數小于事件處理引擎的性能參數,主要是Client/Server結構的網絡入侵檢測系統,因為引入了網絡通信的性能瓶頸。這種情況將導致事件的丟失,或者控制臺響應不過來了。#p#
性能指標受哪些因素影響?
網絡入侵檢測系統性能取決于軟硬件兩方面的因素。
1.軟件因素
軟件因素主要是:
●網絡抓包的效率;
●數據包重組和TCP流重組的效率。這是嚴重影響網絡入侵檢測系統性能的因素,對處理器和內存的開銷非常大。如果數據包重組和TCP流重組在操作系統的用戶層完成,那么就會導致操作系統以極高的頻率在核心態和用戶態之間切換,導致大量額外的系統開銷;
●入侵分析的效率。入侵檢測一般是基于特征匹配的,將網絡數據包與入侵規則庫進行特征匹配的。很多產品利用協議分析技術提高入侵分析的效率,先使用協議分析過濾冗余數據,同時盡快在規則樹上分叉,加速深度遍歷;
●C/S結構下,網絡通信的延遲。在服務器端和客戶端都要引入網絡通信模塊,從而增加事件傳輸的延遲。大多數網絡入侵檢測系統都是采用Client/Server結構的,例如ISS Real Secure,賽門鐵克的IDS系統,啟明星辰的天闐和金諾的KIDS等等。像一些基于瀏覽器/服務器(B/S)結構的網絡入侵檢測系統就沒有這種問題,例如方正科技軟件的方通Sniper,因為它的事件直接存儲在網絡傳感器上;
●事件日志庫的記錄能力。有的系統將事件收集(Event Collector)和事件日志庫分開,事件收集器和事件日志數據庫又形成了C/S結構,又引入了延遲。如果EC和日志數據庫在不同的主機上,更引入了網絡傳輸延遲。ISS Real Secure,啟明星辰的天闐和金諾的KIDS等等又是采用這種結構;基于瀏覽器/服務器結構的網絡入侵檢測系統也沒有這種問題;
●控制臺的事件顯示效率。很多控制臺會因為事件多的處理不過來,所以導致控制臺死機。很多C/S結構的控制臺完成的功能太多了,例如和傳感器的網絡通信、和事件收集器的通信、和事件日志數據庫的通信,還要完成事件顯示、事件分析、系統管理和配置等等。引入了很多性能瓶頸點。如果不能達到實時監控,就會使網絡入侵檢測系統的價值大打折扣。
2.硬件因素
硬件方面主要是CPU處理能力、內存、網卡和硬盤IO等。
●CPU處理能力
CPU處理能力是影響網絡入侵檢測系統網絡傳感器性能的重要因素。CPU處理能力從三個方面對系統產生影響:CPU主頻和CPU的個數,分別被稱為CPU的縱向和橫向的擴展能力。一般而言,隨著CPU主頻的提高,網絡傳感器的處理能力越高,這是顯而易見的。
但是是不是隨著CPU數量的提高網絡傳感器的性能就線性增加呢?這要看系統是否是多進程或多線程架構的。很多網絡入侵檢測系統都在做多處理器的優化。
對CPU處理能力的利用率也極大地影響網絡傳感器的性能,那么如何提高CPU處理能力的利用率呢?其中一個非常重要的方法就是對網絡傳感器進行CPU指令集的優化。例如,在P4處理器上,盡可能的使用P4處理器的指令集。Intel公司提供的C&C++編譯器,就有針對指令集進行優化的功能,而且Intel實驗室還提供這方面優化服務。
目前,Intel的新至強處理器采用了超線程技術,但是網絡傳感器如果要發揮新至強處理器的性能,就必須針對超線程進行優化。目前Linux最新的核心還不支持超線程技術。
●內存
內存對網絡傳感器的影響是顯著的。因為網絡入侵檢測系統需要大量的內存進行抓包、包重組、流重組、協議分析、規則匹配等計算。
內存的使用方法也是至關重要的,因為會影響CPU的利用率。使用方法包括:內存分配、釋放、復制、匹配等。使用不當一方面會造成內存泄露,另一方面會占用CPU開銷。
網絡傳感器的部分進程在核心態運行,另一部分進程運行在用戶態,兩者之間如果共享數據,必須進行內存復制,這時就需要在核心態和用戶態之間切換,兩者之間切換的CPU開銷是很大的,如果切換非常頻繁,CPU開銷就會非常大。
●二級緩存
L2 Cache的數量也對網絡傳感器的性能有積極的影響。因此,盡可能的使用大的L2 Cache。
●網卡
網卡對網絡傳感器性能的影響主要是抓包效率。網卡到達性能峰值時,就很容易丟包。所以網絡傳感器的網卡就不能使用一般性的網卡。目前,使用比較多的是Intel系列、3Com系列網卡。例如,Intel百兆網卡中的82559,千兆網卡中的82543,82544等。
如果網絡入侵檢測系統支持多個網卡監控,那么各個網卡最好分配在不同的總線段。
網卡對網絡入侵檢測系統的影響還體現在網絡傳感器與控制臺的數據傳輸上。
網卡驅動對網絡傳感器的影響也是很重要的,有的網絡入侵檢測系統,對網卡做專門的優化。
●PCI總線帶寬
另一個非常重要的硬件因素是PCI總線帶寬。特別是在千兆網絡入侵檢測系統上,為了實現幾個G的抓包速率,必須使用多個66Mhz/64-bit PCI or 133Mhz/64-bit PCI-X總線擴展槽。如果使用PCI-X總線,就必須使用PCI-X兼容的網卡,以充分發揮PCI-X 133MHz標準。為了提供更好的帶寬利用,多個網卡必須合理地分布在PCI/PCI-X總線段上。
●硬盤IO
因為網絡入侵檢測系統的傳感器需要在硬盤上存儲很多日志信息,所以硬盤的IO也會影響到網絡傳感器的性能。
分析
網絡入侵檢測系統的性能測試的基本原理是是通過一些設備或軟件工具制造不同數據包大?。ㄈ?4, 128, 256, 512, 1024 , 1518字節)、不同壓力的背景流量(如10Mbps,50Mbps,100Mbps,350Mbps,500Mbps,750Mbps等),然后通過各種黑客工具發動攻擊,看網絡傳感器的檢測情況和數據包丟失的情況。
在網絡入侵檢測系統中,背景流量的產生起著至關重要的作用。背景流量從如下方面影響性能測試的結果。
1.背景流量的數據包大小
對于發包測試設備來說,每秒制造數據包的數量(pps)是有極限的。一般而言,數據包越小,每秒制造的數據包數量越多,數據包越大,每秒制造的數據包數量越少。但是,數據流量(Mbps)等于數據包大小和每秒數據包數的乘積,所以數據流量由兩者共同決定。
對應于網卡,也是一樣,數據包越小,每秒能夠處理的數據包越多,數據包越大,每秒能夠處理的數據包越少。但是網卡每秒能夠處理的數據包數也是有限的。
在極限情況下,數據包越小,處理的難度越大,數據包越大,處理的難度越小。因為在網絡流量的不斷增長的趨勢下,小數據包的pps增長速度比大數據包的pps增長速度快得多,迅速達到極限。從上述的測試結果數據來看,可以很明顯的看到這一點。
小數據包的處理能力不僅是網絡入侵檢測系統,而且也是防火墻的性能瓶頸。所幸在網絡中小數據包出現的比率還是比較低的。但是,在一些黑客攻擊中,采用小包,很容易制造DoS攻擊。
廠商公布的網絡入侵檢測系統的每秒可處理的最大網絡流量指標,往往是在最好的條件下測的,如每個數據包的大小是1518字節。
用戶在選購網絡入侵檢測產品時,不能單純看廠商公布的數據,而是要分析自己的流量的情況。要分析數據包大小的分布情況,64字節包平均占多少,128字節包平均占多少,512字節包平均占多少,1518字節包平均占多少,還要分析整體的流量在每天的時間上的平均分布。
2.背景流量的數據包類型
數據包的類型決定了網絡入侵檢測系統的處理方式,從而很大程度上決定了性能指標的有效性和真實性。
例如UDP包和TCP包的處理方式就是很具有代表性的一例。眾所周知,UDP協議是面向無連接的協議,TCP是面向連接的協議。TCP傳輸不僅要完成三次握手,而且要對IP數據包進行組裝,以形成完整的會話數據,有時網絡傳感器還要對TCP傳輸進行流重組。所以,TCP的處理比UDP復雜的多,占用的CPU、內存等系統資源也要多的多,而且,在所有攻擊類型中,利用UDP協議的攻擊所占的比率不到10%。
所以,用UDP包作為背景流量具有很大的欺騙性。而目前很多公布數據的網絡入侵檢測產品廠商都是用UDP作為背景流量,特別是千兆入侵檢測產品,什么800M,941M等等。
在我們所舉例的測試中,是使用TCP作為背景流量的類型,更具有科學性和真實性。
用戶在選購網絡入侵檢測產品時,要注意鑒別真偽。
當然,利用背景流量的類型做文章的廠商比起隨便插個千兆網卡就自稱是千兆級產品的廠商來說,還是高明一些。
3.背景流量的方向
在我們舉例的測試中,采用雙向流量測試后,系統的流量和pps的性能指標在一定程度上提高,但不是成倍的上升。因為系統的處理性能放在那兒了。而且,小數據包的性能指標比大數據包的性能指標提高的更加明顯。
4.CPU占用率
CPU占用率也是反映了網絡傳感器性能的主要參考指標,如果在其他條件相同的情況下,CPU占用率越低,表明系統的性能越好,反之就越差。
【編輯推薦】