黑客攻防技术宝典 iOS实战篇pdf

图书网 2018年12月27日11:48:02
评论
1.8K

黑客攻防技术宝典 iOS实战篇 内容简介

安全始终是计算机和互联网领域重要的话题。进入移动互联网时代,移动平台和设备的安全问题更加突出。iOS系统凭借其在移动市场的占有率拥有着举足轻重的地位。虽然iOS系统向来以安全著称,但由其自身漏洞而引发的威胁同样一直存在。

《图灵程序设计丛书·网络安全系列:黑客攻防技术宝典·iOS实战篇》由美国国家安全局全球网络漏洞攻击分析师、连续4年Pwn2Own黑客竞赛大奖得主Charlie Miller领衔,6位业内专家合力打造,全面深入介绍了iOS的工作原理、安全架构、安全风险,揭秘了iOS越狱工作原理,探讨了加密、代码签名、内存保护、沙盒机制、iPhone模糊测试、漏洞攻击程序、ROP有效载荷、基带攻击等内容,为深入理解和保护iOS设备提供了足够的知识与工具,是学习iOS设备工作原理、理解越狱和破解、开展iOS漏洞研究的重量级专著。

《图灵程序设计丛书·网络安全系列:黑客攻防技术宝典·iOS实战篇》作为国内全面介绍iOS漏洞及攻防的专著,作者阵容空前豪华,内容毋庸置疑。Charlie Miller曾在美国国家安全局担任全球网络漏洞攻击分析师5年,并连续4届摘得Pwn2Own黑客竞赛桂冠。Dionysus Blazakis擅长漏洞攻击缓解技术,2010年赢得了Pwnie Award创新研究奖。Dino Dai Zovi是Trail of Bits联合创始人和首席技术官,有十余年信息安全领域从业经验,出版过两部信息安全专著。Vincenzo Iozzo现任BlackHat和Shakacon安全会议评审委员会委员,因2010年和2011年连续两届获得Pwn2Own比赛大奖在信息安全领域名声大振。Stefan Esser是业界知名的PHP安全问题专家,是从原厂XBOX的硬盘上直接引导Linux成功的。Ralf-Philipp Weinmann作为德国达姆施塔特工业大学密码学博士、卢森堡大学博士后研究员,对密码学、移动设备安全等都有深入研究。

《图灵程序设计丛书·网络安全系列:黑客攻防技术宝典·iOS实战篇》适合想了解iOS设备工作原理的人,适合对越狱和破解感兴趣的人,适合关注iOS应用及数据安全的开发人员,适合公司技术管理人员(他们需要了解如何保障iOS设备安全),还适合从事iOS漏洞研究的安全研究人员。

黑客攻防技术宝典 iOS实战篇 目录

第1章 iOS安全基础知识

1.1 iOS硬件/设备的类型

1.2 苹果公司如何保护App Store

1.3 理解安全威胁

1.4 理解iOS的安全架构

1.4.1 更小的受攻击面

1.4.2 精简过的iOS

1.4.3 权限分离

1.4.4 代码签名

1.4.5 数据执行保护

1.4.6 地址空间布局随机化

1.4.7 沙盒

1.5 iOS攻击简史

1.5.1 Libtiff

1.5.2 短信攻击

1.5.3 Ikee蠕虫

1.5.4 Storm8

1.5.5 SpyPhone

1.5.6 Pwn2Own 2010

1.5.7 Jailb 2(“Star”)

1.5.8 Jailkme 3(“Saffron”)

1.6 小结

第2章 企业中的iOS

2.1 iOS配置管理

2.1.1 移动配置描述文件

2.1.2 iPhone配置实用工具

2.2 移动设备管理

2.2.1 MDM网络通信

2.2.2 Lion Server描述文件管理器

2.3 小结

第3章 加密

3.1 数据保护

3.2 对数据保护的攻击

3.2.1 对用户密码的攻击

3.2.2 iPhone Data Protection Tools

3.3 小结

第4章 代码签名和内存保护

4.1 强制访问控制

4.1.1 AMFI钩子

4.1.2 AMFI和execv

4.2 授权的工作原理

4.2.1 理解授权描述文件

4.2.2 如何验证授权文件的有效性

4.3 理解应用签名

4.4 深入了解特权

4.5 代码签名的实施方法

4.5.1 收集和验证签名信息

4.5.2 如何在进程上实施签名

4.5.3 iOS如何确保已签名页不发生改变

4.6 探索动态代码签名

4.6.1 MobileSafari的特殊性

