论文部分内容阅读
随着互联网的快速发展,恶意代码的种类和数量在不断增多,其编写、传播和利用呈现出趋利化、商业化和组织化的态势,对互联网安全构成重大威胁。在恶意代码分析领域主要存在静态分析和动态分析两种分析方法,由于静态分析方法难以有效应对变形和混淆处理的恶意代码,实际分析中大多采用动态分析方法。恶意代码行为完整性分析是恶意代码动态分析中的难点问题,其对于获取恶意代码完整行为信息、实现病毒防护以及研究相应地反制措施具有重要意义。 本文首先介绍了恶意代码行为完整性分析的概念、研究意义及发展现状,针对现有的恶意代码多路径分析方法中存在的路径爆炸、内存泄露、分析效率低以及强制修改分支路径导致的程序崩溃等问题,提出动态构建恶意代码执行环境进行行为完整性分析的方法。本文完成的主要工作包括: 1.提出了一种基于动静结合的恶意代码环境数据提取方法。通过使用静态分析和动态分析相结合的方法提取恶意代码内部存在的字符串型环境数据,同时为了确定数据的环境类型,提取过程中进行字符串引用分析和函数类型判别,对于无法确定环境类型的数据使用决策树对其进行分类处理,最后对所有数据进行整理优化用于环境构建。 2.提出了一种基于数据流跟踪的恶意代码敏感环境识别方法。通过引入数据流跟踪技术,建立恶意代码感知获取的环境信息与代码执行路径选择之间的关联关系,并依据不同的环境信息类型,使用不同的方法获取环境完善所需的环境数据以及控制流改变所需的配置信息。 3.提出了一种基于虚拟机镜像选择的动态环境构建方法。通过使用提取出的环境信息,从预先制作的虚拟机镜像群中选择合适的虚拟机镜像作为基础执行环境,并使用软件默认 安装、模拟构建特殊环境以及配置文件导入等方法进行环境完善,获得恶意代码最佳执行环境。 4.设计并实现了基于动态二进制分析平台 Pin的恶意代码行为完整性分析系统Scindapsus aureus,并选用多款不同类型的恶意代码进行了系统测试。测试结果表明,该系统可以有效提高恶意代码行为分析的完整程度,同时相比于现有的多路径分析方法具有更高的分析效率。