入侵检测算法三大分类(重要)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

入侵检测算法三大分类(重要)

入侵检测系统(IDS,Intrusion Detection System)就是利用入侵检测技术发现计算机或网络中存在的入侵行为和被攻击的迹象的软硬件系统。区别于防火墙,入侵检测系统是一种主动防御的系统,能够更加及时地主动发现非法入侵并报警和采取应急措施,是人们研究的热点领域。

当前研究入侵检测系统的核心是对其算法的研究,人们的工作也大多集中于此。对于算法研究的目标是降低入侵检测系统的误报、漏报率和提升系统的运行效率。由于各种算法都有其局限性的一面,而具体的网络使用环境各不相同,这也是阻碍入侵检测系统商业应用的重要障碍,寻找一种具有适用性更广泛的算法也是研究工作的重要内容,对当前入侵检测算法研究现状进行综合考虑是十分必要的。本文从当前入侵检测算法的热点领域入手,依据入侵检测系统种类对当前流行的算法进行分类并详细介绍研究现状。

入侵检测算法分类

当前入侵检测算法多种多样,其中以关联规则、聚类和支持向量机等算法为代表的数据挖掘技术是当前研究的重点方面,另外,人工智能算法也在逐渐引起人们的注意。对入侵检测算法进行分类,首先考虑入侵检测系统的分类。入侵检测系统的分类有多种方法,如根据审计对象的不同,可分为基于网络的IDS、基于主机的IDS和基于网络/主机混合型IDS;按照系统的体系结构可以分为集中式和分布式入侵检测系统;按照检测技术可分为误用检测和异常检测两类。由于检测技术实际上指的就是所使用的入侵检测算法,所以这里主要考虑按照检测技术分成的误用检测和异常检测的分类方法。另外随着人们对人工智能算法在入侵检测系统中应用研究的开展,这类系统呈现出与前两类不同的一些特性。因此将当前入侵检测算法归结为误用检测算法、异常检测算法和人工智能算法三类,具体情况如图1。图1给出了入侵检测算法的分类。下面就误用检测、异常检测和人工智能算法三种入侵检测算法分别进行介绍。

误用检测算法

误用检测的基本原理是将已知的入侵行为和企图进行特征抽取,提取共同模式并编写进规则库,再将监测到的网络行为与库进行模式匹配,如果特征相同或相似,就认为是入侵行为或者企图,并触发警报。模式匹配是这类系统所采用的方法,如图1所示。

Snort入侵检测系统是一种典型的误用检测系统。它是在Libcap基础上研发的较为成熟的轻量级入侵检测系统,具有尺寸小、易于安装、便于配置、功能强大、使用灵活等特点。该系统采用的算法是模式匹配,因此人们的研究主要是集中在对模式匹配算法的优化上。例如:黄侃【1】对BM算法进行了优化,能够有效节省Snort系统的运算时间,提高系统性能,BM算法是Snort入侵检测系统中重要的字符串匹配算法。郝伟臣【2】给出一种基于哈希算法的匹配算法应用于Snort系统,取得了较好的效果。

该方法具有低误报率的优点,但是不能检测出规则库中不存在的入侵行为和企图,即无法检测未知的攻击。

异常检测算法

异常检测是通过建立一个主体正常行为的模型,将攻击行为作为异常活动从大量的正常活动中检测出来,达到对攻击行为检测的目的,其显著的优点是对未知攻击的检测。

数据挖掘是指从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们不知道的但又是潜在有用的信息和知识的过程。这一点与异常检测所要求的对未知入侵和威胁的检测是相一致的。随着数据挖掘算法的发展,其在入侵检测领域中的应用愈加深入,受到人们研究的关注。当前流行的数据挖掘技术是异常检测算法研究的主要领域,如图1所示,其中以关联规则、聚类和支持向量机等算法尤其具有代表性。下面就各种有代表性的算法进行介绍。

关联规则

关联规则算法的目的是发现隐藏在大型数据集的各不同属性之间的有意义联系,发现的联系用关联规则或者频繁相集来表示。关联规则的基本形式X →Y,这里X∩Y=?。支持度(Support)和置信度(Confidence)是最重要的两个概念,它们的定义:

Support(X→Y)=P(X∪Y)(1);

Confidence(X→Y)=P(Y│X)(2)。

