首页> 中文学位 >自修改代码逆向分析方法研究
【6h】

自修改代码逆向分析方法研究

代理获取

目录

文摘

英文文摘

论文说明:图表目录

声明

第1章绪论

1.1研究背景

1.1.1互联网发展现状及安全问题

1.1.2恶意代码的危害

1.1.3恶意代码的发展趋势

1.2研究内容和研究意义

1.3论文主要贡献

1.4论文组织结构

第2章 国内外研究现状

2.1前言

2.2恶意代码自保护方法

2.2.1恶意代码自保护方法分类

2.2.2反反编译技术

2.2.3反静态反汇编技术

2.2.4反调试器技术

2.2.5小结

2.3恶意代码分析方法

2.3.1静态分析方法

2.3.2动态分析方法

2.3.3常用分析工具介绍

2.3.4动态污点分析

2.3.5自修改代码分析方法

2.3.6二进制文件重构

2.4本章小结

第3章 自修改代码实现机理研究

3.1前言

3.2自修改保护机制概述

3.2.1基本思路

3.2.2实现方法

3.2.3保护过程

3.3自修改代码执行过程

3.4自修改代码分类

3.5本章小结

第4章 动态生成代码的识别与提取

4.1前言

4.2可执行程序中动态生成代码的识别与提取

4.2.1基本原理

4.2.2具体步骤

4.3动态链接库中动态生成代码的识别与提取

4.3.1基本原理

4.3.2执行流程控制

4.4本章小结

第5章 自修改代码二进制文件重构

5.1前言

5.2 PE文件格式概述

5.2.1 PE文件结构布局

5.2.2 PE文件内存映射

5.2.3区块

5.2.4数据目录表

5.3 PE文件空间扩展

5.3.1利用PE区块空隙

5.3.2添加一个新的区块

5.4虚拟地址与文件偏移地址转换

5.5代码填充

5.6 "代码生成器"代码生成行为屏蔽

5.7本章小结

第6章 基于代码覆盖的多路径分析方法

6.1前言

6.2基于代码覆盖的多路径分析方法

6.2.1已遍历节点的标识

6.2.2对循环代码的处理

6.2.3多路径遍历

6.3原型系统与实验

6.3.1实验方案

6.3.2性能评价指标

6.3.3实验结果与分析

6.4本章小结

第7章 原型系统设计与实现

7.1前言

7.2原型系统实现

7.2.1系统框图

7.2.2文件类型判断

7.2.3单步执行

7.2.4指令截获

7.2.5影子内存

7.3实验结果

7.4本章小结

第8章 结论

8.1论文总结

8.2论文主要创新点

8.3后续研究方向

参考文献

致谢

在读期间发表的学术论文与取得的研究成果

展开▼

摘要

恶意代码(Malicious code,Malware)已成为互联网安全的主要威胁。随着计算机的普及和互联网的发展,恶意代码造成的危害也越来越严重。为了提高对恶意代码造成的网络攻击的应急响应速度,我们必须对恶意代码做出快速有效的分析。恶意代码分析的目的是提取恶意代码执行时表现出的行为(runtime behavior)、解析其意图及其实现机理,为恶意代码的检测和清除提供参考。而恶意代码作者为了对恶意代码进行保护,加大恶意代码分析的难度,往往通过加密、变形和加壳等多种技术手段隐藏自身代码特征,阻碍恶意代码机理分析和特征提取,躲避恶意代码检测。传统分析方法难以有效解决针对受保护的恶意代码的分析问题。 针对恶意代码分析与软件安全测评等业务的需要,本文重点分析了典型恶意代码软件保护关键技术以及恶意代码分析技术的最新进展,深入研究了典型自修改代码(Self-Modifying Code,SMC)的实现机理,在此基础上,针对典型SMC提出了一种基于硬件模拟器的逆向分析方法,取得以下几个方面的研究成果: (1)深入分析了典型SMC的实现机理,并初步建立了SMC模型。我们根据动态生成代码①的生成方式、修改模式以及存储模式等因素,首次对SMC作了初步的分类和建模,为后续的SMC分析方法奠定了基础。 (2)提出了一种基于硬件模拟器的可执行文件中动态生成代码的识别与提取方法。本方法通过在模拟器中单步执行目标可执行文件,并通过截获虚拟系统执行指令,使用影子内存监控程序执行过程中的内存写操作以及控制转移指令等信息,识别提取程序执行过程中动态释放到内存中并得到执行的代码,获取分析目标的数据信息。由于在硬件模拟器中对可执行文件进行动态分析,数据采集是通过模拟硬件实现,而不是将恶意代码放在真实的CPU上执行,因此对实际系统不造成任何影响。 (3)提出了一种基于硬件模拟器的动态链接库中动态生成代码的识别与提取方法。本方法在模拟器中使用动态链接库加载程序引导加载动态链接库,设置单步执行标志,仅使目标动态链接库文件中的指令在模拟器中单步执行,通过触发动态链接库中入口点等函数的执行,并通过截获虚拟系统执行指令,使用影子内存监控动态链接库中代码执行过程中的内存写操作以及控制转移指令等信息,识别提取其执行过程中动态释放到内存中并得到执行的代码,获取分析目标的数据信息。 (4)提出一种基于二进制文件重构的自修改代码分析方法。我们针对不同类型的SMC提出了相应的重构方法,即在不改变其代码行为的前提下将提取的动态生成代码恢复到原二进制文件中,生成完整的、可直接静态分析或运行的二进制文件。以此为基础,分析人员可利用传统分析方法对其进一步分析,提高了针对SMC的逆向分析能力。本方法原理简单,易实现,且具有较好的通用性,不仅适用于可执行文件,而且适用于动态链接库。 (5)提出了一种基于代码覆盖的多路径分析方法。基于代码覆盖的多路径分析方法重点解决了对循环代码的处理问题,通过标识判断条件节点,减少局部路径被重复遍历的次数,在保证分析效果的同时,提高分析系统的分析效率以及代码覆盖率。 (6)设计实现了一套SMC逆向分析原型系统,完成了SMC分析的相关实验,对文中基于二进制文件重构的自修改代码逆向分析方法的有效性,分析效率以及性能等方面进行了评估。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号