基于模糊测试的漏洞挖掘技术研究
发布时间:2023-04-23 02:00
近些年漏洞发现的数量与速度都远远超过往年,全球披露漏洞数量的爆发式增长在某种程度上是由于自动化漏洞挖掘技术的应用,自动化漏洞挖掘已经成为手动漏洞挖掘的有力补充。模糊测试作为自动化漏洞挖掘技术中的典型代表,为漏洞的自动化挖掘做出了巨大贡献。但现有的许多漏洞挖掘方案都是针对白盒模式的,在没有程序源代码的情况下这些方案不能达到预期目的。尽管黑盒模式的漏洞挖掘可以在不依赖源代码的情况下完成,但其漏洞挖掘的效果并不理想。为了解决在没有源代码情况下的自动漏洞挖掘问题,同时兼顾漏洞挖掘的效率,本文提出了一个针对二进制程序的灰盒漏洞挖掘模型GVDM。该模型通过跟踪路径覆盖与在程序运行时应用动态二进制插桩技术来辅助推断应用程序的内部结构。在样本选择阶段利用模拟退火和遗传算法来优先选择那些可以更多地执行低频路径的样本。这些被选择的样本相较于传统方案生成的样本在漏洞挖掘时可以有更好的表现,可以提高漏洞挖掘的效率。本文基于所提出的针对二进制程序的灰盒漏洞挖掘模型,实现了一个灰盒漏洞挖掘工具的原型系统Owl。LAVA-M是一个用于比较漏洞挖掘效果的基准数据集,在LAVA-M上的最终实验结果表明:Owl总计发现了...
【文章页数】:60 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第一章 引言
1.1 研究背景
1.2 国内外研究概况
1.2.1 手动漏洞挖掘
1.2.2 自动漏洞挖掘
1.3 研究内容
1.4 论文结构安排
第二章 自动漏洞挖掘相关技术
2.1 静态分析
2.2 动态分析
2.2.1 插桩技术
2.2.2 污点分析
2.3 符号执行
2.3.1 路径爆炸
2.3.2 符号执行与模糊测试
2.4 模糊测试
2.4.1 按被测试程序提供的信息划分
2.4.2 按输入样本的生成方式划分
2.4.3 按路径探索的策略划分
2.4.4 针对模糊测试技术的优化
2.5 本章小结
第三章 灰盒漏洞挖掘模型GVDM
3.1 灰盒漏洞挖掘模型
3.2 畸变策略
3.3 样本选择
3.3.1 低频路径
3.3.2 启发式算法
3.4 运行时跟踪
3.4.1 覆盖度跟踪
3.4.2 Bug识别
3.5 符号执行
3.6 本章小结
第四章 灰盒漏洞挖掘原型系统Owl
4.1 样本畸变
4.1.1 常量、字符串提取
4.1.2 交叉
4.2 运行时跟踪
4.2.1 边的计算
4.2.2 崩溃分类
4.3 样本选择
4.3.1 模拟退火
4.3.2 适应度计算
4.4 符号执行
4.5 本章小结
第五章 实验评估
5.1 实验环境
5.2 实验分析
5.3 uniq crashes
5.4 本章小结
第六章 总结与展望
6.1 工作总结
6.1.1 设计局限
6.2 未来工作
参考文献
附录
在学期间的研究成果
致谢
本文编号:3798853
【文章页数】:60 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第一章 引言
1.1 研究背景
1.2 国内外研究概况
1.2.1 手动漏洞挖掘
1.2.2 自动漏洞挖掘
1.3 研究内容
1.4 论文结构安排
第二章 自动漏洞挖掘相关技术
2.1 静态分析
2.2 动态分析
2.2.1 插桩技术
2.2.2 污点分析
2.3 符号执行
2.3.1 路径爆炸
2.3.2 符号执行与模糊测试
2.4 模糊测试
2.4.1 按被测试程序提供的信息划分
2.4.2 按输入样本的生成方式划分
2.4.3 按路径探索的策略划分
2.4.4 针对模糊测试技术的优化
2.5 本章小结
第三章 灰盒漏洞挖掘模型GVDM
3.1 灰盒漏洞挖掘模型
3.2 畸变策略
3.3 样本选择
3.3.1 低频路径
3.3.2 启发式算法
3.4 运行时跟踪
3.4.1 覆盖度跟踪
3.4.2 Bug识别
3.5 符号执行
3.6 本章小结
第四章 灰盒漏洞挖掘原型系统Owl
4.1 样本畸变
4.1.1 常量、字符串提取
4.1.2 交叉
4.2 运行时跟踪
4.2.1 边的计算
4.2.2 崩溃分类
4.3 样本选择
4.3.1 模拟退火
4.3.2 适应度计算
4.4 符号执行
4.5 本章小结
第五章 实验评估
5.1 实验环境
5.2 实验分析
5.3 uniq crashes
5.4 本章小结
第六章 总结与展望
6.1 工作总结
6.1.1 设计局限
6.2 未来工作
参考文献
附录
在学期间的研究成果
致谢
本文编号:3798853
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3798853.html