默认情况下,大多数数据都使用 AfterFirstUnlock 类密钥进行保护,该密钥肯定会出现在设备上;但这不是你要问的。您想知道可以访问哪些数据,这是另一回事。为了访问数据,您要么必须让操作系统将其提供给您(通过查找锁屏绕过错误;并非闻所未闻),要么以某种方式从设备内存中泄露类密钥。最后一点很难。
多年来有许多漏洞可以在 iOS 设备上执行内核级代码,但几乎所有漏洞都需要解锁对设备的物理访问或重新启动,这会从内存中清除 AfterFirstUnlock 密钥。密钥未在 RAM 中加密,因此打开手机并直接访问 RAM 芯片可能会起作用,除了 iPhone 使用封装结构,并且 RAM 芯片必须与处理器物理分离首先——不破坏数据,所以芯片需要电源和/或一直被冻结。美国国家安全局或许能够做到这一点,但这需要一些非常专业的设备,而且他们只会得到一枪。
USB 接口提供了许多可能性,因为它将 IP 流量(是的,即 USB 上的 IP)传输到潜在易受攻击的应用程序。但是,在 iOS8 中,它会被锁定,直到您按下“信任这台计算机”。如果攻击者可以窃取从您已经信任的本地计算机上创建的托管密钥包,他们可以通过这种方式进行攻击,但他们仍然需要守护进程中的一个漏洞来执行代码,另一个来破坏沙箱,另一个提升到根目录,另一个用于修补内核。
越狱比这容易得多,因为他们可以假设用户会提供帮助。这意味着他们可以使用受信任的计算机,并且可以通过让用户点击主屏幕上的图标将文件放置漏洞转化为代码执行漏洞。
如果没有用户合作,您最好的选择可能是网络接口;您仍然需要将多个漏洞链接在一起,并且您必须窃取路由器的密码才能让手机自动连接到攻击者的网络,然后希望您没有设置永远在线的 VPN。
基本上,iPhone 非常安全。当然,这是程度的问题,但我仍然会将您锁定的手机放在除智能卡之外的几乎任何东西之上。
编辑:资料来源:主要是 Bedrún 和 Sigwald 的“iPhone 数据深度保护”,但我曾经为国防部从事 iOS 安全工作。这并不是说我们有专门的知识或任何东西(我希望国防部对苹果来说只是杯水车薪),但我确实花了足够的时间探索数据保护系统的深度!
编辑2:整个系统中最大的漏洞曾经是托管密钥包,它是在您插入计算机并点击“信任”时创建的。这包含解密手机数据所需的所有类密钥,因为 iTunes 需要能够备份手机。托管密钥包使用存储在手机上的随机令牌进行加密,因此它通常仅在传输回手机时才有用,但如果您可以利用某些东西让您从文件系统中读取该令牌,那么您将进入商业。也就是说,在 5S 和更高版本中,处理器带有一个“安全飞地”,它或多或少是内置在芯片中的智能卡,它有自己的密钥。托管密钥包的解密密钥现在以加密格式存储,只有安全元件可以解密它,