摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第1章 绪论 | 第10-17页 |
1.1 课题背景 | 第10-13页 |
1.1.1 漏洞产生的必然性 | 第10-11页 |
1.1.2 漏洞产业 | 第11-13页 |
1.2 漏洞挖掘的研究现状 | 第13-15页 |
1.2.1 传统的漏洞挖掘技术 | 第13页 |
1.2.2 结合了数据挖掘技术的软件漏洞挖掘 | 第13-15页 |
1.3 本文的研究目的和研究内容 | 第15-16页 |
1.4 本文的组织结构 | 第16-17页 |
第2章 基于语义K近邻的缺失检查漏洞挖掘方法 | 第17-26页 |
2.1 函数的语义K近邻 | 第18-19页 |
2.1.1 源代码预处理 | 第18页 |
2.1.2 相似函数检索 | 第18-19页 |
2.2 检查模式的抽取和异常检测 | 第19-22页 |
2.2.1 检查模式的抽取 | 第19-21页 |
2.2.2 缺失检查发现 | 第21-22页 |
2.3 映射效率和语义相似性排序分析 | 第22-25页 |
2.4 本章小结 | 第25-26页 |
第3章 主题敏感的缺失检查漏洞挖掘方法 | 第26-42页 |
3.1 主题敏感的相似函数过滤方法 | 第26-31页 |
3.1.1 基于命名规律的筛选策略 | 第26-28页 |
3.1.2 基于调用环境的筛选策略 | 第28-31页 |
3.2 缓存优化和多污染源的查询 | 第31-37页 |
3.2.1 函数映射优化和比较 | 第31-33页 |
3.2.2 添加多源漏查询支持 | 第33-37页 |
3.3 分析结果的可信度计算和持久化 | 第37-41页 |
3.3.1 融入平均邻居质量的缺失检查可疑度 | 第37-39页 |
3.3.2 添加分析报告功能 | 第39-41页 |
3.4 本章小结 | 第41-42页 |
第4章 主题敏感的相似函数过滤方法评估 | 第42-52页 |
4.1 评估数据集 | 第42-43页 |
4.2 整体评估 | 第43-46页 |
4.2.1 评估方案设计 | 第43-44页 |
4.2.2 过滤算法的阈值设定 | 第44-45页 |
4.2.3 过滤算法的评估结果 | 第45-46页 |
4.3 FIREFOX数据集的主题拆分与再评估 | 第46-51页 |
4.4 本章小结 | 第51-52页 |
第5章 基于代码属性图的漏洞发现方法 | 第52-76页 |
5.1 C/C++的代码属性图建模 | 第52-63页 |
5.1.1 抽象语法树的生成策略 | 第54-56页 |
5.1.2 控制流图的生成策略 | 第56-60页 |
5.1.3 程序依赖图的生成策略 | 第60-63页 |
5.2 漏洞查询的形式化表达 | 第63-68页 |
5.2.1 语法树遍历检查能够发现的漏洞 | 第63-64页 |
5.2.2 控制流图遍历能够发现的漏洞 | 第64页 |
5.2.3 必须通过污染分析才能发现的漏洞 | 第64-68页 |
5.3 漏洞发现的实例分析 | 第68-75页 |
5.3.1 Unsanitized函数的Gremlin实现 | 第68-71页 |
5.3.2 Unsanitized函数查询实例分析 | 第71-75页 |
5.4 本章小结 | 第75-76页 |
结论 | 第76-78页 |
参考文献 | 第78-82页 |
附录 | 第82-86页 |
攻读硕士学位期间承担的科研任务与主要成果 | 第86-87页 |
致谢 | 第87-88页 |
作者简介 | 第88页 |