摘要 | 第5-7页 |
ABSTRACT | 第7-9页 |
第一章 绪论 | 第12-23页 |
1.1 缓冲区溢出攻击概述 | 第12-16页 |
1.1.1 程序中堆栈的概念 | 第12-14页 |
1.1.2 缓冲区溢出攻击 | 第14-16页 |
1.2 缓冲区溢出攻击防范 | 第16-18页 |
1.3 本论文研究的关键技术和组织架构 | 第18-20页 |
参考文献 | 第20-23页 |
第二章 GCC编译器与Clang编译器简介 | 第23-34页 |
2.1 GCC编译器简介 | 第23-29页 |
2.1.1 GCC编译器发展过程 | 第23页 |
2.1.2 GCC编译器工作过程 | 第23-28页 |
2.1.3 GCC编译器的安装 | 第28-29页 |
2.2 Clang编译器简介 | 第29-32页 |
2.2.1 Clang编译器框架 | 第29-31页 |
2.2.2 Clang编译器的安装 | 第31-32页 |
2.3 本章小结 | 第32页 |
参考文献 | 第32-34页 |
第三章 不同编译器安全编译选项的研究与实现 | 第34-59页 |
3.1 GCC编译器安全编译选项技术的研究与实现 | 第34-51页 |
3.1.1 整数溢出检测选项(-ftrapv) | 第35-46页 |
3.1.2 去除符号表选项 | 第46-51页 |
3.2 Clang编译器安全编译选项技术的研究与实现 | 第51-58页 |
3.2.1 去符号表选项 | 第52-54页 |
3.2.2 告警选项 | 第54-58页 |
3.3 本章小结 | 第58页 |
参考文献 | 第58-59页 |
第四章 微软MPX安全防护技术的研究与实现 | 第59-73页 |
4.1 MPX技术简介 | 第59-61页 |
4.2 MPX防护技术原理 | 第61-67页 |
4.2.1 硬件层面 | 第61-64页 |
4.2.2 操作系统层面 | 第64-66页 |
4.2.3 编译器层面 | 第66-67页 |
4.2.4 应用层面 | 第67页 |
4.3 Linux系统下MPX选项验证环境搭建 | 第67-70页 |
4.4 MPX功能验证 | 第70-71页 |
4.5 本章小结 | 第71-72页 |
参考文献 | 第72-73页 |
第五章 总结和展望 | 第73-75页 |
5.1 总结 | 第73-74页 |
5.2 展望 | 第74-75页 |
缩略词对照表 | 第75-76页 |
致谢 | 第76页 |