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