摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
符号对照表 | 第11-12页 |
缩略语对照表 | 第12-16页 |
第一章 绪论 | 第16-24页 |
1.1 研究背景 | 第16-17页 |
1.2 国内外研究现状 | 第17-20页 |
1.3 研究意义 | 第20页 |
1.4 论文工作和组织结构 | 第20-24页 |
第二章 Android原生库与漏洞挖掘技术分析 | 第24-44页 |
2.1 Android原生库 | 第24-32页 |
2.1.1 原生库文件格式 | 第24-26页 |
2.1.2 原生库汇编指令 | 第26-28页 |
2.1.3 原生库接口 | 第28-32页 |
2.2 Android系统漏洞 | 第32-37页 |
2.2.1 漏洞类型 | 第33-35页 |
2.2.2 原生库漏洞 | 第35-37页 |
2.3 传统漏洞挖掘技术 | 第37-42页 |
2.3.1 传统符号执行 | 第37-39页 |
2.3.2 传统模糊测试 | 第39-42页 |
2.4 本章小结 | 第42-44页 |
第三章 基于A~*算法的引导型符号执行漏洞挖掘技术 | 第44-62页 |
3.1 基于A~*算法的引导型符号执行优化方法 | 第44-54页 |
3.1.2 A~*算法 | 第45-49页 |
3.1.3 JNI代理方法 | 第49-50页 |
3.1.4 基本块重用方法 | 第50-52页 |
3.1.5 循环简化方法 | 第52-54页 |
3.2 基于A~*算法的引导型符号执行实现 | 第54-59页 |
3.2.1 原生库解析 | 第54-56页 |
3.2.2 设置代理 | 第56页 |
3.2.3 程序状态存储 | 第56-57页 |
3.2.4 路径搜索 | 第57-59页 |
3.2.5 路径约束求解 | 第59页 |
3.3 算法对比实验 | 第59-60页 |
3.4 本章小结 | 第60-62页 |
第四章 基于改进遗传算法的模糊测试漏洞挖掘技术 | 第62-80页 |
4.1 基于改进遗传算法的模糊测试优化方法 | 第62-74页 |
4.1.1 改进遗传算法 | 第63-68页 |
4.1.2 逆向分析方法 | 第68-71页 |
4.1.3 动态调试方法 | 第71-73页 |
4.1.4 ADB日志方法 | 第73-74页 |
4.2 基于改进遗传算法的模糊测试实现 | 第74-78页 |
4.2.1 生成测试用例 | 第74-76页 |
4.2.2 获取程序入口 | 第76页 |
4.2.3 反复测试用例 | 第76-78页 |
4.2.4 监控程序状态 | 第78页 |
4.3 算法对比实验 | 第78-79页 |
4.4 本章小结 | 第79-80页 |
第五章 Android原生库漏洞挖掘系统实现与测试 | 第80-92页 |
5.1 系统总体实现 | 第80-86页 |
5.1.2 预处理模块 | 第81-83页 |
5.1.3 符号执行模块 | 第83-85页 |
5.1.4 模糊测试模块 | 第85页 |
5.1.5 信息处理模块 | 第85-86页 |
5.2 测试环境与样例 | 第86-87页 |
5.3 系统测试 | 第87-91页 |
5.3.1 可行性测试 | 第87-90页 |
5.3.2 性能对比测试 | 第90-91页 |
5.4 本章小结 | 第91-92页 |
第六章 总结与展望 | 第92-94页 |
6.1 总结 | 第92-93页 |
6.2 展望 | 第93-94页 |
参考文献 | 第94-98页 |
附录A | 第98-100页 |
附录B | 第100-102页 |
致谢 | 第102-104页 |
作者简介 | 第104-105页 |