动态符号执行辅助的fuzzing技术的研究与实现
发布时间:2023-02-06 09:52
随着信息技术的快速发展,软件在人们生活中的应用越加广泛、深入,其安全性也越发受到重视。Fuzzing作为一种高效、实用的软件测试技术,其在发现程序错误、漏洞等问题方面表现突出,是软件安全领域内一项备受关注的技术。近年来,对fuzzing技术的研究集中在减少其盲目性、提高其准确性方面。与之相比,动态符号执行通过符号化程序输入、收集并求解路径约束来生成高质量的测试用例,该技术能够精确覆盖程序路径,但运行速度较慢。两种技术优势互补的特性使得将其结合使用成为近年来的一个研究热点,目前在该方向上已取得初步研究成果。本文的工作聚焦在如何更加有效地结合fuzzing和动态符号执行这两种技术,以使它们更大程度上发挥出各自的优势。具体来说,针对目前该方向上存在的程序路径漏解问题,本文分析了其背后的原因,并提出了一个改进的程序路径记录方法来解决该问题。本文运用提出的方法构建了一个二进制程序分析工具Digger。该工具支持Linux系统上64位和32位的程序,能够处理从文件读取数据的程序,且能够支持被测程序附加其他参数。本文在人工构建的程序和现实中的应用(如coreutils工具集、gif2png等)上进行...
【文章页数】:52 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景和意义
1.1.1 研究方向的选择
1.1.2 目标程序的选择
1.2 研究现状
1.2.1 KleeFL
1.2.2 TaintScope
1.2.3 Driller
1.2.4 Syzkaller
1.2.5 LibFuzzer
1.3 研究内容
1.4 本文工作和成果
1.5 本文结构
第二章 背景知识
2.1 Fuzzing
2.1.1 Fuzzing概述
2.1.2 基于变异和语法的fuzzing
2.1.3 黑盒、白盒和灰盒fuzzing
2.1.4 AFL
2.2 符号执行
2.2.1 符号执行概述
2.2.2 静态和动态符号执行
2.2.3 Angr
2.3 代码插桩
2.3.1 代码插桩概述
2.3.2 代码插桩的设计
2.3.3 代码插桩的应用场景
2.3.4 DynamoRIO
第三章 问题详述
3.1 问题原因分析
3.2 实例分析
第四章 系统设计
4.1 解决方案及算法
4.2 系统架构
4.2.1 调度模块
4.2.2 FUZZING模块
4.2.3 动态符号执行模块
4.3 系统流程
第五章 系统实现
5.1 工具选取
5.2 关键技术
5.2.1 AFL与DynamoRIO的结合
5.2.2 C与Python的结合
第六章 实验评估
6.1 评估指标
6.1.1 覆盖率
6.1.2 程序错误
6.2 测试对象
6.2.1 示例程序
6.2.2 coreutils工具集
6.2.3 实际应用程序
6.3 结果及分析
6.3.1 实验1
6.3.2 实验2
6.3.3 实验3
6.3.4 实验4
第七章 总结与展望
7.1 工作总结
7.2 工作展望
参考文献
致谢
攻读学位期间发表的学术论文目录
本文编号:3735778
【文章页数】:52 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景和意义
1.1.1 研究方向的选择
1.1.2 目标程序的选择
1.2 研究现状
1.2.1 KleeFL
1.2.2 TaintScope
1.2.3 Driller
1.2.4 Syzkaller
1.2.5 LibFuzzer
1.3 研究内容
1.4 本文工作和成果
1.5 本文结构
第二章 背景知识
2.1 Fuzzing
2.1.1 Fuzzing概述
2.1.2 基于变异和语法的fuzzing
2.1.3 黑盒、白盒和灰盒fuzzing
2.1.4 AFL
2.2 符号执行
2.2.1 符号执行概述
2.2.2 静态和动态符号执行
2.2.3 Angr
2.3 代码插桩
2.3.1 代码插桩概述
2.3.2 代码插桩的设计
2.3.3 代码插桩的应用场景
2.3.4 DynamoRIO
第三章 问题详述
3.1 问题原因分析
3.2 实例分析
第四章 系统设计
4.1 解决方案及算法
4.2 系统架构
4.2.1 调度模块
4.2.2 FUZZING模块
4.2.3 动态符号执行模块
4.3 系统流程
第五章 系统实现
5.1 工具选取
5.2 关键技术
5.2.1 AFL与DynamoRIO的结合
5.2.2 C与Python的结合
第六章 实验评估
6.1 评估指标
6.1.1 覆盖率
6.1.2 程序错误
6.2 测试对象
6.2.1 示例程序
6.2.2 coreutils工具集
6.2.3 实际应用程序
6.3 结果及分析
6.3.1 实验1
6.3.2 实验2
6.3.3 实验3
6.3.4 实验4
第七章 总结与展望
7.1 工作总结
7.2 工作展望
参考文献
致谢
攻读学位期间发表的学术论文目录
本文编号:3735778
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3735778.html