预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT18 基于机器学习的恶意行为自动化分析 KonradRieck,PhilippTrinius,CarstenWillems,andThorstenHolz BDomne译 摘要 恶意程序是计算机系统中最主要的安全威胁,其变种的数量和多样性使得传统的安全防护不再可靠,互联网上数以万计的机器正受到恶意软件的侵害,这之中最常见的当属病毒、蠕虫和木马.同时,恶意程序采用的混淆和多态技术给文件层面的检测造成了很大阻碍,基于二进制的程序动态分析技术给描述和防御恶意威胁提供了一种新的手段。 本文我们基于机器学习提出了一套恶意行为自动化分析的框架,此框架能根据相似的行为特征发现新的恶意程序类型(聚类),并将未知的恶意样本指派到已知的类型中(分类).在聚类和分类的基础上,我们接着又提出了一种增量分析的方法,它使得借助行为检测处理每天新增的大量样本成为可能,在保证准确识别新变种的同时,增量分析法能很大程度缩短目前通用方法的运行时间。 1介绍 恶意程序是当今互联网中的一个主要威胁,从经典的计算机病毒到网络蠕虫,再到僵尸网络,无一例外的把连接到网络中的计算机系统作为攻击目标。此类威胁主要由黑色产业驱动,通过系统化的利用被入侵主机达到非法目的,比如传播垃圾邮件、获取机密数据等。遗憾的是传统的安全技术,比如防病毒扫描,在恶意程序不断增长的数量及多样性背景下变得不再那么可靠,导致互联网中成千上万的主机面临恶意软件的威胁. 为了对抗网络中快速传播的恶意威胁,反恶意程序的开发者很大程度上需依靠自动化来分析新的变种,进而制定相应的防护措施。然而,自动化分析并非易事,因为恶意程序的编写者经常采用混淆技术,比如二进制加壳、加密,或者代码自修改等来增大分析难度,这些手段对反静态分析特别有效。但和静态分析不同,动态的二进制流分析能够有效的监控程序的恶意行为,这些行为通常不容易隐藏,而且往往表征对应的恶意目的。因此,大量的研究工作集中到开发特定工具来收集和监控恶意样本的行为。 动态监控二进制流为研究恶意行为提供了可能,但这还不足以阻止恶意程序的传播。真正需要的是能够自动化的分析样本行为,只有这样新出现的恶意操作才有可能得到控制.针对基于机器学习的自动化分析近年来出现了以下两个概念:(a)对行为的聚类处理,目的在于发现具有相似行为的新类型;(b)对行为的分类处理,能够将恶意操作对应到已知的行为类别。早先的工作大都将这两个概念分开来研究,并通过不同的算法加以实现,以此来处理行为特征. 在本文中,我们认为新类型的发现(聚类)和已知类型的区分(分类)是能合而为一的,对于有效的恶意程序分析它们都是不可或缺的.因此我们提出的恶意行为自动化分析框架将融合聚类和分类的处理.总体来说,本文主要有以下贡献: -可计算的聚类和分类处理。我们将监控到的行为特征映射到一个向量空间,这样就能有效的应用到机器学习的相关方法.同时,为了使计算成千上万的向量成为可能,我们介绍了一种基于原型向量的近似技术,这对于聚类和分类处理都是适用的. —恶意样本的增量分析.通过结合聚类和分类处理,我们设计了一种增量法来进行行为分析,这使得处理每天新增的大量样本成为可能.通过迭代处理,增量分析法极大的降低了运行时间和内存占用,而且还保证了新类型的准确识别。 -借助实际的恶意样本进行评估.通过比较评估,我们证明了此框架要远胜于目前主流的分析方法。从结果来看,增量分析法降低了94%的内存占用,并且在速度上至少提升了4倍,它能够在少于25分钟的时间内对33000份行为报告进行处理. 虽然提出的分析框架并不能消除恶意程序的威胁,但它为反恶意程序产品的开发指出了一个新的方向,使其能够自动有效的识别新的恶意类型。 文章其余部分的组织结构如下:第二节将介绍我们的分析框架,包括特征提取、机器学习技术以及恶意行为的增量分析。第三节将借助反病毒厂商提供的样本对框架进行评估。相关工作将在第四节讨论,第五节为本文的总结. 2恶意行为自动化分析 恶意程序通常拥有复杂的行为特征,包括最简单的系统资源修改到多样化的网络交互.然而,属于同一家族的变种大都具有相同的行为模型,比如使用特别的互斥变量名或者修改特殊的系统文件。我们的目标就是利用这些相同模型进行自动化分析,并提出一套基于行为检测的包含聚类和分类处理的分析框架。我们的框架原理图如图1所示,主要步骤可概括为: 1。首先我们将通过沙箱环境监控恶意样本的二进制流。基于具体的执行操作,换言之即系统调用,每一个二进制文件将产生一系列的行为报告,其中的系统调用和参数将保存在特定的表示法中以进行下一步的分析。(2。1节) 2.而后这些报告将被映射到一个高维的向量空间,每一维对应一种行为模型。借助向量表示,相似的行为可通过几何特性来衡量,这样很自然的就会用到聚类和分类的