基于数据流挖掘的网络入侵检测系统的分析与研究-定稿

更新时间:2023-08-16 16:32:01 阅读量: 教学研究 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于数据流挖掘的网络入侵检测系统的分析与研究

中国电信金昌分公司 李宗宁

摘 要:随着互联网的迅猛发展,各种网络入侵层出不穷,已经成为网络信息安全的主要威胁。入侵检测是网络信息安全中一种很重要的主动防御手段,端口扫描、DDOS、ARP攻击、网络蠕虫病毒等多种网络入侵和网络故障都会造成网络流量异常,因而通过实时检测网络流量异常可实现自适应入侵检测,这对提高网络的安全性、可靠性和可用性具有重要意义。

本文是建立一种两阶段基于数据流挖掘的网络入侵检测分析,将网络数据流处理过程分为在线的网络流量异常检测和离线的网络数据流挖掘两阶段,保证网络流量异常检测的实时性和提高系统的灵活性与并行性。

网络流量异常检测阶段首先建立数据流十字转门模型表示网络流量数据,在线实时统计一定周期内特定协议流量,同时采用卡尔曼滤波预测模型预测同一周期的流量,计算实测值与预测值之间的差异sketch,建立对应网络流量变化模型,从而实现快速发 现基于某种特定协议的网络异常行为的目的,提高入侵检测的实时性。

网络数据流挖掘阶段将实时采集的网络流量数据存入SQL数据库,采用多种数据挖掘方法对数据进行研究,并将挖掘结果导入规则库,实现与网络流量异常检测的无缝连接。

本文的创新点在于按照网络协议进行不同粒度流量分类,能够发现隐藏在整体正常流量下的特定协议流量异常,提高网络流量异常检测的有效性;能够支持不同的聚类算法,按多种条件组合对数据进行聚类,实现对多种网络入侵的实时报警;通过采用不同的频繁项挖掘算法,实现异常数据源的追踪定位和发现新的异常;在对网络流量数据流进行充分挖掘的基础上,提出了新的高速网络流量检测算法,实现网络流量异常数据源的快速在线追踪定位,提高检测实时性,降低检测误检率和漏检率。

关键词:网络安全;入侵检测;数据包捕获;数据流挖掘;

随着网络的不断发展,网络速度越来越快, 大规模复杂网络的迅速发展,网络安全问题也随之变的更加突出,传统的网络入侵检测技术的局限性越来越明显,已经无法适应网络攻击层出不穷和数据量日益增大的趋势。数据流挖掘网络入侵检测技术是一种对高维的、动态变化的大量数据进行挖掘的新方法,由于高速网络的数据具备动态变化、数据量大、维度高这些特点,所以数据流挖掘技术可以很好的完成高速网络数据分析和入侵检测的任务,从而提高网络的安全性、可靠性和可用性。本文是建立一种两阶段基于数据流挖掘的网络入侵检测分析,将网络数据流处理过程分为在线的网络流量异常检测和离线的网络数据流挖掘两阶段,保证网络流量异常检测的实时性和提高系统的灵活性与并行性。

一、1、特色描述

研究内容是建立一种两阶段基于数据流挖掘的网络入侵检测系统,将网络数据流处理过程分为在线的网络流量异常检测和离线的网络数据流挖掘两阶段,保证网络流量异常检测的实时性和提高系统的灵活性与并行性。

其特色在于按照网络协议进行不同粒度流量分类,能够发现隐藏在整体正常流量下的特定协议流量异常,提高网络流量异常检测的有效性;能够支持不同的聚类算法,按多种条件组合对数据进行聚类,实现对多种网络入侵的实时报警;通过采用不同的频繁项挖掘算法,实现异常数据源的追踪定位和发现新的异常;在对网络流量数据流进行充分挖掘的基础上,提出了新的高速网络流量检测算法,实现网络流量异常数据源的快速在线追踪定位,提高检测实时性,降低检测误检率和漏检率。

2 、背景分析

随着互联网的迅猛发展,各种网络入侵层出不穷,已经成为网络信息安全的主要威胁。入侵检测是网络信息安全中一种很重要的主动防御手段,端口扫描、DDOS、ARP攻击、网络蠕虫病毒等多种网络入侵和网络故障都会造成网络流量异常,因而通过实时检测网络流量异常可实现自适应入侵检测,这对提高网络的安全性、可靠性和可用性具有重要意义。

入侵检测是指通过收集和分析被保护系统的相关信息,从而对系统的安全性进行判断,对可能危害到系统的机密性、完整性和可用性的行为进行报警和阻断,达到保证系统安全工作的目的。

入侵检测根据观察角度的不同有多种分类方法。

根据所处理数据来源的不同分成基于主机的入侵检测 (host intrusion based IDS,HIDS) 和基于网络的入侵检测(network intrusion based IDS,NIDS)。HIDS 以主机中的系统日志等静态数据作为处理对象,完成入侵检测功能。 这种方式只能做到事后检测。而NIDS以网络中传输的数据包为分析对象,从中寻找所携带的网络攻击特征,及时正确判断并检测出入侵行为。这种检测方式要求系统能够及时捕获网络中传输的数据包,并进行快速分析和处理,实时地给出检测结果并进行有效预警。

