摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
符号对照表 | 第10-11页 |
缩略语对照表 | 第11-15页 |
第一章 绪论 | 第15-21页 |
1.1 背景介绍 | 第15页 |
1.2 Android和Linux的Fuzzing研究 | 第15-16页 |
1.3 Android安全 | 第16页 |
1.4 Android平台测试现状 | 第16-18页 |
1.5 本文主要工作 | 第18-21页 |
第二章 Android漏洞挖掘的研究 | 第21-31页 |
2.1 Android的Binder机制 | 第21-23页 |
2.1.1 Binder概述 | 第21-22页 |
2.1.2 Binder的含义 | 第22页 |
2.1.3 Android系统使用Binder跨进程通信机制的原因 | 第22-23页 |
2.1.4 AIDL机制 | 第23页 |
2.2 Fuzzing技术 | 第23-25页 |
2.3 遗传算法 | 第25-26页 |
2.4 安全漏洞 | 第26-31页 |
2.4.1 漏洞特性介绍 | 第26-27页 |
2.4.2 常见安全漏洞介绍 | 第27页 |
2.4.3 漏洞分类介绍 | 第27-28页 |
2.4.4 安全漏洞相关的利用 | 第28页 |
2.4.5 漏洞的挖掘方法 | 第28-29页 |
2.4.6 漏洞挖掘过程 | 第29-31页 |
第三章 Android系统服务漏洞挖掘原理和实现 | 第31-45页 |
3.1 Android系统服务漏洞挖掘原理 | 第31-33页 |
3.1.1 Android系统服务漏洞挖掘假设模型 | 第31页 |
3.1.2 测试向量 | 第31-32页 |
3.1.3 服务接口函数的分析 | 第32页 |
3.1.4 系统服务接口函数的参数验证缺陷 | 第32-33页 |
3.2 BFDroid的设计框架 | 第33-35页 |
3.2.1 基本测试数据模块设计 | 第33-34页 |
3.2.2 遗传算子处理模块设计 | 第34-35页 |
3.2.3 Fuzzing引擎模块设计 | 第35页 |
3.2.4 日志监控分析模块设计 | 第35页 |
3.3 BFDroid工具的具体实现 | 第35-43页 |
3.3.1 基本测试数据分析生成模块实现 | 第36页 |
3.3.2 测试数据处理模块实现 | 第36-38页 |
3.3.3 Fuzzing引擎模块实现 | 第38-40页 |
3.3.4 请求发送模块实现 | 第40-42页 |
3.3.5 日志监控模块实现 | 第42-43页 |
3.4 本章小结 | 第43-45页 |
第四章 漏洞发现结果和分析 | 第45-55页 |
4.1 原生Android系统各个版本的漏洞列表 | 第45-47页 |
4.1.1 Android7.1.9(最新版本)的漏洞 | 第45页 |
4.1.2 Android7.0 的漏洞 | 第45-46页 |
4.1.3 Android6.0.1 的漏洞列表 | 第46页 |
4.1.4 Android5.1.1 漏洞列表 | 第46-47页 |
4.1.5 Android4.4.4 漏洞列表 | 第47页 |
4.2 第三方厂商定制Android系统漏洞 | 第47-49页 |
4.2.1 小米定制Android系统MIUI的漏洞 | 第47-48页 |
4.2.2 魅族定制的Android系统FLYME的漏洞 | 第48-49页 |
4.3 漏洞类型总结 | 第49-53页 |
4.3.1 ServiceManager相关的漏洞 | 第49-50页 |
4.3.2 空指针相关的漏洞 | 第50页 |
4.3.3 AIDL生成代码相关漏洞 | 第50-51页 |
4.3.4 WiFi系统服务相关的漏洞 | 第51-52页 |
4.3.5 搜索系统服务相关的漏洞 | 第52页 |
4.3.6 其他的危害 | 第52-53页 |
4.4 漏洞分析总结 | 第53-54页 |
4.5 本章小结 | 第54-55页 |
第五章 总结和展望 | 第55-57页 |
参考文献 | 第57-61页 |
致谢 | 第61-63页 |
作者简介 | 第63-64页 |