如今智能手机在取证鉴定中发挥的作用越来越大。您的智能手机比其他任何东西、任何人都更了解您的日常生活。它跟踪您的位置,记录您的足迹,AI 您的照片,并帮助您付款。由于大量的数据集中在一个设备中,因此有理由期望获得最高级别的保护。在本文中,我们将回顾苹果公司保护其用户数据的措施的时间表以及执法部门使用的对策。本文不包括云取证,只有纯粹的设备取证。

“现在,我们非常尊重执法部门,我们在许多领域与他们合作,但在这个问题上我们有分歧。因此,让我说得再清楚不过: 削弱或取消加密,会伤害那些出于正当理由使用加密的好人。最终,我相信它会对我们的第一修正案权利产生寒蝉效应,破坏我们国家的建国原则。” (蒂姆 · 库克,2015)

所以,让我们回顾一下苹果这些年来为保护用户的隐私和安全所做的努力。

iPhone OS 1到3——易如反掌

最初的 iOS 版本中,苹果并不关心安全问题。没有加密,密码很容易绕过,安全性很低。说实话,第一代 iPhone 在安全方面并没有做的很多,因为最初没有太多需要保护的东西。Jonathan Zdziarski 发现了从锁定设备中提取完整文件系统的方法,详见iOS Forensic Investigative Methods(https://www.zdziarski.com/blog/?p=2287)。

产品发布

  • iPhone OS 1.0 – iPhone

  • iPhone OS 2.0 – iPhone 3G

  • iPhone OS 3.0 – iPhone 3GS

iOS 4——文件系统加密

在 iOS 4之前,iPhone 中的数据是不受保护的。简单地移除存储芯片就可以访问所有用户数据。注意,文件系统加密是基于硬件密钥的; 解密数据不需要用户的密码。因此,当法律需要的时候,苹果仍然能够访问这些设备的内容。

产品发布

  • iOS 4.0 – iPhone 4

  • iOS 5.0 – iPhone 4s

  • iOS 6.0 – iPhone 5

iOS 7——配对及通知

在 iOS 4到iOS 7,安全部分几乎没有什么变化。iOS 7中唯一值得注意的变化是新的配对过程,在 iPhone 上弹出了一个通知窗口。用户必须点击通知框来确认配对。苹果公司正准备在 iOS 8上进行一次大的升级。

iOS 7 也是首款支持指纹识别和安全区的 64 位 iPhone 的 iOS 版本。

产品发布

  • iOS 7.0 – iPhone 5s,首款配备安全安全区的 64 位 iPhone

与此同时,Zdziarski 发现了 iOS 设备上的一个后门,详见https://www.zdziarski.com/blog/?p=3466

iOS 8:使用密码加密;密码破解不再有效

iOS 8在安全方面是一个里程碑的版本。在这个版本中,苹果几乎改变了整个iPhone安全模型。

产品发布

  • iOS 8 – iPhone 6及6 Plus

让我们从逻辑获取说起。

在 iOS 8之前,苹果公司为每一台 iPhone 创建一个静态配对记录(lockdown文件)。配对记录由苹果保留。即使在工厂被重置,静态配对记录也将保持不变。一旦配对,设备无法"取消配对"。也就是说,lockdown记录不会过期。这使得苹果能够与执法部门合作。苹果公司一旦收到锁定的苹果设备,可以提取数据,并将镜像提供给申请机构。

随着 iOS 8的发布,这种情况发生了改变。配对记录变成了每次不同。当处理一个配对请求时,iOS现在 会生成一个新的密钥对,其中一个密钥存储在内部存储器中,另一个存储在目标计算机上。销毁任何一个密钥都会导致配对无效,从而使连接无效。

单单这一变化就够严重了,但苹果并没有止步于此。与静态硬件凭证支持的文件系统加密不同,iOS 8现在使用了一种基于用户屏幕锁密码的加密方案。现在,在用户在冷启动后或打开电源时首次使用密码解锁其设备前,密钥加密密钥是动态生成的。更改密码将重新创建并重新保存密钥加密密钥。因此,没有人(包括苹果公司)可以在不知道用户密码的情况下解密冷设备(以今天的术语来说是第一次解锁之前) 的完整文件系统。请注意,文件系统的某些部分仍然可以访问,以允许 iPhone 完全启动; 这包括一些日志和系统数据库。即使没有密码,这些碎片也可以被提取出来。

正如大家所看到的,密码开始成为苹果安全模型的标志。在 iOS 8中,苹果公司瞄准了当时市场上的iPhone破解盒。仅一次系统更新就让当时市面上所有密码破解盒子失效。取证公司花了几年时间才开发出新的、更加复杂的解决方案。

请注意,在 iOS 8之前,苹果可以进行 iOS 数据提取。但苹果的执法要求准则现在明确指出:

对于所有运行 iOS 8.0及以后版本的设备,苹果无法进行 iOS 设备数据提取,因为执法部门通常需要的数据是加密的,而且苹果没有加密密钥。所有 iPhone 6和以后的设备都运行 iOS 8.0或者更新版本的 iOS。

iOS 8还引入了一个限制, 可以使用一个单独的、用户可配置的限制 PIN (始终为 4 位数字)来限制某些设备活动。

iOS 9:默认6位数密码

iOS 9有一个值得注意的变化,现在设置新设备时默认使用6位数密码。虽然还可以切换回旧的4位数密码,但是随着每个 iOS新 版本的发布,相关步骤变得越来越不显眼。

产品发布

  • iOS 9.0.1 – iPhone 6s及6s Plus

iOS 10:缩短lockdown有效期

在 iOS 10之前,配对记录(lockdown文件)几乎从不会失效。我们可以使用6个月前创建的lockdown记录。由于许多取证公司依赖现有的lockdown记录进行逻辑提取,苹果公司开始将lockdown记录视为一种威胁。iOS10严重缩短了lockdown文件的有效期。当时没有官方声明,但后来人们知道 iOS 10及以上版本在最后一次使用30天后配对记录就失效了。

另一方面,iOS 10存在一个巨大的倒退。 从 iOS 5(甚至是 iOS 4)开始,苹果就使用了相同的算法来验证备份密码。大约20,000个哈希迭代被用来从用户的密码生成加密密钥。这是缓慢的,但还可以接受。然而,在 iOS 10中,一些实习生不小心创建了一个后门。这个后门使用单个哈希迭代,这使我们能够以每秒数千万密码的速度创建攻击。

产品发布

  • iOS 10.0.1 – iPhone 7及7 Plus

iOS 10.1:修复备份密码后门

在 iOS 10.0中引入的备份密码后门在 iOS 10.1中被修复。

iOS 10.2:备份密码加强

经过仔细考虑,苹果公司认为速度还不够慢,并大大增加了用密码生成备份加密密钥所需的散列迭代次数。从那时起,基于 CPU的攻击每分钟大约可以尝试12个密码,而 GPU 辅助攻击则显示恢复速度约为每秒100至200个密码(单个 GPU)。从本质上讲,这让暴力破解变得没有意义,除非是最简单的密码。

iOS 10.3:向APFS过渡

随着 iOS 10.3的发布,苹果公司将所有的设备都升级成了一个新的、为固态存储优化的文件系统——APFS。新的文件系统迫使取证公司更新他们的软件。

iOS 11:配对需要密码

iOS 11给设备安全模型带来了两个显著的变化。首先,苹果引入了一种方法,可以从 iOS 设备上的设置中重置备份密码。重置备份密码需要用户输入屏幕锁密码; 因此屏幕锁密码的作用显著增加。我们认为这是一个巨大的倒退,从多层次的安全模型到一个完全基于用户密码的模型。

产品发布

    • iOS 11.0 – iPhone 8及8 Plus

    • iOS 11.0.1 – iPhone X

建立屏幕锁密码在所有其他安全措施上的完全支配性的另一个步骤是,在与新计算机配对时,需要键入密码。

关于配对记录还有一件事,苹果已经正式确认了lockdwon / 配对记录的失效规则。

配对过程要求用户解锁设备并接受来自主机的配对请求。在 iOS 11或更高版本中,用户还需要输入其密码。用户完成此操作后,主机和设备交换并保存2048位 RSA 公钥。然后给主机一个256位的密钥,该密钥可以解锁存储在设备上的托管密钥包。交换的密钥用于启动加密的 SSL 会话,这是设备在向主机发送受保护的数据或启动服务(iTunes 同步、文件传输、 Xcode 开发等)之前所需要的。设备通过 Wi-Fi 连接主机时使用加密的会话进行所有通信,因此它必须事先通过 USB 配对。配对还支持多种诊断功能。在 iOS 9中,如果配对记录的使用时间超过6个月,它就会过期。这个时间段在 iOS 11或更新版本中缩短为30天。(来源: iOS 安全指南2019年5月版 ,iOS 12.3)。

iOS 11也为我们带来了新的S.O.S.模式,一旦激活,就会禁用生物特征解锁。此外,通知不再存储在备份中(这修复了一个漏洞,允许通过分析旧的通知偷窥用户的安全通信——顺便说一下,这些通知不会出现在设备本身上)。

iOS11.4.1:引入USB限制模式

iOS 11.4.1的发布引入了USB限制模式,该功能旨在抵御密码破解工具(如Cellerbrite和Grayshift开发的密码破解工具)。iOS 11.4.1在设备最后一次解锁后一小时,或设备与USB配件或计算机断开连接后一小时,自动关闭闪电端口的USB数据连接。此外,用户还可以在任何时候通过使用S.O.S.模式手动禁用USB端口。

iOS 12将USB限制又向前推进了一步。根据苹果发布iOS 12后发布的新iOS安全指南,如果上一次USB连接已经超过三天,或者设备处于需要密码的状态,则在设备锁定后立即禁用USB连接。此外,如果用户使用S.O.S.模式,USB端口也会被禁用。

此外,在iOS 12系统中,如果USB连接已经建立超过三天,设备将在锁定后立即禁止新的USB连接。这是为了加强对不经常使用此类连接的用户的保护。当设备处于需要密码才能重新启用生物认证的状态时,USB连接也会被禁用。”

此外,iOS 12引入了屏幕使用时间功能。一段时间后,屏幕使用时间可以通过iCloud同步。

产品发布

  • iOS 12.0 – iPhone Xs及Xs Max

  • iOS 12.0 – iPhone Xr

iOS 13:更改备份密码需要密码; USB 限制模式再次改进

随着iOS 13的发布,苹果宣布对iTunes进行重大改革,iTunes是唯一一个为iOS设备进行本地备份的“官方”应用程序。在macOS Catalina和更新版本中,本地备份是在Finder应用程序中创建的,而不是iTunes。Mac电脑上不再有iTunes了。

产品发布

    • iOS 13.0 – iPhone 11 Pro及11 Pro Max

    • iOS 13.0 – iPhone 11

当您设置或更改保护本地备份的密码时,将提示您在iPhone上输入锁屏密码。类似于新的配对请求(从iOS 11开始),您需要在设备上输入密码。

那么USB限制呢?iOS 13为iPhone带来了一种配件的“配对”。为了“配对”一台电脑,你需要在iPhone上输入PIN码;然后,设备将交换加密密钥,以启用数据传输(包括图片)。“配对”配件是一个单面的过程,不需要PIN码,也不涉及加密密钥。当用户在设备解锁时(或在连接附件后解锁),配件会“配对”到iPhone。然后,iPhone将存储有关“配对”配件的信息,并将该配件指定为“受信任”状态。

iOS 13的USB限制对配对过的配件和新配件是不同的。在 iOS 13 中,由于设备已锁定或用户断开以前使用的配件,在一小时后,通过 USB 端口(Lightning 连接)的数据通信受到限制。

iOS 13会区别对待配对过的及新的USB配件。如果用户试图连接之前配对的USB配件,如果在一个小时之内,连接可以建立。

然而,如果用户试图连接之前没有与iPhone配对的新配件,即使在一小时内尝试连接,USB端口也会立即被锁定。

此外,未加密的本地备份不再包含通话记录和Safari浏览历史记录。

硬件漏洞利用

从iPhone 5s到iPhone 8、8 Plus和iPhone X一代设备(包括配备类似处理器的iPad和Apple TV机型),所有64位苹果设备都发现了大规模的硬件漏洞。即使密码未知,也可以通过DFU在锁定的设备上通过checkm8漏洞和checkra1n越狱。该漏洞允许从锁定的设备中执行有限的文件系统和keychain获取,并从任何易受攻击的设备中提取完整的文件系统和keychain,无论iOS版本如何,只要知道密码即可。请注意,无论是利用漏洞或越狱都无助于锁屏密码破解。

本文翻译整理自ElCOMSOFT博客,原文作者Oleg Afonin

声明:本文来自取证杂谈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。