致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7页 |
1 引言 | 第11-16页 |
1.1 研究背景 | 第11-13页 |
1.2 研究现状 | 第13-14页 |
1.3 研究内容 | 第14-15页 |
1.4 论文结构 | 第15-16页 |
2 Android系统架构与安全机制 | 第16-27页 |
2.1 Android系统架构 | 第16-20页 |
2.1.1 Android系统架构概述 | 第16-18页 |
2.1.2 Android应用组件 | 第18-20页 |
2.1.3 进程间通信机制 | 第20页 |
2.2 Android系统安全机制 | 第20-24页 |
2.2.1 文件访问控制机制 | 第20-21页 |
2.2.2 基于权限检查的安全机制 | 第21-23页 |
2.2.3 沙箱机制 | 第23-24页 |
2.2.4 数字签名机制 | 第24页 |
2.3 Android恶意应用检测技术 | 第24-26页 |
2.3.1 静态分析 | 第24-25页 |
2.3.2 动态分析 | 第25-26页 |
2.4 本章小结 | 第26-27页 |
3 Android应用程序动态分析 | 第27-49页 |
3.1 Android应用程序动态分析体系结构 | 第27-31页 |
3.1.1 App分类 | 第28-29页 |
3.1.2 实现自定制的DroidBox | 第29-30页 |
3.1.3 数据收集 | 第30页 |
3.1.4 数据处理与运用分类器进行正常与恶意样本的分类 | 第30-31页 |
3.2 Android动态分析常用特征 | 第31-34页 |
3.2.1 Android动态分析常用特征简介 | 第31页 |
3.2.2 DroidBox收集的常用特征实例 | 第31-34页 |
3.3 Android动态分析新加特征研究与提取 | 第34-37页 |
3.3.1 是否具有反模拟器机制 | 第34-35页 |
3.3.2 是否隐藏应用图标 | 第35-36页 |
3.3.3 数据包大小 | 第36页 |
3.3.4 API调用类别数 | 第36页 |
3.3.5 单位时间内API调用数据 | 第36页 |
3.3.6 Root权限申请 | 第36-37页 |
3.4 实验数据集 | 第37-39页 |
3.5 分类算法 | 第39-41页 |
3.5.1 支持向量机(SVM) | 第39-40页 |
3.5.2 决策树(Decision Tree) | 第40-41页 |
3.5.3 随机森林(Random Forest) | 第41页 |
3.6 实验结果分析 | 第41-47页 |
3.6.1 实验特征与结果 | 第41-44页 |
3.6.2 实验数据集分析 | 第44页 |
3.6.3 反模拟器机制分析 | 第44-45页 |
3.6.4 隐藏应用图标分析 | 第45页 |
3.6.5 单位时间内API调用数量分析 | 第45-46页 |
3.6.6 root权限申请分析 | 第46-47页 |
3.7 本章小结 | 第47-49页 |
4 DroidVet——Android恶意应用检测系统的设计与实现 | 第49-62页 |
4.1 DroidVet系统流程 | 第49-51页 |
4.1.1 系统流程结构 | 第49-50页 |
4.1.2 系统流程模块介绍 | 第50-51页 |
4.2 DroidVet系统个模块详细设计与实现 | 第51-60页 |
4.2.1 上传模块的设计与实现 | 第51-53页 |
4.2.2 分析报告模块的设计与实现 | 第53-54页 |
4.2.3 已分析APK模块的设计与实现 | 第54-55页 |
4.2.4 分析模块的设计与实现 | 第55-57页 |
4.2.5 VirusTotal系统集成模块的设计与实现 | 第57页 |
4.2.6 敏感特征匹配模块的设计与实现 | 第57-58页 |
4.2.7 数据库的设计与实现 | 第58-60页 |
4.3 DroidVet系统测试 | 第60-61页 |
4.4 本章小结 | 第61-62页 |
5 总结与展望 | 第62-64页 |
5.1 总结 | 第62页 |
5.2 展望 | 第62-64页 |
参考文献 | 第64-68页 |
作者简历及攻读硕士学位期间取得的研究成果 | 第68-70页 |
学位论文数据集 | 第70页 |