iOS应用程序的攻击手段分析及防护
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-16页 |
1.1 研究的背景及意义 | 第11-12页 |
1.2 研究现状 | 第12-13页 |
1.3 论文研究工作 | 第13-14页 |
1.4 论文组织结构 | 第14-16页 |
第二章 iOS操作系统 | 第16-29页 |
2.1 iOS操作系统架构介绍 | 第16-17页 |
2.2 iOS文件系统介绍 | 第17-21页 |
2.2.1 iOS文件权限管理 | 第19-21页 |
2.2.2 iOS数据权限管理 | 第21页 |
2.3 iOS安全模式架构 | 第21-26页 |
2.3.1 设备安全 | 第21-22页 |
2.3.2 数据安全 | 第22页 |
2.3.3 网络安全 | 第22页 |
2.3.4 应用程序安全 | 第22-26页 |
2.4 iOS安全隐患 | 第26-28页 |
2.4.1 加密机制安全隐患 | 第26-27页 |
2.4.2 ASLR局限性导致的隐患 | 第27页 |
2.4.3 JIT导致的隐患 | 第27-28页 |
2.5 越狱 | 第28页 |
2.6 本章小结 | 第28-29页 |
第三章 文件式恶意代码注入 | 第29-50页 |
3.1 公共网络的恶意代码注入 | 第29-32页 |
3.1.1 工具介绍 | 第29-30页 |
3.1.2 实现过程 | 第30-32页 |
3.2 daemon的恶意代码注入 | 第32-34页 |
3.2.1 背景知识介绍 | 第32-33页 |
3.2.2 实现原理 | 第33页 |
3.2.3 实现过程 | 第33-34页 |
3.3 自定义Ramdisk的恶意代码注入 | 第34-42页 |
3.3.1 注入原理 | 第34-35页 |
3.3.2 实现过程 | 第35-42页 |
3.4 改进的Ramdisk恶意代码注入 | 第42-48页 |
3.4.1 监视计时原理 | 第42-43页 |
3.4.2 苹果专用usbmux协议 | 第43页 |
3.4.3 实验设计 | 第43-48页 |
3.5 本章小结 | 第48-50页 |
第四章 基于栈溢出的恶意代码注入 | 第50-58页 |
4.1 经典栈溢出 | 第50-51页 |
4.2 ROP攻击 | 第51-56页 |
4.2.1 gadget的实现 | 第52-54页 |
4.2.2 iOS平台下ROP方案 | 第54-55页 |
4.2.3 仿真实验 | 第55-56页 |
4.3 本章小结 | 第56-58页 |
第五章 基于逆向工程的恶意代码注入 | 第58-82页 |
5.1 背景知识介绍 | 第58-63页 |
5.2 逆向注入原理 | 第63-68页 |
5.2.1 破解加密可执行文件 | 第63-66页 |
5.2.2 tweak工程 | 第66-68页 |
5.3 设计测试用例的实现 | 第68-81页 |
5.4 本章小结 | 第81-82页 |
第六章 对恶意代码注入的防护 | 第82-94页 |
6.1 维护密码的复杂度 | 第82-84页 |
6.2 完善内存保护机制 | 第84-86页 |
6.3 运行时程序反调试机制 | 第86-93页 |
6.3.1 反调试框架 | 第86-87页 |
6.3.2 具体技术的实现 | 第87-92页 |
6.3.3 测试 | 第92-93页 |
6.4 本章小结 | 第93-94页 |
第七章 总结与展望 | 第94-96页 |
7.1 本文工作总结 | 第94页 |
7.2 展望 | 第94-96页 |
致谢 | 第96-97页 |
参考文献 | 第97-99页 |