您好, 访客   登录/注册

基于数据挖掘的入侵检测模型设计与应用的研究

来源:用户上传      作者: 谭 林

  摘要:入侵检测技术和其它防护技术的出现使网络信息安全保护从被动走向主动,进一步完善了网络安全防御体系。入侵检测系统以数据分析为核心,而计算机系统的复杂化和网络数据的海量化,给我们处理审计数据带来极大的困难,数据挖掘技术的出现为解决这个问题提供了有效的手段,并使检侧规则的自动提取成为可能。目前,将数据挖掘应用于入侵检测已成为一个研究热点。本文在分析现有网络入侵拴测系统的基础上,提出了基于数据挖掘的入侵检测系统模型。
  关键词:入侵检测数据挖掘模型
  
  传统的入侵检测通常按照基于主机的IDS和基于网络的IDS来划分。入侵检测技术可以分为异常检测和误用检测两种主要类型。误用检测是建立在使用某种模式或者特征描述方法能够对任何己知攻击进行表达这一理论基础上的,误用检测的主要问题是如何确定所定义的攻击特征模式可以覆盖与实际攻击相关的所有要素,以及如何对入侵活动的特征进行匹配。异常检测系统试图建立一个对应“正常的活动”的特征原型,然后把所有与所建立的特征原型中差别“很大”的所有行为都标志为异常。
  在入侵检测系统中采用数据挖掘技术,如分类的方法、关联规则分析的方法以及序列模式分析的方法,从历史数据构成的数据源中提取有用的知识建立知识库,可以使入侵检测系统具有自我学习,自我发展的能力,自主地丰富入侵检测系统中人侵原型(或许可原型)的数量,使入侵检测系统具有智能性,形成能够捕获入侵行为和定义正常行为的精确规则集,据此实施异常检测和误用检测。目前大部分网络安全产品都是以误用检侧为主,还没有能进行有效的异常检测的成熟产品及集成误用检测与异常检测为一体的系统,本文主要研究了基于数据挖掘的智能入侵检测系统的建模及其实现方法。
  
  1.系统建摸
  
  根据入侵检测系统和数据挖掘技术的特征,并结合入侵检测系统三大功能组件结构(数据采集器,分析器,用户接口),建立一个融合简单规则分析、协议分析、数据挖掘分析为一体的智能入侵检测系统模型;简单规则检测引擎方法实用性强、速度快,协议分忻将为应用层检测提供可能,数据挖掘技术体现了强大的智能性。
  系统主要包括三个部分:历史数据处理模块、实时数据处理模块、检测响应模块。各模块功能如下。
  
  1.1 历史数据处理模块
  该模块主要功能是对用户的历史数据进行数据挖掘(分类和关联/序列模式的挖掘),形成基于分类规则和行为规则的知识库。
  用户历史数据是在过去一段时间内采集的网络数据,在试验中可采用相关网站下载的数据(美国DARPA入侵检测评估数据),输入到分类器的历史数据类标号已知,即是否为误用检测已确定,输入到关联/序列模式挖掘的历史数据正常行为也已确认。历史数据经过过滤、转换形成训练数据集,经过数据预处理后,一方面通过分类器形成判定误用检测的分类规则:另一方面通过关联/序列模式挖掘形成用户的正常行为规则;两方面的规则合并,形成人侵检测判定的知识库。
  
  1.2 实时数据处理模块
  1该模块首先是获取网络实时数据,并进行预处理,然后一方面通过关联/序列模式挖掘,形成用户的正常行为规则,并与历史数据的正常行为规则比较,若为新规则就补充到知识库中,另一方面通过简单规则检测引擎进行快速检测,判定有无入侵,然后再通过知识库进行人侵检测的判定。其中协议分析部分有两个作用:一为预处理后的数据进一步分析,解决部分数据十六进制源码显示的问题,二为应用层的入侵检测打下基础。
  
  1.3 检测响应模块
  检测响应模块的主要功能是根据知识库对实时数据进行入侵检测的判定,并作出响应;判定后的数据送到存储系统,并通过定时控制实现对历史数据的动态更新,实现了系统的自主学习能力及智能检测的功能。这里定时器的目的是避免历史数据的频繁更新带来频繁进行数据挖掘、浪费系统资源的问题。
  
  2.系统功能实现
  
  下面主要从三个环节说明系统的实现:实时数据的获取及处理、基于判定数据分类的入侵检测分析、基于关联/序列模式的入侵检测分析。
  
  2.1 实时数据的获取及处理
  该模型的实现可建立在LINUX系统之上,利用网卡的杂收模式,使用网络数据采集分析工具TcpDump,获得经过本网段的所有数据信息,从而实现获取实时网络数据的功能,并采用Mysql作为存储数据库,简单规则引擎可通过构建LINux下的软件防火墙实现,协议分析则根据不同协议的类型码进行解析、归类。
  
  2.2 基子关联/序列模式的入侵检测分析
  用户的行为模式包括关联规则和序列模式,两者在形式上都表现为某种序列。其中,关联规则的序列由同一审计记录的不同字段值组成,序列模式的序列由不同审计记录的字段值组成。如Telnet审计记录中包含以下字段:Username、Timestamp、HostlP、UserlP、Command、Param。
  首先采用Aprjori(关联规则挖掘),Ap-rio riAll(序列模式挖掘)算法对正常的用户训练数据和实时用户数据进行挖掘,分别得出用户的历史行为模式和当前行为模式之后,然后通过模式比较来判断用户行为是否异常。用相似度(similarity)来表征不同行为模式之问的相似程度,相似度的取值范围为(0,1),取值越大,表示参与模式比较的两个序列(关联规则或序列模式)相似程度越大,相似度为1说明两者完全相似,相似度为0则表示两者完全不相似。采用的模式比较算法分为两种:全序列比较法和相关函数法。
  
  3.结束语
  
  数据挖掘技术发展迅速,相关算法日益成熟,将数据挖掘技术应用于入侵检测,提高人屉检测系统的智能化水平应是一个发展方向。本文提出了一个模块化模型,融合简单规则、协议分析,数据挖掘分析为一体,有很强的实用性、拓展性。


转载注明来源:https://www.xzbu.com/2/view-426488.htm