Android应用本地代码的安全加固及安全性评估
摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景 | 第11-12页 |
1.2 研究现状 | 第12-15页 |
1.2.1 代码保护研究现状 | 第12-14页 |
1.2.2 代码保护评估研究现状 | 第14-15页 |
1.3 主要工作 | 第15-16页 |
1.4 结构安排 | 第16-17页 |
第二章 本地代码及其安全问题 | 第17-29页 |
2.1 本地代码简介 | 第17-20页 |
2.1.1 本地编程 | 第17-19页 |
2.1.2 本地代码格式 | 第19-20页 |
2.1.3 本地代码加载与链接 | 第20页 |
2.2 ARM架构简介 | 第20-22页 |
2.2.1 ARM体系结构 | 第21页 |
2.2.2 子程序调用过程 | 第21-22页 |
2.3 本地代码面临的安全威胁 | 第22-26页 |
2.3.1 关键代码提取 | 第23-24页 |
2.3.2 恶意代码植入 | 第24-26页 |
2.4 本地代码的常规保护方法及其局限性 | 第26-28页 |
2.4.1 代码混淆及其局限性 | 第26-27页 |
2.4.2 代码加密及其局限性 | 第27页 |
2.4.3 完整性验证及其局限性 | 第27-28页 |
2.4.4 反调试及其局限性 | 第28页 |
2.5 本章小结 | 第28-29页 |
第三章 基于CFI的本地代码加固方案 | 第29-37页 |
3.1 总体方案设计 | 第29-31页 |
3.1.1 预处理模块 | 第29-30页 |
3.1.2 策略配置模块 | 第30页 |
3.1.3 CF加固模块 | 第30页 |
3.1.4 CFI执行模块 | 第30-31页 |
3.2 模块设计 | 第31-36页 |
3.2.1 CFT定义 | 第31-32页 |
3.2.2 调用流提取 | 第32页 |
3.2.3 CFT特征提取 | 第32-33页 |
3.2.4 CFI加固策略 | 第33-34页 |
3.2.5 CFI策略植入 | 第34-35页 |
3.2.6 CFI执行 | 第35-36页 |
3.3 本章小结 | 第36-37页 |
第四章 基于CFI的加固系统实现与实验结果 | 第37-49页 |
4.1 开发与测试环境 | 第37页 |
4.2 系统实例分析 | 第37-42页 |
4.2.1 静态分析及控制流特征提取 | 第37-41页 |
4.2.2 加固代码生成与策略植入 | 第41-42页 |
4.3 实验结果与分析 | 第42-48页 |
4.3.1 功能测试与分析 | 第42-44页 |
4.3.2 性能测试与分析 | 第44-48页 |
4.4 本章小结 | 第48-49页 |
第五章 加固方案的安全性评估 | 第49-61页 |
5.1 本地代码面临的攻击建模 | 第49-54页 |
5.1.1 逆向攻击手段阐述 | 第49-50页 |
5.1.2 攻击模型 | 第50-51页 |
5.1.3 风险评估模型 | 第51-54页 |
5.2 本地代码保护方案的安全性评估 | 第54-60页 |
5.2.1 评估实例分析 | 第54-57页 |
5.2.2 安全评估结果 | 第57-60页 |
5.2.3 安全开发建议 | 第60页 |
5.3 本章小结 | 第60-61页 |
第六章 总结与展望 | 第61-63页 |
6.1 论文工作总结 | 第61页 |
6.2 问题和展望 | 第61-63页 |
参考文献 | 第63-67页 |
致谢 | 第67-68页 |
攻读学位期间发表的学术论文目录 | 第68页 |