基于符号执行的软件脆弱性分析技术研究
摘要 | 第1-5页 |
ABSTRACT | 第5-9页 |
第一章 绪论 | 第9-15页 |
·软件脆弱性研究的意义 | 第9-10页 |
·新技术在软件脆弱性研究中的现状 | 第10-11页 |
·本文的主要研究工作 | 第11-13页 |
·研究内容 | 第12-13页 |
·研究目标 | 第13页 |
·拟解决的关键问题 | 第13页 |
·论文组织结构 | 第13-15页 |
第二章 SEVE 系统的两种关键底层工具 | 第15-25页 |
·插桩工具及PIN | 第15-18页 |
·非Windows 平台上各插桩工具简介 | 第15-16页 |
·Windows 平台的插桩工具Pin | 第16-18页 |
·求解器介绍及Z3 | 第18-24页 |
·求解器简介 | 第18-19页 |
·Windows 平台上的Z3 求解器 | 第19-24页 |
·小结 | 第24-25页 |
第三章 SEVE 脆弱性探测系统 | 第25-70页 |
·软件脆弱性分析的核心问题及研究现状 | 第25-26页 |
·在符号执行中确定目标程序的输入接口 | 第26-27页 |
·功能描述 | 第26-27页 |
·技术路线 | 第27页 |
·研究路线 | 第27页 |
·对程序输入进行符号化 | 第27-31页 |
·符号化过程 | 第27-29页 |
·寄存器单位转换的处理 | 第29-30页 |
·标志寄存器EFLAGS | 第30页 |
·插桩工具分析汇编指令 | 第30-31页 |
·确定符号化输入的传播关系 | 第31-34页 |
·二进制代码建模 | 第32页 |
·优化动态污点分析的关键技术和算法改进 | 第32-34页 |
·SEVE 测试用例的生成 | 第34-48页 |
·生成并积累路径约束条件 | 第34-41页 |
·静态符号执行中的执行树及路径约束条件 | 第35-37页 |
·动态符号执行时的路径约束条件 | 第37-39页 |
·符号执行遇到循环时如何积累路径约束条件 | 第39-41页 |
·选择最佳路径生成测试用例 | 第41-46页 |
·路径约束条件的优化 | 第46-48页 |
·遏制符号执行中的路径爆炸问题 | 第48-50页 |
·SEVE 原型系统设计及实现 | 第50-68页 |
·SEVE 原型系统设计 | 第50-52页 |
·SEVE 各模块详细实现 | 第52-68页 |
·污点分析模块实现 | 第52-61页 |
·符号执行模块实现 | 第61-68页 |
·异常监测模块实现 | 第68页 |
·小结 | 第68-70页 |
第四章 SEVE 功能实例分析 | 第70-81页 |
·实例分析:MS06-001 | 第70-75页 |
·实例分析:CVE-2010-0188 | 第75-79页 |
·分析结果评估 | 第79页 |
·小结 | 第79-81页 |
第五章 结束语 | 第81-84页 |
·论文的主要成果、创新与不足 | 第81-83页 |
·未来的研究工作 | 第83-84页 |
致谢 | 第84-85页 |
参考文献 | 第85-90页 |
攻硕期间取得的成果 | 第90-91页 |