信息安全论文数据挖掘在计算机网络病毒防御中的应用
所属栏目:信息安全论文
发布时间:2013-12-07 11:47:02 更新时间:2013-12-07 11:00:01
信息安全论文投稿《信息与电脑》国家新闻出版总署批准,国内外公开发行的计算机类优秀期刊。1989年创刊,国内统一刊号:CN11-2697/TP,国际标准刊号:ISSN1003-9767,邮发代号:82-454。
【摘要】随着Internet的普及,尤其是宽带网的盛行,计算机病毒也在向网络化方向发展,这种病毒就是所谓的蠕虫病毒。本文利用数据挖掘技术,研究了如何在新的蠕虫病毒大规模爆发之前就将其检测到,并采取相应的措施。
【关键词】数据挖掘,网络病毒,防御
一、网络病毒的特征分析
网络病毒(蠕虫病毒)自身就是一个可执行的二进制代码程序文件。它的传播途径、方式与传统的病毒不同,它具有主动性传播的特点。它主动扫描网络上主机操作系统和一些网络服务的漏洞(大多是利用操作系统的缓冲区溢出漏洞),利用这些漏洞侵入这些主机,将自身的副本植入其中,从而完成传播过程。被感染后的主机又会用同样的手法感染网络上其它的主机,如此反复下去,这样很快就会传遍整个网络,尤其是一个新的操作系统漏洞还没引起计算机用户足够重视的时候。蠕虫病毒感染主机后往往大量占用主机资源(如CPU资源、内存资源等),使机器运行速度越来越慢,或向网络上发送巨量的垃圾IP数据包,严重阻塞网络带宽,甚至造成整个网络瘫痪。更恶毒的还会盗取用户的敏感资料,如帐号和密码等。而且现在的蠕虫病毒有从以破坏为主要目的向以盗取资料为主要目的转换的趋势,因此危害更大。
通过分析蠕虫病毒的传播过程可知,蠕虫病毒要感染网络上的其它主机,首先必须对网络上的主机进行扫描。它的这一举动就暴露了目标,就为检测蠕虫病毒提供了途径,也使蠕虫病毒预防系统的实现成为可能。通过抓包分析,发现蠕虫病毒的扫描过程并不像黑客入侵前的扫描那样详细,它只是随机地生成目标主机的IP地址(通常优先生成本网段或相邻网段的IP地址),然后用攻击模块(通常是用缓冲区溢出程序)直接攻击目标IP地址的主机,而不管该主机是否存在。这个攻击过程首先要向目标主机的特定端口发起TCP连接请求。例如,冲击波蠕虫病毒会在几秒内两次向目标主机的135端口发起连接请求,而震荡波会在几秒内两次向目标主机的445端口发起连接请求。因此,通过捕获数据包,利用数据挖掘技术分析它们的特征,找出异常的数据,从而达到预防的目的。
二、基于数据挖掘的病毒预防系统
基于数据挖掘的蠕虫病毒预防系统主要由数据源模块、预处理模块、数据挖掘模块、规则库模块、决策模块、预防模块等组成。
(一)工作原理
1.数据源是由一个抓包程序将所有来自于网络的、发向本机的数据包截获下来,交给预处理模块处理。
2.数据预处理模块将截获的数据包进行分析,处理成连接请求记录的格式。因为蠕虫病毒传染网络上的主机时,会主动地向主机发起连接,这也是预防系统建立的理论依据。连接记录由时间、源IP地址、源端口、目的IP地址、目的端口组成。这些众多的连接请求记录组成了事件的集合。
3.规则库用于存储已知的蠕虫病毒的连接特征和新近数据挖掘形成的规则集。规则集是蠕虫病毒行为模式的反映,用于指导训练数据的收集和作为特征选择的依据。
4.数据挖掘模块利用数据挖掘算法分析由连接请求记录组成的事件库,分析结果交给决策模块处理。
5.决策模块将数据挖掘的结果与规则库中的已知规则进行模式匹配,若与规则库中的规则匹配,则由预防模块发出发现已知蠕虫病毒的警报;若不匹配,则由预防模块发出发现新蠕虫病毒的警报,同时将新规则加入到规则库中。
(二)基于数据挖掘的病毒预防系统
1.分类:把一个数据集映射成定义好的几个类。这类算法的输出结果就是分类器,常用决策树或规则集的形式来表示。
2.关联分析:决定数据库记录中各数据项之间的关系。利用审计数据中系统属性间的相关性作为构建正常使用模式的基础。
3.序列分析:获取序列模式模型。这类算法可以发现审计事件中频繁发生的时间序列。这些频繁事件模式为构建预防系统模型时选择统计特征提供了指导准则。其算法描述为:已知事件数据库D,其中每次交易T与时间戳关联,交易按照区间〔t1,t2〕顺序从时间戳t1开始到t2结束。对于D中项目集X,如果某区间包含X,而其真子区间不包含X时,称此区间为X的最小出现区间。X的支持度定义为包括X的最小出现区间数目占D中记录数目比例。其规则表示为X,Y->Z,[confidence,support,window],式中X,Y,Z为D中项目集,规则支持度为support(X∪Y∪Z),置信度为support(X∪Y∪Z)/support(X∪Y),每个出现的宽度必须小于窗口值。
3.系统中的数据挖掘模块
首先利用分类算法对连接请求事件库中的数据进行分类,本系统中分别按源IP地址与目的端口对事件进行分类。然后对这两类数据进行关联分析与序列分析,在对相同源IP地址的数据分析中可以发现该台主机是否感染已知的蠕虫病毒或异常的举动(可能是未知的蠕虫病毒所为);对同目的端口的数据分析中可以发现当前网络上蠕虫病毒疫情的严重程度。
【参考文献】
[1]杨玉锋,夏晓峰.上网用户安全防范[J].韶关学院学报:自然科学版
[2]DavidH,HeikkiM,PadhraicS。数据挖掘原理[M].张银奎,译.北京:机械工业出版社.
[3]徐菁,刘保旭,许榕生.基于数据挖掘技术的入侵检测系统设计与实现[J].计算机工程.