基于Android内存镜像的恶意软件检测研究
| 中文摘要 | 第3-4页 |
| 英文摘要 | 第4-5页 |
| 1 绪论 | 第9-14页 |
| 1.1 研究背景与意义 | 第9-11页 |
| 1.2 国内外研究现状 | 第11-12页 |
| 1.3 论文的主要工作 | 第12页 |
| 1.4 论文的组织结构 | 第12-14页 |
| 2 Android和Linux相关机制介绍 | 第14-24页 |
| 2.1 Android系统综述 | 第14-18页 |
| 2.1.1 Android系统体系结构 | 第14-16页 |
| 2.1.2 Android应用结构概述 | 第16-17页 |
| 2.1.3 Dalvik虚拟机 | 第17-18页 |
| 2.2 Android安全机制 | 第18-19页 |
| 2.2.1 Android内核安全机制 | 第18页 |
| 2.2.2 Android应用框架层安全机制 | 第18-19页 |
| 2.3 Java平台相关机制 | 第19-20页 |
| 2.3.1 JNI标准 | 第19-20页 |
| 2.3.2 Java反射技术 | 第20页 |
| 2.4 Linux相关机制 | 第20-23页 |
| 2.4.1 虚拟文件系统 | 第20-22页 |
| 2.4.2 LKM动态可加载模块 | 第22页 |
| 2.4.3 内核符号表 | 第22-23页 |
| 2.5 本章小结 | 第23-24页 |
| 3 Android内存镜像分析 | 第24-37页 |
| 3.1 Linux进程管理 | 第24-26页 |
| 3.1.1 进程和线程 | 第24页 |
| 3.1.2 进程调度 | 第24-26页 |
| 3.2 Linux内存管理 | 第26-29页 |
| 3.2.1 内核虚拟地址转换 | 第26-27页 |
| 3.2.2 重要内核结构 | 第27-29页 |
| 3.3 隐藏进程检测 | 第29-33页 |
| 3.3.1 进程隐藏的常用方法 | 第30-31页 |
| 3.3.2 基于进程号对比的隐藏进程检测方法 | 第31-33页 |
| 3.4 可疑进程检测 | 第33-36页 |
| 3.4.1 恶意应用的典型行为 | 第33页 |
| 3.4.2 可疑进程检测方法 | 第33-36页 |
| 3.5 本章小结 | 第36-37页 |
| 4 Android可疑应用分类检测 | 第37-50页 |
| 4.1 引言 | 第37页 |
| 4.2 APK逆向分析 | 第37-42页 |
| 4.2.1 DEX文件结构 | 第37-39页 |
| 4.2.2 Dalvik类加载机制 | 第39-41页 |
| 4.2.3 Dex文件获取方法 | 第41-42页 |
| 4.3 敏感API提取 | 第42-45页 |
| 4.3.1 Smali语法 | 第42-43页 |
| 4.3.2 逆向提取敏感API | 第43-45页 |
| 4.4 Android可疑应用分类检测 | 第45-49页 |
| 4.4.1 概率神经网络PNN | 第45-46页 |
| 4.4.2 分类器集成 | 第46-47页 |
| 4.4.3 基于API调用的应用分类 | 第47-49页 |
| 4.5 本章小结 | 第49-50页 |
| 5 实验验证与结果分析 | 第50-65页 |
| 5.1 实验环境搭建 | 第50-53页 |
| 5.2 内存镜像获取 | 第53页 |
| 5.3 隐藏进程检测 | 第53-56页 |
| 5.3.1 实验设计 | 第53-55页 |
| 5.3.2 结果分析 | 第55-56页 |
| 5.4 可疑进程检测 | 第56-60页 |
| 5.4.1 实验设计 | 第56-58页 |
| 5.4.2 结果分析 | 第58-60页 |
| 5.5 恶意应用分类检测 | 第60-64页 |
| 5.5.1 集成概率神经网络学习 | 第60-61页 |
| 5.5.2 可疑应用DEX文件获取 | 第61-63页 |
| 5.5.3 恶意应用分类检测 | 第63-64页 |
| 5.6 本章小结 | 第64-65页 |
| 6 总结与展望 | 第65-67页 |
| 6.1 本文工作总结 | 第65页 |
| 6.2 未来工作展望 | 第65-67页 |
| 致谢 | 第67-68页 |
| 参考文献 | 第68-71页 |
| 附录 | 第71页 |
| A 作者在攻读学位期间发表的论文目录 | 第71页 |
| B 作者在攻读学位期间取得的科研成果目录 | 第71页 |