在选择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)
  

  基于IDS的各种软件和硬件测试方法(图一)


  ● 第二种方法是采用 BLADE IDS Informer自身具备的变形功能,来对同一个 HTTP***进行10种变形。(见图1)
  
  

  基于IDS的各种软件和硬件测试方法(图二)


  误报测试
  误报测试采用两种伪***。第一种通过一台客户端访问邮件服务器来进行(见图3),我们通过Telnet方式来进行一个SMTP会话,在命令行敲入SMTP命令来模拟一个***: 在第一个SMTP会话中,我们直接在交互阶段敲入vrfy decode命令来验证服务器是否存在decode 这个用户,IDS会有一个警告出现; 第二个会话中,我们把这条命令vrfy decode放到了邮件正文中,虽然在会话中也有这个特征字串,但是没有实际的威胁,如果IDS报警便是误报。
  
  

  基于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)。
  

基于IDS的各种软件和硬件测试方法(图四)