数据挖掘技术在实时网络入侵检测系统中的应用

来源 :吉林大学 | 被引量 : 0次 | 上传用户:starylove
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术的迅速发展 ,特别是Internet/Intranet技术的普及,使得越来越多的组织和个人的计算机系统设施和信息资源的安全受到威胁,因此,信息安全成为信息技术研究领域最重要的研究课题之一,传统入侵检测模型的建立过程效率低 ,研究成本高 ,而数据挖掘在未知知识获取方面具有独特优势 ,因此基于数据挖掘的入侵检测成为研究热点。网络安全从本质上讲就是网络上的信息安全。从广义上讲,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控制性的相关技术和理论都是网络安全的研究领域。在网络安全中有人为的,也有非人为的,这种未经授权使用系统和合法用户滥用权力或越权访问系统的企图和行为,这种行为试图破坏信息的完整性、机密性、正常的使用性,称之为入侵(Intrusion)。 入侵检测(Intrusion Detection)是一种积极主动的安全防护技术,它通过对计算机网络或计算机系统中的若干关键点提取数据源信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统(Intrusion Detection System ,简称IDS)。 近些年,数据挖掘(Data Mining)有了突飞猛进的发展,很多领域都引入了数据挖掘技术,这里我将本文实现的NTIDS-RT系统引入了数据挖掘技术,采用Apriori算法的一个优化改进算法FP- growth增量挖掘算法,之所以采用它是因为此算法非常适合这种实时的而且经常更新数据的系统,Apriori算法是一种找频繁集的基本算法,使用一种逐层搜索的迭代方法,k-项集(记做Lk)用于搜索(k+1)-项集,在关联规则的挖掘中,Apriori算法是一个最具有影响力的算法,很多关联规则挖掘算法都是在此基础上演变而来,在实际的应用中,Apriori算法在提取频繁集的时候,表现出了很多缺陷,例如要多次扫描数据集、效率低,消耗大量的CPU时间等, FP-growth方法是一种Apriori算法的优化方法,FP-growth方法采用了分而治之的策略,先把数据库中的频繁项集压缩进一棵频繁模式树(FP-tree),接下来就是进行FP-tree的挖掘,此方法高度浓缩,对频繁集的挖掘又完备的,不需要代价较高的数据库扫描。所以将其引入到NTIDS-RT系统中。结果表明,无论是在资源消耗量还是在工作效率上都有了很大的提高。NTIDS-RT系统采用一种实时的基于网络的检测方式,把整个结构分为<WP=57>几个分治模块:数据采集模块、线程控制模块、模式提取模块、检测模块、人机交互分析模块。在数据采集方面,采用嗅探器(Sniffer)原理,对网卡的编程是使用通常的套接字(Socket)方式来进行,当捕获到数据包后,需要对其进行清洗等预处理操作,在不同的项加上不同的标志(“sIP” “dIP”“sPt”“dPt”“po”等等)用来区别;在线程控制方面主要是根据时间窗的大小以及数据采集模块的审计数据采集情况随时调用模式提取模块来进行挖掘提取模式,在如何调用模式提取模块方面,采用滑动窗口概念,即,相邻两个时间窗内的数据有重叠,重叠多少,也就是每次滑动的窗口的大小,即更新数据占总量的比例大小的选择是非常重要的,在选择时可以综合考虑机器的性能及检测的种类;在模式提取方面,提取方法主要是采用以FP- growth为核心的关联规则挖掘算法。主要由两个部分组成:一个是FP-tree 的建立,另一个是模式增长树的挖掘部分,在建树之前需要建立头表Table(TableBuild()),整理这个时间窗内的数据集,组建FP-tree(FPBuild ())。FP-tree_constructing函数的结果是返回一个已经建立好的FP-tree供模式增长树的挖掘函数FP-growth()使用,FP-growth()将提出的频繁模式顺次的添加到模式集中用来检测使用。 FP-growth()函数通过对一已经建立好的FP-tree进行挖掘,FP-growth()增长挖掘方法将发现长频繁模式的问题转换成递归的发现一些短模式,它使用最不频繁的项做后缀,提供了好的选择性,降低了搜索所增加的系统开销;检测模块根据相应的攻击模式或者也有的漏洞来匹配识别攻击,这里是根据攻击特点设定轴属性和辅助属性,采用IF THEN 形式进行判断,在这里根据端口扫描特征提出实现了用于检测端口扫描攻击的Check_PortScan算法;人机交互模块主要是用来以各种形式和用户交流的。在整个系统运行的时候,以数据采集模块为主时间轴,以时间窗的大小和数据更新方式为参数来选择提取网络审计数据的方式,当满足条件时就调用模式提取模块分析所提供的审计数据,如何调用以及怎样调用模式提取模块是通过线程控制模块来实现的,线程控制模块是根据数据采集模块的审计数据采集情况来创建和调配模式提取模块的工作,因为本系统是实时检测系统,而且在检测过程中不允许丢失审计数据,所以整个系统以数据采集模块的工作为中心。在审计数据采集到满足系统的要求后,就通过线程控制模块以多线程的形式调用模式提取模块,整个系统结构中的数据集均采用虚拟的数据库,即在内存中开辟缓冲区,这样可以更好的满足系统的实时要求。
其他文献
协议工程是协议开发质量保证的一个重要手段,其中协议一致性测试是协议工程的一个基础部分。协议一致性测试的核心部分是在协议规格和协议实现之间有一致性关系的情况下指导