4.6.2 内核如何处理即时编译

4.6.3 MobileSafari内部的攻击

4.7 破坏代码签名机制

4.7.1 修改iOS shellcode

4.7.2 在iOS上使用Meterpreter

4.7.3 取得App Store的批准

4.8 小结

第5章 沙盒

5.1 理解沙盒

5.2 在应用开发中使用沙盒

5.3 理解沙盒的实现

5.3.1 理解用户空间库的实现

5.3.2 深入内核

5.3.3 沙盒机制对App Store应用和平台应用的影响

5.4 小结

第6章 对iOS应用进行模糊测试

6.1 模糊测试的原理

6.2 如何进行模糊测试

6.2.1 基于变异的模糊测试

6.2.2 基于生成的模糊测试

6.2.3 提交和监测测试用例

6.3 对Safari进行模糊测试

6.3.1 选择接口

6.3.2 生成测试用例

6.3.3 测试和监测应用

6.4 PDF模糊测试中的冒险

6.5 对快速查看(Quick Look)的模糊测试

6.6 用模拟器进行模糊测试

6.7 对MobileSafari进行模糊测试

6.7.1 选择进行模糊测试的接口

6.7.2 生成测试用例

6.7.3 MobileSafari的模糊测试与监测

6.8 PPT模糊测试

6.9 对SMS的模糊测试

6.9.1 SMS基础知识

6.9.2 聚焦协议数据单元模式

6.9.3 PDUspy的使用

6.9.4 用户数据头信息的使用

6.9.5 拼接消息的处理

6.9.6 其他类型UDH数据的使用

6.9.7 用Sulley进行基于生成的模糊测试

6.9.8 SMS iOS注入

6.9.9 SMS的监测

6.9.10 SMS bug

6.10 小结

第7章 漏洞攻击

7.1 针对bug类的漏洞攻击

7.2 理解iOS系统自带的分配程序

7.2.1 区域

7.2.2 内存分配

7.2.3 内存释放

7.3 驯服iOS的分配程序

7.3.1 所需工具

7.3.2 与分配/释放有关的基础知识

7.4 理解TCMalloc

7.4.1 大对象的分配和释放

7.4.2 小对象的分配

7.4.3 小对象的释放

7.5 驯服TCMalloc

7.5.1 获得可预知的堆布局

7.5.2 用于调试堆操作代码的工具

7.5.3 堆风水:以TCMalloc对算术漏洞进行攻击

7.5.4 以TCMalloc就对象生存期问题进行漏洞攻击

7.6 对ASLR的挑战

7.7 案例研究:Pwn2Own 2010

7.8 测试基础设施

7.9 小结

第8章 面向返回的程序设计

8.1 ARM基础知识

8.1.1 iOS的调用约定

8.1.2 系统调用的调用约定

8.2 ROP简介

8.2.1 ROP与堆bug

8.2.2 手工构造ROP有效载荷

8.2.3 ROP有效载荷构造过程的自动化

8.3 在iOS中使用ROP

8.4 iOS中ROP shellcode的示例

8.4.1 用于盗取文件内容的有效载荷

8.4.2 利用ROP结合两种漏洞攻击程序(JailBreakMe v3)

8.5 小结

第9章 内核的调试与漏洞攻击

9.1 内核的结构

9.2 内核的调试

9.3 内核扩展与IOKit驱动程序

9.3.1 对IOKit驱动程序对象树的逆向处理

9.3.2 在内核扩展中寻找漏洞

9.3.3 在IOKit驱动程序中寻找漏洞

9.4 内核漏洞攻击

9.4.1 任意内存的重写

9.4.2 未初始化的内核变量

9.4.3 内核栈缓冲区溢出

9.4.4 内核堆缓冲区溢出

9.5 小结

第10章 越狱

10.1 为何越狱

10.2 越狱的类型

10.2.1 越狱的持久性

10.2.2 漏洞攻击程序的类型

10.3 理解越狱过程

10.3.1 对bootrom进行漏洞攻击

10.3.2 引导ramdisk

10.3.3 为文件系统越狱

10.3.4 安装完美越狱漏洞攻击程序

10.3.5 安装AFC2服务

10.3.6 安装基本实用工具

10.3.7 应用转存

10.3.8 应用包安装

10.3.9 安装后的过程

10.4 执行内核有效载荷和补丁

10.4.1 内核状态修复

10.4.2 权限提升

10.4.3 为内核打补丁

10.4.4 安全返回

10.5 小结

第11章 基带攻击

11.1 GSM基础知识

