基于虚拟机的关键信息提取与分析

基于虚拟机的关键信息提取与分析

论文摘要

可执行二进制代码的分析是分析程序行为特征的重要手段,是检测恶意代码的主要措施。随着软件技术的发展,加壳、反调试、代码混淆等抗分析技术手段提高了二进制代码的分析难度。针对这个问题,本文提出了一种基于虚拟机的关键信息提取与分析的方法,其核心思想是,在一个使用仿真技术的全系统虚拟机上运行操作系统,然后在处于仿真环境的操作系统中执行需要分析的二进制代码,通过截获二进制代码运行时产生的指令流信息,提取相关数据,并借助程序切片技术分析二进制代码的行为特征。基于该方法,本文设计并实现了一个原型系统。该系统通过对bochs虚拟机进行二次开发,能够高效地截获二进制代码运行时产生的指令流和数据流信息,然后使用静态特征分析、转移类指令分析、系统调用分析、内存读写分析、程序切片分析、密码算法分析等分析模块,对截获下来的信息进行分析,提取其关键的信息,并分析其行为特征。本文在该原型系统上进行了实验和分析。实验结果表明,本文所提出的二进制代码分析方法,能够有效地对抗加壳、反调试、代码混淆等抗分析技术手段,实现二进制代码分析的目的。本文对采用加壳、反调试、代码混淆等抗分析技术手段的二进制代码的分析方法进行了重点研究。本文的主要贡献在于:(1)通过对二进制代码、指令流和数据流的特点、抗分析技术的机理等进行研究,提出了一种基于虚拟机的二进制代码分析方法。传统的二进制代码分析方法更多的是关注静态的二进制代码或者程序运行时表现的行为,对于采用抗分析技术手段的二进制代码,传统的二进制代码分析方法能够获取的信息比较有限,难以分析二进制代码的行为特征。本文的新颖性在于,通过截获、分析二进制代码运行时的指令流和数据流信息来分析二进制代码。这种方法可以有效规避加壳、反调试、代码混淆等抗分析技术手段。(2)设计并实现了一个通用的截获运行时指令流和数据流的虚拟机。通过对开源虚拟机bochs进行二次开发,实现了一个能够截获运行时指令流和数据流信息的虚拟机。基于X86架构的Windows、Linux操作系统以及应用程序都可以在该虚拟机环境运行,具有通用性。(3)能够自动化分析程序行为特征。实现了一系列的软件工具,用于提取指令流和数据流信息中的关键信息,并自动化地分析二进制代码的行为特征。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 研究内容
  • 1.3 研究成果
  • 1.4 论文组织结构
  • 第二章 二进制代码分析的典型方法
  • 2.1 可执行文件与二进制代码
  • 2.2 典型的二进制代码分析方法
  • 2.2.1 静态方法
  • 2.2.2 动态方法
  • 2.2.3 二进制代码常用的分析工具
  • 2.3 抗分析技术手段的研究
  • 2.3.1 加壳
  • 2.3.2 反调试
  • 2.3.3 代码混淆
  • 2.3.4 静态和动态分析方法所面临的挑战
  • 2.4 二进制代码分析的国内外研究现状
  • 2.5 已有分析方法的不足
  • 第三章 二进制代码分析模型的研究
  • 3.1 INTEL 指令格式
  • 3.1.1 指令前缀
  • 3.1.2 操作码
  • 3.1.3 ModR/M
  • 3.1.4 SIB
  • 3.1.5 地址偏移
  • 3.1.6 立即数
  • 3.2 运行时指令流和数据流的特点
  • 3.2.1 指令流
  • 3.2.2 数据流
  • 3.3 程序切片技术的研究
  • 3.4 二进制代码分析模型
  • 3.4.1 运行时指令流和数据流的截获
  • 3.4.2 关键信息的提取与分析
  • 3.4.3 构建二进制代码分析模型
  • 3.5 本章小结
  • 第四章 基于虚拟机的关键信息提取与分析系统总体架构
  • 4.1 虚拟机技术概述
  • 4.1.1 进程级虚拟机
  • 4.1.2 系统级虚拟机
  • 4.2 运行时指令流和数据流的截获
  • 4.3 运行时指令流和数据流的分析
  • 4.4 总体构架
  • 4.5 本章小结
  • 第五章 基于虚拟机的关键信息提取与分析系统的实现
  • 5.1 指令流和数据流信息的截获
  • 5.1.1 虚拟机bochs 的介绍
  • 5.1.2 指令流和数据流截获模块的实现
  • 5.1.3 虚拟机的优化
  • 5.2 分析系统的实现
  • 5.2.1 预处理—二进制信息解析器
  • 5.2.2 静态特征分析提取模块
  • 5.2.3 转移类指令分析模块
  • 5.2.4 系统调用分析模块
  • 5.2.5 内存读写分析模块
  • 5.2.6 程序切片分析模块
  • 5.2.7 密码算法分析模块
  • 5.3 实例分析
  • 5.3.1 实验一
  • 5.3.2 实验二
  • 5.4 本章小结
  • 第六章 总结与展望
  • 6.1 全文总结
  • 6.2 工作展望
  • 参考文献
  • 致谢
  • 攻读硕士学位期间已发表或录用的学术论文
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    基于虚拟机的关键信息提取与分析
    下载Doc文档

    猜你喜欢