摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第10-18页 |
1.1 网络安全现状 | 第10-12页 |
1.2 栈溢出攻击的历史背景与现状 | 第12-13页 |
1.3 针对栈溢出攻击的防护方法研究现状及发展趋势 | 第13-14页 |
1.4 论文研究内容及结构安排 | 第14-15页 |
参考文献 | 第15-18页 |
第二章 栈溢出攻击手段和防护基本原理 | 第18-36页 |
2.1 Linux下进程地址空间的结构 | 第18-21页 |
2.1.1 Linux下进程的内存映像 | 第18-19页 |
2.1.2 函数栈帧 | 第19-21页 |
2.2 栈溢出介绍 | 第21-27页 |
2.2.1 栈溢出攻击手段 | 第21-22页 |
2.2.2 shellcode编写方法 | 第22-24页 |
2.2.3 栈溢出攻击实例 | 第24-27页 |
2.3 栈溢出防护基本原理 | 第27-32页 |
2.3.1 堆栈不可执行 | 第27-28页 |
2.3.2 正确规范编程 | 第28-29页 |
2.3.3 边界检查 | 第29-31页 |
2.3.4 程序指针完整性检查 | 第31-32页 |
2.4 GCC编译过程 | 第32-33页 |
2.5 本章小结 | 第33页 |
参考文献 | 第33-36页 |
第三章 针对栈溢出攻击的防护措施的研究 | 第36-50页 |
3.1 针对栈溢出行为的检查技术 | 第36-41页 |
3.1.1 栈检查原理 | 第36-37页 |
3.1.2 GCC源代码层面分析 | 第37-39页 |
3.1.3 二进制特性分析 | 第39-40页 |
3.1.4 局限性分析 | 第40-41页 |
3.2 堆栈不可执行技术 | 第41-44页 |
3.2.1 堆栈不可执行原理 | 第41-42页 |
3.2.2 二进制特性分析 | 第42-44页 |
3.2.3 局限性分析 | 第44页 |
3.3 堆栈保护技术 | 第44-47页 |
3.3.1 堆栈保护原理 | 第44-46页 |
3.3.2 二进制特性分析 | 第46-47页 |
3.3.3 局限性分析 | 第47页 |
3.4 本章小结 | 第47-48页 |
参考文献 | 第48-50页 |
第四章 针对栈溢出攻击的防护方案设计与实现 | 第50-60页 |
4.1 防护方案的设计和实现 | 第50-52页 |
4.1.1 实验方案流程 | 第50-51页 |
4.1.2 实验平台介绍 | 第51页 |
4.1.3 防护方案验证 | 第51-52页 |
4.2 防护方案测试及性能分析 | 第52-57页 |
4.2.1 对性能的影响分析 | 第53-56页 |
4.2.2 对程序规模的影响分析 | 第56-57页 |
4.3 本章小结 | 第57页 |
参考文献 | 第57-60页 |
第五章 总结与展望 | 第60-62页 |
5.1 总结 | 第60-61页 |
5.2 展望 | 第61-62页 |
缩略词对照表 | 第62-64页 |
致谢 | 第64-65页 |