论文部分内容阅读
针对当前主要入侵检测系统(IDS)因检测模式单一所带来的不足,本文结合误用检测和异常检测两种检测模式建立混合式入侵检测系统,以其综合利用这两种检测方法的优点。本文构建的混合式入侵检测系统包含三个子模块:误用检测模块、异常检测模块(ADS)和特征产生模块。误用检测模块的实现基于开源的入侵检测系统snort,异常检测模块和特征产生模块则分别使用频繁情景规则(FER)挖掘算法和Apriori的变形算法构建。ADS模块的构建分为训练和检测两个阶段。在ADS训练阶段,先使用频繁情景挖掘算法从正常训练数据集中挖掘出描述正常连接的频繁情景。再从频繁情景中产生频繁情景规则FER,来刻画正常连接的特征,获得初步的频繁情景规则集。最后从这个频繁情景规则集中筛选出高效的FER规则,形成正常的频繁情景规则集。在ADS检测阶段,先从测试数据中产生FER,产生FER的具体步骤和ADS训练阶段相同。为了对新产生的FER赋异常值,把这个新产生的FER和正常FER规则库中的FER比较。利用新FER规则的异常值,对测试数据集里的连接事件赋异常值。根据事件异常值的大小,检测出异常攻击事件。在ADS模块对测试数据集每一个连接都赋有异常值的基础上,特征产生模块采用Apriori变形算法,对已赋值的测试数据集进行挖掘。一个连接的各属性及属性对应的值构成项集。根据所有连接的异常值,可以获得某一个项集在测试数据集中的权值:等于拥有相同属性值的所有连接的异常值之和。设定项集的阈值,即可获得频繁项集。并且考察的连接属性不同,获得的频繁项集也不同。不断变换待考察的属性集,可以获得频繁项集的集合。在此基础上,把那些具有较高异常值的频繁项集确定为特征,形成特征集合。再根据这些特征的属性和snort规则关键字之间的对应关系,把特征集合映射为snort规则,加入到snort的特征规则库中。最后在上述思想基础上,在Debian GNU/Linux操作系统上实现了混合式入侵检测系统。使用MySQL存储事件,KDD99 IDS数据集作为实验数据集。