基于机器学习的恶意行为自动化分析KonradRieck,PhilippTrinius,CarstenWillems,andThorstenHolzBDomne译摘要恶意程序是计算机系统中最主要的安全威胁,其变种的数量和多样性使得传统的安全防护不再可靠,互联网上数以万计的机器正受到恶意软件的侵害,这之中最常见的当属病毒、蠕虫和木马
同时,恶意程序采用的混淆和多态技术给文件层面的检测造成了很大阻碍,基于二进制的程序动态分析技术给描述和防御恶意威胁提供了一种新的手段
本文我们基于机器学习提出了一套恶意行为自动化分析的框架,此框架能根据相似的行为特征发现新的恶意程序类型(聚类),并将未知的恶意样本指派到已知的类型中(分类)
在聚类和分类的基础上,我们接着又提出了一种增量分析的方法,它使得借助行为检测处理每天新增的大量样本成为可能,在保证准确识别新变种的同时,增量分析法能很大程度缩短目前通用方法的运行时间
1介绍恶意程序是当今互联网中的一个主要威胁,从经典的计算机病毒到网络蠕虫,再到僵尸网络,无一例外的把连接到网络中的计算机系统作为攻击目标
此类威胁主要由黑色产业驱动,通过系统化的利用被入侵主机达到非法目的,比如传播垃圾邮件、获取机密数据等
遗憾的是传统的安全技术,比如防病毒扫描,在恶意程序不断增长的数量及多样性背景下变得不再那么可靠,导致互联网中成千上万的主机面临恶意软件的威胁
为了对抗网络中快速传播的恶意威胁,反恶意程序的开发者很大程度上需依靠自动化来分析新的变种,进而制定相应的防护措施
然而,自动化分析并非易事,因为恶意程序的编写者经常采用混淆技术,比如二进制加壳、加密,或者代码自修改等来增大分析难度,这些手段对反静态分析特别有效
但和静态分析不同,动态的二进制流分析能够有效的监控程序的恶意行为,这些行为通常不容易隐藏,而且往往表征对应的恶意目的
因此,大量的研究工作集中到开发