iOS下基于SDK的安全防护框架设计
| 摘要 | 第5-6页 |
| ABSTRACT | 第6-7页 |
| 第一章 绪论 | 第11-14页 |
| 1.1 研究背景 | 第11-12页 |
| 1.2 论文工作 | 第12页 |
| 1.3 论文创新点 | 第12-13页 |
| 1.4 论文组织 | 第13-14页 |
| 第二章 App应用安全威胁分析 | 第14-23页 |
| 2.1 系统键盘的安全威胁 | 第14-17页 |
| 2.1.1 获取屏幕点击位置威胁 | 第14-15页 |
| 2.1.2 键盘缓存威胁 | 第15-16页 |
| 2.1.3 录屏威胁 | 第16-17页 |
| 2.2 用户数据本地存储安全威胁 | 第17-18页 |
| 2.2.1 数据库文件安全威胁 | 第17页 |
| 2.2.2 文件存储安全威胁 | 第17-18页 |
| 2.3 App敏感信息本地保存安全威胁 | 第18-20页 |
| 2.3.1 硬编码方式写入程序存在的威胁 | 第18-19页 |
| 2.3.2 保存在plist中存在的威胁 | 第19-20页 |
| 2.4 App源代码泄露威胁 | 第20-21页 |
| 2.5 热更新脚本篡改威胁 | 第21-22页 |
| 2.6 本章小结 | 第22-23页 |
| 第三章 现有App应用安全防护技术分析 | 第23-29页 |
| 3.1 移动安全键盘技术分析 | 第23页 |
| 3.2 用户本地数据保存技术分析 | 第23-24页 |
| 3.3 App敏感信息保存技术分析 | 第24页 |
| 3.4 App源代码保护技术分析 | 第24-27页 |
| 3.4.1 逆向分析技术分析 | 第25-26页 |
| 3.4.2 代码混淆技术分析 | 第26-27页 |
| 3.5 热更新防护技术分析 | 第27页 |
| 3.6 现有防护技术问题总结 | 第27-28页 |
| 3.7 本章小结 | 第28-29页 |
| 第四章 基于SDK的安全防护框架设计与实现 | 第29-49页 |
| 4.1 安全防护框架需求分析 | 第29-31页 |
| 4.1.1 安全键盘需求分析 | 第29页 |
| 4.1.2 用户数据本地存储安全需求 | 第29-30页 |
| 4.1.3 App敏感数据安全保存需求 | 第30页 |
| 4.1.4 App源代码保护需求 | 第30页 |
| 4.1.5 安全热更新需求 | 第30-31页 |
| 4.2 总体架构设计 | 第31-32页 |
| 4.3 安全键盘 | 第32-38页 |
| 4.3.1 监听用户输入事件 | 第32-33页 |
| 4.3.2 拦截系统键盘显示 | 第33-34页 |
| 4.3.3 检测是否存在录屏进程 | 第34-35页 |
| 4.3.4 键盘按键随机布局 | 第35-37页 |
| 4.3.5 键盘和输入信息显示 | 第37-38页 |
| 4.4 用户数据安全保存 | 第38-42页 |
| 4.4.1 SQLite数据库安全存储 | 第38-40页 |
| 4.4.2 .文件安全储存 | 第40-42页 |
| 4.5 App应用敏感数据安全保存 | 第42-44页 |
| 4.5.1 安全plist文件保存 | 第42-43页 |
| 4.5.2 使用SSkeychain保存信息 | 第43-44页 |
| 4.6 代码混淆加固 | 第44-46页 |
| 4.6.1 关键字提取 | 第44-45页 |
| 4.6.2 创建还原数据库 | 第45-46页 |
| 4.6.3 混淆 | 第46页 |
| 4.7 安全热更新 | 第46-48页 |
| 4.7.1 热更新原理 | 第46-47页 |
| 4.7.2 热更新脚本安全下发 | 第47-48页 |
| 4.7.3 热更新脚本本地安全 | 第48页 |
| 4.8 本章小结 | 第48-49页 |
| 第五章 安全防护SDK的使用和分析 | 第49-69页 |
| 5.1 安全防护SDK组成 | 第49-50页 |
| 5.2 安全键盘接口 | 第50-51页 |
| 5.2.1 接口使用说明 | 第50页 |
| 5.2.2 接口实现效果 | 第50-51页 |
| 5.3 用户数据保护接口 | 第51-54页 |
| 5.3.1 接口使用说明 | 第51-52页 |
| 5.3.2 接口实现效果 | 第52-54页 |
| 5.4 App应用敏感数据保护接口 | 第54-57页 |
| 5.4.1 接口使用说明 | 第54-56页 |
| 5.4.2 接口实现效果 | 第56-57页 |
| 5.5 代码混淆接口 | 第57-59页 |
| 5.5.1 接口使用说明 | 第57页 |
| 5.5.2 接口实现效果 | 第57-59页 |
| 5.6 安全热更新接口 | 第59-60页 |
| 5.6.1 接口使用说明 | 第59-60页 |
| 5.6.2 接口使用效果 | 第60页 |
| 5.7 性能测试分析 | 第60-64页 |
| 5.7.1 运行时响应速度 | 第61-62页 |
| 5.7.2 用户数据加密存储对系统的影响 | 第62-64页 |
| 5.8 安全性分析 | 第64-68页 |
| 5.8.1 与市面上现有的安全键盘比较 | 第64-65页 |
| 5.8.2 App数据的安全性 | 第65-66页 |
| 5.8.3 防止密钥泄露攻击 | 第66-67页 |
| 5.8.4 防逆向SDK攻击分析 | 第67页 |
| 5.8.5 加密算法的安全性 | 第67-68页 |
| 5.9 本章小结 | 第68-69页 |
| 第六章 总结与展望 | 第69-71页 |
| 6.1 总结 | 第69-70页 |
| 6.2 展望 | 第70-71页 |
| 致谢 | 第71-72页 |
| 参考文献 | 第72-76页 |
| 附录 | 第76页 |