软件源代码安全分析研究
| 摘要 | 第1-5页 |
| Abstract | 第5-9页 |
| 第一章 绪论 | 第9-17页 |
| ·研究意义 | 第9-12页 |
| ·软件安全的意义 | 第9-10页 |
| ·软件源代码安全分析的意义 | 第10-12页 |
| ·研究思路 | 第12-13页 |
| ·项目背景 | 第13-14页 |
| ·论文主要工作与组织结构 | 第14-17页 |
| 第二章 相关技术基础 | 第17-29页 |
| ·软件安全漏洞分类 | 第17-21页 |
| ·程序分析技术 | 第21-23页 |
| ·静态程序分析 | 第21-22页 |
| ·动态程序分析 | 第22-23页 |
| ·用于安全分析的形式化方法 | 第23-28页 |
| ·类型系统 | 第24-25页 |
| ·定理自动证明 | 第25-26页 |
| ·模型检查 | 第26-28页 |
| ·本章小结 | 第28-29页 |
| 第三章 用于软件源代码安全分析的编译器基础架构 | 第29-51页 |
| ·编译器基础架构整体设计 | 第29-31页 |
| ·语言识别 | 第31-41页 |
| ·中间表示的设计 | 第32-33页 |
| ·语法分析方法的选择 | 第33-35页 |
| ·C/C++前端构造 | 第35-39页 |
| ·Java 前端构造 | 第39-41页 |
| ·基本语义信息抽取 | 第41-47页 |
| ·控制流图生成 | 第41-43页 |
| ·敏感的数据流分析方法 | 第43-47页 |
| ·基于基础架构的安全分析方法 | 第47-49页 |
| ·本章小结 | 第49-51页 |
| 第四章 敏感的指针别名分析 | 第51-73页 |
| ·别名信息的表示与推导 | 第51-57页 |
| ·别名信息的表示 | 第51-55页 |
| ·基于关系操作的别名信息推导 | 第55-57页 |
| ·指针别名分析方法 | 第57-65页 |
| ·指针别名分析的整体流程设计 | 第57-59页 |
| ·过程内指针别名分析 | 第59-61页 |
| ·跨过程指针别名分析 | 第61-65页 |
| ·路径优化及实例分析 | 第65-71页 |
| ·路径优化 | 第65-67页 |
| ·实例分析 | 第67-71页 |
| ·本章小结 | 第71-73页 |
| 第五章 用于安全分析的语义类型系统形式化模型 | 第73-85页 |
| ·安全分析中的类型系统 | 第73页 |
| ·基于类型系统的安全分析方法 | 第73-75页 |
| ·语言类型系统与语义类型系统 | 第75-78页 |
| ·对象状态与程序错误 | 第75-76页 |
| ·以状态集合为依据的类型系统建模 | 第76-78页 |
| ·语义类型系统的构造方法 | 第78-83页 |
| ·指针相关安全规范断言集合 | 第79-80页 |
| ·用于安全分析的类型推导规则 | 第80-83页 |
| ·相关工作比较 | 第83-84页 |
| ·本章小结 | 第84-85页 |
| 第六章 基于自动机的定制化安全分析 | 第85-101页 |
| ·典型安全漏洞的源代码模式分析 | 第85-88页 |
| ·自动机模型 | 第88-93页 |
| ·基于自动机的安全分析 | 第93-96页 |
| ·基于静态报告安全漏洞的动态植入监测 | 第96-99页 |
| ·相关工作比较 | 第99-100页 |
| ·本章小结 | 第100-101页 |
| 第七章 基于信息流图逆向搜索的隐通道自动检测 | 第101-113页 |
| ·隐通道的形式化定义 | 第101-103页 |
| ·基于静态分析的隐通道自动检测 | 第103-109页 |
| ·源代码预分析 | 第103-104页 |
| ·信息流提取 | 第104-106页 |
| ·信息流图的构造及遍历 | 第106-108页 |
| ·隐通道路径的筛选 | 第108-109页 |
| ·实例分析 | 第109-110页 |
| ·相关工作比较 | 第110-112页 |
| ·本章小结 | 第112-113页 |
| 第八章 工作总结与下一步研究 | 第113-117页 |
| ·工作总结 | 第113-114页 |
| ·下一步研究 | 第114-117页 |
| 致谢 | 第117-119页 |
| 参考文献 | 第119-127页 |
| 攻读博士期间的研究成果 | 第127-129页 |
| 攻读博士期间参加的科研项目 | 第129-130页 |