二、实现方案

1、异常流量预测原理

(1).异常检测的分类

异常检测主要有两类,分别是基于特征的检测和基于统计的检测。基于特征的检测主要是通过寻找能与已知异常特征相匹配的模式来检测异常,

需要预先设定特征库或规则库。这种方法随着异常种类的增多,特征库很庞大,监测性能下降。基于统计的检测不需要预先了解异常的特征和属性,能够有效地检测已知的以及新出现的异常。在基于统计的检测方法中很重要的一部分就是变化检测,主要方法是通过历史流量得到一个正常的流量模型,然后通过检测在短期内不符合此模型的行为来发现异常。

(2).异常检测方法

异常检测方法有阈值、预测模型、马尔可夫链、人工神经网络等。但是这些方法都不能满足在大规模网络条件下实时处理的要求,大规模网络条件下数据报文到达速度快,数据量大,因而直接处理这些数据来发现异常是不现实的,可以采用降维的方法。

(3).流量数据降维

对数据流降维的研究方法主成分为分析法 PCA和概要数据结构

sketch。PCA 是一种坐标变化方法,将给定数据点映射到一些新的坐标轴,这些新的坐标轴就成为主成分。

本文所提检测方法采用 sketch 方法存储骨干网络数据流概要信息,采用卡尔曼滤波预测下一周期的预测值,计算观测值与预测值之间的差异sketch,基于差异sketch建立网络流量变化参考模型,不符合参考模型的流量即为异常流量。该方法能够追溯异常的IP地址,使得网络管理员能够采取有效措施阻断异常行为,减缓攻击影响。

(4).异常检测流程

sketch数据结构:sketch记录输入数据流的概要信息,包括两部分: hash计算和概要数据结构。

第一步:将数据记录阶段得到的当前时间窗口的观测与上一时间窗口末尾得到的当前时间窗口的预测s作差运算,得到当前时间窗口的误差。

第二步:对此误差 sketch 绝对值的每一行计算一个均值Et(i)和均方差 Vt(i)。

第三步:判断误差sketch第i行的所有计数器的值是否超过E(i) V(i),如果大于这个阈值,则说这个计数器是异常的,否则是正常的。

第四步:得到异常计数器 Cij对应的链表结构 Listij中存储的 key(目的

IP 地址)集合Uij。

第五步:将同一hash函数对应的Uij求并集,再将得到的并集在不同哈

希函数之间取交集,得到异常 key 集合,即 C异常 ij 。 i 0H 1 ij

2.数据挖掘实现原理

数据挖掘(Data Mining, DM)就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在的有用信息和知识的过程。数据挖掘发展至今,有了很多的发展分支和研究方向,根据挖掘方式不同,当前数据挖掘主要技术可以分为:关联分析、序列分析、分类分析和聚类分析[6-7]。

(1)聚类分析

