书名:黑客攻防技术宝典-iOS实战篇 作者:Charlie Miller Dionysus Blazakis Dino Dai Zovi [美]Stefan Esser Vincenzo lozzo Ralf-Philipp Weinmann翻译:傅尔也
●内容提要
《黑客攻防技术宝典:iOS实战篇》全面介绍iOS的安全性及工作原理,揭示了可能威胁iOS移动设备的所有安全风险和漏洞攻击程序,致力于打造一个更安全的平台。本书内容包括:iOS设备和iOS安全架构、iOS在企业中的应用(企业管理和服务提供)、加密敏感数据的处理、代码签名、沙盒的相关机制与处理、用模糊测试从默认iOS应用中查找漏洞、编写漏洞攻击程序、面向返回的程序设计(ROP)、iOS内核调试与漏洞审查、越狱工作原理与工具、基带处理器。
本书适合所有希望了解iOS设备工作原理的人学习参考,包括致力于以安全方式存储数据的应用开发人员、保障iOS设备安全的企业管理人员、从iOS中寻找瑕疵的安全研究人员,以及希望融入越狱社区者。
●本书内容
本书是按iOS安全功能主题划分章节的,读者可以用不同的方式来阅读本书。不熟悉这些主题或是不想错过任何内容的读者可以从头至尾阅读整本书。本书从相对基础的章节开始,由浅入深地慢慢过渡到后面较为复杂和深奥的章节。而那些已经对iOS的内部细节有所了解的读者可以跳过开头部分,直接阅读自己感兴趣的那些章节。每一章的内容基本上都是相对独立的。在提到其他章的主题时,我们都会指明出处。下面来看一下本书中各章的主要内容。
口第1章概述iOS设备和iOS安全架构。我们在此介绍本书其余部分所要讨论的大部分主题,最后讨论针对各版iOS发动的一些攻击,包括最早期的一些攻击和针对iOS5安全架构的一些攻击。
口第2章讨论iOS在企业中的使用,涉及诸如企业管理和服务提供之类的主题。此外,这
一章还讲述如何为企业设备开发应用,包括开发者证书和配置概要文件的工作原理。
口第3章包含与iOS处理加密敏感数据相关的信息。这一章概述如何为每台iOS设备得出加密密钥以及如何使用这些加密密钥、各种等级的加密以及每种等级下都有哪些文件,讨论开发人员如何利用Data Protection API保护应用中的敏感数据。最后,我们还将展示如何通过蛮力攻击破解密码,以及4位数字密码的脆弱性。
口第4章针对iOS深入介绍一种主要的安全机制——代码签名。我们将为读者呈现相关的源代码和逆向工程二进制文件,它们用于确保只有由受信任机构签名的代码才能在设备上运行。这一章还将重点介绍iOS代码签名机制中的新内容,它们为实现即时编译而允许未签名的代码以一种严格受控的方式运行。最后,我们介绍iOS5的早期版本中出现的代码签名机制漏洞。
口第5章介绍iOS中涉及沙盒的机制。我们将展示iOS内核如何支持把钩子程序放置在关键区域,讨论沙盒具体用到的钩子,然后举例说明应用如何完成自己的沙盒处理,并讲述重要的iOS功能是如何执行沙盒处理的。最后,这一章将讨论沙盒描述文件、这些文件如何描述沙盒所许可的功能,以及如何从iOS二进制文件中提取这些文件以用于研究。
口第6章展示如何利用模糊测试技术从默认的iOS应用中找到漏洞。我们首先综合探讨模糊测试,接着展示如何对iOS中最大的受攻击面MobileSafari进行模糊测试。这一章重点介绍进行iOS模糊测试的几种不同方式,包括在Mac OSX、iOS模拟器以及iOS设备上进行模糊测试。最后,我们还将展示如何对台式机上没有的SMS解析器进行模糊测试。
口第7章讲述如何利用第6章介绍的技术找到漏洞,并将其转换为有效的漏洞攻击程序。我们将详细分析iOS的堆管理系统,并说明如何利用“堆风水”技术操控堆内存。然后,这一章讨论漏洞攻击程序开发中的一个主要障碍——地址空间布局随机化(ASLR)。
口第8章进一步向大家展示在控制进程后可以做些什么。在简要介绍iOS设备中使用的ARM架构后,我们就转而介绍面向返回的程序设计(ROP)。这里将向大家介绍如何手工创建和自动生成ROP有效载荷,还将给出一些ROP有效载荷的例子。
口第9章从用户空间转入内核。在介绍一些内核基础知识后,我们接着描述如何调试iOS
内核从而监控其动态。这一章还将展示如何对内核进行漏洞审查以及如何利用找到的各
种漏洞。
口第10章介绍越狱。首先,这一章讲述有关越狱工作原理的基础知识,接着详细描述不同
类型的越狱工具,然后概述越狱工具所需的不同组成部分,包括对文件系统的修改、已
安装的守护进程、激活,最后还将通览越狱利用的所有内核补丁。
口第11章介绍很多iOS设备中都有的另一个处理器——基带处理器。我们将展示如何设置与基带进行交互的工具,并介绍从过去到现在iOS设备的基带中都使用了哪些实时操作系统,然后说明如何对基带操作系统进行审计,还给出了一些漏洞示例。最后,这一章还将描述一些可以在基带操作系统上运行的有效载荷。
●读者对象
本书是为所有希望了解iOS设备工作原理的人所写的。他们可以是希望融入越狱社区的人,也可以是试图了解如何以安全方式存储数据的应用开发人员,还可以是想要了解如何保障iOS设备安全的企业管理人员,或者尝试从iOS中寻找瑕疵的安全研究人员。
这些目标读者几乎都应该阅读和理解本书前面的章节。虽然后面的章节也都试着从基础知识开始介绍,但是理解这些内容至少能熟悉一些基本套路,比方说如何使用调试器和如何阅读代码清单等。