摘要 | 第5-6页 |
abstract | 第6-7页 |
第1章 绪论 | 第11-17页 |
1.1 研究背景 | 第11-13页 |
1.2 国内外相关工作 | 第13-15页 |
1.3 研究内容和工作创新 | 第15-16页 |
1.4 论文结构 | 第16-17页 |
第2章 相关知识 | 第17-28页 |
2.1 Android系统基础 | 第17-20页 |
2.1.1 Android系统层次化框架 | 第17-18页 |
2.1.2 Android四大组件 | 第18-19页 |
2.1.3 Android安全模型 | 第19-20页 |
2.2 Android恶意应用的分类 | 第20-22页 |
2.3 恶意应用检测技术 | 第22-24页 |
2.3.1 静态检测技术 | 第22-23页 |
2.3.2 动态检测技术 | 第23-24页 |
2.3.3 基于机器学习检测技术 | 第24页 |
2.4 文本表示模型 | 第24-27页 |
2.4.1 向量空间模型 | 第24-25页 |
2.4.2 Unigram Model | 第25页 |
2.4.3 PLSA | 第25-26页 |
2.4.4 LDA | 第26-27页 |
2.5 本章小结 | 第27-28页 |
第3章 动态API调用序列提取 | 第28-43页 |
3.1 基于Xposed框架劫持 | 第28-31页 |
3.1.1 Zygote进程 | 第28-29页 |
3.1.2 Hook/Replace | 第29-31页 |
3.2 API调用序列提取方法 | 第31-35页 |
3.2.1 行为触发器 | 第31-32页 |
3.2.2 特征提取对象 | 第32-33页 |
3.2.3 基于Xposed的特征提取方法 | 第33-35页 |
3.3 分类算法 | 第35-39页 |
3.3.1 朴素贝叶斯 | 第35-36页 |
3.3.2 kNN算法 | 第36页 |
3.3.3 决策树算法 | 第36-38页 |
3.3.4 随机森林算法 | 第38-39页 |
3.4 API调用序列的分类实验 | 第39-42页 |
3.4.1 样本集 | 第39页 |
3.4.2 K折交叉验证 | 第39-40页 |
3.4.3 实验评价指标 | 第40-41页 |
3.4.4 实验结果与分析 | 第41-42页 |
3.5 本章小结 | 第42-43页 |
第4章 基于主题模型的检测方法设计 | 第43-61页 |
4.1 方法基本思路 | 第43页 |
4.2 基于API调用序列的LDA模型构建 | 第43-50页 |
4.2.1 LDA模型介绍 | 第43-45页 |
4.2.2 基于API调用序列的LDA模型生成过程 | 第45-47页 |
4.2.3 Gibbs采样法求解LDA | 第47-49页 |
4.2.4 LDA模型数据的训练和估计 | 第49-50页 |
4.3 基于API调用序列的LDA模型分类方法 | 第50-57页 |
4.3.1 分类框架 | 第50-53页 |
4.3.2 基于LDA模型的实验结果与分析 | 第53-54页 |
4.3.3 模型参数寻优 | 第54-57页 |
4.4 基于API调用序列N-gram的LDA模型分类方法 | 第57-60页 |
4.4.1 N-gram模型 | 第57-58页 |
4.4.2 N-gram序列的LDA模型 | 第58-59页 |
4.4.3 基于N-gram序列的LDA模型实验结果与分析 | 第59-60页 |
4.4.4 数据集大小对实验的影响 | 第60页 |
4.5 本章小结 | 第60-61页 |
第5章 Android恶意代码动态检测原型系统设计 | 第61-67页 |
5.1 实验平台 | 第61页 |
5.2 系统框架设计 | 第61-62页 |
5.3 特征提取模块设计 | 第62-64页 |
5.4 机器学习检测模块设计 | 第64-65页 |
5.5 系统测试结果 | 第65-66页 |
5.6 本章小结 | 第66-67页 |
第6章 结论与展望 | 第67-69页 |
6.1 结论 | 第67页 |
6.2 展望 | 第67-69页 |
参考文献 | 第69-72页 |
致谢 | 第72-73页 |
攻读学位期间参加的科研项目和成果 | 第73页 |