NIDS通過從網絡上得到數據包進行分析,從而檢測和識別出系統中的未授權或異常現象。但它也有一定的局限性。
一、交換網絡環境
由于共享式HUB可以進行網絡監聽,將給網絡安全帶來極大的威脅,故而現在網絡,尤其是高速網絡基本上都采用交換機,從而給NIDS的網絡監聽帶來麻煩。
1、監聽端口
現在較好的交換機都支持監聽端口,故很多NIDS都連接到監聽端口上。
通常連接到交換機時都是全雙工的,即在100MB的交換機上雙向流量可能達到200MB,但監聽端口的流量最多達到100MB,從而導致交換機丟包。
為了節省交換機端口,很可能配置為一個交換機端口監聽多個其它端口,在正常的流量下,監聽端口能夠全部監聽,但在受到攻擊的時候,網絡流量可能加大,從而使被監聽的端口流量總和超過監聽端口的上限,引起交換機丟包。
一般的交換機在負載較大的時候,監聽端口的速度趕不上其它端口的速度,從而導致交換機丟包。
增加監聽端口即意味做需要更多的交換機端口,這可能需要購買額外的交換機,甚至修改網絡結構(例如原來在一臺交換機上的一個VLAN現在需要分布到兩臺交換機上)。
支持監聽的交換機比不支持的交換機要貴許多,很多網絡在設計時并沒有考慮到網絡監聽的需求,購買的交換機并不支持網絡監聽,或者監聽性能不好,從而在準備安裝NIDS的時候需要更換交換機。
2、共享式HUB
在需要監聽的網線中連接一個共享式HUB,從而實現監聽的功能。對于小公司而言,在公司與Internet之間放置一個NIDS,是一個相對廉價并且比較容易實現的方案。
采用HUB,將導致主機的網絡連接由全雙工變為半雙工,并且如果NIDS發送的數據通過此HUB的話,將增加沖突的可能。
3、線纜分流
采用特殊的設備,直接從網線中拷貝一份相同的數據,從一根網線中將拷貝出兩份(每個方向一份),連接到支持監聽的交換機上,NIDS再連接到此交換機上。這種方案不會影響現有的網絡系統,但需要增加交換機,價格不菲,并且面臨與監聽端口同樣的問題。
二、網絡拓撲局限
對于一個較復雜的網絡而言,通過精心的發包,可以導致NIDS與受保護的主機收到的包的內容或者順序不一樣,從而繞過NIDS的監測。
1、其它路由
由于一些非技術的因素,可能存在其它的路由可以繞過NIDS到達受保護主機(例如某個被忽略的Modem,但Modem旁沒有安裝NIDS)。
如果IP源路由選項允許的話,可以通過精心設計IP路由繞過NIDS。
2、TTL
如果數據包到達NIDS與受保護的主機的HOP數不一樣。則可以通過精心設置TTL值來使某個數據包只能被NIDS或者只能被受保護主機收到,從而使NIDS的Sensor與受保護主機收到的數據包不一樣,從而繞過NIDS的監測。
3、 MTU
如果NIDS的MTU與受保護主機的MTU不一致的話(由于受保護的主機各種各樣,其MTU設置也不一樣),則可以精心設置MTU處于兩者之間,并設置此包不可分片,從而使NIDS的Sensor與受保護主機收到的數據包不一樣,從而繞過NIDS的監測。
4、TOS
有些網絡設備會處理TOS選項,如果NIDS與受保護主機各自連接的網絡設備處理不一樣的話,通過精心設置TOS選項,將會導致NDIS的Sensor與受保護主機收到的數據包的順序不一樣,于是有可能導致NIDS重組后的數據包與被保護主機的數據包不一致,從而繞過NIDS的監測(尤其在UDP包中)。