二进制程序漏洞挖掘:roBDD技术与模糊测试新方法
需积分: 39 157 浏览量
更新于2024-08-10
收藏 2.93MB PDF 举报
"这篇博士学位论文主要探讨了基于roBDD( Reduced Ordered Binary Decision Diagram)的集合表达在细颗粒度污点分析技术中的应用,特别是在一维条形码检测中的使用。roBDD是一种优化后的二元决策图,常用于布尔函数的表示。论文指出,在x86指令层进行细颗粒度污点分析时,简单的二元操作可能导致复杂的集合合并,影响性能。BDD由一个根节点和两个终节点(标记为0和1)组成,其余节点的出度为2,分别代表变量的True和False状态。一条路径从根节点到终节点1表示布尔函数为真的变量赋值组合。roBDD通过优化减少了存储和操作的复杂性。论文还提到了软件安全漏洞的重要性,尤其是针对二进制程序的漏洞挖掘,因为许多软件不公开源代码,且编译过程可能引入新的漏洞。静态分析误报率高,动态模糊测试则受限于测试数据生成,论文提出了校验和感知的模糊测试方法来解决这些问题。"
在软件安全领域,漏洞挖掘是关键任务,因为软件安全漏洞是信息安全风险的主要来源。面向源代码的漏洞挖掘虽然取得了进展,但面对商业利益和知识产权保护,许多软件的源代码不对外公开,这促使人们转向二进制程序的安全漏洞挖掘。然而,这带来了新挑战,如静态分析的误报率和动态模糊测试的数据生成难题。
roBDD在此背景下作为一种有效的工具,它能够简洁高效地表示布尔函数,特别适合处理x86指令层的复杂集合操作。roBDD相比于基本的BDD,通过排序和压缩减少了冗余,提高了效率。在二进制程序分析中,roBDD可以帮助实现更精确的污点分析,从而更好地理解代码执行路径和潜在的漏洞。
论文的主要贡献在于提出了校验和感知的模糊测试技术,以应对那些包含校验和检查的复杂数据格式,这是现有模糊测试方法的局限。通过这种方式,动态漏洞挖掘能够更有效地穿透程序,提高发现漏洞的可能性,降低了误报率,增强了测试覆盖率,从而有助于提升软件安全性。
2024-03-02 上传
2023-07-22 上传
2024-10-30 上传
2022-07-15 上传
233 浏览量
572 浏览量
Fesgrome
- 粉丝: 37
- 资源: 3812
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析