二进制程序漏洞挖掘技术的研究与工具实现
| 摘要 | 第1-5页 |
| ABSTRACT | 第5-11页 |
| 第一章 绪论 | 第11-17页 |
| ·引言 | 第11-12页 |
| ·二进制程序漏洞挖掘技术概述 | 第12-15页 |
| ·手工测试技术 | 第12页 |
| ·Fuzzing技术 | 第12-13页 |
| ·二进制比对技术 | 第13页 |
| ·静态分析技术 | 第13-14页 |
| ·动态分析技术 | 第14-15页 |
| ·研究目的及论文结构 | 第15页 |
| ·本文的贡献 | 第15-17页 |
| 第二章 二进制程序分析技术和相关理论 | 第17-33页 |
| ·二进制静态分析 | 第17-28页 |
| ·基础理论知识 | 第20-22页 |
| ·数据流分析 | 第22-25页 |
| ·控制流分析 | 第25页 |
| ·静态分析算法简述 | 第25-28页 |
| ·二进制动态插桩分析 | 第28-30页 |
| ·污点传播技术研究 | 第30-31页 |
| ·符号执行技术研究 | 第31-32页 |
| ·小结 | 第32-33页 |
| 第三章 漏洞模式 | 第33-37页 |
| ·常见漏洞模式 | 第33-34页 |
| ·漏洞模式举例 | 第34-36页 |
| ·典型缓冲区溢出举例 | 第34-36页 |
| ·形式化定义 | 第36-37页 |
| 第四章 二进制程序静态分析工具的设计与实现 | 第37-59页 |
| ·BINNAVI支撑平台简介 | 第37-38页 |
| ·BAT工作机理 | 第38-40页 |
| ·BAT框架和部件描述 | 第40-44页 |
| ·框架描述 | 第40-41页 |
| ·主功能部件 | 第41-42页 |
| ·辅助部件 | 第42-44页 |
| ·中间表示语言 | 第44-48页 |
| ·REIL介绍 | 第44-46页 |
| ·eREIL设计考虑 | 第46页 |
| ·关键设计 | 第46-48页 |
| ·模拟执行器 | 第48-56页 |
| ·基础支撑架构 | 第49-52页 |
| ·过程内数据流分析 | 第52-54页 |
| ·函数摘要 | 第54-55页 |
| ·库函数模拟分析 | 第55-56页 |
| ·缺陷智能识别 | 第56-57页 |
| ·小结 | 第57-59页 |
| 第五章 PIN二进制插桩分析工具的设计与实现 | 第59-67页 |
| ·DYNTOOL工作机理 | 第59-60页 |
| ·DYNTOOL框架和部件描述 | 第60-61页 |
| ·关键设计 | 第61-65页 |
| ·程序状态抽象 | 第61-63页 |
| ·指令插桩解释执行 | 第63-64页 |
| ·库函数插桩分析 | 第64-65页 |
| ·小结 | 第65-67页 |
| 第六章 工具实验分析 | 第67-73页 |
| ·BAT静态分析工具实验 | 第67-72页 |
| ·典型的实验案例分析 | 第67-70页 |
| ·实际应用案例分析 | 第70-72页 |
| ·DYNTOOL二进制动态插桩工具实验 | 第72页 |
| ·实验小结 | 第72-73页 |
| 结束语 | 第73-75页 |
| 参考文献 | 第75-79页 |
| 致谢 | 第79-80页 |
| 在读期间发表的学术论文与取得的研究成果 | 第80页 |