摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-19页 |
1.1 课题背景和意义 | 第11-12页 |
1.2 移动恶意软件 | 第12-13页 |
1.3 恶意软件检测方法 | 第13-14页 |
1.3.1 静态检测 | 第13页 |
1.3.2 动态检测 | 第13-14页 |
1.3.3 静态和动态相结合的方式 | 第14页 |
1.4 相关工作 | 第14-17页 |
1.4.1 恶意软件判定 | 第14-16页 |
1.4.2 恶意软件家族分类 | 第16-17页 |
1.5 贡献 | 第17-18页 |
1.6 论文主要工作及章节安排 | 第18-19页 |
第二章 背景知识及相关技术 | 第19-29页 |
2.1 安卓平台 | 第19-20页 |
2.2 安卓应用程序 | 第20-21页 |
2.3 安卓恶意软件 | 第21-22页 |
2.4 安卓安全 | 第22-24页 |
2.4.1 权限机制 | 第22-23页 |
2.4.2 签名机制 | 第23页 |
2.4.3 沙盒机制 | 第23页 |
2.4.4 Linux底层安全机制 | 第23-24页 |
2.5 安卓应用程序的权限命名约束 | 第24页 |
2.6 机器学习算法 | 第24-28页 |
2.6.1 朴素贝叶斯 | 第24-25页 |
2.6.2 贝叶斯网络 | 第25-26页 |
2.6.3 J48 | 第26页 |
2.6.4 分类回归树 | 第26-27页 |
2.6.5 随机森林 | 第27-28页 |
2.7 本章小结 | 第28-29页 |
第三章 需求分析与系统架构 | 第29-33页 |
3.1 总体需求分析 | 第29-30页 |
3.2 系统架构设计 | 第30-31页 |
3.3 系统数据流 | 第31-32页 |
3.4 系统的业务需求 | 第32页 |
3.5 本章小结 | 第32-33页 |
第四章 安卓恶意软件检测系统相关问题研究 | 第33-40页 |
4.1 恶意行为研究 | 第33-34页 |
4.2 权限特征研究 | 第34-36页 |
4.2.1 权限特征 | 第34-35页 |
4.2.2 权限过度声明问题 | 第35页 |
4.2.3 数据集预处理算法 | 第35-36页 |
4.3 随机森林研究 | 第36-38页 |
4.3.1 问题阐述 | 第36-37页 |
4.3.2 特征子集优化算法 | 第37-38页 |
4.3.3 时间复杂度分析 | 第38页 |
4.4 本章小结 | 第38-40页 |
第五章 基于有监督机器学习的安卓恶意软件检测系统设计 | 第40-45页 |
5.1 系统整体设计 | 第40-41页 |
5.2 应用程序获取 | 第41页 |
5.3 权限特征提取 | 第41-42页 |
5.4 数据集预处理 | 第42页 |
5.5 数据集存储 | 第42-43页 |
5.6 机器学习检测 | 第43-44页 |
5.7 检测结果展示 | 第44页 |
5.8 本章小结 | 第44-45页 |
第六章 基于有监督机器学习的安卓恶意软件检测系统实现 | 第45-59页 |
6.1 应用程序获取 | 第45页 |
6.2 权限特征提取 | 第45-47页 |
6.3 数据集预处理 | 第47-50页 |
6.4 数据集存储 | 第50页 |
6.5 机器学习检测 | 第50-57页 |
6.5.1 训练机器学习模型 | 第50-54页 |
6.5.2 恶意软件检测 | 第54-57页 |
6.6 检测结果展示 | 第57-58页 |
6.7 本章小结 | 第58-59页 |
第七章 系统测试与分析 | 第59-74页 |
7.1 实验数据 | 第59页 |
7.2 实验环境 | 第59页 |
7.3 实验测试方法及参数设计 | 第59-61页 |
7.3.1 比例分割法 | 第60页 |
7.3.2 k-折交叉验证 | 第60页 |
7.3.3 机器学习算法的参数设计 | 第60-61页 |
7.3.4 数据集预处理阶段的阈值设计 | 第61页 |
7.4 性能评估指标 | 第61-62页 |
7.5 性能测试 | 第62-68页 |
7.6 功能测试 | 第68-70页 |
7.7 不同类型应用程序权限使用的合理性分析 | 第70-73页 |
7.8 本章小结 | 第73-74页 |
第八章 总结与展望 | 第74-76页 |
8.1 总结 | 第74-75页 |
8.2 展望 | 第75-76页 |
参考文献 | 第76-80页 |
附录 | 第80-81页 |
附录 1 英文缩略语对照表 | 第80-81页 |
致谢 | 第81-82页 |
作者攻读学位期间发表的学术论文目录 | 第82页 |