二进制程序漏洞挖掘:混合符号执行与模糊测试研究
需积分: 50 60 浏览量
更新于2024-08-10
收藏 2.93MB PDF 举报
"面向二进制程序的混合符号执行技术-基于matlab的一维条形码检测"
这篇博士学位论文探讨了面向二进制程序的混合符号执行技术,特别关注其在漏洞挖掘中的应用。混合符号执行是一种结合了动态和静态分析的技术,旨在克服传统符号执行的局限性,例如路径爆炸问题和处理矢量数据单元的挑战。
符号执行在处理依赖于系统API或第三方库的代码时,由于缺乏源代码,往往难以模拟这些调用的影响。例如,当涉及数组或字符串操作时,如果索引是符号变量,分析工具可能无法准确追踪赋值的具体位置,这在分析函数如`strncpy`时会遇到问题,无法确定实际拷贝了多少字符。
近年来,随着约束求解器和符号执行引擎性能的提升,研究人员开始关注提高漏洞挖掘的效率和效果,而不是追求完备性。Prefix是一个早期的符号执行工具,后来发展为Prefast,被微软用于源代码静态分析。Prefast通过抽象语法树转换、过程调用拓扑排序和路径约束检验,实现过程间的符号执行。它能检测指针相关的漏洞,如未初始化的指针引用和空指针解引用,并且在路径结束时检查资源泄露。为了控制路径爆炸,Prefix限制每个函数内检查的路径数量,并利用函数摘要加速后续的模拟执行。
面向二进制程序的漏洞挖掘比源代码级别的分析更具挑战性,因为商业软件通常不公开源代码,而且编译和链接过程可能导致新的漏洞。静态分析的误报率高,而动态模糊测试虽然误报率低,但依赖于有效的测试数据生成,对于复杂数据格式的测试效率较低。
论文的主要贡献在于提出了校验和感知的模糊测试方法,这是对现有动态漏洞挖掘技术的增强,解决了在遇到校验和检查机制时的局限性。这种方法增强了畸形样本在程序执行中的传递深度,改进了静态漏洞挖掘中的建模和遍历策略,提升了整体的漏洞发现能力。
这篇论文的研究成果对于提升二进制程序的安全性,尤其是针对那些无法获取源代码的系统,具有重要的理论和实践价值。通过混合符号执行和模糊测试的创新结合,为解决软件安全漏洞问题提供了新的思路和工具。
2021-09-13 上传
908 浏览量
113 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情

马运良
- 粉丝: 34
最新资源
- 利用SuperMap C++组件在Qt环境下自定义地图绘制技巧
- Portapps:Windows便携应用集合的介绍与使用
- MATLAB编程:模拟退火至神经网络算法合集
- 维美短信接口SDK与API文档详解
- Python实现简易21点游戏教程
- 一行代码实现Swift动画效果
- 手机商城零食网页项目源码下载与学习指南
- Maven集成JCenter存储库的步骤及配置
- 西门子2012年3月8日授权软件安装指南
- 高效测试Xamarin.Forms应用:使用FormsTest库进行自动化测试
- 深入金山卫士开源代码项目:学习C语言与C++实践
- C#简易贪食蛇游戏编程及扩展指南
- 企业级HTML5网页模板及相关技术源代码包
- Jive SDP解析器:无需额外依赖的Java SDP解析解决方案
- Ruby定时调度工具rufus-scheduler深度解析
- 自定义Android AutoCompleteTextView的实践指南