一向重视用户隐私保护的苹果照样有翻车的时候,继 Siri“偷听门”被曝出后,iOS 中的一个漏洞又让 iMessage 成了众矢之的。借助该漏洞,攻击者无需任何用户交互,就能远程读取用户存储在 iOS 设备上的内容。
该漏洞由谷歌 Project Zero 安全研究人员 Natalie Silvanovich 发现,代号 CVE-2019-8646。5 月份找到这个 iMessage 漏洞后,Silvanovich 就将它报告给了苹果。
Silvanovich 只在 iOS 12 或更高版本设备上完成了自己的漏洞测试,他的测试也只是为了示范该漏洞在 Springboard 上的可存取性。也就是说,这个漏洞造成的后果可能比想象中要严重的多。
Silvanovich 指出,这个 iMessage 问题是由 _NSDataFileBackedFuture 引发的,即使用上安全编码,黑客依然能完成串并转换。一旦攻击者呼叫 NSData,就能将本地文件加载进内存。
在 Project Zero 的 Bug 追踪器上,Silvanovich 将这个问题描述为:
“首先,如果出现了代码串并转换和共享,它可能会允许不速之客对本地文件的访问(这样的情况受害最严重的是使用串行化对象进行本地通信的部分)。其次,它允许生成与字节排列长度不同的 NSData 对象,这就违背了原有的基础特性,会造成越界读取,甚至引发越界写入。利用这一点,攻击者能生成较大的 NSData 对象,而如果缓冲区有备份,这样的情况绝不可能出现。”
雷锋网发现,在本月 22 号推送的 iOS 12.4 更新中,苹果成功封堵了该漏洞。除了出台措施防止攻击者解码,苹果还应用了更强大的文件 URL 过滤技术。
iOS 更新文件显示,越界读取的问题曾出现在 Siri 和 iOS 核心数据部分,它的波及范围涵盖了 iPhone 5s、iPad Air 和第六代 iPod Touch 及之后的苹果产品。
鉴于该漏洞影响广泛,雷锋网强烈建议用户尽快升级至 iOS 12.4。
与谷歌 Project Zero 的同事合作,Silvanovich 还发现了另外两个 iMessage 漏洞。在 iOS 12.4 更新中,苹果也一并对其进行了修复。
第一个漏洞是 iOS 核心数据部分的内存 Bug,代号为 CVE-2019-8660。远程攻击者能借助该漏洞突然“杀掉”应用或执行任意代码,其影响范围与上述漏洞一模一样。
第二个漏洞代号为 CVE-2019-8647,它让远程攻击者能在 iPhone 5s、iPad Air 和第六代 iPod Touch 及之后的苹果设备上执行任意代码。
雷锋网了解到,在研究工作中,Silvanovich 一共捕获了 5 个 iMessage 漏洞,没细说的 2 个包括了输入认证问题,它能借助畸形信息攻击者能让你的设备变砖(iOS 12.3 升级中已经得到修复)。最后一个则是越界读取造成的内存泄露(本月 22 日发布的 watchOS 5.3 进行了修复)。