二进制代码漏洞静态检测研究
摘要 | 第3-4页 |
Abstract | 第4-5页 |
第1章 绪论 | 第9-18页 |
1.1 课题研究背景及意义 | 第9-10页 |
1.2 国内外研究现状 | 第10-17页 |
1.2.1 模糊测试 | 第10-12页 |
1.2.2 污点分析 | 第12-14页 |
1.2.3 二进制代码比对 | 第14-15页 |
1.2.4 模式匹配 | 第15-17页 |
1.3 研究目的及研究内容 | 第17-18页 |
第2章 二进制代码静态分析理论及技术 | 第18-33页 |
2.1 中间表示 | 第18-22页 |
2.1.1 中间表示设计原则 | 第18-19页 |
2.1.2 面向LLVM的中间表示 | 第19-20页 |
2.1.3 面向REIL的中间表示 | 第20-22页 |
2.2 数据流分析 | 第22-27页 |
2.2.1 格 | 第22-24页 |
2.2.2 不动点定义与收敛 | 第24-25页 |
2.2.3 到达-定值分析 | 第25-27页 |
2.3 抽象解释理论 | 第27-31页 |
2.3.1 程序状态转换 | 第27-29页 |
2.3.2 程序语义定义 | 第29-30页 |
2.3.3 抽象举例 | 第30-31页 |
2.4 本章小结 | 第31-33页 |
第3章 基于抽象域分层的二进制漏洞检测 | 第33-50页 |
3.1 中间表示设计细节 | 第33-39页 |
3.1.1 基于关系分析的中间语言 | 第33-36页 |
3.1.2 寄存器字段建模 | 第36-38页 |
3.1.3 指令副作用分析 | 第38页 |
3.1.4 转换效率分析 | 第38-39页 |
3.2 中间表示过程分析 | 第39-42页 |
3.2.1 过程内分析 | 第39-40页 |
3.2.2 过程间分析 | 第40-42页 |
3.3 约束生成求解 | 第42-44页 |
3.4 抽象域分层 | 第44-49页 |
3.4.1 代码域 | 第44-46页 |
3.4.2 内存域 | 第46-47页 |
3.4.3 有限域 | 第47-49页 |
3.5 本章小结 | 第49-50页 |
第4章 二进制代码漏洞检测工具实现 | 第50-63页 |
4.1 二进制代码漏洞静态检测框架 | 第50-52页 |
4.2 分析前端 | 第52-55页 |
4.2.1 二进制文件格式解析 | 第53页 |
4.2.2 反汇编前端 | 第53-55页 |
4.3 静态分析 | 第55-56页 |
4.3.1 分析引擎 | 第55页 |
4.3.2 警告信息 | 第55-56页 |
4.3.3 Hook系统调用和进程 | 第56页 |
4.4 抽象域分层设计 | 第56-58页 |
4.4.1 接口设计 | 第57页 |
4.4.2 数据结构 | 第57页 |
4.4.3 域间通道设计 | 第57-58页 |
4.5 实验结果及分析 | 第58-62页 |
4.5.1 实验设置 | 第58页 |
4.5.2 实验案例分析 | 第58-60页 |
4.5.3 实际案例分析 | 第60-61页 |
4.5.4 系统性能分析 | 第61-62页 |
4.6 本章小结 | 第62-63页 |
第5章 面向RTF文件漏洞的分析与检测 | 第63-73页 |
5.1 OLE对象漏洞分析与检测 | 第63-67页 |
5.1.1 RTF文件的OLE对象静态分析 | 第63-64页 |
5.1.2 OLE对象漏洞分析流程 | 第64-66页 |
5.1.3 实验结果及分析 | 第66-67页 |
5.2 RTF数组溢出漏洞分析与检测 | 第67-72页 |
5.2.1 数组溢出漏洞分析 | 第68-69页 |
5.2.2 RTF数组溢出漏洞检测 | 第69-70页 |
5.2.3 实验结果及分析 | 第70-72页 |
5.3 本章小结 | 第72-73页 |
第6章 总结与展望 | 第73-75页 |
6.1 研究总结 | 第73页 |
6.2 研究展望 | 第73-75页 |
参考文献 | 第75-80页 |
致谢 | 第80-81页 |
个人简历、在学期间发表的学术论文及研究成果 | 第81页 |