11.2 建立OpenBTS

11.2.1 硬件要求

11.2.2 OpenBTS的安装和配置

11.3 协议栈之下的RTOS

11.3.1 Nucleus PLUS

11.3.2 ThreadX

11.3.3 REX/OKL4/Iguana

11.3.4 堆的实现

11.4 漏洞分析

11.4.1 获得并提取基带固件

11.4.2 将固件镜像载入IDA Pro

11.4.3 应用/基带处理器接口

11.4.4 栈跟踪与基带核心转储

11.4.5 受攻击面

11.4.6 二进制代码的静态分析

11.4.7 由规范引路的模糊测试

11.5 对基带的漏洞攻击

11.5.1 本地栈缓冲区溢出:AT+XAPP

11.5.2 ultrasn0w解锁工具

11.5.3 空中接口可利用的溢出

11.6 小结

附录 参考资料

黑客攻防技术宝典 iOS实战篇 精彩文摘

如果你也像我们一样,那么只要拿到新设备就会想要了解它的安全性。这里的“设备”当然也包括iPhone。它不再只是带有小型Web浏览器的手机,与老式手机相比,它更像是计算机。当然,这些(以及将来的)设备可能存在与台式机中相似的安全问题。为了避免这些设备受到危害,苹果公司为它们内置了怎样的预防措施和安全机制呢?我们眼前是一个开启计算领域全新分支的机会。安全性对这些新兴智能设备来说有多重要呢?

本章会就iOS设备回答这些问题。首先,我们要看看各种iOS设备上使用的硬件,然后介绍iOS 5的安全架构。重点讲一讲现有设备为了防范恶意软件攻击和攻击者利用漏洞所内嵌的多层防御手段。接着,介绍一些已经发生的针对iOS设备的攻击,从而说明这些防御手段在现实世界中是如何起效(或失效)的。还将按照时间先后顺序,介绍从最早的iPhone到iOS 5设备受到的各种攻击。阅读过程中,大家会看到iOS设备的安全性有了多大的提高。最初版本的iOS几乎没有安全性可言,但iOS 5相对而言则既强大又可靠。

1.1 iOS硬件/设备的类型

几年来,iOS一直在发展,各种苹果设备中的硬件也不断推陈出新。随着智能手机和平板电脑的普及,人们都希望拥有一台强大的计算设备。从某种意义上讲,他们期望自己口袋里装着的是一台电脑。

iPad的问世就是在这一方向上迈出的第一步。第一代iPad使用了ARM Cortex-A8架构的CPU,它的速度大约是第一代iPhone所使用CPU速度的两倍。

iPad 2和iPhone 4S则是另一个巨大跨越。它们都使用了ARM Cortex-A9架构的双核处理器,就CPU运算的速度而言,要比A8架构的处理器快20%。更惊人的是,A9的GPU要比A8的快9倍。

从安全的角度看,硬件上差异最大的是iPhone 3GS和iPad 2。iPhone 3GS是第一种支持Thumb2指令集的设备。这种新型指令集改变了创建ROP有效载荷的方式。之前设备中出现的代码序列在iPhone 3GS中突然发生了改变。

另一方面,iPad 2使用了双核处理器,它让iOS的分配程序可以全力运行。这样就对漏洞攻击的构造带来了巨大影响,因为漏洞攻击在多处理器环境下的可靠性要弱很多。

另一项与安全相关的硬件是基带。其实,在大多数国家,苹果公司的设备都是与运营商绑定(锁定)的。

为了解锁iPhone,多数漏洞攻击都会利用手机基带部件的漏洞。之前的几代iPhone一直使用英飞凌公司的基带固件。而CDMA版本的iPhone 4以及各版本的iPhone 4S转为使用高通公司的基带固件。

已经公开的若干种漏洞攻击都是针对英飞凌固件的,但针对高通固件的漏洞攻击尚未出现。

图书网:黑客攻防技术宝典 iOS实战篇pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

企业软件开发与实施

Spring+MyBatis企业应用实战pdf

适读人群 :Java开发人员,在校计算机及相关专业学生 1.贴近实际项目,以案例驱动 本书针对每一个知识点都通过相应的程序给出了示范,所有应用范例都密切契合企业开发实际场景,例如用...
企业软件开发与实施

大话设计模式pdf

《大话设计模式》是准备攀登面向对象编程高峰朋友们的引路人和提携者;《大话设计模式》是学习、体会和领悟了众多大师智慧结晶后的图书作品;《大话设计模式》是你深入理解和感受GoF的《设计...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: