| 摘要 | 第1-4页 |
| Abstract | 第4-8页 |
| 第1章 引言 | 第8-16页 |
| ·背景介绍 | 第8-9页 |
| ·国内外研究现状 | 第9-14页 |
| ·动态分析 | 第10-11页 |
| ·静态分析 | 第11-13页 |
| ·符号执行 | 第13页 |
| ·漏洞检测在实际中的应用 | 第13-14页 |
| ·本文提出的工具或原型系统 | 第14页 |
| ·论文结构安排 | 第14-16页 |
| 第2章 检测 Linux 内核中驱动模块的整数溢出漏洞 | 第16-30页 |
| ·概述 | 第16-17页 |
| ·整数溢出 | 第16页 |
| ·整数溢出语义 | 第16-17页 |
| ·相关工作 | 第17-22页 |
| ·静态分析工具 Kint | 第17-19页 |
| ·选择性符号执行 S2E | 第19-22页 |
| ·设计与实现 | 第22-27页 |
| ·检测流程 | 第22-23页 |
| ·改进的 Kint | 第23-24页 |
| ·插桩源码 | 第24-25页 |
| ·整数溢出检测 | 第25-26页 |
| ·插入符号值 | 第26-27页 |
| ·实验结果和分析 | 第27-29页 |
| ·实验环境 | 第27页 |
| ·实验结果 | 第27-29页 |
| ·小结 | 第29-30页 |
| 第3章 符号化硬件检测 Linux 驱动中整数溢出漏洞 | 第30-46页 |
| ·概述 | 第30-31页 |
| ·驱动测试的问题 | 第30-31页 |
| ·符号化设备基础 | 第31页 |
| ·相关工作 | 第31-38页 |
| ·SymDrive 概述 | 第31-32页 |
| ·SymDrive 总体结构 | 第32页 |
| ·SymGen 静态分析和代码生成 | 第32-34页 |
| ·SymDrive 测试框架和检测规则 | 第34-35页 |
| ·SymDrive 符号化设备 | 第35页 |
| ·SymDrive 优化策略 | 第35-37页 |
| ·SymDrive 运行结果 | 第37-38页 |
| ·设计与实现 | 第38-42页 |
| ·设备探测 | 第38-39页 |
| ·符号化 I/O | 第39-40页 |
| ·符号化中断 | 第40-41页 |
| ·符号化 DMA | 第41-42页 |
| ·改进的符号化设备 | 第42页 |
| ·插入符号值 | 第42页 |
| ·执行流程 | 第42页 |
| ·实验结果和分析 | 第42-44页 |
| ·实验环境 | 第43页 |
| ·实验结果 | 第43-44页 |
| ·小结 | 第44-46页 |
| 第4章 符号驱动环境 | 第46-58页 |
| ·概述 | 第46-47页 |
| ·驱动环境简介 | 第46-47页 |
| ·相关工作 | 第47-51页 |
| ·静态分析工具 SDV | 第47-49页 |
| ·集成测试平台 LDV | 第49页 |
| ·符号执行工具 KLEE | 第49-51页 |
| ·设计与实现 | 第51-55页 |
| ·符号驱动环境总体设计 | 第51-52页 |
| ·系统模型 | 第52-53页 |
| ·驱动与内核接口的交互 | 第53-54页 |
| ·驱动与设备的交互 | 第54-55页 |
| ·实验结果和分析 | 第55-56页 |
| ·实验环境 | 第55页 |
| ·实验结果 | 第55-56页 |
| ·小结 | 第56-58页 |
| 第5章 结论与展望 | 第58-60页 |
| ·结论 | 第58页 |
| ·展望 | 第58-60页 |
| 参考文献 | 第60-62页 |
| 致谢 | 第62-64页 |
| 个人简历、在学期间发表的学术论文与研究成果 | 第6页 |