论文部分内容阅读
随着互联网络的发展,计算机已经成为人们生活中不可或缺的工具。然而,互联网的开放性在带给人们便利的同时也带来了各种安全问题,网络安全形势面临严峻的挑战。近年来,由于恶意代码的复杂程度不断提高,加之各种反检测技术的出现,对恶意代码的行为分析变得更加困难。由于恶意代码行为可以表现为大量API函数的调用,因此分析API调用序列一直是理解恶意代码样本行为的最佳途径。然而,传统的行为分析主要依靠手工方式对API序列进行分析,面对不断涌现的恶意代码,这种方式无疑是非常繁重低效的。另外,传统的行为分析主要关注API序列,较少的考虑到API的依赖关系。最后一点,基于API序列的行为分析,针对代码或行为的先后次序,易受代码混淆手段的干扰。本文针对以上问题,提出了一种恶意代码行为依赖图的挖掘方法,该方法通过动态污点技术追踪被调用API函数的参数,能够自动挖掘API序列之间的依赖关系,并形成恶意代码API序列行为依赖图。该方法大大提高了恶意代码分析的效率,并为恶意代码的检测提供了有力支持。本文的主要工作包括:首先,给出了恶意代码行为依赖图的形式化定义以及依赖关系的定义。依赖图中的节点表示API函数及其参数,节点的依赖关系表示不同API函数的参数被同一个污点源中的数据污染。通过对恶意代码依赖图的定义,可以准确描述恶意代码的行为目的。其次,基于动态污点分析技术,提出了API序列依赖关系的生成方法。其原理是利用动态污点分析技术跟踪API参数的传播,通过HOOK技术截取API函数并提取参数,得到污点信息文件。对该文件中的内容即污点参数信息进行分析,得到API序列的依赖关系,最终绘制出恶意代码行为依赖图。最后,设计并实现了恶意代码行为依赖图挖掘原型系统。基于TEMU平台,利用TEMU提供的回调函数和接口函数,在Windows系统环境下实现了恶意代码行为依赖图挖掘系统。通过对恶意代码样本进行测试,实验结果表明,该系统能够有效地挖掘出恶意代码API序列的依赖关系,为理解恶意代码的行为提供了支持。