2023年12月27日,卡巴斯基研究团队(Boris Larin、Leonid Bezvershenko和Georgy Kucherin)在德国汉堡会议中心举行的第37届混沌通信大会(37C3)上发表了题为“三角测量行动:攻击研究人员iPhone时会得到什么”的演讲。该演讲总结了卡巴研究者Igor Kuznetsov、Valentin Pashkov和Mikhail Vinogradov进行的三角测量行动长期研究的成果。这是研究团队第一次公开披露攻击中使用的所有漏洞的详细信息。卡巴研究团队称每天都会发现并分析使用这些漏洞的新攻击,并且他们已经发现并报告了Adobe、Apple、Google和Microsoft产品中的30多个野外零日漏洞,但这次的发现绝对是他们目前为目所见过的最复杂的攻击链。周三(12月27日)披露的新细节称,“三角测量”(卡巴斯基为该恶意软件和安装该恶意软件的活动所起的名字)利用了四个关键的零日漏洞,这意味着攻击者在发现之前就已经知道了严重的编程缺陷到苹果。苹果公司此后已修复了所有四个漏洞,这些漏洞被追踪为:CVE-2023-32434、CVE-2023-32435、CVE-2023-38606和CVE-2023-41990。除了影响iPhone之外,这些关键的零日漏洞和秘密硬件功能还存在于Mac、iPod、iPad、Apple TV和Apple Watch中。更重要的是,卡巴斯基发现的漏洞是有意开发用于这些设备的。苹果也已经修补了这些平台。苹果拒绝对本文发表评论。2023年6月,卡巴斯基首次披露三角测量行动已感染其员工的iPhone的同一天,俄罗斯国家计算机事件协调中心的官员表示,这些攻击是美国国家安全局更广泛行动的一部分,该行动感染了数千部iPhone属于驻俄罗斯外交使团和大使馆内的人员,特别是代表北约国家、前苏联国家、以色列和中国的人员。俄罗斯联邦安全局(FSB)发出的另一份警报称,苹果在此次活动中与美国国家安全局(NSA)合作。苹果代表否认了这一说法。与此同时,卡巴斯基研究人员表示,他们没有证据证实美国国家安全局或苹果公司参与其中的说法。研究人员针对一次攻击提出了有趣的新发现,该攻击在四年多的时间里给数十甚至数千部iPhone留下了后门,其中许多属于莫斯科安全公司卡巴斯基的员工。其中最主要的发现是:未知的攻击者能够通过利用未记录的硬件功能中的漏洞来实现前所未有的访问级别,而除了Apple和ARM Holdings等芯片供应商之外,很少有人知道这一漏洞。卡巴斯基研究员鲍里斯·拉林(Boris Larin)在一封电子邮件中写道:“该漏洞的复杂性和功能的模糊性表明攻击者拥有先进的技术能力。” “我们的分析尚未揭示他们是如何意识到这一功能的,但我们正在探索所有可能性,包括过去固件或源代码版本中的意外披露。他们也可能通过硬件逆向工程偶然发现了它。”最有趣的新细节是针对迄今为止未知的硬件功能,事实证明这对三角测量行动至关重要。该功能中的零日漏洞允许攻击者绕过基于硬件的高级内存保护,该保护旨在保护设备系统的完整性,即使攻击者获得了篡改底层内核内存的能力。在大多数其他平台上,一旦攻击者成功利用内核漏洞,他们就可以完全控制受感染的系统。在配备这些保护措施的苹果设备上,此类攻击者仍然无法执行关键的后利用技术,例如将恶意代码注入其他进程,或修改内核代码或敏感内核数据。通过利用秘密功能中的漏洞,可以绕过这种强大的保护。这种保护在迄今为止发现的漏洞利用中很少被破解,Apple的M1和M2 CPU中也存在这种保护。卡巴斯基研究人员在对感染三角测量的设备进行了数月的广泛逆向工程后才得知了秘密硬件功能。研究过程中,研究人员的注意力被所谓的硬件寄存器所吸引,它为CPU提供内存地址,以便与USB、内存控制器和GPU等外围组件进行交互。MMIO是内存映射输入/输出的缩写,允许CPU写入特定外围设备的特定硬件寄存器。研究人员发现,攻击者用来绕过内存保护的几个MMIO地址在任何设备树文档中都没有被识别出来,这些文档可以作为为iPhone创建硬件或软件的工程师的参考。即使研究人员进一步搜索源代码、内核映像和固件,他们仍然找不到任何提及MMIO地址的内容。“这不是一个普通的漏洞,”拉林在一份新闻稿中说道,该新闻稿与他在德国汉堡举行的第37届混沌通信大会上的演讲同时进行。“由于iOS生态系统的封闭性,发现过程既充满挑战又耗时,需要对硬件和软件架构有全面的了解。这一发现再次告诉我们,即使是先进的基于硬件的保护措施在面对复杂的攻击者时也可能变得无效,特别是当存在允许绕过这些保护措施的硬件功能时。”拉林在周三(12月17日)发表的一篇研究论文中补充道:如果我们尝试描述此功能以及攻击者如何使用它,那么一切都可以归结为:攻击者能够通过写入以下内容来绕过基于硬件的内存保护,将所需的数据写入所需的物理地址:数据、目标地址和数据散列未知,不被芯片的固件、硬件寄存器使用。我们的猜测是,这个未知的硬件功能很可能是苹果工程师或工厂用于调试或测试目的,或者是被错误地包含在内。由于固件未使用此功能,因此我们不知道攻击者如何知道以及如何利用它。周三公布的调查结果还详细介绍了支撑Triangulation感染的漏洞利用链的复杂性。如前所述,该链利用四个零日漏洞来确保Triangulation恶意软件以root权限运行,并完全控制设备及其上存储的用户数据。它首先利用CVE-2023-41990,这是Apple实现TrueType字体中的一个漏洞。这个初始链使用包括面向返回编程和面向跳转编程等技术来绕过现代漏洞防御,允许攻击者远程执行代码,尽管具有最小的系统权限。清除了最初的障碍后,漏洞利用链中的下一个环节就瞄准了iOS内核,这是为最敏感的设备功能和数据保留的操作系统核心。此内核操作由CVE-2023-42434和CVE-2023-39606提供。CVE-2023-42434是XNU中的一个内存损坏漏洞,XNU是一种旨在抵御损坏iOS内核内存的尝试的机制。此链接继续利用CVE-2023-39606,该漏洞存在于秘密MMIO寄存器中。它允许绕过页面保护层,这是前面讨论的防御措施,即使在内核受到损害后也可以防止恶意代码注入和内核修改。然后,该链利用追踪为CVE-2023-32435的Safari漏洞来执行shellcode。反过来,生成的shellcode再次利用CVE-2023-32434和CVE-2023-38606,最终获得安装最后一个间谍软件负载所需的root访问权限。卡巴研究团队称如果他们尝试描述此功能以及攻击者如何利用它,那么一切都可以归结为:他们能够将数据写入某个物理地址,同时通过写入数据、目标地址、以及将数据散列到固件未使用的芯片的未知硬件寄存器。对于那个暗藏的硬件功能,到底是苹果工程师或工厂用于调试或测试目的,还是有人刻意地设置进去的,并不能确定。由于固件未使用此功能研究者也不知道攻击者如何知晓并利用它。卡巴发布了相关的技术细节,以便其他iOS安全研究人员可以证实他们的发现,并就攻击者如何了解此硬件功能提出可能的解释。卡巴研究者称之所以能够发现并利用这个漏洞,是因为早期版本的固件将这些寄存器用于所有DRAM操作,但后来索尼停止使用它们并开始直接访问DRAM,因为所有DRAM也都映射到CPU地址空间。因为没有人再使用这些寄存器,而研究者知道如何使用它们,所以他利用了它们。它不需要知道任何秘密哈希算法。在本案中是否也发生过类似的事情?不知道,但这个GPU协处理器首先出现在最近的Apple SoC中。这不是普通的漏洞,卡巴研究者还有许多未解答的问题。研究者表示,不知道攻击者是如何学会使用这种未知的硬件功能的,也不知道其最初的目的是什么。也不知道它是由Apple开发的还是像ARM CoreSight这样的第三方组件。研究者所知道的(以及此漏洞所表明的)是,只要存在可以绕过这些保护的硬件功能,那么面对老练的攻击者,基于硬件的高级保护就毫无用处。硬件安全通常依赖于“通过模糊实现安全”,并且逆向工程比软件困难得多,但这是一种有缺陷的方法,因为迟早所有秘密都会被泄露。依赖“通过默默无闻实现安全”的系统永远不可能真正安全。
1、https://arstechnica.com/security/2023/12/exploit-used-in-mass-iphone-infection-campaign-targeted-secret-hardware-feature/2、https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/3、https://events.ccc.de/congress/2023/hub/de/event/operation_triangulation_what_you_get_when_attack_iphones_of_researchers/4、https://www.helpnetsecurity.com/2023/07/25/cve-2023-38606/
还没有评论,来说两句吧...