基于数据流分析的Android应用隐私泄露检测研究
摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第13-21页 |
1.1 研究背景及意义 | 第13-14页 |
1.2 研究现状 | 第14-18页 |
1.2.1 基于静态分析的源码审计 | 第15页 |
1.2.2 基于静态分析的检测方法 | 第15-17页 |
1.2.3 现有工作的不足 | 第17-18页 |
1.3 研究内容及主要工作 | 第18-19页 |
1.4 论文组织 | 第19-20页 |
1.5 本章小结 | 第20-21页 |
第二章 背景知识及相关技术 | 第21-37页 |
2.1 ANDROID基础知识 | 第21-28页 |
2.1.1 Android平台架构及其特性 | 第21-22页 |
2.1.2 Android四大基本组件 | 第22-23页 |
2.1.3 APK文件结构 | 第23-25页 |
2.1.4 Android回调函数 | 第25-26页 |
2.1.5 Fragment的引入 | 第26-28页 |
2.2 ANDROID静态数据流分析 | 第28-31页 |
2.2.1 中间表示 | 第29页 |
2.2.2 Source和Sink | 第29-30页 |
2.2.3 可达路径 | 第30-31页 |
2.3 FLOWDROID工作原理 | 第31-36页 |
2.3.1 FlowDroid的组织架构 | 第31-33页 |
2.3.2 FlowDroid的核心:污点传播 | 第33-34页 |
2.3.3 虚拟main方法 | 第34-36页 |
2.4 本章小结 | 第36-37页 |
第三章 设计与实现 | 第37-57页 |
3.1 模型代码 | 第37-40页 |
3.2 系统流程 | 第40-42页 |
3.3 识别FRAGMENT的注册 | 第42-49页 |
3.3.1 解析ManifestFile | 第43-44页 |
3.3.2 回调函数的收集 | 第44-46页 |
3.3.3 识别静态添加的Fragment | 第46-47页 |
3.3.4 识别动态注册的Fragment | 第47-49页 |
3.4 系统自动传参的处理 | 第49-50页 |
3.5 带回调函数的虚拟MAIN方法的创建 | 第50-56页 |
3.5.1 单Activity单Fragment | 第52-53页 |
3.5.2 单Activity多Fragment | 第53-56页 |
3.6 本章小结 | 第56-57页 |
第四章 实验与分析 | 第57-68页 |
4.1 实验测试集和实验环境配置 | 第57-58页 |
4.2 FRAGMENT的使用分布统计 | 第58-61页 |
4.2.1 总体测试集统计结果分析 | 第59-60页 |
4.2.2 著名应用统计结果分析 | 第60-61页 |
4.3 检测隐私泄露结果分析 | 第61-64页 |
4.4 结果与现有工作的对比 | 第64-65页 |
4.5 性能评测 | 第65-67页 |
4.6 本章总结 | 第67-68页 |
第五章 总结与展望 | 第68-71页 |
5.1 本文工作总结 | 第68-69页 |
5.2 对未来工作的展望 | 第69-71页 |
参考文献 | 第71-75页 |
攻读硕士学位期间参与的科研项目 | 第75-76页 |
攻读硕士学位期间完成的学术论文 | 第76-77页 |
致谢 | 第77-78页 |