学位论文 > 优秀研究生学位论文题录展示

基于函数摘要的二进制漏洞挖掘技术研究

作 者: 杨俊
导 师: 蒋凡
学 校: 中国科学技术大学
专 业: 计算机体系结构
关键词: 半模拟执行 漏洞挖掘 静态分析 函数摘要 中间语言 过程内分析 过程间分析 VSA算法 DDA算法 污点传播 符号执行 约束求解
分类号: TP309
类 型: 硕士论文
年 份: 2011年
下 载: 138次
引 用: 1次
阅 读: 论文下载
 

内容摘要


由于软件以及网络的普及和迅猛发展,软件安全越来越受到人们的重视。传统的自动化程序分析工具,通过在源代码上分析寻找软件缺陷;而现实世界中的大多数软件无法得到源代码,因此直接针对二进制代码的自动化分析工具有很广泛的应用前景。然而,由于二进制代码缺乏必要的类型信息和函数逻辑信息,直接针对二进制代码的分析非常困难;尤其是静态分析工具,无论是国内外都没有可以用于分析现实世界软件的有效的工具。针对这一迫切且具有挑战性的需求,本论文提出了一种适用于二进制代码静态分析的方法。该方法基于函数摘要,通过过程内分析和过程间分析建立函数摘要,在函数摘要的基础上进行污点传播挖掘可疑的漏洞。首先将汇编代码转化成eREIL中间语言形式,然后建立函数摘要。在过程内分析的过程中,通过采用半模拟执行的方法来提高精度和效率。过程内分析首先通过过程内逆向切片将指令集分为两个集合,一个用于VSA算法,用于精确地跟踪内存地址;一个用于DDA算法,用于跟踪数据依赖关系。此外,通过与其他技术的整合,如符号执行、Fuzzing等,我们消除了各种技术的缺点,实现了优势互补。我们基于工业级工具Binnavi实现了上述算法的实用工具Loong Checker。在工具的实现过程中,我们通过一系列创新,如约束的整合、库函数模拟等来使得核心算法更为实用有效。利用Loong Checker我们验证三款常用软件Serenity player、FoxPlayer、KingSoft Office Writer (WPS)上的已知漏洞。此外在WPS上,我们还发现了三个未知的0day漏洞。在大型软件上挖掘漏洞的实验,不仅证明我们工具的有效性,也证明了工具的可用性。

全文目录


摘要  4-5
ABSTRACT  5-10
第1章 引言  10-18
  1.1 研究背景  10
  1.2 二进制自动化漏洞挖掘的困难  10-11
  1.3 相关工作  11-16
    1.3.1 反编译  12-13
    1.3.2 符号执行  13-14
    1.3.3 Fuzzing  14
    1.3.4 污点传播  14-15
    1.3.5 数据流分析  15
    1.3.6 抽象解释  15
    1.3.7 别名分析  15-16
    1.3.8 切片技术  16
  1.4 本文的主要工作与内容安排  16-18
第2章 基于摘要的二进制分析  18-70
  2.1 扩展的逆向分析语言eREIL  18-21
    2.1.1 REIL 介绍  19
    2.1.2 扩展的eREIL  19-20
    2.1.3 eREIL 的建立方法  20-21
  2.2 整体分析过程semi-simulation  21-26
    2.2.1 框架结构  22-23
    2.2.2 过程内分析简介  23-25
    2.2.3 过程间分析简介  25-26
    2.2.4 污点传播简介  26
  2.3 类型与值系统  26-29
    2.3.1 抽象模型  26-28
    2.3.2 构造类型推断系统  28-29
  2.4 过程内分析  29-42
    2.4.1 逆向切片  29-33
    2.4.2 函数摘要结构  33-34
    2.4.3 类型推断  34-36
    2.4.4 半模拟执行semi-simulation  36-42
  2.5 过程间分析  42-51
    2.5.1 过程间分析算法  43
    2.5.2 地址跳转问题  43-48
    2.5.3 递归函数问题  48-50
    2.5.4 信息膨胀问题  50-51
  2.6 污点传播  51-52
  2.7 完整示例  52-57
    2.7.1 逆向切片  54-55
    2.7.2 半模拟执行  55-56
    2.7.3 过程间分析  56-57
    2.7.4 污点传播  57
  2.8 约束收集  57-58
    2.8.1 约束简介  57-58
    2.8.2 约束记录  58
  2.9 实现细节  58-70
    2.9.1 Loong Checker 整体介绍  58-59
    2.9.2 功能详解  59-63
    2.9.3 外围功能实现  63-70
第3章 与其他技术的整合  70-74
  3.1 符号执行  70-72
    3.1.1 符号执行简介  70-71
    3.1.2 符号执行与semi-simulation 的整合  71-72
  3.2 Fuzzing  72-74
    3.2.1 Fuzzing 简介  72-73
    3.2.2 Fuzzing 与semi-simulation 的整合  73-74
第4章 实验与结果分析  74-80
  4.1 实验准备  74-76
    4.1.1 实验环境搭建  74-75
    4.1.2 目标软件选取  75-76
  4.2 实验数据及分析  76-80
    4.2.1 漏洞验证  76-78
    4.2.2 0day 漏洞挖掘  78-80
第5章 结束语  80-84
  5.1 工作总结  80
  5.2 存在的问题  80-81
  5.3 未来的工作  81-84
参考文献  84-88
图索引  88-89
表索引  89-90
致谢  90-91
在读期间发表的学术论文与取得的研究成果  91

相似论文

  1. 基于约束图的服装参数化制板技术,TS941.2
  2. 面向领域的数据库问答系统关键技术研究,TP311.13
  3. 日本小学音乐科教材分析研究,G623.71
  4. 基于遗传算法的模糊测试技术研究,TP311.53
  5. 基于多粒度依赖关系图的变更影响分析方法研究,TP311.53
  6. 永磁接触器设计及静动态特性分析,TM572.1
  7. 基于多样化对象所有权的软件可信性质研究,TP311.52
  8. 基于二进制代码的动态符号执行工具,TP309
  9. 基于动态符号执行的代码分析工具的研究,TP309
  10. 方滑枕变形处理及补偿的研究,TG548
  11. PC200路缘石滑模机关键技术研究,U415.5
  12. 齿轮箱壳体的静力和振动阻尼研究,TH113
  13. 天线转台轴承齿轮系统有限元建模与分析,TH132.41
  14. 新型铝锭码垛机械手动静态性能分析与优化,TP241
  15. Fuzzing漏洞挖掘与溢出利用分析技术研究,TP393.08
  16. 基于IDA的代码解析与中间语言翻译,TP391.2
  17. ARM反编译中的类型分析技术研究,TP368.1
  18. 基于A-S模型的企业所得税逃税影响因素及治理对策研究,F812.42
  19. 双机架可逆冷轧机的静态特性和动态特性分析,TG333
  20. 网络安全协议的模型检测分析及验证系统,TP393.08
  21. 恶意代码检测及其行为分析,TP393.08

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密
© 2012 www.xueweilunwen.com