新書推薦:
《
朋党之争与北宋政治·大学问
》
售價:NT$
454.0
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:NT$
403.0
《
以爱为名的支配
》
售價:NT$
286.0
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
《
6S精益管理实战(精装版)
》
售價:NT$
458.0
《
异域回声——晚近海外汉学之文史互动研究
》
售價:NT$
500.0
內容簡介:
《黑客攻防技术宝典:iOS 实战篇》全面介绍iOS 的安全性及工作原理,揭示了可能威胁iOS
移动设备的所有安全风险和漏洞攻击程序,致力于打造一个更安全的平台。《黑客攻防技术宝典:iOS 实战篇》内容包括:iOS 设备和iOS
安全架构、iOS 在企业中的应用企业管理和服务提供、加密敏感数据的处理、代码签名、沙盒的相关机制与处理、用模糊测试从默认iOS
应用中查找漏洞、编写漏洞攻击程序、面向返回的程序设计ROP、iOS
内核调试与漏洞审查、越狱工作原理与工具、基带处理器。
《黑客攻防技术宝典:iOS 实战篇》适合所有希望了解iOS
设备工作原理的人学习参考,包括致力于以安全方式存储数据的应用开发人员、保障iOS 设备安全的企业管理人员、从iOS
中寻找瑕疵的安全研究人员,以及希望融入越狱社区者。
關於作者:
Charlie Miller是知名黑客,Accuvant实验室资深研究顾问。 Dionysus Blazakis是OS
X和iOS在沙盒安全机制领域的专家。 Dino Dai Zovi是知名黑客,Trail of
Bits联合创始人和首席技术官,有十余年信息安全领域从业经验,专注于攻击系统,曾任职于国家安全机构。与Charlie
Miller一起合著过The Mac Hacker’s Handbook。 Stefan
Esser是知名黑客、PHP安全专家、iOS安全问题的资深研究员。 Vincenzo Iozzo是专注于Mac OS
X和智能手机的独立安全研究员。 Ralf-Philipp
Weinmann德国达姆施塔特工业大学密码学博士、卢森堡大学博士后研究员,对安全问题有着浓厚的兴趣。
目錄 :
目 录
第1章 iOS安全基础知识 1
1.1 iOS硬件设备的类型 1
1.2 苹果公司如何保护App Store 2
1.3 理解安全威胁 3
1.4 理解iOS的安全架构 4
1.4.1 更小的受攻击面 4
1.4.2 精简过的iOS 5
1.4.3 权限分离 5
1.4.4 代码签名 5
1.4.5 数据执行保护 6
1.4.6 地址空间布局随机化 6
1.4.7 沙盒 6
1.5 iOS攻击简史 7
1.5.1 Libtiff 7
1.5.2 短信攻击 8
1.5.3 Ikee蠕虫 8
1.5.4 Storm8 9
1.5.5 SpyPhone 10
1.5.6 Pwn2Own 2010 10
1.5.7 Jailbreakme.com 2“Star” 10
1.5.8 Jailbreakme.com 3“Saffron” 11
1.6 小结 11
第2章 企业中的iOS 12
2.1 iOS配置管理 12
2.1.1 移动配置描述文件 13
2.1.2 iPhone配置实用工具 14
2.2 移动设备管理 21
2.2.1 MDM网络通信 21
2.2.2 Lion Server描述文件管理器 22
2.3 小结 36
第3章 加密 37
3.1 数据保护 37
3.2 对数据保护的攻击 40
3.2.1 对用户密码的攻击 40
3.2.2 iPhone Data Protection Tools 43
3.3 小结 54
第4章 代码签名和内存保护 55
4.1 强制访问控制 56
4.1.1 AMFI钩子 56
4.1.2 AMFI和execv 57
4.2 授权的工作原理 59
4.2.1 理解授权描述文件 59
4.2.2 如何验证授权文件的有效性 62
4.3 理解应用签名 62
4.4 深入了解特权 64
4.5 代码签名的实施方法 65
4.5.1 收集和验证签名信息 65
4.5.2 如何在进程上实施签名 68
4.5.3 iOS如何确保已签名页不发生改变 72
4.6 探索动态代码签名 73
4.6.1 MobileSafari的特殊性 73
4.6.2 内核如何处理即时编译 75
4.6.3 MobileSafari内部的攻击 77
4.7 破坏代码签名机制 78
4.7.1 修改iOS shellcode 79
4.7.2 在iOS上使用Meterpreter 83
4.7.3 取得App Store的批准 85
4.8 小结 86
第5章 沙盒 87
5.1 理解沙盒 87
5.2 在应用开发中使用沙盒 89
5.3 理解沙盒的实现 95
5.3.1 理解用户空间库的实现 95
5.3.2 深入内核 98
5.3.3 沙盒机制对App Store应用和平台应用的影响 109
5.4 小结 113
第6章 对iOS应用进行模糊测试 114
6.1 模糊测试的原理 114
6.2 如何进行模糊测试 115
6.2.1 基于变异的模糊测试 116
6.2.2 基于生成的模糊测试 116
6.2.3 提交和监测测试用例 117
6.3 对Safari进行模糊测试 118
6.3.1 选择接口 118
6.3.2 生成测试用例 118
6.3.3 测试和监测应用 119
6.4 PDF模糊测试中的冒险 122
6.5 对快速查看Quick Look的模糊测试 126
6.6 用模拟器进行模糊测试 127
6.7 对MobileSafari进行模糊测试 130
6.7.1 选择进行模糊测试的接口 130
6.7.2 生成测试用例 130
6.7.3 MobileSafari的模糊测试与监测 131
6.8 PPT模糊测试 133
6.9 对SMS的模糊测试 134
6.9.1 SMS基础知识 135
6.9.2 聚焦协议数据单元模式 136
6.9.3 PDUspy的使用 138
6.9.4 用户数据头信息的使用 139
6.9.5 拼接消息的处理 139
6.9.6 其他类型UDH数据的使用 139
6.9.7 用Sulley进行基于生成的模糊测试 141
6.9.8 SMS iOS注入 145
6.9.9 SMS的监测 146
6.9.10 SMS bug 151
6.10 小结 153
第7章 漏洞攻击 154
7.1 针对bug类的漏洞攻击 154
7.2 理解iOS系统自带的分配程序 156
7.2.1 区域 156
7.2.2 内存分配 157
7.2.3 内存释放 157
7.3 驯服iOS的分配程序 158
7.3.1 所需工具 158
7.3.2 与分配释放有关的基础知识 159
7.4 理解TCMalloc 167
7.4.1 大对象的分配和释放 167
7.4.2 小对象的分配 168
7.4.3 小对象的释放 168
7.5 驯服TCMalloc 168
7.5.1 获得可预知的堆布局 168
7.5.2 用于调试堆操作代码的工具 170
7.5.3 堆风水:以TCMalloc对算术漏洞进行攻击 172
7.5.4 以TCMalloc就对象生存期问题进行漏洞攻击 175
7.6 对ASLR的挑战 176
7.7 案例研究:Pwn2Own 2010 177
7.8 测试基础设施 181
7.9 小结 181
第8章 面向返回的程序设计 182
8.1 ARM基础知识 182
8.1.1 iOS的调用约定 183
8.1.2 系统调用的调用约定 183
8.2 ROP简介 185
8.2.1 ROP与堆bug 186
8.2.2 手工构造ROP有效载荷 187
8.2.3 ROP有效载荷构造过程的自动化 191
8.3 在iOS中使用ROP 193
8.4 iOS中ROP shellcode的示例 195
8.4.1 用于盗取文件内容的有效载荷 196
8.4.2 利用ROP结合两种漏洞攻击程序JailBreakMe v3 202
8.5 小结 206
第9章 内核的调试与漏洞攻击 207
9.1 内核的结构 207
9.2 内核的调试 208
9.3 内核扩展与IOKit驱动程序 213
9.3.1 对IOKit驱动程序对象树的逆向处理 213
9.3.2 在内核扩展中寻找漏洞 216
9.3.3 在IOKit驱动程序中寻找漏洞 219
9.4 内核漏洞攻击 222
9.4.1 任意内存的重写 223
9.4.2 未初始化的内核变量 227
9.4.3 内核栈缓冲区溢出 231
9.4.4 内核堆缓冲区溢出 236
9.5 小结 245
第10章 越狱 246
10.1 为何越狱 246
10.2 越狱的类型 247
10.2.1 越狱的持久性 247
10.2.2 漏洞攻击程序的类型 248
10.3 理解越狱过程 249
10.3.1 对bootrom进行漏洞攻击 250
10.3.2 引导ramdisk 250
10.3.3 为文件系统越狱 250
10.3.4 安装完美越狱漏洞攻击程序 251
10.3.5 安装AFC2服务 251
10.3.6 安装基本实用工具 252
10.3.7 应用转存 253
10.3.8 应用包安装 254
10.3.9 安装后的过程 255
10.4 执行内核有效载荷和补丁 255
10.4.1 内核状态修复 255
10.4.2 权限提升 256
10.4.3 为内核打补丁 257
10.4.4 安全返回 267
10.5 小结 268
第11章 基带攻击 269
11.1 GSM基础知识 270
11.2 建立OpenBTS 272
11.2.1 硬件要求 272
11.2.2 OpenBTS的安装和配置 273
11.3 协议栈之下的RTOS 276
11.3.1 Nucleus PLUS 276
11.3.2 ThreadX 277
11.3.3 REXOKL4Iguana 277
11.3.4 堆的实现 278
11.4 漏洞分析 281
11.4.1 获得并提取基带固件 281
11.4.2 将固件镜像载入IDA Pro 283
11.4.3 应用基带处理器接口 283
11.4.4 栈跟踪与基带核心转储 283
11.4.5 受攻击面 284
11.4.6 二进制代码的静态分析 285
11.4.7 由规范引路的模糊测试 285
11.5 对基带的漏洞攻击 286
11.5.1 本地栈缓冲区溢出:AT+XAPP 286
11.5.2 ultrasn0w解锁工具 287
11.5.3 空中接口可利用的溢出 293
11.6 小结 299
附录 参考资料 300