学位论文 > 优秀研究生学位论文题录展示
基于函数摘要的二进制漏洞挖掘技术研究
作 者: 杨俊
导 师: 蒋凡
学 校: 中国科学技术大学
专 业: 计算机体系结构
关键词: 半模拟执行 漏洞挖掘 静态分析 函数摘要 中间语言 过程内分析 过程间分析 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
|
相似论文
- 基于约束图的服装参数化制板技术,TS941.2
- 面向领域的数据库问答系统关键技术研究,TP311.13
- 日本小学音乐科教材分析研究,G623.71
- 基于遗传算法的模糊测试技术研究,TP311.53
- 基于多粒度依赖关系图的变更影响分析方法研究,TP311.53
- 永磁接触器设计及静动态特性分析,TM572.1
- 基于多样化对象所有权的软件可信性质研究,TP311.52
- 基于二进制代码的动态符号执行工具,TP309
- 基于动态符号执行的代码分析工具的研究,TP309
- 方滑枕变形处理及补偿的研究,TG548
- PC200路缘石滑模机关键技术研究,U415.5
- 齿轮箱壳体的静力和振动阻尼研究,TH113
- 天线转台轴承齿轮系统有限元建模与分析,TH132.41
- 新型铝锭码垛机械手动静态性能分析与优化,TP241
- Fuzzing漏洞挖掘与溢出利用分析技术研究,TP393.08
- 基于IDA的代码解析与中间语言翻译,TP391.2
- ARM反编译中的类型分析技术研究,TP368.1
- 基于A-S模型的企业所得税逃税影响因素及治理对策研究,F812.42
- 双机架可逆冷轧机的静态特性和动态特性分析,TG333
- 网络安全协议的模型检测分析及验证系统,TP393.08
- 恶意代码检测及其行为分析,TP393.08
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 一般性问题 > 安全保密
© 2012 www.xueweilunwen.com
|