程序缓冲区溢出漏洞检测方法的设计与验证
摘要 | 第1-5页 |
ABSTRACT | 第5-9页 |
第一章 引言 | 第9-12页 |
·课题背景及意义 | 第9页 |
·课题现状 | 第9-10页 |
·课题的主要内容 | 第10页 |
·论文组织结构 | 第10-12页 |
第二章 程序溢出漏洞 | 第12-19页 |
·溢出漏洞的产生 | 第12-14页 |
·溢出漏洞的分类 | 第14-19页 |
·直接缓冲区溢出漏洞和间接缓冲区溢出漏洞 | 第14-16页 |
·按缓冲区所在的内存进行分类 | 第16-17页 |
·按导致溢出的操作进行分类 | 第17-18页 |
·按控制流转移的途径分 | 第18-19页 |
第三章 溢出漏洞的防护与检测 | 第19-28页 |
·防护机制 | 第19-22页 |
·编译保护技术 | 第19-20页 |
·库函数链接保护 | 第20页 |
·不可执行缓冲区 | 第20-21页 |
·内核的强制访问控制 | 第21页 |
·硬件级别的保护 | 第21-22页 |
·溢出侦测 | 第22-28页 |
·带规格说明的静态溢出检测 | 第22-25页 |
·动态溢出检测 | 第25-28页 |
第四章 基于路径松弛的缺陷侦测 | 第28-46页 |
·单一路径上的不确定性 | 第28-29页 |
·带约束信息的测试 | 第29-38页 |
·基于类型的约束系统 | 第30-33页 |
·基于边界的约束系统 | 第33-36页 |
·基于区间链的约束系统 | 第36页 |
·基于符号表达式的约束系统 | 第36-38页 |
·整数数组的分析 | 第38-40页 |
·纯动态数组元素约束分析 | 第38-39页 |
·静态数组元素约束分析 | 第39-40页 |
·指针与指针数组的分析 | 第40-43页 |
·约束的传播 | 第40-41页 |
·基于不变式的数组元素约束分析 | 第41-43页 |
·追踪变量的选择 | 第43-46页 |
·危险操作相关变量 | 第43页 |
·危险操作相关变量的静态识别 | 第43-44页 |
·运行时不确定性分析与依赖关系提取 | 第44-45页 |
·待插装变量与位置的识别 | 第45-46页 |
第五章 组合测试与报错 | 第46-53页 |
·常量化与组合测试 | 第46-47页 |
·常量化的组合 | 第47-48页 |
·组合生成与优化 | 第48-50页 |
·报错机制 | 第50-53页 |
·基于分析精度的报错 | 第50页 |
·基于组合测试的报错 | 第50-51页 |
·基于经验的排序 | 第51页 |
·基于约束的排序 | 第51页 |
·基于运行时取值的排序 | 第51-53页 |
第六章 设计与验证 | 第53-63页 |
·SUIF2平台的基本结构 | 第53-54页 |
·PIT的结构 | 第54页 |
·程序简化 | 第54-55页 |
·运行时依赖关系提取和不确定性分析 | 第55-57页 |
·追踪目标分析 | 第57-59页 |
·约束系统的实现 | 第59-62页 |
·错误的报告 | 第62-63页 |
第七章 结束语 | 第63-64页 |
·论文工作总结 | 第63页 |
·问题和展望 | 第63-64页 |
参考文献 | 第64-67页 |
致谢 | 第67页 |