二进制程序的符号执行与模糊测试在漏洞挖掘中的应用
需积分: 39 24 浏览量
更新于2024-08-10
收藏 2.93MB PDF 举报
"这篇博士学位论文探讨了在MATLAB环境中一维条形码的检测技术,并结合了模糊测试和校验和感知的概念。文章着重讨论了在符号执行和二进制程序分析中的挑战,尤其是在处理数组推理和精确地址符号化时遇到的问题。
在高级编程语言如MATLAB中,数组操作是常见的数据处理方式。然而,在符号执行过程中,当索引值是符号变量时,对数组的访问涉及到符号地址推理,这是一个复杂的问题。现有的工具如EXE和Klee已经支持符号索引,利用约束求解器中的数组读写谓词收集约束条件。例如,用`write`和`read`原语可以描述对数组的写入和读取操作,帮助求解器推断不同条件下的变量取值。
在二进制程序层面,情况变得更加复杂。由于缺乏高级语言中的变量概念,数组的起始地址和长度难以确定,使得精确的符号化地址推理变得困难。尽管有研究如文献[77]尝试解决这个问题,但它们通常局限于特定场景,如堆对象的管理,无法处理局部变量。BitBlaze是早期在二进制级别进行符号地址推理的系统,通过在每次内存读写时进行处理。
论文还提到了软件安全漏洞挖掘的重要性,尤其是针对二进制程序的安全漏洞挖掘。静态分析方法可能存在高误报率,而动态模糊测试虽误报率低,但受限于测试数据生成的质量,特别是在面对包含校验和的复杂数据格式时。为此,论文提出了校验和感知的模糊测试技术,以克服现有方法在处理含有校验和的测试数据时的不足。
论文的主要贡献在于首次提出将校验和考虑进模糊测试的方法,增强了在程序执行中畸形样本的深度传递,并在静态漏洞挖掘中改进了漏洞建模和遍历策略。这些研究进展对于提高二进制程序漏洞挖掘的效率和准确性具有重要意义。"
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-09-19 上传
2021-05-29 上传
2021-01-29 上传
2019-12-11 上传
2022-07-14 上传
2017-12-20 上传
郑天昊
- 粉丝: 40
- 资源: 3854
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建