| 摘要 | 第5-6页 |
| Abstract | 第6-7页 |
| 目录 | 第8-10页 |
| 第一章 绪论 | 第10-16页 |
| 1.1 课题研究背景及意义 | 第10-11页 |
| 1.2 国内外研究现状 | 第11-14页 |
| 1.2.1 内核漏洞挖掘技术研究进展 | 第11-12页 |
| 1.2.2 模糊测试技术研究现状 | 第12-13页 |
| 1.2.3 程序静态/动态分析研究进展 | 第13-14页 |
| 1.3 本文研究内容 | 第14-15页 |
| 1.4 论文结构与章节安排 | 第15-16页 |
| 第二章 相关概念与技术基础 | 第16-32页 |
| 2.1 漏洞挖掘一般技术 | 第16-18页 |
| 2.2 典型设备驱动漏洞分析 | 第18-24页 |
| 2.2.1 DeviceloControl导致漏洞原因 | 第18-23页 |
| 2.2.2 实际漏洞分析 | 第23-24页 |
| 2.3 程序分析技术 | 第24-30页 |
| 2.3.1 符号执行简述 | 第25-26页 |
| 2.3.2 Z3求解器介绍 | 第26-27页 |
| 2.3.3 REIL中间语言介绍 | 第27-30页 |
| 2.4 本章小结 | 第30-32页 |
| 第三章 设备驱动模糊测试技术研究 | 第32-50页 |
| 3.1 内核接口信息获取 | 第32-40页 |
| 3.1.1 设备名的获取 | 第32-34页 |
| 3.1.2 搜寻IOCTL分发例程 | 第34-36页 |
| 3.1.3 搜寻有效的IOCTL码 | 第36-40页 |
| 3.2 DeviceIoControl模糊测试系统设计 | 第40-44页 |
| 3.2.1 测试用例的选择 | 第40-42页 |
| 3.2.2 错误/异常处理 | 第42-43页 |
| 3.2.3 日志记录 | 第43-44页 |
| 3.3 测试结果度量 | 第44-48页 |
| 3.4 本章小结 | 第48-50页 |
| 第四章 基于符号执行的二进制分析系统设计实现 | 第50-60页 |
| 4.1 原型系统总体设计 | 第50-51页 |
| 4.2 符号执行模块设计与实现 | 第51-58页 |
| 4.2.1 符号执行模块设计 | 第51-53页 |
| 4.2.2 符号执行模块实现 | 第53-58页 |
| 4.3 本章小结 | 第58-60页 |
| 第五章 实验及结果分析 | 第60-64页 |
| 5.1 实验设计与验证 | 第60-63页 |
| 5.1.1 内核模块接口获取对比 | 第60-61页 |
| 5.1.2 代码覆盖率对比分析 | 第61-62页 |
| 5.1.3 生成可达指定路径的输入 | 第62-63页 |
| 5.2 实验结果分析 | 第63页 |
| 5.3 本章小结 | 第63-64页 |
| 第六章 结束语 | 第64-66页 |
| 6.1 本文工作总结 | 第64-65页 |
| 6.2 下步工作展望 | 第65-66页 |
| 参考文献 | 第66-70页 |
| 致谢 | 第70-72页 |
| 个人简历、在学期间发表的论文与研究成果 | 第72页 |