此网络可以模拟规模较大的、实际的网络结构和设备,也可以模拟实际网络中多种多样的网络服务。具体方法是利用专门产生网络流量的计算机来产生所需要的网络流量,然后使用软件把这些流量动态地分派给网络中的节点。一般需要两种产生流量的机器:外部流量产生器,产生模拟网络和因特网之间的会话和流量;内部流量产生机器,产生网络内部需要的会话和流量。这两种流量产生器能够产生比实际网络上更为丰富的会话和流量,因为它们可以进行人为的控制。流量的产生要考虑测试所需流量的大小以及网络规模的大小;另外还需要对多种网络服务和网络协议进行模拟,以及模拟一些分布式的流量,所以这样的流量产生器有时要占用好几台性能优越的计算机。
边界路由器介于流量产生器和网络环境之间,它起到划分内部流量和外部流量的作用。边界路由器还有向网内的其他路由器和设备分配流量的作用。其他的如防火墙和主机等设备与它们在实际网络中的作用和位置相同。这样的模拟环境基本上反映了真实网络的情况,进行合理的配置完全可以模拟真实网络环境的技术参数、流量要求等指标,而且整个模拟环境可以与外界完全隔离开来独立使用。
3 IDS测试平台
有了测试环境还不能完成IDS的测试工作,还需要针对测试环境利用软件搭建一个测试平台。基于上面的模拟网络的测试环境,建立软件测试平台,其流程如图3所示。
MIT在入侵检测系统测试评估上发展了一种系统和通用的评估方法。全部工作流程包括数据集的构造、测试过程、测试结果分析,提供改进算法的意见。这里提出的平台既考虑了通用性,也考虑了实际IDS开发环境的因素,它能够完成上述流程的全部工作,其中的关键部分有流量仿真、攻击仿真、事件合成等。
3.1 流量仿真
评估所需的网络流量仿真是一项很复杂的工作。常规用于研究网络性能的流量仿真方法所产生的数据包,不考虑数据内容,极有可能引起IDS的大量误报。一般的IDS都工作于网络层或网络层之上,它们在协议规定的框架内对网络数据包的内容进行分析。因此,IDS评估环境中的网络流量仿真,一定是具体到各个协议的流量仿真。流量仿真的子系统结构如图4所示。
由于流量的产生不仅来自网络外部,还有来自网络内部其他主机的流量,这样就需要生成两种类型的网络流量:外部网络流量和内部网络流量。对应上一节中的测试环境,这两种网络流量是由测试环境中的外部流量产生器和内部流量产生器分别产生的。这两种类型的流量中又根据测试需要包含有正常的网络会话流量和非正常的(有时是攻击性的)网络会话流量。