入侵检测系统的测试与评估
6 测试评估IDS的环境配置与框架
在测试评估IDS时,很少会把IDS放在实际运行的网络中,因为实际网络环境是不可控的,并且实际网络环境的专用性也太强,很难对IDS进行准确的系统测试。所以一般要构建专用的网络的环境。
受保护系统模拟主机正常运行状况,网络负载生成器模拟内部网之间以及内部网与外部网之间的网络通信。攻击模拟用来模拟入侵者发起的攻击。IDS即为待检测的系统。由于有时实际的网络环境很大,有很多安装各种各样操作系统、应用软件的主机服务器,要求测试环境完全按照实际网络进行配置并不是很实际,所以在测试中一般采用虚拟主机技术。通常使用一些软件工具或者编写可自动运行的脚本来模拟各种主机的各种行为,相当于在一台物理主机上运行多台虚拟主机,每个虚拟主机模拟不同硬件上运行的不同操作系统、不同应用程序。一般来说,受保护主机要包含运行常用操作系统(比如Windows、Linux、SunOS)的主机。内部网网络负载生成器要模拟内部的网络流量以及内部的攻击,而外部位网络负载生成器要模拟外部的网络流量(比如访问Web页面,下载文件)以及外部的攻击。实际构建测试环境的过程是个复杂过程,它直接关系到评测的成功与否。
7 IDS测试评估现状以及存在的问题
虽然IDS及其相关技术已获得了很大的进展,但关于IDS的性能检测及其相关评测工具、标准以及测试环境等方面的研究工作还很缺乏。
Puketza等人在1994年开创了对IDS评估系统研究的先河,在他们开发的软件平台上可以实现自动化的攻击仿真。1998年Debar等在IDS实验测试系统的研究中,指出在评估环境中仿真正常网络流量是一件非常复杂而且耗时的工作。林肯实验室在1998年、1999年进行的两次IDS离线评估,是迄今为止最权威的IDS评估。在精心设计的测试网络中,他们对正常网络流量进行了仿真,实施了大量的攻击,将记录下的流量系统日志和主机上文件系统映像等数据,交由参加评估的IDS进行离线分析。最后根据各IDS提交的检测结果做出评估报告。目前美国空军罗马实验室对IDS进行了实时评估。罗马实验室的实时评估是林肯实验室离线评估的补充,它主要对作为现行网络中的一部分的完整系统进行测试,其目的是测试IDS在现有正常机器和网络活动中检测入侵行为的能力以及IDS的响应能力及其对正常用户的影响。IBM的Zurich研究实验室也开发了一套IDS测评工具。此外,有些黑客工具软件也可用来对IDS进行评测。
目前,市场上以及正在研发的IDS很多,各系统都有自己独特的检测方法。攻击描述方式以及攻击知识库,还没有一个统一的标准。这大大加大了测试评估IDS的难度,因为很难建立一个统一的基准,也很难建立统一的测试方法。
测试评估IDS中存在的最大问题是只能测试已知的攻击。在测试评估过程中,采用模拟的方法来生成测试数据,而模拟入侵者实施攻击面临的困难是只能掌握已公布的攻击,而对于新的攻击方法就无法得知。这样的后果是,即使测试没有发现IDS的潜在弱点,也不能说明IDS是一个完备的系统。不过,可以通过分类选取测试例子,使之尽量覆盖许多不同种类的攻击,同时不断更新入侵知识库,以适应新的情况。
并且,由于测试评估IDS的数据都是公开的,如果针对测试数据设计待测试IDS,则该IDS的测试结果肯定比较好,但这并不能说明它实际运行的状况就好。
此外,对评测结果的分析使用也有很多问题。理想状况是可以自动地对评测结果进行分析,但实际上很难做到这一点。对IDS的实际评估通常既包含客观的也包含主观的,这和IDS的原始检测能力以及它报告的方式有关。分析人员要在IDS误报时分析为什么会出现这种误报,在给定的测试网络条件下,这种误报是否合理等问题。评测结果的计分方式也很关键,如果计分不合理的话,得出的评测结果可信度也就不可能很高。比如,如果某个IDS检测不出某种攻击或对某种正常行为会产生虚警,则同样的行为都产生同样的结果,正确的处理方法是应该只计一次,但这很难把握,一旦这种效果被多次重复考虑的话,该IDS的评测结果肯定不是很理想,但实际上该人侵检测总体检测效果可能很好。
8 小结
入侵检测作为一门正在蓬勃发展的技术,出现的时间并不是很长;相应地对IDS进行评测出现得更晚。它肯定有很多不完善和有待改进的地方,这需要进一步的研究。其中几个比较关键的问题是:网络流量仿真、用户行为仿真、攻击特征库的构建、评估环境的实现以及评测结果的分析。
近几年来,我国的入侵检测方面的研究工作和产品开发也有了很大的发展。但对入侵检测评估测试方面的工作还不是很多。各入侵检测产品厂家基于各方面的原因,在宣传时常常夸大其词,而IDS的用户对此往往又不是很清楚,所以迫切需要建立起一个可信的测试评估标准。这对开发者和用户都有好处。 (完)