一种基于数据挖掘技术的入侵检测系统模型及应用

2010-04-21 05:18胡春红长江大学计算机科学学院湖北荆州434023
长江大学学报(自科版) 2010年4期
关键词:项集数据挖掘关联

胡春红 (长江大学计算机科学学院,湖北荆州434023)

随着网络复杂性和异构性的不断增加,网络传播病毒的行为越来越多,严重影响了正常的网络运行秩序。准确、快速地检测网络流量的异常,做出合理的响应成为保证网络有效运行的关键措施之一[1]。利用数据挖掘技术,对入侵检测技术进行研究,建立一个基于数据挖掘的网络异常检测模型,从网络流量的历史数据中提取出正常数据和包含异常的数据,建立正常与异常行为的模型。引入入侵检测技术,相当于在计算机系统中引入了一个闭环的安全策略。计算机的多种安全策略,如防火墙、身份认证、访问控制、数据加密等,通过入侵检测系统进行安全策略的反馈,从而进行及时的修正,大大提高了系统的安全性[2]。因而基于数据挖掘的入侵检测系统分析研究,对保证网络的安全运行具有重大的意义。

1 入侵检测技术

入侵检测技术 (Intrusion Detection System,IDS)是对入侵行为的发觉并保护自己免受攻击、为保证计算机系统的安全而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术[3]。它从计算机网络系统中的若干关键点收集信息,并通过分析这些信息来发现网络或系统中是否异常行为和被攻击的迹象。入侵检测被认为是防火墙之后的第2道安全闸门,在不影响网络性能的情况下能对网络进行检测,它可以有效地防止和减轻网络威胁。基于数据挖掘的入侵检测特点主要有以下5点:①自适应性好。这种异常检测不如匹配模式,它并不会对每一个特别的信号进行检测,表现出一定程度的实时性。②误警率低,可以有效地剔除重复的攻击数据。③减轻数据过载,可以发掘数据之间的关系,提供各个不同侧面的数据特征,大大减少不必要的数据。④检测性能和通用性方面具有优势。⑤实时性实施困难。因为是对大量的历史数据进行处理,且检测模型在学习和评价阶段的计算成本高。

1.1 入侵检测模型

IDS发展虽然比较成熟,但目前还没有统一的数据模型,DARPA(美国国防高级计划研究局)推出的公共入侵检测框架 (Common Intrusion Detection Framework)是目前采用较多的结构模型。它将一个入侵检测系统分为4个部分:事件产生器 (Eventgenerators),用E盒来表示;事件分析器 (Event analyzers),用A盒来表示;响应单元 (Response units),用 R盒来表示;事件数据库 (Eventdatabases),用D盒来表示。入侵检测系统模型结构如图1所示。

图1 入侵检测系统模型结构

E盒通过传感器收集事件数据,并将信息传送给A盒,A盒检测误用模式;D盒存储来自A、E盒的数据,并为额外的分析提供信息;R盒从A、E盒中提取数据,D盒启动适当的响应。A、E、D及R盒之间的通信都基于通用入侵检测对象 (generalized Intrusion detection objects,GIDO)和通用入侵规范语言 (common intrusion specification language,CISL)。如果想在不同种类的A、E、D及 R盒之间实现互操作,需要对GIDO实现标准化并使用CISL。

1.2 入侵检测系统分类

目前,入侵检测系统主要分为3类:基于网络的入侵检测系统、基于主机的入侵检测系统和混合式入侵检测系统。

1)基于网络的入侵检测系统 基于网络的入侵检测系统主要是通过检测网络数量流量,监听网络中的数据包,从中发现有异常的数据包并对它做出相应的报警提示,如中断连接、记录攻击数据、发出警报信号等。

2)基于主机的入侵检测系统 基于主机的入侵检测系统是通过从被保护主机获取系统内部的所有数据、日志、系统状态、应用程序等信息,从中发现异常行为,并做出相应的处理。

3)混合式入侵检测系统 混合式入侵检测系统将基于主机的入侵检测同基于网络的入侵检测2类系统结合起来,保护整个网络系统。

1.3 入侵检测系统存在的问题

入侵检测系统的误漏报率、主动防御能力、定位与处理机制和可扩展性是评价入侵检测系统性能的重要指标。由于当前的入侵检测系统通常是采用统计分析计算的方法对已知的入侵方法和系统稳定性进行分析,然后根据 “专家的知识”手工编写相应的规则,并且是针对具体的系统环境和检测方法,这使得系统的误漏报率很高,而且系统在主动防御能力、定位和处理机制方面的能力也有限。

2 数据挖掘技术

数据挖掘技术是从大量的、不完备的数据中提取出事先未知的、但具有价值的信息和知识的过程,应用于入侵检测系统中使得手工和经验成分减少了,可以进行机器学习和模式扩充。数据挖掘中有很多的分析算法,其中大部分算法都不是专门解决某个问题而特制的,算法之间也不相互排斥[4]。在这些算法中,有几种对于分析网络数据和检测入侵是非常有用的,它们是分类算法、关联规则算法、序列分析算法、聚类算法等。笔者主要以关联规则算法建立模型。关联规则挖掘是数据挖掘的一个很重要的算法,主要用于发现数据集中类与类之间的相互联系和相互作用。由于关联规则形式简洁、易于解释和理解并可以有效地捕捉数据之间的重要关系,从大型数据库中挖掘关联规则数据己成为数据挖掘中最成熟、最重要、最活跃的研究内容之一。目前关联规则挖掘问题已经在数据库、人工智能、统计学、信息检索、可视化及信息科学等诸多领域得到广泛的应用,并取得重大的成果。

