网络设备本身的安全性需要得到业界的普遍关注,特别是面对DoS或者DDoS攻击下是否能够保证设备的可用性。而在以往的网络设备的测试中,我们一般都非常关注网络设备的性能水平、功能性、管理的方便性,缺乏对通用网络设备自身的安全性,特别是面对DoS攻击之后,设备的可用性情况进行测试。
一位读者看过我们去年的ADSL调制解调器的公开比较测试报告,他来信询问我们测试过的产品,是否能够经受得住3月初网上出现的针对ADSL调制解调器的攻击行为。但是我很难回答他的问题,因为当时测试仅关注性能、互操作性。
从三月份开始,一些用户在使用ADSL调制解调器上网时,一段时间网络不通,ADSL调制解调器需重启方能使用,但过一段时间需再次重启的现象。
这种现象仅仅在用户开启ADSL调制解调器上的拨号、NAT、DHCP等功能才会发生,即ADSL调制解调器作为一个小宽带路由器使用。而作为一个透明的二层桥接设备则不会出现类似的问题。
从上述的情况分析看,这应该是一种DoS攻击。我们和部分厂商的工程师进行了沟通,他们表示攻击的主要原理是耗尽ADSL调制解调器的系统资源,攻击程序首先对要攻击的设备进行端口扫描,看哪些端口是开放的,或者直接对HTTP端口发起攻击(通常HTTP/TELNET等端口都是开放的),攻击程序不断的打开TCP连接,最终耗尽系统资源,导致系统不可用。网站上一些专家建议用户修改调制解调器开放的管理端口,比如将TELNET、HTTP的端口号改到6100以上。
从我们去年的测试情况看,很多ADSL调制解调器具备NAT功能、自动拨号等功能,可以做一个宽带的路由器,但是这些产品处理并发连接数的能力非常有限,最大的并发连接数在512个。如此来看,正常使用中相对多数量的TCP连接(比如多个PC同时上网)也可能会耗尽系统资源,病毒是达到了一个极限的情况而已。
虽然修改端口号是一种方法,但是更彻底的是应该在设计上进行某种保护!特别是在病毒和攻击手段不断翻新的今天,设备可用,可监控,比将所有的资源都用在转发数据包上更好!从去年多种蠕虫病毒爆发的情况看,一个性能下降到极点的设备,但是仍能够管理监控的设备,能够帮助网管人员发现问题的所在,及时利用ACL等手段暂时抵御攻击,保证网络的可用性。
而从网络基础设施产品的测试来看,也应该更多的考虑到安全因素,应对今天新的形势在测试中引入DoS攻击手段,验证设备在极限情况下是否仍旧可用。
可以模拟已知的2/3/4层攻击手段:比如对基于流转发模式的三层交换机,模拟流转发表大规模溢出,检验设备的可用性。(我们曾经在以往的测试中观察出类似的情况)。
再比如对交换机、路由器开放的管理功能,模拟DoS攻击。
还有对现有协议中,可能利用的耗尽网络设备处理能力的“漏洞”进行极限测试,模拟攻击。像已知的ICMP的攻击。