史上最“奢侈”的iPhone间谍软件,一次用了四个零日漏洞
近日,卡巴斯基安全研究人员鲍里斯·拉林(Boris Larin)披露了iPhone历史上最复杂的间谍软件攻击——三角测量(Triangulation)的技术细节。该攻击技术自2019年以来被用于监听iPhone用户。
2023年6月俄罗斯政府首次曝光了大规模的iPhone后门活动,攻击者利用三角测量攻击感染了俄罗斯外交使团和数千名使馆工作人员的iPhone。甚至卡巴斯基在自己的网络中也发现了三角测量攻击,多名卡巴斯基员工中招,这在网络安全行业一度传为笑谈。俄罗斯情报部门(FSB)则指责苹果公司向美国国家安全局提供针对俄罗斯政府和大使馆人员的后门。
经过一年多时间的逆向工程研究,卡巴斯基的研究人员发现,三角测量攻击利用了苹果芯片中从未公开的神秘功能(可能用于工厂测试和调试)中的零日漏洞来绕过硬件安全保护。这表明通过硬件设计或硬件测试的模糊性和保密性来实现安全性是一个错误的假设。
用了四个零日漏洞
三角测量行动(Triangulation)是一种针对苹果iPhone设备的间谍软件活动,利用了多达四个零日漏洞。这些漏洞组合在一起构成一个零点击漏洞,攻击者可提升权限并执行远程代码执行。卡巴斯基表示,在至少四年的时间里,感染是通过iMessage文本传播的,这些文本通过复杂的漏洞利用链安装间谍软件,而无需受害者采取任何行动。
这个高度复杂的漏洞利用链并可攻击iOS 16.2之前的所有iOS版本,涉及的四个零日漏洞分别是:
- CVE-2023-41990:ADJUST TrueType字体指令中存在漏洞,允许通过恶意iMessage附件远程执行代码。
- CVE-2023-32434:XNU内存映射系统调用中存在整数溢出问题,允许攻击者对设备的物理内存进行广泛的读/写访问。
- CVE-2023-32435:在Safari漏洞利用中用于执行shellcode作为多阶段攻击的一部分。
- CVE-2023-38606:使用硬件MMIO寄存器绕过页面保护层(PPL)的漏洞,从而覆盖基于硬件的安全保护。
除了影响iPhone之外,这些秘密硬件功能及其高危零日漏洞还存在于Mac、iPod、iPad、Apple TV和Apple Watch中。更重要的是,卡巴斯基发现,这些漏洞并非“失误”,而是有意开发用于这些设备的。
三角测量行动的攻击链 来源:卡巴斯基
攻击从向目标发送恶意iMessage消息开始,整个链条都是零点击的,这意味着全程都无需用户交互,用户不会有任何察觉,也不会生成或留下任何明显的痕迹。
Apple于2023年6月21日发布了iOS/iPadOS 16.5.1和iOS/iPadOS 15.7.7,修复了当时发现的两个零日漏洞(CVE-2023-32434和CVE-2023-32435)。
史上最复杂的iPhone间谍软件
在上述漏洞中,CVE-2023-38606是最令卡巴斯基分析师感兴趣的,该漏洞直到2023年7月24日iOS/iPadOS16.6发布才得到解决。
攻击者可利用该漏洞绕过Apple芯片上基于硬件的高级内存保护,后者用于防止攻击者在获得对内核内存的读写访问权限时取得对设备的完全控制(使用单独的CVE-2023-32434漏洞实现)。
在深度技术文章中,卡巴斯基解释说,CVE-2023-38606针对的是苹果公司A12-A16 Bionic处理器中未知的MIMO(内存映射I/O)寄存器,可能与该芯片的GPU协处理器相关联,但未在设备树中列出:
三角测量攻击的MIMO范围 来源:卡巴斯基
三角测量攻击使用这些未知寄存器地址来操纵硬件功能并在攻击期间控制直接内存访问。
“简单来说,攻击者通过将数据写入固件未使用的未知MIMO硬件寄存器地址来绕过基于硬件的内存保护。”卡巴斯基的报告解释道。
研究人员发现,攻击者用来绕过内存保护的几个MIMO寄存器地址未出现在任何设备树工程文档中(包括为iPhone开发硬件或软件的工程师的参考文档)。即使研究人员进一步搜索源代码、内核映像和固件,仍然找不到任何提及这些MMIO地址的内容。
卡巴斯基推测,在iPhone设备中加入这一隐秘的,未记录的硬件功能要么是一个错误,要么是为了帮助苹果工程师进行调试和测试而预留的。
最终,苹果通过更新设备树以限制物理地址映射修复了该漏洞。
然而,攻击者最初如何能够知道苹果从未公开的硬件功能并找到利用机制仍是个未解之谜。
参考链接: