基于数据挖掘的入侵检测系统
李新华
(长沙电力职业技术学院信息工程系,湖南长沙 410131)
摘要:入侵检测技术已经成为网络安全领域的热点,笔者介绍了如何将数据挖掘方法更好的用于入侵检测系统中,并具体说明了一种基于数据挖掘的入侵检测系统的构建。
关键词:网络安全;数据挖掘;入侵检测
Intrusion Detection System Based on Data Mining
Abstract:The technique of Intrusion detection is a hot spot in network security realm. The author introduces how to better use data mining method into intrusion detection system and concretely give an intrusion detection system based on data mining.
Key words: Network Security; Data Mining; Intrusion Detection
1.入侵与入侵检测技术概述
入侵是指任何试图危害资源的完整性、保密性、可靠性的活动集合 [1] 。对这些入侵行为的识别就是入侵检测。入侵检测系统 (IDS)就是完成上述入侵检测任务的计算机软件和硬件系统。入侵检测系统中的用户行为主要表现为数据形式。从数据源上可以将入侵检测系统可以分为三种:主机入侵检测系统、网络入侵检测系统、分布式入侵检测系统 [2] 。主机入侵检测系统的数据来自操作系统的审计数据,网络入侵检测系统的数据来自网络中流经的数据包,分布式入侵检测系统则包括两者。由于用户的行为都表现为数据,因此,解决问题的核心就是如何正确高效地处理这些数据,并从中得出结论。
入侵检测技术从检测策略来看可以分为三类:
(1) 滥用检测(Misuse Detection)是利用已知的入侵方法和系统的薄弱环节识别非法入侵[3]。又被称为基于特征的检测。该方法的主要优点是检测效率较高,误报率低。主要缺点为:由于所有已知的入侵模式都被植入系统中,所以,一旦出现任何未知形式的入侵,都无法检测出来。 (2) 异常检测(Anomaly Detection)是通过检查当前用户行为是否与已建立的正常行为轮廓相背离来鉴别是否有非法入侵或越权操作。又被称为基于行为的检测。异常检测基于统计方法,使用系统或用户的活动轮廓 (Activity Profile)来检测入侵活动。活动轮廓由一组统计参数组成,通常包括CPU和内存利用率、文件访问次数、出错率、网络连接的源IP和目的IP地址、连接的标识位等。它的优点在于与系统相对无关,通用性较强;主要缺陷在于误检率很高。(3)完整性分析:主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容和属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。其优点是只要是成功的攻击导致了文件或其他对象的改变它都能够发现。缺点是一般以批处理方式实现,不用于实时响应[2]。
2.数据挖掘技术与基于数据挖掘的入侵检测技术
数据挖掘是从大量数据中提取或“挖掘”知识,从存放在数据库、数据仓库或其他信息库中的大量数据中挖掘有趣知识的过程 [4] 。数据挖掘主要经过原始数据采集、数据预处理、数据挖掘等三个步骤来挖掘相关知识。数据挖掘技术一般可分为关联分析、序列模式分析、分类分析和聚类分析等四类。
基于数据挖掘的入侵检测研究是针对入侵检测和数据挖掘特点,提出适合的挖掘模型,在满足网络安全实际要求下,实现两者有机结合。
2.1 关联规则挖掘。关联规则挖掘是数据挖掘最为广泛应用的技术之一,也是最早用于入侵检测的技术。关联规则分析是发现所有支持度和可信度均超过规定阈值的方法,它主要经过两步过程:首先识别所有的支持度不低于用户规定的最小支持度阈值的项目集,即频繁项目集;然后从得到的频繁项目集中构造出可信度不低于用户规定的最小可信度阈值的规则。现在已有多种关联规则算法如 Apriori算法等用于入侵检测。
2.2 序列模式分析。序列模式分析主要用于发现形如“在某段时间内,有数据特征 A出现,然后出现了特征B,而后特征C又出现了,即序列A→B→C出现频度较高”之类知识。由于网络攻击与时间变量紧密相关,因此序列模式分析在关联分析基础上进一步分析攻击行为时间相关性。它主要挖掘安全事件之间先后关系,运用序列分析发现入侵行为的序列关系,从中提取出入侵行为之间的时间序列特征 [5] 。
2.3 聚类分析。聚类分析是识别数据对象的内在规则,将对象分组以构成相似对象类,并导出数据分布规律。基于聚类分析的入侵检测算法基本思想主要源于入侵与正常模式上的不同以及正常行为数目应远大于入侵行为数目的条件,因此能够将数据集划分为不同的类别,由此分辨出正常和异常行为来检测入侵。基于聚类的入侵检测是一种无监督的异常检测算法,通过对未标识数据进行训练来检测入侵,因此能发现新型的和未知的入侵类型。数据挖掘中常用的聚类算法有 k-means、模糊聚类、遗传聚类等。 Portnoy等[6]首先提出了基于聚类分析的入侵检测技术。但该算法不适用于恶意攻击和拒绝服务攻击检测。
2.4 分类分析。入侵检测也可以看作是一种数据分类问题。首先选择一个训练数据集,对该训练集标出正常或异常的数据,使用分类规则、决策树等方法从中提取分类规则并构造合适的分类器。然后用此分类器对收集的网络数据流进行分类,将数据分为正常行为或某种入侵行为,以此判断是否存在入侵行为。这一过程不断反复和评价,以便得到最优化的分类器。分类分析一般是基于数据的特征属性,特征的选取对建立分类模型的准确性影响很大,因此单一使用分类思想进行入侵检测往往效果并不理想。
2.5 数据挖掘算法之间的融合及与其它检测技术结合进行入侵检测。实际上单一使用某种数据挖掘算法来进行入侵检测并不能达到良好效果,这是因为入侵检测本身就是一个复杂的知识挖掘过程。因此可以在检测过程中结合这些数据挖掘技术各自的特点,将它们应用到适合它们的步骤中,使之互相配合,利用各自的优点在各自适合的环境下发挥自身的作用。
3.一个基于数据挖掘技术的入侵检测系统。在入侵检测系统中使用数据挖掘技术,通过分析历史数据等可以提取出用户的行为特征、总结入侵行为的规律,从而建立起比较完备的规则库来进行入侵检测[7]。该过程主要分为以下几步:(1)数据收集。(2)数据的预处理:在数据挖掘中训练数据的好坏直接影响到提取的用户特征和推导出的规则的准确性。用于训练的数据必须不包含任何入侵,否则对此入侵不会有任何反应而漏报,且要格式化成数据挖掘算法可以处理的形式。(3)数据挖掘:从预处理过的数据中提取行为特征或规则等,再对所得的规则进行归总更新,建立起规则知识库。(4)入侵检测:依据规则知识库的规则对当前用户的行为进行检测,报告结果并验证,从而采取相应的对付手段。
下面笔者介绍一种基于关联规则、聚类算法、分类算法的入侵检测模型,见图 1。
如图 1所示,入侵检测模型的主要组成:(1) 嗅探器:或称探测器,用来收集最初的网络数据。(2) 原始数据库:存放嗅探器采集的数据,按照一定格式存放,如IP或Port等。(3) 数据预处理:主要是把原始数据转化成挖掘算法可用的格式,过滤和除去噪声。(4) 知识库:存储挖掘好的模式、规则和有关信息。(5) 模式规则:用数据挖掘算法对历史信息和训练数据集数据进行特征提取,形成模式规则,更新到知识库中。形成流程见图2。(6) 数据差异分析:从模式中计算新的行为轮廓,跟知识库中的知识特征进行比较,更新知识库,对于符合规则的可能入侵进行分析。(7) 报告结果与验证:向管理员报告分析结果,并可由人工进行验证。
该入侵检测模型的工作原理是:嗅探器负责从主机或网络中采集数据保存到原始数据库中,然后进行数据预处理,形成处理后数据集。再用关联规则、聚类分析、分类算法等对处理后数据进行挖掘,提取出特征和模式,保存到模式规则库与知识库中。再进行数据差异分析,从知识库中读取规则来进行入侵判定,同时对更新的规则入库更新。再把结果(入侵或非入侵)报告给管理员并可由管理员进行验证。该系统的优点主要有:( 1)自适应能力强:由于不是基于预定义的知识,可以检测某些新变种的入侵。(2) 自动化程度比较高,人为控制比较少。(3) 检测效率高。开始时自动对数据进行预处理,减少了数据处理量,提高了检测效率。
4.结束语
笔者提出了一种基于数据挖掘的入侵检测系统模型,借助于数据挖掘技术在处理大量数据的特征提取的优势,可以使入侵检测更加自动化,提高检测效率和检测准确度。基于数据挖掘的入侵检测已经得到很快发展,但离投入实际使用还有距离,也没有很完备的理论体系。目前的主要问题是要解决数据挖掘的入侵检测实时性、正确检测率、误警率等方面问题,并丰富和发展现有理论,使入侵检测系统更完善并能投入实用阶段。
参考文献:
[1]汪凯.入侵检测系统中的智能技术[J].武汉理工大学学报(信息与管理工程版),2005(10)
[2]崔蔚,任继念,徐永红.入侵检测系统的研究现状与发展趋势[J].教学与科技,2005(9)
[ 3]高翔,王敏,胡正国.基于数据挖掘技术的入侵检测系统的研究 [J].西北工业大学学报,2003(8)
[4] Jiawei Han, Micheline Kamber et al. Data Mining concepts and Techniques[M]. China Machine Press:3-6
[5]杨德刚. 入侵检测中数据挖掘技术的应用研究分析 [J].重庆师范大学学报(自然科学版),2004(12)
[6] Portnoy L, Eskin E, Stolfo S J. Intrusion Detection with Unlabeled Data Using Clustering [C]. Philadelphia : Proceedings of ACM CSS Workshop on Data Mining Applied to Security (DMSA-2001), ACM Press, 2001
[7] Lee W.A Data Mining Framework for Constructing Features and Models for Intrusion Detection System[J/OL]:[PhD thesis].New York:Columbia University,1999:22~26 http:∥www.cs.columbia.edu/~wenke/