1 引言
随着计算机网络不断发展,各种问题也随之产生,网络安全问题尤为突出。传统的入侵检测技术包括滥用检测和异常检测。其中,滥用检测是分析各种类型的攻击手段,找出可能的“攻击特征”集合,可有效检测到已知攻击,产生误报较少,但只能检测到已知的入侵类型,而对未知的入侵类型无能为力,需要不断更新攻击特征库;而异常检测的假设条件是通过观察当前活动与系统历史正常活动情况之间的差异可实现攻击行为的检测。其优点是可检测到未知攻击,缺点是误报和漏报较多。针对现有网络入侵检测系统的一些不足,将数据挖掘技术应用于网络入侵检测,以Snort入侵检测系统模型为基础,提出一种新的基于数据挖掘的网络入侵检测系统模型。
2 数据挖掘在入侵检测系统中的应用
数据挖掘技术在入侵检测系统(IDS)中的应用,主要是通过挖掘审计数据以获得行为模式,从中分离出入侵行为,有效实现入侵检测规则。审计数据由经预处理、带有时间戳的审计记录组成。每条审计记录都包含一些属性(也称为特征),例如,一个典型的审计日志文件包括源IP地址、目的IP地址、服务类型、连接状态等属性。挖掘审计数据是一项重要任务,直接影响入侵检测的精确性和可用性,常用的挖掘方法有关联性分析、分类、序列分析等。
(1)关联性分析关联分析就是要发现关联规则,找出数据库中满足最小支持度与最小确信度约束的规则,即给定一组Item和一个记录集合,通过分析记录集合推导出Item间的相关性。一般用信任度(confidence)和支持度(support)描述关联规则的属性。关联分析的目的是从已知的事务集W中产生数据集之间的关联规则,即同一条审计记录中不同字段之间存在的关系,同时保证规则的支持度和信任度大于用户预先指定的最小支持度和最小信任度。
(2)分类映射一个数据项到其中一个预定义的分类集中,它输出“分类器”,表现形式是决策树或规则。在入侵检测中一个典型的应用就是,收集足够多的审计数据送交用户或程序,然后应用分类算法去学习分类器,标记或预测新的正常或异常的不可见审计数据。分类算法要解决的重点是规则学习问题。
(3)序列分析用于构建序列模式,以发现审计事件中经常存在的时间序列。这些经常发生的事件模式有助于将时间统计方法应用于入侵检测模型。例如,如果审计数据中包含基于网络的拒绝服务攻击DOS(Denial of Service Attack)行为.由此得到的模式就要对在这一时间段内工作的每个主机和每项服务进行检测。