基于Android平台的恶意软件检测和软件加固技术研究
摘要 | 第4-6页 |
Abstract | 第6-7页 |
第一章 引言 | 第11-21页 |
1.1 引言 | 第11-14页 |
1.2 研究现状 | 第14-19页 |
1.2.1 Android恶意应用概况 | 第14-15页 |
1.2.2 Android恶意应用检测现状 | 第15-17页 |
1.2.3 Android应用软件加固现状 | 第17-18页 |
1.2.4 现有工作的不足 | 第18-19页 |
1.3 我们的工作 | 第19-21页 |
1.3.1 论文的内容和贡献 | 第19-20页 |
1.3.2 论文组织 | 第20-21页 |
第二章 背景知识及相关技术 | 第21-29页 |
2.1 Android相关背景 | 第21-26页 |
2.1.1 Android平台体系架构 | 第21-23页 |
2.1.2 Android应用程序组件 | 第23-24页 |
2.1.3 Android安全机制 | 第24-25页 |
2.1.4 Smali文件格式 | 第25-26页 |
2.2 恶意软件检测技术 | 第26-28页 |
2.2.1 基于字符串的特征签名技术 | 第27页 |
2.2.2 基于程序结构的特征签名技术 | 第27页 |
2.2.3 基于程序语义的特征签名技术 | 第27-28页 |
2.3 Android平台恶意软件检测技术的特性 | 第28页 |
2.4 本章小结 | 第28-29页 |
第三章 基于组件间调用图的恶意软件签名 | 第29-48页 |
3.1 需求分析 | 第29页 |
3.2 总体设计 | 第29-34页 |
3.2.1 检测框架 | 第30-32页 |
3.2.2 建立组件间调用图 | 第32-33页 |
3.2.3 API抽取 | 第33页 |
3.2.4 基于权限和意图动作的过滤器 | 第33-34页 |
3.3 子图同构匹配 | 第34-39页 |
3.3.1 图的同构模式 | 第34-35页 |
3.3.2 图的同构匹配算法 | 第35-36页 |
3.3.3 VF2算法分析及实现 | 第36-39页 |
3.4 Android恶意软件混淆 | 第39-42页 |
3.4.1 重打包 | 第39-40页 |
3.4.2 代码混淆 | 第40-42页 |
3.5 实现细节 | 第42-47页 |
3.5.1 Android应用组件间调用图的建立 | 第42-45页 |
3.5.2 API的抽取方法 | 第45页 |
3.5.3 构建组件间调用图和子图同构匹配 | 第45-46页 |
3.5.4 基于权限和意图动作的过滤器的实现 | 第46-47页 |
3.6 本章小结 | 第47-48页 |
第四章 基于函数调用隐藏的软件加固技术 | 第48-54页 |
4.1 需求分析 | 第48-49页 |
4.2 总体设计 | 第49-51页 |
4.3 具体实现 | 第51-53页 |
4.4 本章小结 | 第53-54页 |
第五章 实验与分析 | 第54-65页 |
5.1 实验环境 | 第54页 |
5.2 实验结果概览 | 第54-57页 |
5.2.1 检测结果 | 第54-56页 |
5.2.2 误报率和漏报率分析 | 第56页 |
5.2.3 过滤器效果分析 | 第56-57页 |
5.3 案例分析 | 第57-60页 |
5.3.1 GoldDream | 第57-59页 |
5.3.2 Pjapps | 第59-60页 |
5.4 讨论 | 第60-61页 |
5.5 Android应用加固实验评估 | 第61-64页 |
5.5.1 实验环境 | 第61页 |
5.5.2 性能开销 | 第61-62页 |
5.5.3 so加固有效性测试 | 第62-64页 |
5.6 本章小结 | 第64-65页 |
第六章 结论与展望 | 第65-67页 |
6.1 总结 | 第65-66页 |
6.2 未来工作和展望 | 第66-67页 |
参考文献 | 第67-71页 |
攻读硕士学位期间参与的科研项目 | 第71页 |
攻读硕士学位期间完成的论文 | 第71-72页 |
致谢 | 第72-73页 |