基于二进制可执行文件代码覆盖测试技术研究
表目录 | 第1-8页 |
图目录 | 第8-10页 |
摘要 | 第10-11页 |
ABSTRACT | 第11-12页 |
第一章 绪论 | 第12-17页 |
·课题背景 | 第12-13页 |
·缓冲区溢出原理 | 第12-13页 |
·漏洞挖掘 | 第13页 |
·缓冲区溢出漏洞挖掘技术现状 | 第13-14页 |
·课题研究的必要性 | 第14-15页 |
·论文的研究内容 | 第15页 |
·论文各章节安排 | 第15-16页 |
·小结 | 第16-17页 |
第二章 代码覆盖的基本原理 | 第17-24页 |
·代码覆盖的原理 | 第17-18页 |
·代码覆盖技术研究的必要性 | 第18-19页 |
·代码覆盖的实施步骤 | 第19-23页 |
·函数级覆盖 | 第20-22页 |
·基本块级覆盖 | 第22页 |
·分析脆弱点处理的数据 | 第22-23页 |
·小结 | 第23-24页 |
第三章 代码覆盖关键技术 | 第24-35页 |
·函数调用路径识别与基于基本块的控制流识别 | 第24-27页 |
·函数调用路径识别 | 第24页 |
·基于基本块的控制流程识别 | 第24-25页 |
·图形化显示输出 | 第25-26页 |
·覆盖评估技术 | 第26-27页 |
·错误注入技术 | 第27-31页 |
·错误注入的定义及可注入类型 | 第27-28页 |
·错误注入技术现状 | 第28-29页 |
·错误注入在代码覆盖中的应用 | 第29页 |
·PE文件执行时的动态注入技术 | 第29-30页 |
·错误注入技术难点 | 第30-31页 |
·数据流分析技术 | 第31-34页 |
·数据流分析的基本原理 | 第31页 |
·数据流分析技术现状 | 第31页 |
·数据流分析在代码覆盖中的应用 | 第31-33页 |
·课题中数据流分析的设计原理 | 第33-34页 |
·数据流分析技术难点 | 第34页 |
·小结 | 第34-35页 |
第四章 代码覆盖工具的设计与实现 | 第35-55页 |
·代码覆盖工具的基本工作原理 | 第35-36页 |
·函数调用路径识别模块设计与实现 | 第36-42页 |
·功能描述 | 第36页 |
·数据结构说明 | 第36-37页 |
·算法设计 | 第37-38页 |
·函数调用路径识别所遇到的问题及解决方法 | 第38-42页 |
·基于基本块的控制流识别模块设计与实现 | 第42-44页 |
·功能描述 | 第42页 |
·数据结构说明 | 第42-43页 |
·算法设计 | 第43-44页 |
·错误注入模块设计与实现 | 第44-46页 |
·功能描述 | 第44页 |
·数据结构说明 | 第44-45页 |
·算法设计 | 第45-46页 |
·数据流分析模块设计与实现 | 第46-54页 |
·功能描述 | 第46页 |
·基本块级数据流分析 | 第46-49页 |
·指令级数据流分析 | 第49-52页 |
·捕获数据与用户输入数据的匹配 | 第52-54页 |
·数据流与控制流程依赖图的绘制 | 第54页 |
·小结 | 第54-55页 |
第五章 实验测试与结果评估 | 第55-68页 |
·测试自己编写的代码 | 第55-60页 |
·测试目的 | 第55页 |
·测试环境 | 第55页 |
·二进制可执行文件的源代码 | 第55-56页 |
·可执行文件的反汇编代码片断 | 第56页 |
·具体实施步骤 | 第56-60页 |
·利用代码覆盖技术分析MS04-030漏洞 | 第60-66页 |
·漏洞描述 | 第60-61页 |
·分析环境 | 第61页 |
·具体分析步骤 | 第61-66页 |
·利用代码覆盖技术挖掘某常用软件漏洞 | 第66-67页 |
·软件介绍 | 第66页 |
·测试目的 | 第66页 |
·测试环境 | 第66页 |
·挖掘过程 | 第66-67页 |
·实验总结 | 第67页 |
·小结 | 第67-68页 |
结束语 | 第68-70页 |
一、论文工作总结 | 第68页 |
二、进一步研究方向 | 第68-70页 |
参考文献 | 第70-72页 |
作者简历 攻读硕士学位期间完成的主要工作 | 第72-73页 |
致谢 | 第73页 |