据谷歌威胁分析小组(TAG)工程师 Ian Beer 报道,有14漏洞几乎影响了从 iOS 10 到 12 的所有 iOS 版本。这些漏洞已经被黑客利用至少 2 年了。他们通过入侵的网站控制访客设备,窃取了大量私人数据。
其中 7 个漏洞影响了 iOS 浏览器,5 个是内核漏洞,2 个是沙箱逃逸。它们被用来创建了 5 个攻击链,从最初侵入设备(通常是利用浏览器漏洞),到通过攻击取得更高特权级别来访问私人数据。按照 Ian Beer 的说法,这些漏洞大多是由糟糕的质量或明显的错误造成的,它们本不应该出现在可交付的软件里。例如,有一个内核漏洞与嵌入式 GPU 驱动程序中 C++方法堆溢出相关。该方法解析用户提供的数据,而不执行必要的边界检查。另一个内核漏洞是由代码重构引起的,使用 !=
替换了<
。在这段代码中,被检查的值是直接从 IPC 消息中读取的。在未经过滤的情况下使用用户数据,还有一个类似的情况,IOKit 公共方法中的另一个内核漏洞是罪魁祸首,该方法使用用户提供的length参数执行memmove。另有一个很难证明的漏洞与苹果在2014年添加的一些“未完成”的代码有关。这些代码是为了实现“优惠券”(vouchers)功能。如果在测试中或实际应用中使用预期的参数调用,就会导致内核错误。根据 Beer 的说法,这些漏洞中有许多应该在单元测试、代码评审或模糊检查时检测出来。
在分析这些漏洞时,Beer 甚至构建了自己的命令和控制服务器,以调查攻击者在获得非沙箱代码执行特权 root 后,可以访问哪些类型的数据。具体来说,他发现所有主要的应用,包括 Whatsapp、Telegram、iMessage、Gmail、Contacts 等,都会泄露未经加密的数据,攻击者几乎可以访问设备上所有可用的个人信息。Beer 指出,尽管谷歌识别出了一些被黑客攻击的网站,它们一直在利用这些漏洞链,但这并不意味着只有它们在这么做。
我们也要记住,对于攻击者来说,这是一次失败:我们发现了这些攻击活动,但几乎可以肯定,还有其他我们没有发现的攻击活动。
也许,我们能从这个故事得出的最重要的结论是,没有一种系统可以认为是安全的,即使是在这方面备受推崇的 iPhone,用户应该意识到这一点。
实际用户是根据公众对这些设备的安全性的看法来做风险决策的。现实是,如果你成为攻击目标,安全保护措施永远无法消除你被攻击的风险。
Beer 说,更糟糕的是,这些攻击不是以个体为目标。相反,攻击往往是针对大量目标展开的。在这种情况下,只要你属于某一目标群体,无论是按地理划分还是按种族划分,都会受到攻击。
要了解所有细节信息,请阅读 Ian Beer 的系列文章,其中深入探讨了所有漏洞的细节,以及如何将这些漏洞链接在一起实现攻击。
原文链接:
Five 0-Days iOS Vulnerability Chains Have Been Exploited For Years
评论