NIDS通过从网络上得到数据包进行分析,从而检测和识别出系统中的未授权或异常现象。
1.1网络局限
1.1.1交换网络环境
由于共享式HUB可以进行网络监听,将给网络安全带来极大的威胁,故而现在网络,尤其是高速网络基本上都采用交换机,从而给NIDS的网络监听带来麻烦。
1.1.1.1监听端口
现在较好的交换机都支持监听端口,故很多NIDS都连接到监听端口上。
通常连接到交换机时都是全双工的,即在100MB的交换机上双向流量可能达到200MB,但监听端口的流量最多达到100MB,从而导致交换机丢包。
为了节省交换机端口,很可能配置为一个交换机端口监听多个其它端口,在正常的流量下,监听端口能够全部监听,但在受到攻击的时候,网络流量可能加大,从而使被监听的端口流量总和超过监听端口的上限,引起交换机丢包。
一般的交换机在负载较大的时候,监听端口的速度赶不上其它端口的速度,从而导致交换机丢包。
增加监听端口即意味做需要更多的交换机端口,这可能需要购买额外的交换机,甚至修改网络结构(例如原来在一台交换机上的一个VLAN现在需要分布到两台交换机上)。
支持监听的交换机比不支持的交换机要贵许多,很多网络在设计时并没有考虑到网络监听的需求,购买的交换机并不支持网络监听,或者监听性能不好,从而在准备安装NIDS的时候需要更换交换机。
1.1.1.2共享式HUB
在需要监听的网线中连接一个共享式HUB,从而实现监听的功能。对于小公司而言,在公司与Internet之间放置一个NIDS,是一个相对廉价并且比较容易实现的方案。
采用HUB,将导致主机的网络连接由全双工变为半双工,并且如果NIDS发送的数据通过此HUB的话,将增加冲突的可能。
1.1.1.3线缆分流
采用特殊的设备,直接从网线中拷贝一份相同的数据,从一根网线中将拷贝出两份(每个方向一份),连接到支持监听的交换机上,NIDS再连接到此交换机上。这种方案不会影响现有的网络系统,但需要增加交换机,价格不菲,并且面临与监听端口同样的问题。
1.1.2网络拓扑局限
对于一个较复杂的网络而言,通过精心的发包,可以导致NIDS与受保护的主机收到的包的内容或者顺序不一样,从而绕过NIDS的监测。
1.1.2.1其它路由
由于一些非技术的因素,可能存在其它的路由可以绕过NIDS到达受保护主机(例如某个被忽略的Modem,但Modem旁没有安装NIDS)。
如果IP源路由选项允许的话,可以通过精心设计IP路由绕过NIDS。
1.1.2.2 TTL
如果数据包到达NIDS与受保护的主机的HOP数不一样。则可以通过精心设置TTL值来使某个数据包只能被NIDS或者只能被受保护主机收到,从而使NIDS的Sensor与受保护主机收到的数据包不一样,从而绕过NIDS的监测。
1.1.2.3 MTU
如果NIDS的MTU与受保护主机的MTU不一致的话(由于受保护的主机各种各样,其MTU设置也不一样),则可以精心设置MTU处于两者之间,并设置此包不可分片,从而使NIDS的Sensor与受保护主机收到的数据包不一样,从而绕过NIDS的监测。
1.1.2.4 TOS
有些网络设备会处理TOS选项,如果NIDS与受保护主机各自连接的网络设备处理不一样的话,通过精心设置TOS选项,将会导致NDIS的Sensor与受保护主机收到的数据包的顺序不一样,于是有可能导致NIDS重组后的数据包与被保护主机的数据包不一致,从而绕过NIDS的监测(尤其在UDP包中)。