| 摘要 | 第1-5页 |
| ABSTRACT | 第5-8页 |
| 第一章 引言 | 第8-12页 |
| ·本课题研究意义 | 第8-9页 |
| ·缓冲区溢出防御国内外研究现状 | 第9-11页 |
| ·本文的主要工作 | 第11页 |
| ·本文的章节安排 | 第11-12页 |
| 第二章 缓冲区溢出攻击技术 | 第12-28页 |
| ·缓冲区溢出攻击技术简介 | 第12-13页 |
| ·普通缓冲区溢出攻击技术 | 第13-22页 |
| ·堆栈溢出攻击技术 | 第13-15页 |
| ·堆溢出攻击技术 | 第15-16页 |
| ·格式化字符串溢出攻击技术 | 第16-20页 |
| ·单字节溢出攻击技术 | 第20-22页 |
| ·流程跳转攻击技术 | 第22-23页 |
| ·覆盖返回地址 | 第22-23页 |
| ·覆盖函数指针 | 第23页 |
| ·shellcode的编写技术 | 第23-27页 |
| ·shellcode的编写方法 | 第24页 |
| ·shellcode的一般流程 | 第24-26页 |
| ·缓冲区溢出代码的筛选 | 第26-27页 |
| ·本章小结 | 第27-28页 |
| 第三章 地址空间随机化的关键技术 | 第28-45页 |
| ·Windows内核相关技术 | 第28-33页 |
| ·Native API | 第28页 |
| ·系统服务 | 第28-33页 |
| ·内存管理机制 | 第33-36页 |
| ·设备驱动程序开发技术 | 第36-44页 |
| ·使用设备驱动程序的目的 | 第36-37页 |
| ·驱动程序的组成 | 第37-39页 |
| ·加载卸载驱动程序 | 第39-41页 |
| ·重要的数据结构 | 第41-44页 |
| ·本章小结 | 第44-45页 |
| 第四章 基于地址空间随机化的溢出防御系统的设计和实现 | 第45-65页 |
| ·地址空间随机化定义 | 第45页 |
| ·总体设计 | 第45-46页 |
| ·功能目标 | 第46页 |
| ·总体结构 | 第46页 |
| ·动态链接库地址空间随机化设计实现 | 第46-53页 |
| ·一般动态链接库随机化设计实现 | 第47-52页 |
| ·特殊动态链接库随机化设计实现 | 第52-53页 |
| ·堆栈地址空间随机化设计实现 | 第53-58页 |
| ·主堆栈空间随机化设计实现 | 第54-56页 |
| ·辅助堆栈空间随机化设计实现 | 第56-58页 |
| ·堆空间随机化设计实现 | 第58-60页 |
| ·PEB/TEB地址空间随机化设计实现 | 第60-62页 |
| ·环境变量和命令行参数空间随机化设计实现 | 第62-63页 |
| ·虚拟地址描述符空间随机化设计实现 | 第63-64页 |
| ·本章小结 | 第64-65页 |
| 第五章 实验与评估 | 第65-69页 |
| ·溢出实验 | 第65-66页 |
| ·功能目标 | 第65页 |
| ·真实环境攻击测试 | 第65页 |
| ·复杂攻击测试 | 第65-66页 |
| ·性能评估 | 第66-68页 |
| ·本章小结 | 第68-69页 |
| 第六章 结论 | 第69-71页 |
| ·技术存在的局限性 | 第69-70页 |
| ·后续展望 | 第70-71页 |
| 致谢 | 第71-72页 |
| 参考文献 | 第72-75页 |
| 攻硕期间取得的研究成果 | 第75页 |