3 关联规则算法和模型

3.1 关联规则算法

关联规则算法是数据挖掘领域中非常重要算法之一,它是在一组Item和记录集合中挖掘出Item间的相关性,使其支持度和置信度分别大于用户给定的最小支持度和最小置信度。关联规则的挖掘主要被分解为下面2步:

步1 找出所有的频繁项集,即找出支持度大于或等于给定的最小支持度阈值的所有项集。可以从1到n递归查找n-频繁项集。

步2 由频繁项集产生强关联规则,即找出满足最小支持度和最小置信度的关联规则。对给定的L,如果其非空子集A⊂L,Support(L)为L的支持度,support(A)为A的支持度,则产生形式为A→L-A的规则。

3.2 关联规则模型

关联规则的基本模型如下:设U={u1,u2,…,um}为所有项目的集合,D为事务数据库,事务T是一个项目子集合(T⊆U)。每个事务具有惟一的事务标识Tid。设A是一个由项目构成的集合,称其为项集。事务 T包含项集A,当且仅当A⊆T。如果项集A中包含k个项目,则称其为k项集。项集A在事务数据库中D出现的次数占D中的总事务的百分比叫做项集的支持度。如果项集的支持度超过用户给定的最小支持度阈值,就称该项集是频繁项集 (或大项集)。

关联规则是形如X⇒Y的逻辑蕴含式,其中X⊂U,Y⊂U,且X∩Y=Φ。如果事务数据库D有d%的事务包含X∪Y,则称关联规则X⇒Y的支持度为d%,实际上,支持度是一个概率值。若项集X的支持度记为support(X),规则的信任度为support(X∪Y)/support(X)。这是一个条件概率P(Y|X)。也就是support(X⇒Y)/P(Y|X),confidence(X⇒Y)=P(Y|X)。

4 入侵检测系统模型建立

利用数据挖掘的关联规则算法可以发现程序的执行和用户活动反映系统特征之间的关联,如数据库管理员经常修改数据库等。因此,从历史行为中挖掘出的模式显示用户行为的统计特性,将这些模式添加到入侵模式数据库中,并将当前用户行为与历史统计特性比较,与安全策略矛盾的行为即为入侵行为。数据挖掘入侵检测过程如图2所示,该模型 (见图3)采用关联规则挖掘技术。关联规则挖掘技术步骤如下:

1)预先确定初始最小支持度和最小置信度阈值;

2)找出满足最小支持度和最小置信度阈值的频繁项集,可用Apriori算法;

3)由频繁项集,生成关联规则;

4)剔除无用规则,建立入侵分类模型;

5)将新生成的规则按判定树的方法插入规则库。

图2 数据挖掘入侵检测过程

图3 数据挖掘入侵检测模型

5 实例分析与应用

5.1 模型应用

在数据挖掘之前,首先需要对数据进行聚焦。数据挖掘通常只涉及数据库的一部分,选择相关的数据集将使得数据挖掘更有效。在入侵检测的数据记入数据库之后,系统将汇集与挖掘任务相关的数据,并将这些数据插入到初始关系表中,初始关系表中记录的是与挖掘任务相关的数据,该应用数据主要分布在用户表中数据挖掘得到关联规则:

规则分析用户LIU在上午登录主机70.212.9.108的置信度为80%,登录是地址为=70.212.9.80的置信度为55%。数据库用户如表1所示。

表1 用户表

5.2 结果分类分析

分类是数据挖掘中应用最广泛、最重要的一种方法,是在已有数据的基础上设计一个分类函数或者建立一个分类模型。该函数或模型能够把数据库中的数据记录按照某种规则映射到某一个给定类别中,从而进行数据分析和判断。用材林关联分析算法得到用户的正常和异常的数据,用分类算法计算出新的规则集,并判断新的数据属于正常还是异常行为。入侵检测系统的关键特征是选择系统属性。例如,在关联规则算法中,如果用户下午登录主机70.212.9.108次数的比例超过了上午正常登录的次数,将其行为认为异常行为,并通过类别标记,对于其他的用户行为,可以得到不同的类别标记,对每个类别做出准确描述,挖掘分类规则,然后用分类规则对其他具有相同属性特征的记录进行分类。

6 结 语

随着网络的进一步发展以及黑客攻击手段的多样化,网络安全问题日益突出,入侵检测技术作为保护计算机系统安全的重要组成部分将得到越来越多人们的关注和重视,并已经开始在各种不同网络环境中得到应用。入侵检测技术的发展将对网络安全具有重要意义。入侵检测技术的未来发展方向将主要是智能的分布式入侵检测,研究和开发自主知识产权的入侵检测系统将成为我国信息安全领域的重要课题。

[1]齐建东,陶兰,孙总参.数据挖掘技术在入侵检测中的应用[J].计算机工程与应用,2004,40(6):158~161.

[2]胡卫,张昌宏,吴晓平.校园网安全防火墙设计与实现[J].计算机与数字工程,2007,35(1):103~105.

[3]杨向荣,宋擒豹,沈钧毅.入侵检测技术研究与系统设计 [J].计算机工程与应用,2001,(16):1~4.

[4]夏煜,郎荣玲,戴冠中.入侵检测系统的智能检测技术研究综述 [J].计算机工程与应用,2001,(24):32~34.

猜你喜欢
项集数据挖掘关联
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
探讨人工智能与数据挖掘发展趋势
“一带一路”递进,关联民生更紧
不确定数据的约束频繁闭项集挖掘算法
奇趣搭配
基于并行计算的大数据挖掘在电网中的应用
智趣
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究
一种新的改进Apriori算法*