3.2.2 Snort
Snort是著名的开源NIDS,它是一个轻量级的入侵检测系统,具有执行即时流量分析的功能,可以执行特定协议的分析,检测缓冲区溢出、隐蔽式端口扫描、SMB探测、操作系统指纹测试等攻击行为。从分类来看,它是基于特征匹配的网络IDS,采用基于规则的工作方式,可以检测1000多种不同的入侵行为和探测活动,但是误报率也相当高。Snort同时也被用于本实验分析的基线。3.2.3 LERAD
LERAD也是一个出色的开源IDS,它是基于异常的网络入侵检测系统,需要通过学习不包含攻击的网络流量来生成用于检测的规则集,并以此作为实际检测的依据。3.3 协作管理器
作管理器是协作服务的提供者和协作策略的执行者,其功能在2.2中已经介绍过,这里不再赘述。3.4 入侵检测管理器
入侵检测管理器是协同检测系统的控制部件,负责管理数据、规则、日志和管理IDC,并与用户接口交互。入侵检测管理器可以有多个,相互之间互为备份,以应对入侵检测管理器失效的意外。3.5 用户接口
用户接口用来完成与管理员的交互,其功能是以图形化的方式显示安全状况,报告安全事件,以及响应管理员的操作,如维护规则与日志数据库等。 4 实验结果与分析4.1 实验测试方法与攻击设计
实验采用了数据集测试方法,其优点在于可以由测试者自行设计测试环境和攻击方案。将1999年MIT Lincoln Lab一周的干净数据作为背景数据流[6],并作为LERAD的训练数据。考虑到MIT当时的测试数据中的攻击[7, 8]已经比较陈旧,因此重新设计了攻击方案,将两者合成作为新的实验数据集。测试环境如图6所示,分为内网和外网。内网和外网之间通过一台CISCO路由器连接。内网有一台机器用于回放不含有攻击流量样本网络背景流量,将之前生成的一周数据集作为网络背景流量。外网两台服务器作为自动攻击主机,运行攻击调度程序,最多可同时模拟40个攻击者对内网发起攻击。另有一台服务器作为手动攻击主机,模拟复杂的攻击行为。内网和外网各有一台主机运行Tcpdump记录内网外的数据流用于实验结果分析。内网有三台主机分别运行三个不同的IDC,封装了BRO、SNORT和LERAD三种不同的IDS。 图6 为了体现协同检测算法的有效性,实验中采取有区别的攻击实例设计,共设计了50余种攻击,每个攻击的实例也不相同,有些攻击基本是单会话的,有些攻击是多会话的,实验主要关注多会话的攻击。