[转载]基于数据挖掘的入侵检测应用研究

[---  资料是从免费网站上获取的,上载在这里,只为交流学习目的,文章原作者保留所有权力,
如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意!
erwin_609@msn.com  ---]


摘    要    论述了入侵检测系统的基本概念,针对目前入侵检测系统中存在的问题,提出了一个基于数据挖掘技术的入侵检测系统模型。介绍了该系统模型的基本思想,阐述其结构及主要功能。在系统的实现方面提出应用新的加权关联规则分析来改进数据挖掘模块的算法并应用与入侵检测系统之中。与传统关联规则入侵系统相比提高了挖掘入侵模式的精度和完整性,降低了误报率的发生。

关键词    入侵检测 数据挖掘 分类 加权关联

1 入侵检测系统

入侵检测是计算机和信息安全领域中的一个课题,它是一种动态的安全防护手段,能主动寻找入侵信号,给网络系统提供对外部攻击、内部攻击和误操作的安全保护。

入侵检测分为数据采集、数据分析和响应三个部分。为了寻找入侵行为和痕迹,数据采集从网络系统的多个点进行,采集内容包括系统日志、网络数据包、重要文件以及用户活动的状态与行为等。数据分析则通过模式匹配、异常检测和完整性检测三种技术手段对采集的数据进行分析。入侵检测系统一旦发现入侵行为,立即会进入响应过程,包括日志、告警和安全控制等。

根据数据分析和入侵检测的实现方式可将入侵检测检测的体系结构分为集中式和分布式两种。在实际的应用当中对于小规模且网络流量较小的网络环境,通常采用集中式的体系结构;而对于大规模网络环境,通常要选择分布式体系结构。

2 数据挖掘与入侵检测

2.1 数据挖掘

数据挖掘是从大量数据中提取或“挖掘”出知识。具体说是对数据进行处理,从而获得隐含的、事先未知的、潜在的而又非常有用的知识,这些知识可表示为模式。数据挖掘方法有多种,其中比较常见的有关联规则、序列模式、数据分类、聚类分析等。

2.2 数据挖掘在入侵检测当中的应用

传统的入侵检测系统需要安全领域的专家首先将攻击行为和系统弱点进行分类,针对检测类型选择统计方法,然后人工进行代码输入,建立相应的检测规则和模式。相对于复杂的网络系统而台,专家的知识随着时间和空间变迁其局限性突显,因此对提高入侵检测模型的检测有效性是不利的。

安全领域专家通常关注已知的攻击行为特征和系统弱点对其进行分析研究,造成检测模型对于未来系统面临的更多的未知入侵缺乏适应能力;而安全系统升级周期长,费用高,对于提高入侵检测模型的检测适应性是不利的。

由于专家规则和统计方法通常需要专用的软、硬件平台支撑,阻碍了系统在新环境下的重用和制定,同时造成嵌入新的检测功能模块困难,这对于提高入侵检测模型的可扩展性是不利的。

因此如何建立具有较强的有效性、自适应性、可扩展性的入侵检测模型成为入侵检测领域中重要的研究课题。利用数据挖掘在有效利用信息方面的优势,将入侵检测视为一类数据分析过程。这种方法的优点在于系统能够从大量的审计数据中自动产生精确的适用的检测模型,使入侵检测系统适用于任何计算环境,该方向己成为研究的一个热点,属于网络安全和人工智能的交叉学科。数据挖掘中分类、关联、序列、聚类等分析方法已得到验证。

数据挖掘技术的优点在于:

(1)可以处理大规模的数据量;

(2)不需要用户提供主观的评价信息,善于发现容易被主观忽视和隐藏的信息。

这两点尤其适用于建立在分析审计纪录的异常入侵检测技术。

3 一种基于数据挖掘的入侵检测模型

把数据挖掘应用到入侵检测系统中可以从大量的审计数据中自动产生简明而准确的检测模式。数据挖掘技术非常适合从历史行为的大量数据中进行特征提取,所以在IDS中,可以采用数据挖掘技术建立入侵检测知识库。基于分类算法和关联规则的入侵检测模型如图1所示。

入侵检测模型(如图1所示)的主要组成部分如下:

(1)传感器:收集原始的网络数据。

(2)数据接收器:存放传感器采集的数据,可以按照一定格式存放,比如按照IP / Port / Protocol等。

(3)数据预处理模块:主要是把原始数据转化成适合挖掘算法使用的格式,过滤和去掉噪声。

(4)数据库:存储挖掘好的模式、规则和相关信息。存储的数据可以用来在线分析和培养,也可以用来分析较长时间内的一系列数据之间的关系。从而来分析是否存在入侵攻击。

(5)数据挖掘模块:用数据挖掘算法对历史信息和数据集数据进行特征提取,形成新的模式,更新到知识库中。数据挖掘模块是这个模型的核心部分,挖掘算法的选择和实现直接影响模型的检测效率和误报率。

