内容简介
第1章 你所知道的一切都是错的
单一化方案的误解
iOS安全模型
iOS安全模型的组件
钥匙和锁存在一起
密码等于弱安全
数字取证击败加密
外部数据同样也有风险
劫持流量
数据可能很快就被偷走
谁都不要信,包括你的应用软件
物理访问并非必需的
总结
第1篇 攻击
第2章 iOS攻击基础
为什么要学习如何破解一台设备
越狱解析
开发者工具
终端用户越狱
越狱一台iPhone
DFU模式
不完美越狱和完美越狱
攻破设备并注入代码
构建定制代码
分析你的二进制程序
测试你的二进制程序
代码守护化
以tar归档包的形式部署恶意代码
以RAM磁盘形式部署恶意代码
练习
总结
第3章 窃取文件系统
全盘加密
固态NAND
磁盘加密
iOS硬盘加密会让你在哪里失败
复制实时文件系统
DataTheft载荷
定制launchd
准备RAM磁盘
创建文件系统镜像
复制原始文件系统
RawTheft载荷
定制launchd
准备RAM磁盘
创建文件系统镜像
练习
社会工程学的作用
无法正常使用的诱饵设备
未激活的诱饵设备
包含恶意代码的诱饵
密码工程学软件
总结
第4章 取证跟踪和数据泄露
提取照片的地理标签
被合并到一起的GPS缓存
SQLite数据库
连接到一个数据库
SQLite内建命令
执行SQL查询
重要的数据库文件
联系人地址簿
地址簿头像
Google地图数据
日历事件
通话记录
电子邮件数据库
笔记
照片元数据
短信
Safari书签
短信spotlight缓存
Safari Web缓存
Web应用缓存
WebKit存储
语音邮件
对残余的数据库记录进行逆向
短信草稿
属性列表
重要的属性列表文件
其他重要的文件
总结
第5章 对抗加密
Sogeti数据保护工具
安装数据保护工具
构建暴力破解器
构建需要的Python库
提取加密密钥
KeyTheft载荷
定制launchd
准备RAM磁盘
准备内核
执行暴力破解
解密钥匙链
解密原始磁盘
解密iTunes备份文件
通过间谍件对抗加密
SpyTheft载荷
将spyd守护化
定制launchd
准备RAM磁盘
执行载荷
练习
总结
第6章 无法销毁的文件
刮取HFS日志
还原闲置空间
常被还原出来的数据
应用软件屏幕截图
已删除的属性列表
已删除的语音邮件和录音
以删除的键盘缓存
照片和其他个人信息
总结
第7章 操作运行时环境
分析二进制软件
Mach-O文件格式
class-dump-z简介
符号表
加密的二进制文件
计算偏移值
转储内存
将解密的代码复制回文件
重置cryptid
利用Cycript操作运行时
安装Cycript
使用Cycript
破解简单的锁
替换方法
撒网搜寻数据
记录数据
更多严重的隐含问题
练习
SpringBoard动画
接听来电
屏幕截图
总结
第8章 操纵运行时库
Objective-C程序解析
类实例变量
类方法
类方法缓存
反汇编与调试
监视
底层Objective-C框架
Objective-C接口
恶意代码注入
CodeTheft载荷
使用调试器注入
使用动态连接攻击注入
全设备感染
总结
第9章 劫持流量
APN劫持
交付载荷
清除
简单的代理设置
攻击SSL
SSL Strip
Paros Proxy
浏览器警告
攻击应用软件级别的SSL验证
SSLTheft载荷
劫持基础HTTP类
POSTTheft载荷
分析数据
Driftnet
构建
运行
练习
总结
第2篇 防护
第10章 加密实现
密码强度
当心随机密码生成器
Common Crypto介绍
无状态操作
有状态加密
主密钥加密
地理加密
使用口令的地理加密
拆分服务器端密钥
安全内存
清除内存
公钥加密体系
练习
第11章 反取证
安全的文件擦除
美国国防部5220.2 2-M标准擦除
Objective-C
擦除SQL记录
键盘缓存
随机化PIN码
应用程序屏幕快照
第12章 运行时库安全
篡改响应
擦除用户数据
禁止网络访问
报告机制
启用日志记录
暗桩和自杀分支
进程调试检测
阻挡调试器
运行时库类完整性检查
检查内存地址空间
内联函数
反汇编复杂化
优化标记
去除符号
循环展开-funroll-loops
练习
第13章 越狱检测
沙盒完整性检测
文件系统检测
越狱文件是否存在
/etc/fstab文件大小
符号链接检测
分页执行检查
第14章 下一步
像攻击者一样思考
其他逆向攻击
安全对抗代码管理
灵活的方式实现安全
其他不错的书籍
附录A 新的起点