基于信息流的污染状态传播分析
摘要 | 第5-6页 |
ABSTRACT | 第6页 |
符号对照表 | 第9-10页 |
缩略语对照表 | 第10-14页 |
第一章 绪论 | 第14-20页 |
1.1 研究背景 | 第14-15页 |
1.1.1 软件安全与静态程序分析 | 第14页 |
1.1.2 静态程序分析相关工作 | 第14-15页 |
1.2 已有工作介绍 | 第15-17页 |
1.3 论文研究内容 | 第17-18页 |
1.4 论文组织结构 | 第18-20页 |
第二章 相关工具和技术 | 第20-28页 |
2.1 ANTLR | 第20-21页 |
2.2 符号表和抽象语法树 | 第21-22页 |
2.2.1 符号表 | 第21页 |
2.2.2 抽象语法树 | 第21-22页 |
2.3 二叉决策图 | 第22-24页 |
2.4 数据流分析和别名分析 | 第24-25页 |
2.4.1 数据流分析 | 第24页 |
2.4.2 别名分析 | 第24-25页 |
2.5 过程间程序分析 | 第25-28页 |
第三章 基于信息流的污染状态传播分析框架 | 第28-34页 |
3.1 相关背景及意义 | 第28-29页 |
3.2 需求分析 | 第29-30页 |
3.2.1 功能需求 | 第29页 |
3.2.2 非功能需求 | 第29-30页 |
3.3 整体设计 | 第30-32页 |
3.3.1 信息流生成模块 | 第30-32页 |
3.3.2 污染状态传播分析模块 | 第32页 |
3.4 本章小结 | 第32-34页 |
第四章 信息流收集 | 第34-44页 |
4.1 信息流的概念 | 第34-36页 |
4.1.1 信息流的定义 | 第34页 |
4.1.2 信息流的性质 | 第34-36页 |
4.2 信息流的收集规则 | 第36-39页 |
4.2.1 基于BDD的信息流存储 | 第36页 |
4.2.2 赋值语句的信息流收集规则 | 第36-38页 |
4.2.3 跨过程信息流收集 | 第38-39页 |
4.3 信息流的收集方法 | 第39-43页 |
4.3.1 数据流分析方法 | 第39-40页 |
4.3.2 信息流收集的实现 | 第40-43页 |
4.4 本章小结 | 第43-44页 |
第五章 污染状态传播的设计与实现 | 第44-64页 |
5.1 状态变化的性质 | 第44-45页 |
5.2 状态转移模型 | 第45-48页 |
5.3 状态扩散 | 第48-54页 |
5.3.1 指针状态扩散 | 第48-51页 |
5.3.2 结构体状态扩散 | 第51-54页 |
5.4 状态传播 | 第54-60页 |
5.4.1 赋值语句状态传播 | 第54-57页 |
5.4.2 函数调用语句状态传播 | 第57页 |
5.4.3 return语句状态传播 | 第57-58页 |
5.4.4 状态传播路径依赖性 | 第58-60页 |
5.5 安全操作 | 第60页 |
5.6 配置文件 | 第60-62页 |
5.7 本章小结 | 第62-64页 |
第六章 测试分析 | 第64-68页 |
6.1 测试环境 | 第64页 |
6.2 系统功能测试 | 第64-67页 |
6.3 本章小结 | 第67-68页 |
第七章 总结与展望 | 第68-70页 |
7.1 论文总结 | 第68页 |
7.2 工作展望 | 第68-70页 |
参考文献 | 第70-72页 |
致谢 | 第72-74页 |
作者简介 | 第74-75页 |