摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第1章 绪论 | 第11-14页 |
1.1 引言 | 第11-12页 |
1.2 研究内容 | 第12-13页 |
1.3 论文框架结构 | 第13-14页 |
第2章 背景及相关工作 | 第14-32页 |
2.1 漏洞检测 | 第14-16页 |
2.1.1 源代码漏洞分析与二进制漏洞分析 | 第14-15页 |
2.1.2 静态程序分析技术与动态程序分析技术 | 第15-16页 |
2.2 符号执行 | 第16-31页 |
2.2.1 符号执行概述 | 第17-18页 |
2.2.2 符号执行的两种模式 | 第18-27页 |
2.2.2.1 Fork-based符号执行模式 | 第19-23页 |
2.2.2.2 Execution-based符号执行模式 | 第23-25页 |
2.2.2.3 两种执行模式的比较与结合 | 第25-27页 |
2.2.3 符号执行技术难点与解决方法 | 第27-30页 |
2.2.3.1 路径爆炸问题 | 第27-29页 |
2.2.3.2 符号地址与符号跳转 | 第29-30页 |
2.2.4 符号执行的应用 | 第30-31页 |
2.3 本章小结 | 第31-32页 |
第3章 静态分析辅助的符号执行漏洞检测方法 | 第32-47页 |
3.1 改进动机 | 第32-36页 |
3.1.1 漏洞无关路径的无效遍历问题 | 第32-34页 |
3.1.2 种子输入依赖问题 | 第34页 |
3.1.3 现有执行状态选择算法及不足 | 第34-36页 |
3.2 函数分类 | 第36-42页 |
3.2.1 漏洞相关属性、漏洞导向属性及三类函数 | 第36-38页 |
3.2.2 漏洞相关属性计算 | 第38-39页 |
3.2.3 漏洞导向属性计算 | 第39-42页 |
3.3 有效跳转收集 | 第42-43页 |
3.4 有效跳转辅助的符号分支处理 | 第43-45页 |
3.5 基于漏洞相关路径比例的执行状态选择策略 | 第45-46页 |
3.6 本章小结 | 第46-47页 |
第4章 SAF-SE的设计与实现 | 第47-52页 |
4.1 SAF-SE的总体结构 | 第47-48页 |
4.2 图生成模块 | 第48-49页 |
4.3 静态分析器 | 第49-50页 |
4.4 符号执行模块 | 第50-51页 |
4.5 本章小结 | 第51-52页 |
第5章 SAF-SE实验评估 | 第52-59页 |
5.1 实验设置 | 第52页 |
5.2 静态分析实验结果及分析 | 第52-54页 |
5.3 SAF-SE整体实验结果及分析 | 第54-58页 |
5.3.1 完成完整符号执行的实验结果及分析 | 第54-56页 |
5.3.2 有限时间内的整体实验结果及分析 | 第56-58页 |
5.4 本章小结 | 第58-59页 |
第6章 总结与展望 | 第59-62页 |
6.1 工作总结 | 第59-60页 |
6.2 未来工作 | 第60-62页 |
参考文献 | 第62-66页 |
攻读硕士学位期间的研究成果 | 第66页 |
攻读硕士学位期间参与的科研项目 | 第66-67页 |
致谢 | 第67-68页 |