摘要 | 第1-5页 |
abstract | 第5-12页 |
第一章 绪论 | 第12-24页 |
·研究背景 | 第12-17页 |
·内存安全的定义与威胁 | 第12-14页 |
·内存安全的攻击方式 | 第14-17页 |
·国内外研究现状 | 第17-19页 |
·预备知识 | 第19-21页 |
·程序编译 | 第19页 |
·Clang编译器 | 第19-21页 |
·运行时验证 | 第21页 |
·本文的主要研究工作 | 第21-22页 |
·本文的内容安排 | 第22-24页 |
第二章 内存安全性检测技术综述 | 第24-37页 |
·静态分析技术 | 第24-26页 |
·路径分析 | 第24-25页 |
·模型化方法 | 第25-26页 |
·句法分析 | 第26页 |
·运行时验证技术 | 第26-34页 |
·基于对象技术 | 第26-27页 |
·扩展指针技术 | 第27-29页 |
·值验证技术 | 第29-31页 |
·影子内存技术 | 第31页 |
·地址随机化 | 第31-32页 |
·动态数据流/污点/牧羊技术 | 第32-33页 |
·签名过滤技术 | 第33-34页 |
·程序执行流更改 | 第34页 |
·分析讨论 | 第34-36页 |
·本章小结 | 第36-37页 |
第三章 数组越界检测 | 第37-43页 |
·数组越界检测原理分析 | 第37-39页 |
·常见数组越界的分类 | 第37-38页 |
·数组越界检测原理 | 第38-39页 |
·数组越界检测的设计细节 | 第39-42页 |
·数组访问越界 | 第39-40页 |
·指针访问越界 | 第40-41页 |
·函数间数组越界 | 第41页 |
·得到指针所指向空间的大小信息 | 第41-42页 |
·本章小结 | 第42-43页 |
第四章 数组越界检测的实现与实验 | 第43-49页 |
·原型设计 | 第43-44页 |
·插桩算法 | 第44-46页 |
·数组访问 | 第44页 |
·指针访问 | 第44-45页 |
·函数声明、定义和调用 | 第45-46页 |
·实验分析 | 第46-48页 |
·本章小结 | 第48-49页 |
第五章 改进的基于对象内存安全运行时验证技术 | 第49-58页 |
·传统基于对象检测技术分析 | 第49-51页 |
·技术原理 | 第49页 |
·技术缺陷 | 第49-51页 |
·改进的基于对象的内存安全运行时验证技术 | 第51-57页 |
·块地址范围记录技术描述 | 第51-53页 |
·块地址范围记录技术改进 | 第53页 |
·取值检测技术描述 | 第53-55页 |
·取值检测技术改进 | 第55页 |
·存储结构改进 | 第55-57页 |
·本章小结 | 第57-58页 |
第六章 改进的基于对象内存安全运行时验证技术实现与实验 | 第58-66页 |
·原型设计 | 第58-59页 |
·插桩算法 | 第59-64页 |
·块地址范围记录 | 第59-60页 |
·数组引用检测 | 第60-61页 |
·指针引用检测 | 第61页 |
·指针赋值运算 | 第61-63页 |
·库函数检测 | 第63-64页 |
·实验分析 | 第64-65页 |
·本章小结 | 第65-66页 |
第七章 总结与展望 | 第66-68页 |
·论文总结 | 第66-67页 |
·工作展望 | 第67-68页 |
参考文献 | 第68-74页 |
致谢 | 第74-75页 |
在学期间的研究成果及发表的学术论文 | 第75页 |