基于约束系统模型的缓冲区溢出漏洞检测系统
| 摘要 | 第1-10页 |
| ABSTRACT | 第10-11页 |
| 第一章 绪论 | 第11-18页 |
| ·论文的研究背景 | 第11页 |
| ·论文的研究意义 | 第11-12页 |
| ·相关技术研究 | 第12-16页 |
| ·软件的静态分析技术 | 第12-13页 |
| ·软件的形式化验证技术 | 第13-14页 |
| ·软件的动态安全测试技术 | 第14-16页 |
| ·论文的研究内容 | 第16页 |
| ·论文的组织结构 | 第16-18页 |
| 第二章 缓冲区属性约束系统 | 第18-27页 |
| ·缓冲区溢出漏洞的形成机理 | 第18-20页 |
| ·典型的缓冲区溢出漏洞检测方法 | 第20-21页 |
| ·采用约束分析技术的溢出漏洞检测方法 | 第20-21页 |
| ·采用模型检测技术的溢出漏洞检测方法 | 第21页 |
| ·缓冲区属性约束系统的建立 | 第21-25页 |
| ·属性的初始化 | 第22-23页 |
| ·属性的传递 | 第23-24页 |
| ·属性的验证 | 第24-25页 |
| ·约束系统的求解 | 第25-26页 |
| ·本章小结 | 第26-27页 |
| 第三章 CodeAnalysis 系统框架的设计 | 第27-32页 |
| ·系统整体框架 | 第27-28页 |
| ·前端系统结构 | 第28页 |
| ·后端系统结构 | 第28-29页 |
| ·实例分析 | 第29-31页 |
| ·本章小结 | 第31-32页 |
| 第四章 CodeAnalysis 系统的实现 | 第32-50页 |
| ·系统的结构 | 第32页 |
| ·代码合并模块 | 第32-34页 |
| ·功能和结构 | 第32-33页 |
| ·核心算法 | 第33-34页 |
| ·XML 文件解析模块 | 第34-39页 |
| ·XML 配置文件 | 第34-35页 |
| ·功能和结构 | 第35-36页 |
| ·重要函数和算法 | 第36-38页 |
| ·数据结构 | 第38-39页 |
| ·AST 代码插桩模块 | 第39-43页 |
| ·功能和结构 | 第39-40页 |
| ·重要函数和算法 | 第40-42页 |
| ·数据结构 | 第42-43页 |
| ·源代码返回模块 | 第43-47页 |
| ·功能和结构 | 第43-44页 |
| ·全局元素的返回 | 第44页 |
| ·函数体定义的返回 | 第44-47页 |
| ·路径重定位模块 | 第47-49页 |
| ·功能和结构 | 第47页 |
| ·重要函数和算法 | 第47-48页 |
| ·实例说明 | 第48-49页 |
| ·本章小结 | 第49-50页 |
| 第五章 CodeAnalysis 系统优化 | 第50-62页 |
| ·指针别名分析概述 | 第50-51页 |
| ·别名分析框架 | 第51-52页 |
| ·基本框架 | 第51-52页 |
| ·别名分析与模型检测算法的结合 | 第52页 |
| ·算法详细设计 | 第52-57页 |
| ·核心数据结构设计 | 第53-54页 |
| ·别名分析算法 | 第54-56页 |
| ·优化后属性约束的操作 | 第56-57页 |
| ·优化后系统框架 | 第57页 |
| ·优化方案测试 | 第57-60页 |
| ·漏报实例 | 第58-59页 |
| ·误报实例 | 第59-60页 |
| ·本章小结 | 第60-62页 |
| 第六章 CodeAnalysis 系统评测 | 第62-67页 |
| ·测试环境 | 第62页 |
| ·对测试用例的评测 | 第62页 |
| ·对开源软件的检测 | 第62-66页 |
| ·gzip-1.2.4 漏洞检测 | 第63-65页 |
| ·glftpd-2.00 漏洞检测 | 第65-66页 |
| ·本章小结 | 第66-67页 |
| 结束语 | 第67-69页 |
| 参考文献 | 第69-72页 |
| 作者简历 攻读硕士学位期间完成的主要工作 | 第72-73页 |
| 致谢 | 第73页 |