网络安全公司卡巴斯基在今年 6 月份发布公开报告称该公司部分员工使用的 iPhone 遭到了入侵,攻击者使用多个高度复杂的零点击漏洞,在不需要受害者进行任何交互的情况下感染 iPhone 并实现持续监听。
此次事件被卡巴斯基命名为三角测量 (IOSTriangulation),相关漏洞通报给苹果后,苹果在 6 月下旬集中发布多个更新对漏洞进行修复。
不过彼时相关漏洞的细节并未公布,毕竟 iPhone 升级也是要时间的,一般研究人员都会滞后公布漏洞细节,避免有攻击者趁着部分用户尚未升级然后抓紧时间利用漏洞。
现在漏洞发布已经过去半年,在最新举办的混沌通信大会 (Chaos Communication Congress) 上,卡巴斯基团队的研究人员发布了详细的报告以及技术细节分享给其他安全研究人员。
卡巴斯基称以色列商业间谍软件开发商 NSO 集团的飞马座开采的 iMessage 零点击漏洞被称为技术上最复杂的漏洞之一,而三角测量攻击看起来处于同样的可怕水平。
下面是卡巴斯基公布的完整的攻击链,包括用于获取受害者设备 root 权限的四个 0day 漏洞:
1. 攻击者向目标用户发送恶意 iMessage 附件,当受害者的 iPhone 收到消息时,iMessage 不会有任何提醒、同时自动处理该附件;
2. 这个恶意附件利用了未记录的、苹果独有的 ADJUST TrueType 字体指令中的远程代码执行漏洞 CVE-2023-41990;
3. 恶意代码使用面向返回 / 跳转的编程和用 NSExpression/NSPredicate 查询语言编写的多个阶段,然后利用 JavaScriptCore 库环境执行权限提升;
4. 攻击者利用的 JavaScript 漏洞被混淆,这导致代码不可读,尽管如此研究人员发现攻击者大约使用了 11,000 行代码,主要用于 JavaScriptCore 和内存解析操作;
5. 攻击者利用 JavaScriptCore 调试功能 DollarVM ($vm) 来获得从脚本操作 JavaScriptCore 内存并执行本机 API 的能力;
6. 攻击者为了支持新旧 iPhone,所以还做了一个包含指针身份验证代码的绕过功能,可以用在最新款 iPhone 上;
7. 攻击者利用 XNU 内存映射系统中的整数溢出漏洞 CVE-2023-32434 来获取用户级别对设备整个物理内存读 / 写的访问权限;
8. 攻击者使用硬件内存映射 I/O 寄存器来绕过页面保护层,此问题已经通过 CVE-2023-38606 进行缓解;
9. 利用所有漏洞后,JavaScript 漏洞可以针对设备执行任何操作,包括运行间谍软件,但攻击者选择:
a. 启动 IMAgent 进程并注入有效负载以清除设备中的漏洞利用痕迹;
b. 以不可见模式运行 Safari 进程,并将其转发到下一攻击阶段使用的网页;
10. 该网页有一个脚本来验证受害者,如果检测通过则转到下一阶段:Safari 漏洞利用;
11.Safari 漏洞利用 CVE-2023-32435 来执行 shellcode;
12.shellcode 以 Mach 目标文件的形式执行另一个内核漏洞利用,它使用相同的漏洞:CVE-2023-32434 和 CVE-2023-38606,这与使用 JavaScript 编写的内核漏洞完全不同,不过目标也是用于内存解析操作,但在后期攻击者大部分功能并未使用;
13. 该漏洞利用获得 root 权限并继续执行其他阶段,包括加载间谍软件等。
卡巴斯基称攻击者几乎对攻击链的各个方面都进行了逆向工程,可见攻击者的目标也不是一般目的,也就是主要目的其实可能是间谍行为和政治目的。
卡巴斯基团队计划在 2024 年发布更多文章介绍三角测量攻击的内容,关于本篇内容有兴趣的用户请阅读卡巴斯基报告原文,里面包含各个漏洞的解析:https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/
版权声明:感谢您的阅读,除非文中已注明来源网站名称或链接,否则均为蓝点网原创内容。转载时请务必注明:来源于蓝点网、标注作者及本文完整链接,谢谢理解。