(6)检测模块:从模式中计算新的行为轮廓,跟知识库中的知识特征进行比较,更新知识库,对于符合规则的可能入侵进行报警。

(7)报警触发器:通知管理员异常网络事件出现。

该入侵检测模型的工作原理是:传感器负责从网络中采集数据保存到原始数据库中,然后进行数据预处理,形成审计数据。数据挖掘模块用关联规则和分类算法对审计数据进行挖掘,提取出特征和模式,保存到数据库中。检测模块负责从数据库中读取规则来进行入侵判定,同时对更新的规则进行入库处理。对于入侵攻击则提交给报警触发器来给管理人员报警。

这种基于数据挖掘的入侵检测系统的优点有以下几个。

(1)自适应能力强:由于不是基于预定义的数据库,因此自适应能力强,可以检测一些攻击的新变种。

(2)智能性好,自动化程度比较高:数据挖掘方法能够自动从数据中提取行为模式,减轻了人员的工作负担,提高了检测的准确性。

(3)检测效率高:数据挖掘方法可以自动对数据进行预处理,减少了数据处理量,提高了检测效率。

4 数据挖掘模块算法的实现

数据挖掘可能要面对的是关系非常复杂的全局模式的知识发现,但核心处理阶段是几种数据挖掘方法的综合使用,由于关联规则可以挖掘横向列集之间的关系,而序列分析方法可以挖掘纵向行为之间的关系,因此关联规则和序列分析方法可以配合使用以挖掘出更全面、更精确的结果。我们要在这个基础上将一种新的数据挖掘方法即加权规则法应用于异常入侵检测之中实现数据挖掘模块的功能。

在Windows 2000环境下,采用Oracle数据库系统,在网络中心服务器上获得的一些数据来实现加权关联规则模式的入侵检测。

1. 数据预处理

入侵检测系统关注的重点通常也在于防范来自系统外部的攻击行为。然而,许多造成严重后果的系统入侵正是由内部攻击者发起的,因此我们也对基于内部用户行为模式的异常检测进行了相应的试验。在实验中为了能够适合数据挖掘的要求,首先对原始采集到的数据进行预处理,抽取出一些重要的属性,并把重要的命令和参数转化成字母,如表1所示。

2. 算法描述

为了避免产生大量无用的规则,本文使用改进的Apriori算法找出频繁项目集并产生加权关联规则。整个算法分为两步:

(1)识别所有包含轴属性的频繁项目集,即所有支持度不低于用户规定的最小支持度并包含有用户指定的关键属性的项目集;

(2)从第一步得到的频繁集中构造可信度不低于用户规定的最小可信度1值的规则。

3. 结果显示

(1)采用关联规则挖掘算法(在上面算法中个项目集权重都相等为1.0时)

数据根据源地址、目的地址被分组,设最小支持度为0.4,最小置信度为0.7,可得到如表2所示结果。

显然,命令及其参数a,b自06.9.5-06.9.11以后在数据库中很少出现,即a→c、b→a、c→a是用户不感兴趣的规则。同时观察到集合{d,e,f}在06.8.29-06.9.4后在数据库中出现的频率很高,这或许隐藏着某些规则,暗示新的攻击技术的出现。

为了发掘出所有这些用户感兴趣规则,首先采用降低最小支持度与最小置信度为0.3和0.6,结果仅仅得到两个无用规则a→b和d→a,这说明仅依靠降低阀值无法有效地解决该问题。

(2)采用加权关联规则挖掘算法

利用表1中的数据,依上述方法把审计数据分为10个时间间隔,并且设置第1行权重为0.1第二行权重为0.2……,将得到不同规则。

从表3可以看出与没有使用加权规则的结果相比发现包含a、b的规则消失了,若把最小支持度和最小置信度分别降为0.3和0.6,将得到有趣的新规则为c→f、d→f、d∧e→f、d∧f→e。

以上分析显示,把加权关联规则技术引入入侵检测系统可更精确地表示入侵模式。这是由于考虑了审计数据的时间效应。同时,使用加权关联规则可从各种各样的审计数据中更加容易、有效地发现有用信息。因此,加权关联规则技术比关联规则技术更加适合用来构建入侵检测系统的入侵模块数据库。

5 结论

由于已有现成的数据挖掘算法可以利用,基于数据挖掘的入侵检侧技术得到了飞速的发展。这种技术的优点是可以处理大量数据的情况,但是它也存在着一些问题。比如,寻找更加高效的数据挖掘算法;如何提高入侵检测的正确率;如何更好地控制异常检测中的误警率等等。这些也都是今后的研究方向,都需要大量的研究和实验以开发出更加高效的数据挖掘算法和合适的体系结构。另外在基于加权关联规则的入侵检测系统中,权重的选择是一个重要问题。为此,今后的研究工作是如何在入侵检测中更好地选择合适权重的问题。

 

posted @ 2007-11-10 14:12  xerwin  阅读(762)  评论(1编辑  收藏  举报