摘要 | 第3-4页 |
abstract | 第4-5页 |
第1章 绪论 | 第9-13页 |
1.1 课题研究背景及意义 | 第9-10页 |
1.2 国内外研究现状 | 第10-11页 |
1.3 本文研究内容及论文结构 | 第11-13页 |
第2章 iOS安全体系结构的研究 | 第13-24页 |
2.1 iOS系统架构 | 第13-14页 |
2.2 iOS安全机制层级 | 第14页 |
2.3 iOS系统级安全机制 | 第14-18页 |
2.3.1 系统可信引导 | 第15页 |
2.3.2 SecureEnclave | 第15-17页 |
2.3.3 软件安全升级 | 第17页 |
2.3.4 FaceID | 第17-18页 |
2.4 加密与防护机制 | 第18-21页 |
2.4.1 硬件加密 | 第18页 |
2.4.2 文件数据保护 | 第18-19页 |
2.4.3 密码保护 | 第19页 |
2.4.4 数据保护 | 第19-21页 |
2.5 应用程序安全性分析 | 第21-23页 |
2.5.1 应用程序代码签名 | 第21-22页 |
2.5.2 TeamID | 第22页 |
2.5.3 AppTransportSecurity | 第22-23页 |
2.6 本章小结 | 第23-24页 |
第3章 iOS应用安全审计技术分析 | 第24-41页 |
3.1 iOS越狱分析 | 第24-25页 |
3.2 iOS应用程序分析 | 第25-28页 |
3.2.1 iOS应用程序分类 | 第25-26页 |
3.2.2 iOS应用程序的结构 | 第26-27页 |
3.2.3 iOS恶意应用分类 | 第27页 |
3.2.4 iOS应用程序逆向分析 | 第27-28页 |
3.3 iOS应用安全审计的关键技术 | 第28-37页 |
3.3.1 methodswizzling | 第28-30页 |
3.3.2 Mach-O文件分析 | 第30-32页 |
3.3.3 程序破解补丁 | 第32-33页 |
3.3.4 MobileSubstrate框架 | 第33-34页 |
3.3.5 Logos语法特性 | 第34-35页 |
3.3.6 外部代码动态注入 | 第35-37页 |
3.4 传统iOS应用安全审计方式 | 第37-40页 |
3.4.1 IPA应用安装包分析 | 第37-38页 |
3.4.2 内存数值分析 | 第38-40页 |
3.5 iOS应用安全审计面临的困难 | 第40页 |
3.6 本章小结 | 第40-41页 |
第4章 iOS应用安全审计模型设计 | 第41-53页 |
4.1 iOS安全审计系统概要设计 | 第41-42页 |
4.2 iOS应用静态审计模块 | 第42-46页 |
4.2.1 应用基础信息分析 | 第42页 |
4.2.2 Bin文件漏洞的安全审计 | 第42-44页 |
4.2.3 校验高危第三方库 | 第44-45页 |
4.2.4 私有API校验 | 第45页 |
4.2.5 数据持久化文件审计 | 第45-46页 |
4.3 iOS应用动态审计模块 | 第46-52页 |
4.3.1 基于iOS私有类的UI界面审计 | 第46-47页 |
4.3.2 敏感数据存储及传输审计 | 第47-48页 |
4.3.3 应用程序内部日志的信息审计 | 第48-49页 |
4.3.4 基于完整性校验的越狱审计 | 第49-50页 |
4.3.5 URLScheme漏洞审计 | 第50-51页 |
4.3.6 基于证书校验的SSL中间人审计 | 第51-52页 |
4.4 iOS动态审计与静态审计的比较 | 第52页 |
4.5 本章小结 | 第52-53页 |
第5章 iOS应用安全审计工具的设计与实现 | 第53-60页 |
5.1 iOS自动化审计工具整体设计方案 | 第53-54页 |
5.2 iOS自动化审计工具的具体实现 | 第54页 |
5.2.2 审计初始化模块的实现 | 第54页 |
5.2.3 静态审计模块的实现 | 第54页 |
5.2.4 动态审计模块的实现 | 第54页 |
5.3 iOS自动化审计工具的评测 | 第54-59页 |
5.3.1 审计初始化测试 | 第54-55页 |
5.3.2 静态审计测试 | 第55-56页 |
5.3.3 动态审计测试 | 第56-59页 |
5.4 本章小结 | 第59-60页 |
第6章 全文总结和展望 | 第60-61页 |
6.1 论文工作总结 | 第60页 |
6.2 问题与展望 | 第60-61页 |
致谢 | 第61-62页 |
参考文献 | 第62-64页 |