基于智能化方法的入侵检测系统*
2014-11-28刘三满
刘三满
(山西警官高等专科学校计算机科学与技术系,山西 太原 030021)
随着计算机网络技术的不断发展,网络安全作为一个无法回避的问题呈现在人们面前。传统上,网络用户一般采用防火墙作为安全的第一道防线,而随着攻击者执事的日趋成熟,攻击工具与手段的日趋复杂多样,曾经作为主要的计算机网络安全防范手段的防火墙技术,已经不能满足人们对日益增长的网络的需求,作为对防火墙技术的有益补充,从而引入了一种全新的计算机网络安全技术——入侵检测技术。由于传统的入侵检测技术存在虚报警率高,缺乏检验已知攻击的变形和新攻击方法,以及扩展性和自适应性差的不足。因此,研究人员将许多智能化方法引入入侵分析技术领域,从而解决传统检测技术存在的诸多问题。鉴于入侵检测技术对网络安全的重要作用,对智能入侵检测系统的有效方法和手段进行分析研究具有重要意义。
1 入侵检测系统
网络互联互通后,入侵者可以通过网络实施远程入侵。而入侵行为与正常的访问相比,还是有些差别,所以通过收集和分析这种差别可以发现很大一部分的入侵行为,入侵检测技术就是应这种需求而诞生的。经入侵检测发现入侵行为后,可以采取相应的安全措施,如报警、记录、切断或者拦截等,从而提高网络的安全应变能力。
1.1 入侵检测系统的概述
入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它是一种计算机软件或软、硬件组合的系统,它通过对保护网络、主机数据的采集和对采集到的数据进行分类和分析,发现入侵行为。它与其他网络安全设备的不同之处在于,IDS 是一种积极主动的安全防护技术。IDS 最早出现在1980 年4 月。20 世纪80 年代中期,IDS 逐渐发展成为入侵检测专家系统(IDES)。1990 年,IDS 分化为基于网络的IDS 和基于主机的IDS。后又出现分布式IDS。目前,IDS 发展迅速,已有人宣称IDS 可以完全取代防火墙。
入侵检测系统结构包括四个方面:事件产生器、事件分析器、事件数据库、响应单元。
1)事件产生器:采集原始数据,把收集到的原始数据转换为事件,给系统的其他部分提供该事件。收集的信息包含有系统或网络的日志;网络的流量;系统目录及文件的异常变化;程序执行的异常行为。
注意:入侵检测依赖于收集信息是否可靠与准确。
2)事件分析器:接收事件的信息,对其进行分析,判断是否是入侵行为或异常行为,最后把判断的结果转变成告警信息。分析方法有以下三种:
a)模式匹配:把收集到的信息和已知的网络入侵和系统误用模式数据库相比较,从而发现哪些行为违背安全策略。b)统计分析:首先对系统对象(如用户、目录、文件、设备等)创建一个统计性的描述,统计正确使用时的一些测量属性值(例如访问次数、操作失败次数和延时等);测量属性值的平均值和偏差用来与网络及系统的行为进行比较,如果所有观察值在正常值范围之外,则有入侵发生。c)完整性分析(常用在事后分析):主要用于关注某个对象是否被修改。
3)事件数据库:存储各种临时及最终数据的仓库。
4)响应单元:对告警信息做出反应。(强烈反应:连接中断、修改文件属性等;报警。)
2 入侵检测系统的智能化方法
由于传统的入侵检测技术存在虚报警率高,缺乏检测已知攻击的变形和新攻击方法,以及扩展性和自适应性差的不足。目前,研究人员又将许多智能化方法引入入侵分析技术领域,试图解决传统检测技术的众多问题。
研究入侵检测系统的目标关键是如何从大量的审计数据中抽取出有代表性的系统特征模式,并且能够识别用户的正常行为和异常行为。数据挖掘技术为入侵检测提供了处理安全事件数据的智能化方法,利用关联规则分析、序列模式分析等算法抽取与安全相关的系统特征属性,然后依据系统特征属性来生成安全事件的分类模型,从而识别网络入侵行为。
数据挖掘(DM—Data Mining)也称作数据库知识发现(Knowledge Discovery in Database),是指从不完全、含噪声、模糊及随机的数据集中发现隐含的数据关系,并建立模型,提取潜在价值、可信的、新颖有效且能被人所理解的信息与知识的过程。数据挖掘是决策性支持过程,主要以人工智能、机器学习、统计学等技术为基础,自动地分析大量数据,且做出推理,从中挖掘出潜在的关系与模式。数据挖掘的基础是人工智能,它利用了人工智能领域内已经成熟的算法,比如人工神经网络技术、决策树、遗传算法、规则推理等。
数据挖掘过程一般包含数据准备、数据挖掘、解释与评价三个大的阶段,数据库结果表达和解释数据库数据集成目标数据预处理的数据Knowledge 数据Information 数据挖掘预处理数据选择。如图1 所示。
图1 数据挖掘流程图
数据准备主要包括数据选择、数据预处理和数据变换三个步骤,其中,数据选择根据用户需求,从数据库中提取出来KDD 相关数据,KDD 主要从这些数据中提取数据;数据预处理及转换是从与KDD 有关的数据集中去除明显错误数据及冗余数据,进一步从所选数据中选择可用部分,并将这些数据转化为有效形式,以便使得数据挖掘更有效。
数据挖掘阶段是依据KDD 发现任务的需求,使用适当的数据挖掘算法(包括选择适当模型和参数),在数据库中寻找感兴趣的模型,然后用某种方法表达成为某种易于人们理解的形式。
模式解释是对已发现的模式进行评估与解释,必要时返回前面所处理的某些内容以便再次提取;知识评价是把发现的知识以用户可理解的形式提供给用户本身。
通过以上的处理步骤,整个过程不是简单的线性步骤,步骤之间涉及了循环和反复迭代。上述众多环节实际也可以简化成:KDD=数据预处理+DM+解释评价,但是由于预处理和解释评价研究目前较为成熟,故KDD 的研究和实现重点都集中在数据挖掘上。
2.1 基于数据挖掘的入侵检测系统的特点
基于数据挖掘的入侵检测技术与其他分析技术的不同之处在于:该方法是把数据作为中心,并将入侵检测看成是一种海量安全审计记录数据的分析与处理,即使不知道攻击手段的作用机理,也能够从安全审计数据本身中隐藏的规律发现异常的行为模式,从而使得入侵检测系统更好的自适应、自学习、以及自我扩展。
与传统的入侵检测技术相比,基于数据挖掘的入侵检测分析技术有以下几个特点:
1)更高智能性,更高自动化
基于数据挖掘的检测方法综合应用了统计学、决策学和神经网络的多种方法,高效自动地从大量数据中抽取表面难以发觉的网络行为,从而减少了人的工作,降低了入侵检测分析员的负担,同时提高了入侵检测的准确性。
2)检测效率更高
数据挖掘对数据进行预处理,抽取有用数据,有效地减少了数据处理量,故检测效率较高。对于大流量的入侵检测系统来讲,高检测率是至关重要的特性。
3)自适应能力更强
使用数据挖掘方法的检测系统并非是预定义的检测模型,故自适应能力更强,能有效地检测新型的攻击行为和那些已知攻击类型的变异攻击。
目前数据挖掘的重点已从发现方法转移到了系统应用上,并注重集成多种发现策略和技术,以及互相渗透多学科的联系。把数据挖掘应用到入侵检测系统中,提高入侵检测系统的检测能力,已成为当前IDS 发展的一个重要研究方向。
应用了专家系统的入侵检测是指在监测系统内,将单个攻击手段抽象为一条或多条规则,然后将事件采集器采集到的网络行为在专家系统的规则库中进行匹配,以便判断目标系统是否受到了攻击。专家系统是人工智能的一个重要分支,将专家系统应用在入侵检测中有助于提高检测的自动化和智能化程度。基于专家系统的入侵检测系统基于误用入侵检测技术。
基于专家系统的入侵检测不再仅仅是单一的特征匹配,而是使用规则集和规则关联分析数据,然后进行逻辑和可能性推理。它既可以分析单一数据包,也可以分析与上下文相关的数据包序列,就具备了更全面的检测力,提高了入侵检测的效率,故能将普通入侵检测系统检测不到的更复杂的黑客攻击识别出来。
基于专家系统的入侵检测系统的检测过程如下:如图2所示。
1)启动系统,系统进行初始化,等待接收数据。
2)采集网络上的原始数据包,抽取特征数据给事件引擎。
3)事件引擎分析过滤后的数据包,抽取特征数据,生成事实,并加入事实库。
4)从知识库规则文件中,推理机读入选取的相应规则,然后分析事实库中的事实链表。
如存在高度怀疑的入侵数据,就将相关信息写入日志,并向管理员报警或通知防火墙对入侵加以堵截,否则就进行下一个事实的分析,或等待下一数据包的到达。
图2 基于专家系统的入侵检测系统工作流程
3 入侵检测系统发展趋势
随着入侵检测技术的发展,很多产品已经陆续应用到了实践中。入侵检测技术的发展历程已经经历了四个主要的阶段:
第一阶段是基于协议解码+模式匹配的技术,它的优点是对已知的攻击行为很有效,对于已知的攻击行为可以对号入座,误报率低;但其缺点是超级黑客采用变形手段或者新技术可以轻易躲避检测,漏报率高。
第二阶段是以基于模式匹配+简单协议分析+异常统计技术,它的优点是能够分析并处理一部分协议,还可以进行重组;缺点是匹配效率比较低,管理功能较弱。实际上该检测技术是在第一阶段技术的基础上增加了部分对异常行为分析的功能。
第三阶段是以基于完全协议分析+模式匹配+异常统计技术,它的优点是漏报率、误报率、滥报率较低、可管理性强、效率高,并在这个基础上实现了多级的分布式的检测管理;缺点是可视化程度不够成熟,防范和管理能力较弱。
第四阶段是以基于安全管理+协议分析+模式匹配+异常统计技术。它的优点是入侵管理与多项技术协同工作,得以建立全局的主动保障体系,故具有良好的可视化、可管理性及可控性。以该技术为基础,可以构造一个积极的动态防御体系,即IMS—入侵管理系统。
随着网络技术的发展新的网络攻击方式不断涌现,分布式协同攻击就是一种极具威胁性的攻击方式。攻击者通常协同成百上千的服务器攻击一台主机。其破坏性和隐蔽性越来越强。尽管网络不同的部分使用了不同的入侵检测机制,但是大多的入侵检测系统都采用通用入侵检测体系结构。主要针对各主机进行单独安全保护入侵检测系统之间无法交换信息,很难找到攻击的源头。容易给协作攻击者以可乘之机。为此,在体系结构上必须尽快朝着分布式、协作式方向改进。加强入侵检测系统之间的互操作。
[1]韩仲祥,史浩山,董淑福,等.一种快速检测入侵的方法[J].空军工程大学学报(自然科学版),2010(1).
[2]谭谈,徐宗龙.数据挖掘技术在入侵检测系统中的应用研究[J].机械管理开发,2011(2).
[3]吴智文,潭汉松.网络黑客入侵检测的研究与实施[J].机电信息,2012(30).
[4]入侵检测系统在电力调度系统中的应用[J].电力信息化,2010(10).
[5]刘元勋,徐秋亮,云晓春.面向入侵检测系统的通用应用层协议识别技术研究[J].山东大学学报(工学版),2011(1).
[6]陈鹏,秦拯,龚发根.网络入侵检测系统中多模式匹配算法的研究[J].科学技术与工程,2010(13).
[7]何增颖.基于虚拟机的入侵检测系统仿真试验[J].长江大学学报(自然科学版)理工卷,2012(4).