JOURNALOFCHANGSHAUNIVERSITYVo.l24No.2Mar.2010
粗糙集属性约简在入侵检测系统中的应用
吴建源
(广东培正学院计算机科学与工程系,广东广州510830)
*
摘要:入侵检测系统(IDS)是一种以攻为守的主动式防御措施,它针对网络内部攻击进行防御.为了实现对海量入侵检测数据的数据挖掘,首先可对入侵检测系统采集的海量数据进行抽样分析,然后使用粗糙集理论的属性约简方法对数据进行预处理,获得入侵检测数据的决策规则,并判断流经网络的数据包的安全性,最后编程以实现数据挖掘的自动化.
关键词:粗糙集;数据挖掘;属性约简;入侵检测
中图分类号:TP271+.82文献标识码:A文章编号:1008-4681(2010)02-0047-03
近年来,计算机和网络基础设施,特别是各种
官方机构的网站,不断受到黑客的攻击,各种入侵事件层出不穷.一些传统的网络安全技术,如访问控制机制、加密、防火墙等已不能满足网络安全的要求,而逐渐成熟起来的入侵检测系统(IntrusionDetectionSystem,简称为IDS)则为我们提供了又一重保障.数据挖掘在入侵检测中的应用,旨在对海量的安全审计数据进行智能化处理,试图从大量数据中提取人们感兴趣的数据信息,及与安全相关的系统特征属性,建立基于数据挖掘的入侵检测模型,包括数据源选择、数据预处理、算法选择、创建数据挖掘模型、挖掘结果分析处理及其可视
[1,2]
化等.
由于入侵检测系统采集的数据量是巨大的,因此对采集的数据采用分等级多次抽样的方法获取信息系统表.粗糙集理论作为一种新的数据挖掘工具,在处理不确定性知识方面有着突出的优势.用粗集理论的属性约简方法对样本信息系统进行预处理,删除冗余的属性,从而得到入侵检测数据的决策规则,进而判断流经网络的数据包的安全与否.
密性、完整性与可用性.从功能上,我们将入侵检测系统划分为四个基本部分:数据采集子系统、数据分析子系统、控制台子系统、数据库管理子系统(如图1所示).
[3]
图1入侵检测功能结构示意图
1理论知识
1.1入侵检测系统
入侵检测是在1980年由JamesAnderson在为
[1]
美国空军做的技术报告中首次提出来的.入侵检测,顾名思义,是对入侵的一种检测行为,它是通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象.作为一种安全防护工具,IDS弥补了防火墙的很多不足,甚至在很多方面可以取而代之.相对于采用封锁、过滤等被动防御的防火墙而言,入侵检测系统能主动地发现网络中的非法入侵,并采取相应的措施,如记录、报警、阻断网络等,防止危害的扩大.
入侵检测实质是对基于主机或基于网络的计算机系统的运行状态进行监视,发现各种攻击企图、攻击行为或者攻击结果,以保证系统资源的机
*
其中数据分析模块相当于IDS的大脑,它必须
具备高度的智慧 和判断能力 .所以,在设计此模块之前,我们需要对各种网络协议、系统漏洞、攻击手法、可疑行为等有一个很清晰、深入的研究,然后制订相应的安全规则库和安全策略,再分别建立滥用检测模型和异常检测模型,让机器模拟自己的分析过程,识别确知特征的攻击和异常行为,最后将分析结果形成报警消息,发送给控制管理中心.1.2粗糙集(RoughSet)
RoughSets理论是由波兰华沙理工大学Pawlak于1982年提出的一种数据分析理论,主要研究不完整、不确定知识和数据的表达、学习、归纳的方[4]
法.其主要思想是在保持分类能力不变的前提下,进行知识约简.目前,粗糙集理论已被成功地用于机器学习、决策分析、过程控制、模式识别和数据挖掘等领域,所以在使用决策树之前可先利用粗糙集方法对入侵检测数据进行属性约简.
下面简单介绍一下粗糙集理论中属性约简的
收稿日期:2010-03-09;修回日期:2010-03-25
作者简介:吴建源(1978-),男,福建泉州人,广东培正学院计算机科学与工程系助教,硕士.研究方向:数据挖掘.
48
[5,6,7]
长沙大学学报2010年3月
思想.
设非空集U是我们感兴趣的对象组成的有限集合,称为论域.任意XU,称为U中的一个概念或范畴.U上的一族划分称为关于U的一个知识库,而集合上的划分与等价关系是相互对应的.
(1)决策信息系统:是一个有序四元组S=(U,A,V,f),其中U={x1,x2,!,xn}是论域,A=C∀D是属性集合,其中C是条件属性集合,D是决策属性集合,V=a∀Va是属性值的集合,Va是属性a的#C值域,f:U∃A%V是一个信息函数,对每一个a#A,x#U,f(x,a)#Va,即信息函数f指定U中每一个对象x的每个属性值.
信息系统的每个属性均决定一个等价关系,当然属性子集也决定一个等价关系,如PA,则由P决定的等价关系的等价类的集合记为U/P={[x]P|x#U}.
(2)上近似和下近似:在信息系统S=(U,A,V,f)中,设PA,XU,X关于P的下近似P_(X)
-={x|x#U,[x]PX},上近似P(X)={x|x#U,[x]P&X∋},POSP(X)=P_(X)也称为X的P正域.
(3)属性约简
定义1设U为一个论域,P和Q为定义在U上的两个等价关系簇,称
POSP(Q)=X#∀P_(X)为Q的P正域.U/Q定义2设S=(U,A,V,f)是一个信息系统,P,QA,r#P,如果
POSP(Q)=POS{P-{r}}(Q)
则称r为P中Q不必要的;否则r为P中Q必要的.不必要属性在信息系统中是多余的.若将它从系统中去掉,不会改变系统分类能力.
定义3设S=(U,A,V,f)是一个信息系统,P,QA,如果每个r#P都是Q必要的,则称P为Q的;否则,称P为Q依赖的.
对于相依赖的属性集合来说,其中必包含有多余的属性,可以对其约简.
定义4设S=(U,A,V,f)是一个信息系统,P,QA,P中所有Q必要的属性构成的集合称为P的Q核,简称相对核,记为coreQ(P).
定义5设S=(U,A,V,f)是一个信息系统,P,QA,KP,如果满足:
POSK(Q)=POSP(Q),而且K是Q的,则称K是P的一个Q约简,P的Q约简也称为相对约简.
相对约简一般不唯一,而且相对核是所有相对约简的交集.相对核的概念有两方面的意义:首先它可以作为所有约简的计算基础,因为核包含在所有的约简之中,并且计算可以直接进行;其次当知识化简时它是不能消去的知识特征的集合.
模块是实现整个入侵检测系统高效工作的基石,为整个系统提供数据来源.因此,在设计整个入侵检测系统时,必须保证网络数据截获模块工作稳定可靠,为整个入侵检测模块稳定可靠地提供数据.现在比较流行的有两种方法,一种网络数据截获方法,是在BPF(BerkeleyPacketFliter)模型的基础上,利用一些流行的函数库进行开发;另外一种是在Windows的驱动程序的基础上进行的开发.
在UNIX或Linux系统中,一般采用由美国洛伦兹伯克利国家实验室所编写的专用于数据包捕获功能的API函数库Libpcap来实现.Libpcap实质上是一个系立的API函数接口,用于用户层次的数据截获工作,可在相关网站下载到.
具体地说,入侵检测数据的采集主要基于两大类:一种基于标志(signature-based),另一种基于异
[3]
常情况(anomaly-based).对于基于标识的检测技术来说,首先要定义违背安全策略的事件的特征,如网络数据包的某些头信息,主要判别这类特征是否在所收集到的数据中出现,此方法非常类似杀毒软件.而基于异常的检测技术则是先定义一组系统正常 情况的数值,如CPU利用率、内存利用率、文件校验等(这类数据可以人为定义,也可以通过观察系统、并用统计的办法得出),然后将系统运行时的数值与所定义的正常 情况比较,得出是否有被攻击的迹象,这种检测方式的核心在于如何定义所谓的正常 情况.
根据上述检测的方法,需要对诸如数据包头信息、CPU利用率等10来个属性进行数据采集,得到如下面表1的入侵数据信息系统,该信息系统模拟网络环境获得9个星期的TCP元数据,这些数据的基础是正常的网络数据,其余的为多种入侵数据.
(2)由于信息系统数据量非常大,为了便于学习,首先要进行抽样分析,可依次取1/10000,1/5000,1/1000,1/100,1/10的数据量进行多次抽样,对每次的样本进行实验.
(3)对样本信息系统,采用下文介绍的粗糙集属性约简软件对它进行约简,获得该样本的分类决策规则.
(4)利用这些规则,判断出哪些是正常的网络数据包,哪些是恶意的入侵行为.
3仿真实现
3.1系统设计
基于粗糙集方法的入侵检测系统是一种基于数据挖掘的入侵检测系统.该系统主要由数据采集、数据挖掘、模式匹配和智能决策等4个模块组成(如图2所示).
数据采集模块从数据源,如系统日志、网络数据包等,获取原始数据,同时该模块还对原始数据进行一些必要的处理,如可能需要对数据投影,处理连续属性,对不完整的数据进行补充等.这部分
[8]
为进一步的数据分析和约简作准备.
数据挖掘模块首先利用粗糙集理论中的属性约简算法对数据采集模块提交的数据进行预处理,去除冗余属性,再运用决策树ID3算法对预处理得2入侵检测数据挖掘模型
现在我们利用上述介绍的粗糙集理论以及决策树ID3算法对入侵检测系统采集的检测数据进行归纳学习.
(1)入侵检测数据的采集:入侵检测数据采集总第94期吴建源:粗糙集属性约简在入侵检测系统中的应用
49
到的审计数据进行整理、归纳分析,找到可用于入侵检测的模式与知识,即生成安全规则,然后提交给模式匹配模块进行入侵分析,做出最终判断,最后由决策模块给出应对措施.
据库之间的接口.3.2.2功能简介
本软件主要用来处理信息系统和决策表,可以从不同的数据源中获取数据集合,并输入到后台SQLServer2000数据库中,使之适用于本系统的操作.通过测试连接 连接到所要处理的数据库,然后点属性约简 进行启发式属性约简,再点规则生成 进行归纳学习,从而获得决策表的规则,其界面如图3所示.
图2基于粗集方法的入侵检测系统模块结构图
图3基于粗集和决策树的数据挖掘软件界面
在数据挖掘模块中,可以选择基于可辨识矩阵的一般算法、基于可辨识矩阵的改进算法和启发式属性算法等三种不同的属性约简方法进行约简,以去除原始数据中的冗余属性,减少规则生成时的数据量,提高规则的简洁度.对于属性约简后的数据,运用决策树ID3算法进行规则提取,得到相应的网络安全规则.规则显示程序负责为用户显示当前数据生成的安全规则.由于数据具有不确定和存在噪音等特点,可能存在相互冲突的规则,可能需要对规则进行检查以去除潜在的不一致性,因此程序还为用户提供对相关规则进行检查修改的功能.对规则集的一致性等检查完毕后,就可以把该规则集加入到相应的规则库(知识库),作为对用户行为特征分析判定的依据.3.2软件实现
软件基于Windows2000Professional操作系统,编程平台为MicrosoftVisualC++6.0,后台数据库采用SQLServer2000.3.2.1数据库接口
Windows常见数据库接口有:ODBC(开放数据库互连)、DAO(数据访问对象)、OLEDB(对象链接嵌入数据库).
OLEDB属于底层的数据库编程接口,与传统的数据库接口相比,有更好的健壮性和灵活性,能够与非关系数据源进行通信,它作为数据库与应用程序的中间层,允许应用程序以相同接口访问不同类型的数据源.当客户程序对数据库进行操作时,只需要对OLE接口发出指令,数据服务器从数据源取得所要查询的数据,以表格的形式提供给接口,再由客户程序将数据从接口取出并使用.在这些操作中,客户和服务器都不必知道对方的具体应用,而只需对接口进行操作,简化了程序设计,提高了对数据库的访问速度.
因此,本软件采用OLEDB作为应用程序与数4结论
入侵检测系统作为一种积极主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前响应和拦截入侵,为网络安全构建立体纵深、多层次的防御做出了贡献.基于粗糙集的数据挖掘方法应用于入侵检测中,能够提高入侵检测的有效性,并且对于海量的主机和网络审计数据来说,入侵检测的误报率随着数据量的增大而明显减小,因此相比其他数据挖掘方法来说,更具有客观性和实用性.参考文献:
[1]D.E.Denning.AnIntrusionDetectionModel[J].IEEE
TransactionsonSoftwareEngineering,1987,12(13):222-232.
[2]HanJiawe,ieta.lDataMining:ConceptsandTechniques
[M].北京:机械工业出版社,2000.
[3]韩东海,等.入侵检测系统实例剖析[M].北京:清华大
学出版社,2002.[4]PawlakZ.Roughsetapproachtoknowledge-baseddeci
sionsupport[J].EuropeanJournalofOperationalResearch,1997,99(23):48-57.
[5]QuinlanJR.Inductionofdecisiontrees[J].Machine
Learning,1986,1(1):81-106.
[6]张文修,等.粗糙集理论与方法[M].北京:科学出版
社,2001.
[7]王国胤.Rough集理论与知识获取[M].西安:西安交通
大学出版社,2001.[8]UCIKDDArchive.KDDCUP1999dataset[EB/OL].ht
tp://kdd.ics.uci.edu/databases/kddcup99/kddcup99.htm,l1999.
(责任编校:简子)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务