聚类分析是数据挖掘领域中一个重要的研究课题。聚类是指对一个已给的数据对象集合,将其中相似的对象划分为一个或多个组(称“簇”)的过程。同一个簇中的元素是彼此相似的,而与其它簇中的元素相异。聚类分析作为独立的工具有着广泛的应用场景,并且可以(作为数据挖掘中

的其他部分(如特征和预测)的预处理过程。

聚类分析不需要训练数据集,它的类标号是未知的,无监督式的分析过程。根据分析数据、分类目的与实际应用的不同,聚类分析算法可以分为划分方法,层次方法,基于密度的方法,基于网格的方法和基于模型的方法等。

一个好的数据流聚类算法应该具备的3个要求:

(a)对已发现的簇提供一个简洁的表示方法;

(b)对新的数据元素的处理应该是个增量式的方式,并且应该它是快速的;

(c)有清晰而快速地孤立点检测的能力。

(2)关联规则

数据关联是数据库中存在的一类重要的可被发现的知识。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。

关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组,第二阶段再由这些高频项目组中产生关联规则。

关联规则是从给定数据集中挖掘出数据项之间有趣的联系。关联规则分析数据的主要分为两个过程:

首先找出所有频繁项集:根据定义,这些项集出现的频繁性至少和预定义的最小支持度一样。

其次由频繁项集产生强关联规则:根据定义,这些规则必须满足最小支持度阀值和最小置信度阀值。

(3)对数据流的建模

人们对数据流提出了很多模型来描述,包括时间序列、缓冲寄存器模型和十字转门[5]模型,我们使用最通用的十字转门模型。通过检测那些统计量有巨大变化的元素来发现异常。

流数据模型中,要体现的一个很重要的特点就是输入数据不能完全通过对存储介质的随机访问得到。传统的关系数据库中所有数据都是存储在磁盘上的。因此,对于数据流建模和传统的数据库建模之间存在着若干的区别:

①数据需要一个增量的表达方式,并且联机方式获得的数据某种意义上是主动的,新数据可以触发数据库系统的操作,而不仅仅是被动的相应用户的请求。

②需要考虑数据到达的顺序是不确定的。

③流数据的大小潜在无限,不能控制数据量的多少。

④由于数据的海量性,没有办法保存全部的数据。新到达的数据往往在被处理过以后丢弃,仅有少数被保存起来。因此,保存哪些数据、如何保存都要考虑从保存的有限数据中获得尽量多信息的需求。

⑤由于资源有限并且对时间有较高的要求,计算一个精确的结果通常不可能,往往得到的都是近似的结果。

3.2.3 零拷贝技术

目前 NIDS 常采用库函数 Libpcap 来实现网络数据包的捕获,其过程如图3-2所示。 在捕获数据包时,Libpcap首先调用网卡驱动程序获得数据包的拷贝,经过滤器过滤后将满足要求的数据包放入内核缓冲区。内核缓

冲区包括存储缓冲器和保持缓冲器,存储缓冲器用来保存通过过滤器的数据包,保持缓冲器则用来向用户缓冲器复制数据。当数据包过滤后,被不断地放入存储缓冲器,同时用户程序调用函数不断地从保持缓存器中读取数据。当存储缓冲器满且保持缓冲器为空时 ,Libpca 将存储缓冲器中的数据送入保持缓冲器。显然,这种方法将涉及从内核到内核以及内核到用户空间的频繁数据拷贝 , 而这种过程非常耗时。为了解决该问题,提出零拷贝技术。

技术将网络数据包直接传递到所申请的缓冲区中,避免CPU的参与;同时利用地址变换技术将内核空间地址翻译到用户空间,使用户层的检测程序直接访问内核空间的数据包,减少了系统内核向用户空间的数据拷贝,同时减少了系统调用的开销,从而实现了零拷贝。

3、功能概述

抓取网络数据包功能、连接数据库进行存储统计功能、ARP攻击提示功能、ARP攻击功能等等。其中数据包的抓取可抓取网络中的多种协议,如TCP、UDP、ARP等多种协议,数据库存储时可将抓取到的数据包按照

零拷贝技术首先在内核空间中申请固定的页面作为缓冲区,并利用DMA

时间、源IP地址、源MAC地址、源端口号、目的IP地址、目的MAC地址、目的端口号、包长度、协议名和抓包时间进行存储。ARP攻击提示是在当主机受到ARP攻击系统使用弹出对话框对用户进行相关提示,ARP攻击功能主要是为了用来进行本次测试使用,包含ARP洪泛攻击、网关欺骗

四、 创新性

本文的创新点在于将数据流挖掘技术应用于网络入侵检测,按照网络协议进行不同粒度流量分类,能够发现隐藏在整体正常流量下的特定协议流量异常,提高网络流量异常检测的有效性;能够支持不同的聚类算法,按多种条件组合对数据进行聚类,实现对多种网络入侵的实时报警;通过采用不同的频繁项挖掘算法,实现异常数据源的追踪定位和发现新的异常;在对网络流量数据流进行充分挖掘的基础上,采用零拷贝技术和概要数据结构提出了新的高速网络流量检测算法,实现网络流量异常数据源的快速在线追踪定位,提高检测实时性,降低检测误检率和漏检率。

五、总结

本文研究内容是建立一种两阶段基于数据流挖掘的网络入侵检测系统,将网络数据流处理过程分为在线的网络流量异常检测和离线的网络数据流挖掘两阶段,保证网络流量异常检测的实时性和提高系统的灵活性与并行性。

网络流量异常检测阶段首先建立数据流十字转门模型表示网络流量数据,在线实时统计一定周期内特定协议流量,同时采用卡尔曼滤波预测模型预测同一周期的流量,计算实测值与预测值之间的差异sketch,建立对应网络流量变化模型,从而实现快速发现基于某种特定协议的网络异常行

为的目的,提高入侵检测的实时性。

网络数据流挖掘阶段将实时采集的网络流量数据存入SQL数据库,采用多种数据挖掘方法对数据进行研究,并将挖掘结果导入规则库,实现与网络流量异常检测的无缝连接。

测试结果表明本作品实现了上述功能,能够根据网络数据流变化检测出多种网络入侵,具有较高的检测率和检测可信度;界面友好,能提示攻击主机,给出报警提示,可有效减少网络维护工作量,保证网络信息安全,软件具有一定实用性和应用价值。

个人简历: 1992年毕业于内蒙古邮电学校电报通信专业,2000年函授毕业于西安邮电学院通信工程专业,2010年11月取得香港公开大学工商管理硕士学位。1992年7月参加工作,2001年以前在兰州电信局、甘肃省数据通信局从事数据通信设备维护及维护管理工作;2002年1月至2003年1月任甘肃省数据通信局业务发展中心经理;2003年2月-2007年10月任甘肃省电信公司互联网与增值业务事业部市场发展部主任;2007年11月至今任中国电信金昌分公司副总经理。

本文来源:https://www.bwwdw.com/article/3ybj.html

Top