数据挖掘在计算机领域中的应用
课
研究方向:网络病毒________________________
研究课题:数据挖掘在计算机网络病毒中的应用
学 院:计算机科学与工程学院
专 业:
学 号:
姓 名:
时间:2015年6月
数据挖掘在计算机网络病毒中的应用
摘 要:随着现代计算机技术、网络技术的不断进步与普及, 计算机网络中病毒会利用网络系统的漏洞与全球互联等形式进行传播, 以对网络系统的安全造成威胁。本文通过对网络病毒(蠕虫病毒)的特征与传播模式以及数据挖掘技术进行简单的介绍, 并对数据挖掘技术在计算机网络病毒防御中的应用进行具体探讨, 以保证计算机网络系统的安全性。
关 键 词:网络病毒;数据挖掘;防御
随着计算机的普及,互联网成为人们工作和生活中最重要的组成部分之一。互联网由于其开放、交互、共享等特点给人们带来极大便利, 也促进了其本身的飞速发展。另一方面,它们也潜在地带来了很多安全问题。近年来计算机病毒、蠕虫、木马程序等等在内的计算机恶意程序发作和流行的时间越来越短,攻击性越来越强,数量迅猛增长,其造成的破坏越来越大,日益引起了人们的关注。
一、网络病毒的特征分析 网络病毒(蠕虫病毒)自身就是一个可执行的二进制代码程序文件。它的传播途径、方式与传统的病毒不同,它具有主动性传播的特点。它主动扫描网络上主机操作系统和一些网络服务的漏洞(大多是利用操作系统的缓冲区溢出漏洞),利用这些漏洞侵入这些主机,将自身的副本植入其中,从而完成传播过程。被感染后的主机又会用同样的手法感染网络上其它的主机,如此反复下去,这样很快就会传遍整个网络,尤其是一个新的操作系统漏洞还没引起计算机用户足够重视的时候。蠕虫病毒感染主机后往往大量占用主机资源(如CPU 资源、内存资源等),使机器运行速度越来越慢,或向网络上发送巨量的垃圾IP 数据包,严重阻塞网络带宽,甚至造成整个网络瘫痪。更恶毒的还会盗取用户的敏感资料,如帐号和密码等。而且现在的蠕虫病毒有从以破坏为主要目的向以盗取资料为主要目的转换的趋势,因此危害更大。
通过分析蠕虫病毒的传播过程可知,蠕虫病毒要感染网络上的其它主机,首先必须对网络上的主机进行扫描。它的这一举动就暴露了目标,就为检测蠕虫病毒提供了途径,也使蠕虫病毒预防系统的实现成为可能。通过抓包分析,发现蠕虫病毒的扫描过程并不像黑客入侵前的扫描那样详细,它只是随机地生成目标主机的IP 地址(通常优先生成本网段或相邻网段的IP 地址),然后用攻击模块(通
常是用缓冲区溢出程序)直接攻击目标IP 地址的主机,而不管该主机是否存在。这个攻击过程首先要向目标主机的特定端口发起TCP 连接请求。例如,冲击波蠕虫病毒会在几秒内两次向目标主机的135端口发起连接请求,而震荡波会在几秒内两次向目标主机的445端口发起连接请求。因此,通过捕获数据包,利用数据挖掘技术分析它们的特征,找出异常的数据,从而达到预防的目的。
二、网络病毒查杀的现状
从世界上第一个病毒 C—Brain 出现至今,反病毒工作者一直努力尝试各种技术解决恶意程序的困扰,而从冯·诺依曼体系结构计算机原理来看,由于数据和指令从形态上看不出区别,就无法彻底消灭病毒,我们所能做的就是尽可能地降低恶病毒感染的风险。
国内知名反病毒软件公司,如金山毒霸、瑞星、江民等, 在恶意程序查杀方面仍主要采用传统的特征码扫描技术,但也在致力于将一些先进的技术用于恶意程序的主动防御;Norton ,McAfee ,Trend 以及 Kaspersky 等世界领先级的防病毒软件也都投入大量的人力和物力进行变形病毒及未知病毒的检测研究。为了克服特征码检测技术的缺陷,数据挖掘的方法的技术被逐步引入反病毒领域。
三、利用数据挖掘技术查杀病毒的意义和方法
目前主动防御和基于二进制特征码查杀仍是检测和识别病毒的主要方式,但是主动防御需要大量用户干涉,二进制特征码查杀面临的特征库膨胀、大量资源占用、匹配效率低、查杀滞后的困扰。为了解决当前反病毒软件出现的各种困扰,使用 Windows 平台可执行文件格式作为主要特征来源,抽取可执行文件的特征,获取病毒新型特征,并在新型特征基础上使用数据挖掘技术提取恶意程序智能化检测规则。
使用可执行文件格式作为特征可以有效减小单个特征大小,并且由于恶意程序的功能相似使得同类恶意程序和同种恶意程序的特征具有通用性,因此新型特征可以有效遏制特征库的膨胀、减少资源占用、提高匹配效率。使用数据挖掘技术提取智能恶意程序检测规则,可以找出更多隐性规则和增加规则逻辑准确性,可以提高恶意程序检测的智能性、准确性,减少干预次数。
四、基于数据挖掘的病毒预防系统
基于数据挖掘的蠕虫病毒预防系统主要由数据源模块、预处理模块、数据挖掘模块、规则库模块、决策模块、预防模块等组成。
(一)工作原理
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 地址的数据分析中可以发现该台主机是否感染已知的蠕虫病毒或异常的举动(可能是未知的蠕虫病毒所为);对同目的端口的数据分析中可以发现当前网络上蠕虫病毒疫情的严重程度。
五、系统的解决方案
图中显示了整个系统的运行流程。其中左边为客户端,右侧为服务器端,中间虚线框特征模板和规则文件服务器端生成并提供给客户端使用,服务器端提供的新型向量模板和规则文件以挖掘结果为依据。
将分类器的决策结果语义化形成恶意程序智能检测规则,并根据此规则构造知识库,最终实现了基于智能规则知识库的恶意程序判定系统,包括知识库、推理机、用户界面、程序数据收集和事实表五个部分。主程序加载并初始化推理机,启动程序数据收集模块收集系统中的各类信息数据,并将这些数据转换成事实的表示形式添加到事实表中,然后推理引擎加载知识库和事实表并开始推理,最后给出判断被检程序是否为恶意程序。每条规则被定义为包含 44 个整数的数组,知识库以文件形式存储在磁盘上,每次运行时加载到内存。采用动态规则集方式提高检测效率。基于动态规则集的模式匹配方法,能缩短规则匹配的时间,极大地提高了恶意程序检测效率。
根据本文的设计目标:提取主要测试实时性和检测率,以证明用于客户端检测的可行性。选取商用杀毒软件瑞星、金山、Nod32、 卡巴斯基中的检测结果作为比较对象。安装Vm Ware Station 6.5.2 虚拟机, 分别安装 HMDS、 瑞星、 金山、Nod32、卡巴斯基,将病毒库升级至最新,然后把测试集的样本文件拷贝至虚拟机中,并创建镜像节点。HMDS 扫描 i 盘中的文件共 8391 个,其中正常程序 2475个,恶意程序 5916 个。检测出恶意程序 5899 个,其中包括8 个误报文件,检测时间为 104 秒,漏报 25 个文件。HMDS 在检测中消耗 104 秒,单个文件的扫描时间约为 17ms,与Nod32 扫描效率相近;而从内存占用看 HMDS 占用内存的峰值为 14M,排在 Nod32 之后, 位于第二;扫描速度与内存峰值比值仅次于瑞星,排在第三位;HMDS 的检测率与其它商用杀毒软件相近,误报仍然存在,但是与目前其它学者的研究相比已经有较大的提高。
实验结果表明,HMDS 有较好的实时性,检测速度高于部分商用安全软件,在优化匹配算法后可以进一步提高检测速度;在检测率上,HMDS 与商用杀毒软件有相近的性能,但是在误报率上仍与基于特征码检测的安全软件有一定差距;从内存资源占用上看 HMDS 内存峰值仅次于 Nod32 的 13MB。
综上所述,HMDS 在资源占用和检测效率上表现较好,并且在无恶意程序二进制特征库的情况下能够检测未知恶意程序。由于 HMDS 基于新型特征的检测方式较为单一,没有综合使用白名单和黑名单等技术,存在一定的误报和漏报,因此其检测准确率与商用安全软件仍有一定差距。实验结果证明基于新型特征的智能化规则的查杀准确率较高, 实时性较好,误报率较低,资源占用较低。
参考文献:
[1] 王硕、周激流、彭博:《基于 API 序列分析和支持向量机的未知病毒检测》,《计算机应用》,2007,27(8)。
[2] 曾宪伟、张智军、张志:《基于虚拟机的启发式扫描反病毒技术》,《计算机应用与软件》,2005,22(9)。
[3] 张波云、殷建平、张鼎兴:《基于集成神经网络的计算机病毒检测方法》,《计算机工程与应用》,2007,43(13)。
[4]杨玉锋,夏晓峰. 上网用户安全防范[J].韶关学院学报:自然科学版
[5]David H,Heikki M,Padhraic S。数据挖掘原理[M].张银奎,译. 北京:机械工业出版社.
[6]徐菁,刘保旭,许榕生. 基于数据挖掘技术的入侵检测系统设计与实现[J].计算机工程.
数据挖掘在计算机领域中的应用
课
研究方向:网络病毒________________________
研究课题:数据挖掘在计算机网络病毒中的应用
学 院:计算机科学与工程学院
专 业:
学 号:
姓 名:
时间:2015年6月
数据挖掘在计算机网络病毒中的应用
摘 要:随着现代计算机技术、网络技术的不断进步与普及, 计算机网络中病毒会利用网络系统的漏洞与全球互联等形式进行传播, 以对网络系统的安全造成威胁。本文通过对网络病毒(蠕虫病毒)的特征与传播模式以及数据挖掘技术进行简单的介绍, 并对数据挖掘技术在计算机网络病毒防御中的应用进行具体探讨, 以保证计算机网络系统的安全性。
关 键 词:网络病毒;数据挖掘;防御
随着计算机的普及,互联网成为人们工作和生活中最重要的组成部分之一。互联网由于其开放、交互、共享等特点给人们带来极大便利, 也促进了其本身的飞速发展。另一方面,它们也潜在地带来了很多安全问题。近年来计算机病毒、蠕虫、木马程序等等在内的计算机恶意程序发作和流行的时间越来越短,攻击性越来越强,数量迅猛增长,其造成的破坏越来越大,日益引起了人们的关注。
一、网络病毒的特征分析 网络病毒(蠕虫病毒)自身就是一个可执行的二进制代码程序文件。它的传播途径、方式与传统的病毒不同,它具有主动性传播的特点。它主动扫描网络上主机操作系统和一些网络服务的漏洞(大多是利用操作系统的缓冲区溢出漏洞),利用这些漏洞侵入这些主机,将自身的副本植入其中,从而完成传播过程。被感染后的主机又会用同样的手法感染网络上其它的主机,如此反复下去,这样很快就会传遍整个网络,尤其是一个新的操作系统漏洞还没引起计算机用户足够重视的时候。蠕虫病毒感染主机后往往大量占用主机资源(如CPU 资源、内存资源等),使机器运行速度越来越慢,或向网络上发送巨量的垃圾IP 数据包,严重阻塞网络带宽,甚至造成整个网络瘫痪。更恶毒的还会盗取用户的敏感资料,如帐号和密码等。而且现在的蠕虫病毒有从以破坏为主要目的向以盗取资料为主要目的转换的趋势,因此危害更大。
通过分析蠕虫病毒的传播过程可知,蠕虫病毒要感染网络上的其它主机,首先必须对网络上的主机进行扫描。它的这一举动就暴露了目标,就为检测蠕虫病毒提供了途径,也使蠕虫病毒预防系统的实现成为可能。通过抓包分析,发现蠕虫病毒的扫描过程并不像黑客入侵前的扫描那样详细,它只是随机地生成目标主机的IP 地址(通常优先生成本网段或相邻网段的IP 地址),然后用攻击模块(通
常是用缓冲区溢出程序)直接攻击目标IP 地址的主机,而不管该主机是否存在。这个攻击过程首先要向目标主机的特定端口发起TCP 连接请求。例如,冲击波蠕虫病毒会在几秒内两次向目标主机的135端口发起连接请求,而震荡波会在几秒内两次向目标主机的445端口发起连接请求。因此,通过捕获数据包,利用数据挖掘技术分析它们的特征,找出异常的数据,从而达到预防的目的。
二、网络病毒查杀的现状
从世界上第一个病毒 C—Brain 出现至今,反病毒工作者一直努力尝试各种技术解决恶意程序的困扰,而从冯·诺依曼体系结构计算机原理来看,由于数据和指令从形态上看不出区别,就无法彻底消灭病毒,我们所能做的就是尽可能地降低恶病毒感染的风险。
国内知名反病毒软件公司,如金山毒霸、瑞星、江民等, 在恶意程序查杀方面仍主要采用传统的特征码扫描技术,但也在致力于将一些先进的技术用于恶意程序的主动防御;Norton ,McAfee ,Trend 以及 Kaspersky 等世界领先级的防病毒软件也都投入大量的人力和物力进行变形病毒及未知病毒的检测研究。为了克服特征码检测技术的缺陷,数据挖掘的方法的技术被逐步引入反病毒领域。
三、利用数据挖掘技术查杀病毒的意义和方法
目前主动防御和基于二进制特征码查杀仍是检测和识别病毒的主要方式,但是主动防御需要大量用户干涉,二进制特征码查杀面临的特征库膨胀、大量资源占用、匹配效率低、查杀滞后的困扰。为了解决当前反病毒软件出现的各种困扰,使用 Windows 平台可执行文件格式作为主要特征来源,抽取可执行文件的特征,获取病毒新型特征,并在新型特征基础上使用数据挖掘技术提取恶意程序智能化检测规则。
使用可执行文件格式作为特征可以有效减小单个特征大小,并且由于恶意程序的功能相似使得同类恶意程序和同种恶意程序的特征具有通用性,因此新型特征可以有效遏制特征库的膨胀、减少资源占用、提高匹配效率。使用数据挖掘技术提取智能恶意程序检测规则,可以找出更多隐性规则和增加规则逻辑准确性,可以提高恶意程序检测的智能性、准确性,减少干预次数。
四、基于数据挖掘的病毒预防系统
基于数据挖掘的蠕虫病毒预防系统主要由数据源模块、预处理模块、数据挖掘模块、规则库模块、决策模块、预防模块等组成。
(一)工作原理
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 地址的数据分析中可以发现该台主机是否感染已知的蠕虫病毒或异常的举动(可能是未知的蠕虫病毒所为);对同目的端口的数据分析中可以发现当前网络上蠕虫病毒疫情的严重程度。
五、系统的解决方案
图中显示了整个系统的运行流程。其中左边为客户端,右侧为服务器端,中间虚线框特征模板和规则文件服务器端生成并提供给客户端使用,服务器端提供的新型向量模板和规则文件以挖掘结果为依据。
将分类器的决策结果语义化形成恶意程序智能检测规则,并根据此规则构造知识库,最终实现了基于智能规则知识库的恶意程序判定系统,包括知识库、推理机、用户界面、程序数据收集和事实表五个部分。主程序加载并初始化推理机,启动程序数据收集模块收集系统中的各类信息数据,并将这些数据转换成事实的表示形式添加到事实表中,然后推理引擎加载知识库和事实表并开始推理,最后给出判断被检程序是否为恶意程序。每条规则被定义为包含 44 个整数的数组,知识库以文件形式存储在磁盘上,每次运行时加载到内存。采用动态规则集方式提高检测效率。基于动态规则集的模式匹配方法,能缩短规则匹配的时间,极大地提高了恶意程序检测效率。
根据本文的设计目标:提取主要测试实时性和检测率,以证明用于客户端检测的可行性。选取商用杀毒软件瑞星、金山、Nod32、 卡巴斯基中的检测结果作为比较对象。安装Vm Ware Station 6.5.2 虚拟机, 分别安装 HMDS、 瑞星、 金山、Nod32、卡巴斯基,将病毒库升级至最新,然后把测试集的样本文件拷贝至虚拟机中,并创建镜像节点。HMDS 扫描 i 盘中的文件共 8391 个,其中正常程序 2475个,恶意程序 5916 个。检测出恶意程序 5899 个,其中包括8 个误报文件,检测时间为 104 秒,漏报 25 个文件。HMDS 在检测中消耗 104 秒,单个文件的扫描时间约为 17ms,与Nod32 扫描效率相近;而从内存占用看 HMDS 占用内存的峰值为 14M,排在 Nod32 之后, 位于第二;扫描速度与内存峰值比值仅次于瑞星,排在第三位;HMDS 的检测率与其它商用杀毒软件相近,误报仍然存在,但是与目前其它学者的研究相比已经有较大的提高。
实验结果表明,HMDS 有较好的实时性,检测速度高于部分商用安全软件,在优化匹配算法后可以进一步提高检测速度;在检测率上,HMDS 与商用杀毒软件有相近的性能,但是在误报率上仍与基于特征码检测的安全软件有一定差距;从内存资源占用上看 HMDS 内存峰值仅次于 Nod32 的 13MB。
综上所述,HMDS 在资源占用和检测效率上表现较好,并且在无恶意程序二进制特征库的情况下能够检测未知恶意程序。由于 HMDS 基于新型特征的检测方式较为单一,没有综合使用白名单和黑名单等技术,存在一定的误报和漏报,因此其检测准确率与商用安全软件仍有一定差距。实验结果证明基于新型特征的智能化规则的查杀准确率较高, 实时性较好,误报率较低,资源占用较低。
参考文献:
[1] 王硕、周激流、彭博:《基于 API 序列分析和支持向量机的未知病毒检测》,《计算机应用》,2007,27(8)。
[2] 曾宪伟、张智军、张志:《基于虚拟机的启发式扫描反病毒技术》,《计算机应用与软件》,2005,22(9)。
[3] 张波云、殷建平、张鼎兴:《基于集成神经网络的计算机病毒检测方法》,《计算机工程与应用》,2007,43(13)。
[4]杨玉锋,夏晓峰. 上网用户安全防范[J].韶关学院学报:自然科学版
[5]David H,Heikki M,Padhraic S。数据挖掘原理[M].张银奎,译. 北京:机械工业出版社.
[6]徐菁,刘保旭,许榕生. 基于数据挖掘技术的入侵检测系统设计与实现[J].计算机工程.