一向重视用户隐私保护的苹果照样有翻车的时候,继 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 进行了修复)。