论文部分内容阅读
人们在享受着网络与计算机带来便捷服务的同时,面临的信息安全形势也愈发严峻。传统基于静态分析的恶意程序检测方法,存在着需维护庞大的病毒特征库、无法破解多态变形等隐藏技术和检测效率低等问题。动态分析方法立足于捕获程序运行时的行为信息,再提取出能精确、全面的反映出程序运行时的行为特征,天然克服了静态分析方法的缺陷。但动态分析方法也存在若干不足。首先,目前国内并没有一个标准化、通用的系统开发框架;其次,当前人们在配接HOOK API代码时,基本都手工进行,由此带来效率低下、易出错等问题;最后,未能有效的利用动态分析方法捕获到的行为信息,导致检测效果不理想。基于上述问题,本文设计出一个通用的,面向沙盒的恶意程序行为分析与检测框架,并基于Cuckoo平台实现了该框架的一个系统。具体的研究与实现内容如下:1.针对研究人员在开发恶意程序行为分析与检测系统时,无标准化、通用的框架,导致系统模块划分不清晰、功能无法拓展,本文在多个成熟的沙盒系统研究基础上,抽象并设计出一个具备高内聚、低耦合和易拓展性质的恶意程序行为分析与检测框架。该框架可适用于不同的客户机系统如Windows7和Windows XP、不同的宿主机系统如Ubuntu和Windows、不同的沙盒如QEMU和Virtualbox。2.该框架由程序运行时行为信息捕获模块、行为特征提取模块和行为检测算法模块组成。行为信息捕获模块用来获取程序运行时调用的敏感API序列与参数值。针对上文所述手工配接HOOK API存在的问题,本文设计的行为信息捕获模块包含了自动化批量配接API组件,能够最大程度的减少人工参与。该模块同时包含客户机系统、宿主机系统和API监控组件的设计;行为特征提取模块用来抽象出,能够有效区分出正常程序与恶意程序的行为特征。针对原始行为信息存在语义不明确、无法直接作为检测算法输入问题,本文采用课题组提出的安全敏感最小行为描述法,最终提取出维度一致且能精准反映出程序运行时高级语义的01特征向量,并生成易于人理解的行为分析报告;行为检测算法基于01特征向量学习到恶意程序检测分类器。本文应用AdaBoost提升方法与CART生成、剪枝算法实现了恶意程序行为检测算法。3.基于Cuckoo平台实现了该框架的一个系统,以验证本文设计框架的合理性。首先,完成了向Cuckoo中自动化批量配接HOOK API代码组件,构建出封闭的沙盒系统,实现了在程序动态运行过程中捕获其调用的敏感API序列与参数值;在实现宏参数转换、辅助表查找、字符串拼接、辅助表维护和匹配重要字符串等基础上,自动化提取出初级与高级行为特征、01特征向量,并生成行为分析报告;基于恶意程序行为检测算法对行为特征提取结果进行学习,生成的分类器用于判决待分析程序恶意性。经大量实验证明,本文基于Cuckoo平台实现的恶意程序行为分析与检测系统,能够有效的捕获程序运行时的行为信息,提取能有效用于分类的行为特征,并能取得良好的检测率与极低的误检率。佐证了本文设计框架的合理性。