摘要 | 第4-6页 |
Abstract | 第6-7页 |
第一章 绪论 | 第13-19页 |
1.1 研究背景 | 第13-14页 |
1.2 研究现状与动机 | 第14-15页 |
1.3 本文工作 | 第15-16页 |
1.4 论文结构安排 | 第16-19页 |
第二章 背景知识和相关工作 | 第19-29页 |
2.1 程序分析技术与应用 | 第19-25页 |
2.1.1 静态程序分析 | 第19-23页 |
2.1.2 动态程序分析 | 第23-24页 |
2.1.3 程序分析技术的应用:污点分析 | 第24-25页 |
2.2 漏洞检测技术 | 第25-26页 |
2.3 可扩展工具框架 | 第26-27页 |
2.4 本章总结 | 第27-29页 |
第三章 静态污点分析 | 第29-51页 |
3.1 基于类型系统的污点分析 | 第29-41页 |
3.1.1 程序语言模型 | 第29-30页 |
3.1.2 基于类型系统的污点分析 | 第30-32页 |
3.1.3 污点分析类型系统的定义 | 第32-34页 |
3.1.4 污点类型推导 | 第34-36页 |
3.1.5 扩展的污点分析规则 | 第36-41页 |
3.2 静态污点分析流程 | 第41-50页 |
3.2.1 静态污点分析流程 | 第41-45页 |
3.2.2 过程内的污点传播分析 | 第45-48页 |
3.2.3 过程间的污点传播分析 | 第48-50页 |
3.3 本章总结 | 第50-51页 |
第四章 可扩展的漏洞检测框架 | 第51-63页 |
4.1 漏洞检测框架的工作流程 | 第51-52页 |
4.2 程序结构分析与安全关键操作定位 | 第52-55页 |
4.2.1 生成抽象语法树 | 第52页 |
4.2.2 生成控制流图 | 第52-53页 |
4.2.3 构建调用图 | 第53页 |
4.2.4 配置安全关键操作 | 第53-55页 |
4.2.5 定位安全关键操作 | 第55页 |
4.3 基于定制规则的污点分析 | 第55-59页 |
4.3.1 可配置的污染源 | 第55-56页 |
4.3.2 可配置的污点分析传播规则 | 第56-58页 |
4.3.3 污点分析的结果查询 | 第58-59页 |
4.4 可扩展的合法性检查缺失的检测方法 | 第59-61页 |
4.4.1 搜索合法性检查语句 | 第59-60页 |
4.4.2 可扩展的合法性检查的判定策略 | 第60-61页 |
4.5 本章总结 | 第61-63页 |
第五章 原型工具与实例研究 | 第63-77页 |
5.1 原型工具的实现 | 第63-65页 |
5.2 优化 | 第65-67页 |
5.2.1 AST存储优化 | 第65-66页 |
5.2.2 污点分析的优化 | 第66-67页 |
5.3 实验对象和实验设计 | 第67-76页 |
5.3.1 实验一:污点分析的功能 | 第68-70页 |
5.3.2 实验二:污点分析的结果与性能 | 第70-72页 |
5.3.3 实验三:针对大规模程序的优化 | 第72-75页 |
5.3.4 实验四:基于污点分析的合法性检查缺失漏洞的检测 | 第75-76页 |
5.4 本章总结 | 第76-77页 |
第六章 总结与展望 | 第77-79页 |
6.1 本文主要工作 | 第77-78页 |
6.2 下一步工作 | 第78-79页 |
参考文献 | 第79-85页 |
简历与科研成果 | 第85-87页 |
致谢 | 第87-88页 |