基于语义模式的源代码跨过程分析研究与实现
摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
缩略语对照表 | 第12-15页 |
第一章 绪论 | 第15-19页 |
1.1 选题背景与意义 | 第15页 |
1.2 国内外研究现状与分析 | 第15-17页 |
1.3 论文主要工作 | 第17-18页 |
1.4 论文组织结构 | 第18-19页 |
第二章 相关技术 | 第19-25页 |
2.1 静态分析软件现有的语义模型 | 第19-20页 |
2.1.1 数组模型 | 第19页 |
2.1.2 以二叉决策图表示的内存模型 | 第19-20页 |
2.1.3 三元组模型 | 第20页 |
2.2 静态分析软件后端分析相关概念 | 第20-23页 |
2.2.1 控制流图 | 第20-21页 |
2.2.2 符号表 | 第21-22页 |
2.2.3 函数的拓扑排序 | 第22-23页 |
2.3 本章小结 | 第23-25页 |
第三章 需求分析与设计 | 第25-37页 |
3.1 软件漏洞分析 | 第25-28页 |
3.2 整体设计 | 第28-31页 |
3.3 详细需求与设计 | 第31-35页 |
3.3.1 语义模型的构建 | 第31-32页 |
3.3.2 语义模型跨过程遍历框架设计 | 第32-34页 |
3.3.3 函数跨过程分析模块设计 | 第34-35页 |
3.4 本章小结 | 第35-37页 |
第四章 语义模型模块的设计与实现 | 第37-55页 |
4.1 语义模型设计 | 第37-46页 |
4.1.1 普通变量语义模型 | 第37-43页 |
4.1.2 污染变量语义模型 | 第43-46页 |
4.2 语义模型跨过程遍历框架 | 第46-53页 |
4.2.1 基础遍历框架 | 第47-49页 |
4.2.2 语义模型使用的遍历框架 | 第49-53页 |
4.3 本章小结 | 第53-55页 |
第五章 跨过程分析模式的设计与实现 | 第55-71页 |
5.1 函数跨过程之前的函数检查 | 第55-62页 |
5.1.1 输出函数格式化字符串检查 | 第56-58页 |
5.1.2 危险函数参数检查 | 第58-60页 |
5.1.3 污染函数参数检查 | 第60-62页 |
5.2 函数指针模式的创建和使用 | 第62-67页 |
5.3 函数值模式的创建和使用 | 第67-70页 |
5.4 本章小结 | 第70-71页 |
第六章 静态分析漏洞检测能力测试 | 第71-83页 |
6.1 测试环境 | 第71页 |
6.2 功能测试 | 第71-81页 |
6.2.1 内存漏洞测试 | 第71-76页 |
6.2.2 危险函数漏洞测试 | 第76-77页 |
6.2.3 污染传播漏洞测试 | 第77-81页 |
6.3 效率测试 | 第81-82页 |
6.4 本章小结 | 第82-83页 |
第七章 总结与展望 | 第83-85页 |
参考文献 | 第85-87页 |
致谢 | 第87-89页 |
作者简介 | 第89-90页 |