1.2.2. 基于网络异常数据包的关联规则分析
在给定网络异常数据包的情况下,关联分析过程主要分为三个阶段:数据预处理,产生关联规则和规则转换。:
数据预处理
输入的对象有可能是日志记录,可能是具体的网络数据包等,通常包含很多字段,但并非所有的字段都适用于关联分析。本文选择目的地址、源地址、目的端口号、源端口号、传输协议、发送字节数、TCP选项等和附加属性特征(连接时间、连接频度、数据长度、数据负载均值和方差等)来进行关联分析。
产生关联规则
首先根据设定的支持度找出所有的频繁项集,一般情况下支持度设置得越低,产生的频繁项集就会越多,而设置得越高,产生的频繁项集就越少。然后由频繁项集产生关联规则,一般情况下置信度设置得越低,产生的关联规则数目越多,但是准确度不高;反之置信度设置得越高,产生的关联规则数目越少但准确度较高。
规则转换
一般来说,产生的关联规则并不能直接被入侵检测系统使用,因其与具体的入侵检测系统定义的规则语法不一致,必须对其进行规则转换。以Snort为例,Snort的检测规则一般有两部分组成,规则头和规则选项。规则头中包含处理形式、协议类型、源IP地址、源端口、目的IP地址和目的端口等信息;规则选项包含数据包内容和数据包选项等一系列的信息。把关联规则中与Snort规则头相关的项放在一起充当规则头,与Snort规则选项相关的项放在一起充当规则选项,然后把规则头与规则选项合并在一起形成Snort入侵检测规则。
1.3. 基于孤立点挖掘的自适应入侵检测算法框架
Eskin提出的自适应入侵检测的模型生成(Adaptive model generation ,简称AMG)[14] 是一个自动收集数据、生成模型和进行数据分析的架构。如图-1所示,网络感应器(Sensor)收集网络环境信息并把数据存储到数据库,存储在数据库中的数据被使用数据挖掘工具的入侵检测生成模型(Adaptive Model Generator),用来分类网络活动的异常或正常。模型一旦生成会被存储在数据库,由模型发布部件部署到实时入侵检测器(Detector)。入侵检测器接受部署到其上的检测模型和来自网络感应器的实时网络侦听数据,用模型评价网络侦听数据,最终发现入侵行为。
本文参照AMG来构建基于异常检测的自适应入侵检测框架。如图-2所示。在网络嗅探器抓取网路数据包以后将数据传给入侵检测模块,入侵检测引擎根据系统的规则库来判断网络数据包是否为入侵活动,如果不是异常,则直接放到孤立点挖掘的数据集中,如果是异常,系统除了作出告警外,还对该网络数据包打了标签,用于表明它是异常,便于在后面使用。如可以直接放到孤立点集合中进行参与下一步的孤立点集合聚类,然后对聚类结果中的每个小类使用关联规则分析。关联分析模块通过对孤立点进行关联挖掘,来找出网络异常数据包中属性字段的潜在关联规则。然后将规则转换为入侵检测系统可用的规则集,参与下一次的规则匹配。其中聚类算法为基于改进的ISODATA[18]。
2. 实验结果与分析
本文实验主要分为两个部分:一部分是使用KDD99的UCI数据集来验证孤立点挖掘算法的有效性,另一部分是以开源IDS Snort作为实验平台,使用IDS Informer模拟攻击工具进行测试,来验证本文所提算法的有效性。
(责任编辑:adminadmin2008)