Use-After-Free漏洞检测和利用
摘要 | 第3-4页 |
ABSTRACT | 第4-5页 |
1 绪论 | 第12-16页 |
1.1 研究背景与意义 | 第12-13页 |
1.2 国内外研究现状 | 第13-14页 |
1.3 研究内容 | 第14页 |
1.4 论文结构 | 第14-16页 |
2 问题概述 | 第16-21页 |
2.1 悬垂指针 | 第16页 |
2.2 漏洞解释 | 第16-18页 |
2.3 检测原理 | 第18-19页 |
2.3.1 检测悬垂指针 | 第18-19页 |
2.3.2 检测UAF漏洞 | 第19页 |
2.4 本章小结 | 第19-21页 |
3 UAF漏洞检测系统的设计和实现 | 第21-59页 |
3.1 S2E介绍 | 第21-23页 |
3.1.1 选择性符号执行 | 第21-22页 |
3.1.2 插件体系 | 第22-23页 |
3.1.3 信号系统 | 第23页 |
3.2 架构概述 | 第23-24页 |
3.3 反汇编模块 | 第24-32页 |
3.3.1 反汇编引擎BeaEngine | 第24-29页 |
3.3.2 编译BeaEngine | 第29-30页 |
3.3.3 使用BeaEngine | 第30页 |
3.3.4 面临的问题 | 第30-32页 |
3.4 堆内存监控模块 | 第32-37页 |
3.4.1 Windows XP堆管理 | 第32-34页 |
3.4.2 技术细节 | 第34-37页 |
3.5 信息分析模块 | 第37-42页 |
3.5.1 数据结构 | 第37-39页 |
3.5.2 检测算法 | 第39-42页 |
3.6 指针传播模块 | 第42-58页 |
3.6.1 污点跟踪 | 第42-54页 |
3.6.2 面临的问题 | 第54-58页 |
3.7 本章小结 | 第58-59页 |
4 系统测试实验 | 第59-67页 |
4.1 机器参数 | 第59页 |
4.2 实验说明 | 第59-60页 |
4.3 基准测试 | 第60-62页 |
4.3.1 样本处理 | 第60-61页 |
4.3.2 实验结果 | 第61-62页 |
4.4 测试IE浏览器 | 第62-65页 |
4.4.1 Fuzzing技术 | 第62-63页 |
4.4.2 实验结果 | 第63-65页 |
4.5 结论分析 | 第65页 |
4.6 本章小结 | 第65-67页 |
5 UAF漏洞的利用技术 | 第67-78页 |
5.1 Windows安全机制 | 第67-68页 |
5.1.1 概要 | 第67-68页 |
5.1.2 DEP | 第68页 |
5.2 DEP绕过技术 | 第68-70页 |
5.2.1 ROP | 第68-69页 |
5.2.2 Ret2Libc | 第69页 |
5.2.3 DVE | 第69-70页 |
5.3 JavaScript编码技巧 | 第70-73页 |
5.3.1 字符串对象 | 第70-72页 |
5.3.2 堆喷HeapSpray | 第72-73页 |
5.4 一个完整的Exploit | 第73-76页 |
5.5 本章小结 | 第76-78页 |
6 总结和展望 | 第78-80页 |
6.1 本文总结 | 第78页 |
6.2 研究展望 | 第78-80页 |
参考文献 | 第80-83页 |
致谢 | 第83-85页 |
攻读硕士期间的科研及学术论文 | 第85-87页 |