基于静态分析的软件内存漏洞检测
摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第9-15页 |
1.1 研究背景 | 第9-10页 |
1.2 研究现状 | 第10-13页 |
1.2.1 动态测试 | 第10-11页 |
1.2.2 静态测试 | 第11-13页 |
1.3 本文主要工作 | 第13-14页 |
1.4 论文的组织结构 | 第14-15页 |
第二章 符号执行概述 | 第15-21页 |
2.1 符号执行基本原理 | 第15-18页 |
2.1.1 程序源代码分析 | 第17页 |
2.1.2 内存模型 | 第17-18页 |
2.1.3 约束求解器 | 第18页 |
2.1.4 检测规则 | 第18页 |
2.1.5 结果报表 | 第18页 |
2.2 符号执行关键技术和挑战 | 第18-19页 |
2.2.1 路径爆炸 | 第18-19页 |
2.2.2 内存模型不精确 | 第19页 |
2.2.3 复杂数据结构分析 | 第19页 |
2.3 本章小结 | 第19-21页 |
第三章 层级内存模型 | 第21-29页 |
3.1 内存模型面临的挑战 | 第21-23页 |
3.2 层级内存模型语义表示 | 第23-24页 |
3.3 内存域的层级关系 | 第24页 |
3.4 层级内存模型类型转换 | 第24-26页 |
3.5 层级内存模型与语言 | 第26-28页 |
3.6 本章小结 | 第28-29页 |
第四章 新型静态检测框架设计 | 第29-37页 |
4.1 静态检测系统主体结构 | 第29-31页 |
4.2 静态检测器模块设计 | 第31-34页 |
4.2.1 代码分析模块 | 第31-32页 |
4.2.2 路径调度策略 | 第32-33页 |
4.2.3 符号计算数据结构 | 第33-34页 |
4.3 配置报表设计 | 第34-37页 |
第五章 内存漏洞检测器设计 | 第37-45页 |
5.1 内存漏洞检测框架设计 | 第37-38页 |
5.2 缓存区溢出与访问越界漏洞检测 | 第38-40页 |
5.3 内存泄露漏洞检测 | 第40-43页 |
5.4 本章小结 | 第43-45页 |
第六章 系统测试 | 第45-53页 |
6.1 实验方法 | 第45-46页 |
6.1.1 实验一、测试用例分析 | 第45页 |
6.1.2 实验二、实际项目分析 | 第45-46页 |
6.2 实验测试数据 | 第46-48页 |
6.3 实验环境 | 第48页 |
6.4 实验结果与分析 | 第48-52页 |
6.5 本章小结 | 第52-53页 |
第七章 结论 | 第53-55页 |
7.1 本文主要成果 | 第53页 |
7.2 本文不足及未来的工作 | 第53-55页 |
7.2.1 本文的不足 | 第53页 |
7.2.2 未来的工作 | 第53-55页 |
参考文献 | 第55-59页 |
致谢 | 第59-61页 |
攻读学位期间发表的学术论文 | 第61页 |