Apple vs DOJ - 10 次擦除蛮力屏障有多强?

信息安全 蛮力 虚拟化 iPhone 政府
2021-09-09 22:57:51

出于好奇,并希望能帮助其他初学者和记者。

简而言之,当前 Apple 与 DOJ 的对峙 - Apple 正在抵制 DOJ 的声明,例如他们要求的是“创建太危险的东西”。摘自《华盛顿邮报》的摘要:

该命令并未要求 Apple 破解手机的加密,而是禁用在 10 次错误输入密码后擦除手机数据的功能。这样,政府可以尝试使用“蛮力”破解密码。

禁用蛮力功能的此类 iphone 操作系统的二进制文件将使拥有所述二进制文件的任何人都可以仅闪烁其拥有的任何 iphone,从而使其容易受到蛮力攻击。

现在假设这种蛮力保护作为对弱密码的补偿(如果游戏在 10 次尝试后真的结束,那么标准设置得非常低)

以下粗略的尝试有多可行:

  1. 克隆手机数据
  2. 在模拟器/虚拟机中运行克隆的图像
  3. 集群在一堆虚拟机上运行在线攻击。

正如我假设的苹果 iphone 安全白皮书中所述,防止虚拟化的问题是与硬件 ID 的所有联系,其提取“复杂且昂贵”?

我是否正确假设成功提取硬件 ID 会同时开辟新的(离线)攻击途径?

这种设计的安全性有多可靠(阅读:面向未来),硬件ID 的提取是否总是被认为“过于复杂和昂贵”?

2个回答

编辑 2:有关基于更准确和最新信息的讨论,请参阅此问题。

编辑:另请参阅这个问题,其中已经有大量讨论,并引用了实际请求的引用。

我认为这个问题可能比一个简单的克隆可以解决的问题更复杂。最近的 iDevices 带有一个安全飞地,它是一个隔离的安全处理器。

通常,此类处理器具有其自己的板载非易失性存储器,用于存储密钥材料。所有与加密/安全相关的操作都只发生在这个处理器内部,并且加密密钥永远不会离开芯片。

主磁盘/闪存现在可以完全加密,“擦除”只需要在 enclave 中进行,而不必覆盖整个闪存芯片。

在这种方案中,简单地复制闪存显然是完全没有用的,因此攻击者/FBI/DOJ 也必须找到破坏安全区域的方法。

这就是为什么需要苹果的合作。安全飞地处理器确实必须运行固件,这些固件通常是可现场更新的。通常通过检查供应商的固件签名来确保安全性。法院命令可能试图迫使苹果签署允许暴力破解的不安全版本的固件。

这样做的副作用也很明显。任何获得固件的人都可以完全绕过系统中最安全的部分,窃取非常敏感的数据,例如 TouchID 指纹和 Apple Pay 卡详细信息,这些数据也存储在安全区域中。

整篇文章(DOJ 背后的主题)很宽泛。例如,定义密码。是使用的 PIN 码,还是经过验证的真实密码。如果它是用于密码(数字)的 PI​​N,这应该不是问题。我的猜测是这是一个真正的密码,这就是问题所在。所以我关于它如何工作以及为什么克隆手机的理论是行不通的。

密码创建 -> 存储在钥匙串中

当您打开手机电源并且手机提示您输入 PIN/密码时,它需要将您输入的内容与存储的内容进行比较。远程存储它会很糟糕。(如果您的连接为零怎么办)。

CLONE:所以你克隆了手机。在它擦除您的数据之前,您有 N (10) 次尝试。你失败了。取另一个克隆,冲洗并重复。(现在要多少钱?)

你愿意克隆多少个克隆来尝试这个?假设他们的密码是 8 个字符(总共 37.2 位熵)。

a = combination of letters and numbers only
b = only the alphabet
c = only numbers

(a) 36 8 - (b) 26 8 - (c) 10 8总共 2.612182 x 10 12 个组合(如果您仅使用 a、b 和 c。现在将该结果除以 10,这就是总数如果您认为密码是 8 个字符,您将需要或多或少地进行克隆数。尝试这么多克隆,您将用尽时间,更不用说存储克隆所需的空间了。(我的数学可能离开这里,但你明白了要点)。回顾一下答案,它涵盖了集群、VM 映像等。

SIDENOTE据说Cellebrite应该能够通过 iOS 进行成像。我没有使用过 UFED,但 Cellebrite 要么在编造东西(因为它们将是我的第一选择),要么在我开始时再次使用,措辞如此广泛,政府正在追求其他东西。

概括?无论您认为可以生成多少克隆,暴力破解都是浪费时间和金钱。考虑到你不知道你在反对什么。我的个人电子邮件密码是 26 个字符。那只是一个密码。祝你好运。希望我对克隆进行暴力破解的思考过程有所帮助。