支持度可以确定规则中出现在给定数据集的频繁程度,置信度可以确定Y出现在包含X的事务中的频繁程度。因此,关联规则算法就是从某事物数据集中发现满足最小支持度和最小置信度的关联规则的过程。

采用关联规则算法对数据进行挖掘主要包括产生频繁项集和产生规则两个步骤。产生频繁项集:从数据集中发现满足最小支持度阈值的项集,即频繁项集。产生规则:从频繁项集中提取出所有满足最小置信度的规则。关联规则算法通常是先产生频繁项集后再产生规则,Apriori及其衍生的相关算法是这种典型的关联规则算法。一般情况频繁项集产生所需要的计算开销要远大于规则产生所需要的计算开销,为了降低运算成本,也可以不生成频繁项集的算法,如FP-Growth算法。

聚类算法

聚类就是按照一定的要求和规律对事物进行区分和分类。由于在聚类的过程中没有任何关于分类的先验知识,仅靠事物间的相似性作为类属划分的准则,因此这是一种无监督的分类方式。

K-means是经典的聚类算法,它使用简单的迭代将数据集聚成K个类,该算法具有简单、易懂、良好的可伸缩性等显著优点。成为当前入侵检测系统中聚类算法研究方面的重要算法。例如:薛京花【3】等人对K-means算法进行了改进并应用到入侵检测系统中,并取得了明显的效果。

除了K-means算法之外,聚类方法还包括模糊聚类和蚁群聚类算法。传统的聚类分析是一种具有非此即彼的性质的硬划分。但现实中大部分数据对象并没有严格的属性,在形态和类属方面存在着中介性,更适合进行软划分。因此人们开始用模糊的方法来处理聚类问题。模糊C-均值算法是典型的模糊聚类算法。

蚁群算法是一种基于生物种群的模拟进化算法,模拟蚁群在寻找食物的过程中总能找到蚁巢和食物源之间的最短路径的方法。该算法具有分布式并行计算、自适应和易于其他算法相结合的优点。但存在过早限于局部最优解和收敛速度慢的缺陷。

支持向量机

支持向量机(Support Vector Machine,SVM)算法是建立在统计学习理论的基础上,能从大量训练数据中选出很少的一部分用于构建模型,通常对维数不敏感。在当前高速网络环境条件中很难获得完备的训练样本集,同时为了降低部署模型的资源开销,应尽可能地减少在数据挖掘的过程中使用的训练样本数据量。而SVM更适合小样本数据学习,更符合实际高速网络中的现实情况。另一方面,SVM能在很大程度上克服了传统机器学习(神经网络、决策树等)的维数灾难和局部极小等问题,获得比较好的泛化能力。具有良好泛化性能的入侵检测系统对应其实际应用有着重要的意义,是人们研究所期望获得的。综上所述,SVM成为研究构建入侵检测系统的重要算法。例如:李汉彪,刘渊【4】采用多SVM融合的方法,有效地弥补单个SVM检测的局限性,能有效地提高入侵检测率的同时降低误报率。

采用SVM算法构建入侵检测系统,通常需要其他算法对数据样本进行属性约减,降低维数,来提高运行效率。

另外也有利用蚁群、鱼群等生物种群算法对SVM进行改进。例如:杨聪明【5】采用将自组织蚁群聚类算法作为SVM算法中查询策略的方案,把蚁群聚类算法与SVM有效的融合,并应用到入侵检测系统中,获得了较高的检测率和较低的误报率、漏报率,并能提高算法的执行效率。

决策树

决策树是一种树状结构,用于揭示数据中的结构化信息。利用该结构可以将大型记录集分割为相互连接的小记录集,通过每一次连续分割,结果集中的成员彼此变得越来越相似。使用决策树算法可以将数据规则可视化,构造决策树的过程所需的时间也比较短,且输出的结果容易理解。决策树具有分类精度高,操作简单以及对噪声数据有很好健壮性的优点,C4.5、ID3是常见的决策树算法方法。

史珊姗【6】在利用决策树C4.5算法构建入侵检测系统方面做了相关研究。但是C4.5决策树算法在生成树的过程中,需要对样本集进行多次的扫描和排序,导致算法的效率比较低;另外C4.5算法只适用于可以驻留于内存的数据集,当训练集超过内存的容纳能力时,程序就无法运行,使该算法对硬件要求比较高。

相关文档
最新文档