数据挖掘和恶意软件检测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据挖掘和恶意软件检测
黄宗文,16721539
2016-11-20
摘要: 由于计算机网络的发展以及恶意程序编码水平的提高,传统的恶意程序检测技术的不足已经越来越明显,很难满足人们对信息安全的需求。基于行为的恶意程序检测技术是利用恶意程序的特有行为特征来检测程序恶意性的方法,它能很好地检测未知恶意程序。这种恶意程序检测技术可以很好地适应恶意程序逐渐呈现的新特点,无疑具有巨大的优越性和广阔的发展空间,应该在今后相当长时间内代表着恶意程序检测技术的发展趋势。本文介绍了基于静态分析的恶意软件检测,和基于动态行为分析的恶意软件检测,并各自介绍了它们的优劣。
关键字:数据挖掘;恶意软件检测;特征提取;静态分析;动态行为分析;分类
Data mining and malware detection
Abstract:With the development of computer network and improvement of malware programming, traditional malware detection methods seem obviously inadequate, failing to satisfy the need of people for information security. The malware detection based on behavior is a method which achieves detection through making use of the peculiar behavior features of malware. It does well in detecting the unknown malware. This malware detection technique could be adjusted to the emerging new features of malware, which has great superiority and broad space for development undoubtedly. Consequently, it could be the development tendency of malware detection in a long time. This article describes malware detection based of static analysis ,and malware detection based on dynamic behavior analysis ,and describes their pros and cons.
Key words:Data mining;Malware detection ; Feature extraction ;Static analysis ;Dynamic behavior analysis ;Classification
随着社会信息化程度的不断提高,工业、国防、教育、金融等社会各行各业的信息越来越依赖于计算机和互联网。然而频繁发生的网络安全事件给人们敲了安全警钟。计算机与网络安全问题正成为人类信息化所面临的巨大挑战,直接威胁着个人、企业和国家的利益。而目前计算机与网络安全的主要威胁隐患之一就是恶意程序。近年来,随着编程技术的普及,恶意程序制作的门槛逐步降低,恶意程序的制作呈现机械化、模块化和专业化特征。在恶意程序灰色产业链带来的巨大利益的驱使下,恶意程序产业正朝着规模化发展。恶意程序的爆炸式增长,在使企业及用户遭受到巨大的经济损失的同时,也给恶意程序分析人员带来了巨大的工作压力。传统的恶意程序分析技术已经远远不能满足新的安全需求。一方面,基于特征码的恶意程序分析技术,需要对每一个恶意程序的特征码进行提取,对于目前每天有成千上万的恶意程序产生的情况,提取特征码的工作量是巨大的且效率不高。另一方面,用户端需要定期的升级最新的病毒库,随着新恶意程序的爆炸式增长,病毒特征库的容量也要大幅增长,长此以往会拖累检测分析系统的速度。因此如何对新的恶意程序样本快速地进行检测和分类,已成为越来越多的专业计算机安全厂商所关注的焦点。
1恶意软件和检测的现状
近年来,随着编程技术的普及,恶意程序制作的门槛逐步降低,恶意程序的制作呈现机械化、模块化和专业化特征。在恶意程序灰色产业链带来的巨大利益的驱使下,恶意程序产业正朝着规模化发展。从2008 年开始恶意程序大规模爆发,每年新增木马病毒等恶意程序数量级从数十万级跃升至千万级。
图 1 2003年至2010年间恶意软件的数量增加
Fig 1 Increased volume of malware from 2003 to 2010
自从恶意程序出现以来,恶意程序的检测技术一直是计算机安全领域关注的焦点。根据恶意程序分析工具技术模块不同,恶意程序检测方法通常分为静态和动态方法。在静态方法领域,2001 年,在文件二进制特征检测的基础上首次提出了基于数据挖掘的恶意程序检测方法[1];之后,借鉴入侵检测、恶意程序检测与分类系统设计与实现中的常用方法,越来越多的研究集中在利用数据挖掘方法对恶意程序二进制文件信息进行学习建模,然后将学习到的模型用于未知恶意程序的检测。MihaiChristodorescu在恶意程序静态分析[2]方法上提出了使用有限状态机对恶意程序进行描述,并提取了一系列用于恶意程序匹配的状态转换图,取得了良好的效果。但是随着恶意程序制作人员的技术水平不断提高,恶意程序的加密、加壳、压缩等多态及变形技术的使用使得基于静态分析的方法变得越来越困难。随后Moser指出了基于恶意程序静态分析技术的缺陷,提出了一种基于行为特征的分析检测方法。因为恶意程序为了实现其恶意功能,在程序执行过程中总是会存在一系列异常的恶意行为。
2004 年,J.Xu等人在一次国际会议上的会议论文[3]中提出应用程序的API 调用序列大致反映了程序行为。因为应用程序通过API 调用获取系统服务和访问系统资源,所以分析API 调用可以间接地反映程序的行为。J.Xu等人基于此做了大量行为分析实验后提出了一种新的恶意程序检测方法:通过对比已知恶意程序和未知可疑程序的API 调用序列,并对两类API 调用序列做相似化度量分析,从而确定未知可疑程序的恶意程度。之后,R.Koike等人利用上述方法开发了一套可以自动检测未知恶意程序行为的系统[4]。由德国的曼海姆大学分布式系统实验室开发的CWSandbox是恶意程序行为检测技术发展过程中一个具有里程碑意义的产品,它不仅具有行为捕获能力,而且可以生成检测报告。CWSandbox引入了虚拟机技术,让可疑程序在虚拟环境中运行,从而避免了可疑程序可能造成的潜在危害。并且它采用了API hook 技术提取程序运行过程中API调用序列。CWSandBox论文有一个重要贡献,它清楚的用实验比较了用户态和内核态API hook 的优缺点。内核SSDT hook具有很高的检测率,不易被反检测技术侦测到;用户态hook 实现简单,具有较强的通用性和稳定性。CWSandBox采用了用户态inline hook 的方式的来采集程序行为特征。CWSandBox实验得知绝大多数恶意程序为了实现大量传播都是直接调用的标准Windows API,因此采用用后台inline hook的方式不会影响系统检测率。Anubis是一款基于开源模拟器QEMU 的优秀的恶意程序行为监控系统,TTAnalyze是其前身。该系统采用了与CWSandbox截然不同的技术原理,在QEMU 的虚拟机监控层拦截API 调用。该系统有全自动化,无需修改被监控程序源代码,使用全系统模拟器难以被恶意程序分检测等优点。但是Anubis 和CWSandBox仅仅是根据系统采集到的API数据生成程序行为报告提供给分析人员参考,并没有对采集到的行为进行深度挖掘。2009 年胡永涛等人发表的《Win32 环境下恶意代码行为分析实验及思考》[5]文章中,全面总结了Windows平台上35种恶意行为,采用Ring3级debug的方式来hook系统API,使用支持向量机(SVM)算法做智能分析,实验检测率可达95%以上。单纯依靠主动防御的商业安全软