摘要 | 第4-5页 |
Abstract | 第5页 |
图录 | 第9-11页 |
表录 | 第11-12页 |
第一章 绪论 | 第12-20页 |
1.1 课题背景及意义 | 第12-13页 |
1.2 国内外研究现状 | 第13-17页 |
1.2.1 手工测试 | 第13页 |
1.2.2 Fuzzing 测试 | 第13-15页 |
1.2.3 二进制比对 | 第15页 |
1.2.4 静态分析 | 第15-16页 |
1.2.5 动态分析 | 第16-17页 |
1.2.6 研究必要性 | 第17页 |
1.3 研究目标与内容 | 第17-18页 |
1.4 论文结构安排 | 第18-20页 |
第二章 HEX-RAYS 反编译基础 | 第20-29页 |
2.1 HEX-RAYS 反编译器简介 | 第20页 |
2.2 基于反编译信息的 A-AST | 第20-22页 |
2.3 HEX-RAYS 反编译结果辅助修正 | 第22-28页 |
2.3.1 Hex-Rays 反编译常见错误 | 第23-26页 |
2.3.2 基于动态二进制分析的反编译结果修正 | 第26-27页 |
2.3.3 基于库函数参数匹配的反编译结果修正 | 第27-28页 |
2.4 小结 | 第28-29页 |
第三章 基于漏洞模式的缓冲区溢出脆弱点定位 | 第29-42页 |
3.1 缓冲区溢出概述 | 第29-30页 |
3.2 缓冲区溢出漏洞模式 | 第30-33页 |
3.2.1 库函数调用出错模式 | 第31-32页 |
3.2.2 循环拷贝越界出错模式 | 第32-33页 |
3.3 基于 A-AST 的库函数调用出错检测 | 第33-36页 |
3.3.1 库函数调用出错模式属性信息提取 | 第33-34页 |
3.3.2 构建自动机进行过程内溢出脆弱点检测 | 第34-36页 |
3.4 基于 A-AST 的循环拷贝越界出错检测 | 第36-41页 |
3.4.1 BOPL 检测难点 | 第36-37页 |
3.4.2 模式的形式化定义 | 第37-40页 |
3.4.3 BOPL 检测过程 | 第40-41页 |
3.5 小结 | 第41-42页 |
第四章 基于数据流跟踪的缓冲区溢出漏洞筛选 | 第42-56页 |
4.1 基于数据流跟踪的缓冲区溢出漏洞挖掘原理 | 第42-45页 |
4.2 基于反向数据关联性的过程内缓冲区溢出漏洞筛选 | 第45-49页 |
4.2.1 反向数据关联性定义 | 第45页 |
4.2.2 基于 A-AST 的反向数据关联性信息提取 | 第45-47页 |
4.2.3 反向数据关联性辅助过程内漏洞筛选 | 第47-49页 |
4.3 基于反向数据流跟踪的过程间缓冲区溢出漏洞筛选 | 第49-55页 |
4.3.1 基于 A-AST 的函数摘要信息提取 | 第50-52页 |
4.3.2 关键变量选取 | 第52页 |
4.3.3 污点源标记 | 第52-53页 |
4.3.4 过程间反向数据流跟踪辅助漏洞挖掘 | 第53-55页 |
4.4 小结 | 第55-56页 |
第五章 原型系统设计与实现 | 第56-68页 |
5.1 系统框架 | 第56-57页 |
5.2 漏洞模式库的建立 | 第57页 |
5.3 关联规则库的建立 | 第57-58页 |
5.4 反编译结果修正模块的设计与实现 | 第58-62页 |
5.4.1 A-AST 构建 | 第58-60页 |
5.4.2 间接调用识别 | 第60-61页 |
5.4.3 死代码识别 | 第61页 |
5.4.4 数据类型识别错误修复 | 第61-62页 |
5.5 数据关联性分析模块的设计与实现 | 第62-63页 |
5.5.1 模块设计思路 | 第62页 |
5.5.2 关键变量提取 | 第62页 |
5.5.3 数据关联性信息提取 | 第62-63页 |
5.6 函数摘要提取模块的设计与实现 | 第63-64页 |
5.6.1 函数调用图构造 | 第63-64页 |
5.6.2 函数摘要信息获取 | 第64页 |
5.7 漏洞检测模块的设计与实现 | 第64-67页 |
5.7.1 基于漏洞模式的缓冲区溢出脆弱点定位 | 第64-65页 |
5.7.2 基于数据流跟踪的缓冲区溢出漏洞筛选 | 第65-67页 |
5.8 小结 | 第67-68页 |
第六章 系统测试及结果分析 | 第68-76页 |
6.1 测试环境 | 第68页 |
6.2 反编译结果修正功能测试 | 第68-70页 |
6.3 漏洞检测功能测试 | 第70-74页 |
6.3.1 已知漏洞验证 | 第70-72页 |
6.3.2 未知漏洞挖掘 | 第72-74页 |
6.4 原型系统性能测试 | 第74-75页 |
6.5 小结 | 第75-76页 |
结束语 | 第76-78页 |
致谢 | 第78-79页 |
参考文献 | 第79-82页 |
作者简历 | 第82页 |