Android应用安全加固技术研究与实现
摘要 | 第3-4页 |
Abstract | 第4-5页 |
1 绪论 | 第11-19页 |
1.1 研究背景及意义 | 第11-13页 |
1.2 国内外研究现状 | 第13-16页 |
1.2.1 Android应用常见的攻击类型 | 第13-14页 |
1.2.2 Android现有保护技术及缺陷 | 第14-16页 |
1.3 主要研究内容 | 第16-17页 |
1.4 论文组织结构 | 第17-19页 |
2 Android安全技术研究 | 第19-33页 |
2.1 Android系统架构 | 第19-21页 |
2.2 Android安全机制 | 第21-24页 |
2.2.1 内核层安全机制 | 第21页 |
2.2.2 权限授予机制 | 第21-22页 |
2.2.3 沙箱隔离机制 | 第22-23页 |
2.2.4 数字签名机制 | 第23-24页 |
2.3 Dalvik虚拟机 | 第24-28页 |
2.3.1 Dalvik指令集 | 第24-25页 |
2.3.2 Dalvik虚拟机执行流程 | 第25-26页 |
2.3.3 Dalvik虚拟机运行机制 | 第26-28页 |
2.4 DEX文件 | 第28-31页 |
2.4.1 DEX文件中的数据结构 | 第29页 |
2.4.2 DEX文件结构分析 | 第29-31页 |
2.5 虚拟机保护技术 | 第31-32页 |
2.6 本章小结 | 第32-33页 |
3 基于虚拟机定制的加固方法研究 | 第33-46页 |
3.1 基本思想 | 第33-34页 |
3.2 关键代码信息抽取 | 第34-38页 |
3.2.1 方法签名获取 | 第34-36页 |
3.2.2 代码信息抽取 | 第36-38页 |
3.3 虚拟指令转换 | 第38-40页 |
3.3.1 指令转换策略分析 | 第38-39页 |
3.3.2 指令转换规则描述 | 第39-40页 |
3.3.3 指令存储 | 第40页 |
3.4 字节码解释器 | 第40-44页 |
3.4.1 字节码解释器模型描述 | 第41-42页 |
3.4.2 虚拟指令分类与解释 | 第42-44页 |
3.5 验证实验与结果分析 | 第44-45页 |
3.5.1 实验过程 | 第44-45页 |
3.5.2 实验结果分析 | 第45页 |
3.6 本章小结 | 第45-46页 |
4. Android应用安全加固系统实现 | 第46-58页 |
4.1 体系结构 | 第46-47页 |
4.1.1 系统功能 | 第46-47页 |
4.1.2 系统工作流程 | 第47页 |
4.2 应用解析模块 | 第47-49页 |
4.2.1 静态技术分析Smali文件 | 第48页 |
4.2.2 获取自定义方法列表 | 第48-49页 |
4.3 代码加固模块 | 第49-53页 |
4.3.1 指令抽取子模块 | 第49-50页 |
4.3.2 指令转换子模块 | 第50-51页 |
4.3.3 字节码解释器子模块 | 第51-53页 |
4.4 安全增强模块 | 第53-56页 |
4.4.1 反调试子模块 | 第53-55页 |
4.4.2 签名校验子模块 | 第55-56页 |
4.5 重编译模块 | 第56-57页 |
4.6 本章小结 | 第57-58页 |
5 系统测试与验证 | 第58-67页 |
5.1 测试环境准备 | 第58-59页 |
5.2 安全性测试与分析 | 第59-64页 |
5.2.1 系统功能测试 | 第59-62页 |
5.2.2 抗攻击能力测试 | 第62-63页 |
5.2.3 安全性分析 | 第63-64页 |
5.3 性能测试与分析 | 第64-65页 |
5.4 本章小结 | 第65-67页 |
6 总结与展望 | 第67-68页 |
6.1 论文工作总结 | 第67页 |
6.2 后续工作展望 | 第67-68页 |
致谢 | 第68-69页 |
参考文献 | 第69-73页 |
附录 | 第73页 |