摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
符号对照表 | 第12-13页 |
缩略语对照表 | 第13-16页 |
第一章 绪论 | 第16-24页 |
1.1 研究背景及意义 | 第16-18页 |
1.2 国内外研究现状 | 第18-21页 |
1.2.1 Android平台漏洞挖掘现状 | 第19-20页 |
1.2.2 人工智能与漏洞挖掘 | 第20-21页 |
1.3 本文主要工作 | 第21-22页 |
1.4 课题支持 | 第22页 |
1.5 本文组织结构 | 第22-24页 |
第二章 相关技术基础 | 第24-34页 |
2.1 Android系统框架 | 第24-25页 |
2.2 Android匿名共享内存机制 | 第25-26页 |
2.3 模糊测试技术 | 第26-27页 |
2.4 深度学习技术 | 第27-29页 |
2.5 插桩技术 | 第29-30页 |
2.6 遗传算法 | 第30-31页 |
2.7 本章小结 | 第31-34页 |
第三章 Andro Fuzz的设计思想 | 第34-46页 |
3.1 Andro Fuzz的整体设计思想 | 第34-35页 |
3.2 测试用例生成模块的设计 | 第35-38页 |
3.2.1 模型训练 | 第36-37页 |
3.2.2 测试用例生成 | 第37-38页 |
3.3 源码插桩模块的设计 | 第38-39页 |
3.4 Fuzzer模块的设计 | 第39-43页 |
3.4.1 覆盖信息分析模块 | 第40-41页 |
3.4.2 遗传算法模块 | 第41-43页 |
3.5 崩溃信息处理模块的设计 | 第43-44页 |
3.6 本章小结 | 第44-46页 |
第四章 Andro Fuzz的具体实现 | 第46-56页 |
4.1 测试用例生成模块的实现 | 第46-49页 |
4.1.1 模型训练 | 第46-47页 |
4.1.2 测试用例生成 | 第47-49页 |
4.2 源码插桩模块的实现 | 第49-50页 |
4.3 Fuzzer模块的实现 | 第50-54页 |
4.3.1 覆盖信息分析模块的实现 | 第51-52页 |
4.3.2 遗传算法模块的实现 | 第52-54页 |
4.4 崩溃信息处理模块的实现 | 第54-55页 |
4.5 本章小结 | 第55-56页 |
第五章 实验结果与分析 | 第56-70页 |
5.1 测试用例生成模块的实验与证明 | 第56-60页 |
5.1.1 实验环境 | 第56页 |
5.1.2 实验步骤 | 第56-59页 |
5.1.3 实验分析与结论 | 第59-60页 |
5.2 可行性证明 | 第60-64页 |
5.2.1 实验环境 | 第60-61页 |
5.2.2 实验步骤 | 第61-63页 |
5.2.3 实验分析与结论 | 第63-64页 |
5.3 漏洞分析与有效性证明 | 第64-69页 |
5.3.1 stagefright可执行程序中的空指针引用漏洞 | 第64-66页 |
5.3.2 Open CV库中的越界写漏洞 | 第66-68页 |
5.3.3 与其他模糊测试工具的简单对比 | 第68-69页 |
5.3.4 其他 | 第69页 |
5.4 本章小结 | 第69-70页 |
第六章 总结与展望 | 第70-72页 |
6.1 本文总结 | 第70-71页 |
6.2 展望 | 第71-72页 |
参考文献 | 第72-76页 |
致谢 | 第76-78页 |
作者简介 | 第78-79页 |