摘要 | 第1-4页 |
Abstract | 第4-8页 |
第1章 绪论 | 第8-11页 |
·本文的研究内容和意义 | 第9-10页 |
·本文的章节组织结构 | 第10页 |
·本章小结 | 第10-11页 |
第2章 常见的代码安全性分析技术及工具 | 第11-23页 |
·源代码分析 | 第11-16页 |
·源代码静态分析技术及常见工具 | 第11-13页 |
·符号执行和约束求解技术 | 第13-16页 |
·二进制代码分析技术及常见工具 | 第16-23页 |
·二进制程序静态分析 | 第17-18页 |
·二进制代码插装技术及动态分析 | 第18-20页 |
·动静结合的二进制分析技术 | 第20-23页 |
第3章 二进制静态分析面临的挑战及可行技术 | 第23-44页 |
·二进制代码分析及所面临的挑战 | 第23-26页 |
·常见的安全性漏洞在二进制代码中的表现 | 第26-32页 |
·缓冲区溢出在二进制上的表现 | 第26-29页 |
·格式化字符串在二进制上的表现 | 第29-31页 |
·指针识别及空指针 | 第31-32页 |
·整数溢出 | 第32页 |
·动静结合的二进制代码安全分析技术 | 第32-44页 |
·静态分析技术在二进制分析中的应用 | 第33-39页 |
·动态符号执行技术 | 第39-40页 |
·解决路径爆炸问题的尝试 | 第40-44页 |
第4章 二进制代码安全性分析原型工具bats | 第44-53页 |
·二进制分析中间语言VINE IR | 第44-46页 |
·VINE IR 语言类型及语义 | 第44-45页 |
·用Vine IR 作为分析语言的好处 | 第45-46页 |
·bats 的架构设计 | 第46-48页 |
·bats 的详细设计及所采用的技术 | 第48-53页 |
·系统内存的模拟 | 第48-49页 |
·符号执行器的设计及与STP 的结合 | 第49-50页 |
·解析库函数的调用及漏洞模式的使用 | 第50-53页 |
第5章 bats 实验及结果 | 第53-59页 |
·实验环境及过程 | 第53-57页 |
·格式化字符串及除零错误 | 第53-55页 |
·堆栈溢出 | 第55-57页 |
·试验结果分析 | 第57-59页 |
第6章 结论,不足及展望 | 第59-61页 |
参考文献 | 第61-63页 |
附录 | 第63-67页 |
1.实验所用的源代码—格式化字符串和除零错误 | 第63-64页 |
2.实验例子反汇编后的汇编代码—格式化字符串和除零错误 | 第64-66页 |
3.实验所用的源代码—堆栈溢出 | 第66页 |
4.实验例子反汇编后的汇编代码—堆栈溢出 | 第66-67页 |
致谢 | 第67-68页 |
在读期间发表的学术论文与取得的研究成果 | 第68页 |