一个反对安全虚无主义的案例

2021-07-22 21:51:44

本周,一组全球性报纸刊登了一系列文章,详细描述了 NSO Group 的 Pegasus 间谍软件的滥用情况。如果您还没有看过这些文章中的任何一篇,那么它们值得一读——而且随着更多启示的泄露,它们可能会继续如此。这些故事的动机是泄露了超过 50,000 个电话号码,据称这些电话号码是 NSO 高级 iPhone/Android 恶意软件的目标。值得注意的是,这些目标包括记者和各国政治反对党的成员——换句话说,正是每个有思想的人都担心会成为 NSO 销售的大规模开发软件的目标的人。事实上,这应该是这些故事中最大的教训:每个人都说会发生的坏事现在已经发生了。这是一篇技术博客,因此我不会主张,例如,制裁 NSO 集团或要求 NSO 的“治理与合规”委员会的杰出人物给出答案。相反,我想谈谈我们从这些泄密事件中学到的一些技术教训——甚至在更高的层次上,恰恰是不理会这些攻击有什么问题。我从一些安全专家那里看到的一种反常的反应是耸耸肩说“没有完美的安全性”。更具体地说,一些人认为,这种资源充足的有针对性的攻击从根本上是不可能阻止的——无论像苹果这样的公司付出多少努力来阻止它。在极端情况下,这种说法并没有错。 NSO 不是脚本小子的玩具。部署它需要花费数十万美元,用这种资源水平对抗攻击者总是很困难的。此外,还有论点是,即使我们提高了 NSO 的门槛,那么拥有更多资源的人也会找到办法填补这一空白——也许会收取更荒谬的价格。因此,让我们停止对 Apple 大加指责,这家公司努力提高其产品的基本安全性,仅仅因为他们未能解决不可能解决的问题。尽管如此,这并不意味着这些产品的今天版本正在尽其所能阻止攻击。像苹果和谷歌这样的公司当然可以做更多的事情来保护他们的用户。但是,我们要获得这些更改的唯一方法是我们要求它们。因为间谍软件很难被捕获,所以我们并不确切地知道 Pegasus 是如何工作的。我们所做的法医细节来自大赦国际的技术小组进行的广泛调查。他们描述了一个复杂的感染过程,事实证明该过程能够感染运行最新版本 Apple iOS (14.6) 且打完补丁的 iPhone 12。

许多攻击使用“网络注入”将受害者重定向到恶意网站。该技术需要对本地网络进行一些控制,这使得很难部署到其他国家的远程用户。一组更令人担忧的攻击似乎使用 Apple 的 iMessage 对 iOS 设备执行“0-click”攻击。使用此向量,NSO 只需向某个 Apple ID(例如您的电话号码)“抛出”有针对性的漏洞利用负载,然后坐等您的僵尸手机联系其基础设施。这真的很糟糕。虽然愤世嫉俗者可能是正确的(就目前而言)我们可能无法关闭所有妥协途径,但有充分的理由相信我们可以关闭 0 交互妥协的向量。我们应该尝试这样做。我们知道,这些攻击利用了 Apple iMessage 的基本弱点:最关键的是,iMessage 会欣然解析从随机陌生人那里收到的各种复杂数据,并将使用以内存不安全语言编写的蹩脚库进行解析。这些问题很难解决,因为 iMessage 可以接受如此多的数据格式,并且在过去几年中被允许产生如此多的复杂性。有充分的证据表明 Apple 意识到了他们的困境,因为他们试图通过将 iMessage 设置在名为 BlastDoor 的专门“防火墙”后面来修复它。但是防火墙在防止有针对性的网络攻击方面并不是特别成功,而且没有理由认为 BlastDoor 会做得更好。 (事实上​​,我们知道它现在可能没有完成它的工作。)添加防火墙是解决问题的廉价解决方案,这可能就是 Apple 选择它作为他们的第一道防线的原因。但实际上关闭这个安全漏洞需要更多。 Apple 将不得不用某种内存安全语言重写大部分 iMessage 代码库,以及许多处理数据解析的系统库。他们还需要广泛部署 PAC 和 MTE 等 ARM 缓解措施,以增加利用难度。所有这些工作都有成本和(更重要的是)与之相关的风险——因为激活这些功能会破坏各种各样的东西,而拥有 10 亿台设备的人无法承受每天 0.001% 的设备崩溃。一个完全独立的领域是监视和检测:Apple 已经执行了一些远程遥测来检测做奇怪事情的进程。这种遥测可以在不破坏用户隐私的情况下尽可能地扩展。虽然这不一定会阻止 NSO,但它会使抛出这些漏洞的成本更高——并使他们在将它们推向每个随机的威权政府之前三思而后行。批评者认为修复这些问题不会阻止漏洞利用是正确的。像 Apple 这样的公司需要解决的问题不是永远防止漏洞利用,而是一个简单得多的问题:他们需要搞砸 NSO 式大规模利用的经济性。

有针对性的漏洞利用一直存在。 NSO 的特别之处不在于他们有一些漏洞利用。相反:NSO 的天才在于他们做了一些攻击者过去从未被激励去做的事情:使对漏洞利用技术的访问民主化。换句话说,他们所做的正是每个“智能”科技企业应该做的事情:采取一些困难且非常昂贵的事情,并通过应用规模的魔力使其更容易获得。 NSO 基本上是监视领域的 SpaceX。 NSO 有能力维护一个 50,000 个数量的目标列表,因为他们使用的漏洞利用达到了一个特定的“甜蜜点”,在那里失去漏洞利用链的风险 - 加上开发新的成本 - 足够低,他们可以大规模部署它们.这就是为什么他们愿意对每一个白痴独裁者进行剥削——因为现在他们认为,即使大赦国际或公民实验室偶尔会发现他们针对某些人权律师,他们也可以继续开展业务。但是像苹果和谷歌这样的公司可以提高被利用的成本和风险——不仅在任何地方,而且至少在像 iMessage 这样的特定渠道上。这可能会使 NSO 的扩展模型更难维护。一个只有少数非常富有的政府可以发动攻击(在非常仔细的审查和控制的情况下)的世界并不是一个伟大的世界,但它比任何锡锅独裁者都可以向国家统计局开支票并监视他们的世界要好政治反对派或一些随机记者。在一个完美的世界里,美国和欧洲政府会醒来并意识到武装威权主义确实对民主不利——而且他们从国家统计局获得的任何微不足道的好处都被这项技术对新闻业和民主治理造成的非常实际的损害所抵消全世界。在我居住的世界中,我希望 Ivan Krstić 明天醒来并告诉他的老板他想让 NSO 倒闭。我希望他的老板说“太好了:这是一张空白支票。”也许他们会成功,也许他们会失败,但我敢打赌,他们至少可以让 NSO 的生活变得有趣。但如果他们认为不必这样做,Apple 就不会这样做,如果人们不要求他们的头脑,他们也不会认为他们必须这样做。唯一可以修复 Apple 设备的人是 Apple(很大程度上是他们自己的设计),这意味着每当无辜的受害者在使用 Apple 设备时被攻击时,Apple 都必须感到负责。如果我们只是轻拍 Apple 的头并说“天哪,有针对性的攻击很难,这不是你的错”,那么这正是我们应该期望获得的安全级别 - 我们应得的。