在选择IDS的时候,我们除了考虑功能以外,还需要从性能方面考虑,因此,我们从尽可能多的方面来考察了送测产品的性能,因为根据我们以往测试的经验,每款产品在不同的方面都会有自己的长处,只有这样才能给用户足够多的参考信息。
我们在测试环境中采用了多样化的测试方法和测试工具,流量发生器采用美国思博伦通信公司的Avalanche和Reflector测试仪,攻击产生工具是BLADE IDS Informer软件,以及Nessus 2.0,这是一个扫描软件,能够对目标主机或者网络进行各种试探,其中包括了我们需要的几种变形入侵。硬件部分当然包括测试用的平台:一台用作控制台的PC,一台邮件服务器,还有用作镜像网络流量的千兆交换机。
攻击的识别率
这部分我们采用了美国《网络世界》的测试方案,从IDS Informer软件能够模拟的600个攻击测试集里面分HTTP、BackDoor、Other三大类,随机选择出100个攻击,这样可以从某种程度上反映出IDS 产品对任意攻击的识别率。我们采用了最简单的IDS应用网络结构(见图1),BLADE IDS Informer工作的时候,两个网络接口互相连接,我们只需要把其中发送攻击的接口的网络流量镜像到IDS的检测口就可以了,然后在IDS Informer上发送攻击,通过查看IDS控制台的事件输出来判断攻击是否被成功的检测到。
逃避的识别能力
逃避的识别我们通过两个方法来进行测试。
● 首先是采用Nessus对目标PC进行扫描,在确认IDS能够识别出攻击后,再依次选择Nessus中的三种变形方式,通过控制台就可以看出IDS对这2种形式的伪装入侵是否能够正确地识别。(见图2)
● 第二种方法是采用 BLADE IDS Informer自身具备的变形功能,来对同一个 HTTP攻击进行10种变形。(见图1)
误报测试
误报测试采用两种伪攻击。第一种通过一台客户端访问邮件服务器来进行(见图3),我们通过Telnet方式来进行一个SMTP会话,在命令行敲入SMTP命令来模拟一个攻击: 在第一个SMTP会话中,我们直接在交互阶段敲入vrfy decode命令来验证服务器是否存在decode 这个用户,IDS会有一个警告出现; 第二个会话中,我们把这条命令vrfy decode放到了邮件正文中,虽然在会话中也有这个特征字串,但是没有实际的威胁,如果IDS报警便是误报。
第二种伪攻击是通过改变攻击包的TTL(生存时间)值来实现的。首先挑选被测IDS可以检测出的一种攻击,然后将TTL值设置为零(这样的攻击包不会产生有效攻击)。如果被测IDS报警也是一种误报。(见图1)
状态检测
这个环节分为两个部分,主要是检测IDS是否能够确认完整的网络连接状态,从而更准确地检测攻击,而不是浪费宝贵的处理能力在一些并不是真正攻击的网络流量上。
● 在IDS Informer中确定IDS能够正确检测到的攻击,然后采用routable方式,发送目标地址和源地址相同的单向攻击。(见图1)对于正常的网络来说,这样的网络流量是不可能持续下去的。
● 在IDS Informer中确定IDS能够正确检测到的攻击,然后用Sniffer录制,并且去掉3次握手包,再重复发送。这样的连接根本不可能建立起来。
HTTP仿真环境测试
由于在 IDS的实际使用当中,IDS是通过重组这些网络流量进行分析检测的,如果流量超过了IDS所能处理的限度,就会发生丢包,网络流量也无法正确地被重组分析。
我们在这个测试中,采用了Avalanche/Reflector组合来产生HTTP仿真背景流,来查看IDS在当时流量下对攻击的检测能力。由于会同时用到BLADE IDS Informer,所以需要两台交换机一起工作(见图4)。