谷歌发现苹果在零日攻击后悄悄添加的新iOS安全功能

谷歌Project Zero周四披露了一种新的安全机制的细节,苹果悄悄地将其添加到iOS 14中,以防止最近发现的利用其消息应用程序中的Zero days进行的攻击。
被称为“风门“改进后的iMessage数据沙箱系统由谷歌项目Zero研究员塞缪尔·格罗(Samuel Groß)披露,他负责研究硬件和软件系统中的零日漏洞。
Groß说:“iOS 14的主要变化之一是引入了一种新的、沙盒严密的‘BlastDoor’服务,该服务现在负责iMessages中几乎所有不可信数据的解析。”。“此外,该服务是用Swift编写的,Swift是一种(主要是)内存安全语言,这使得在代码库中引入经典内存损坏漏洞变得非常困难。”
这一发展是零点击攻击的结果,该攻击利用iOS 13.5.1中的Apple iMessage漏洞绕过安全保护,作为去年针对半岛电视台记者的网络间谍活动的一部分。
“我们不认为(该漏洞)对iOS 14及以上版本有效,其中包括新的安全保护,”公民实验室的研究人员上个月透露了这次攻击。
Blostdoor是这些新安全保护的核心,per Groß分析了一个为期一周的逆向工程项目中实施的变更,该项目使用运行macOS 11.1的M1 Mac Mini和运行iOS 14.3的iPhone XS。
当传入的iMessage到达时,消息会通过许多服务传递,其中最主要的是Apple Push Notification Service daemon(apsd)和一个名为imagent的后台进程,它不仅负责解码消息内容,还负责下载附件(通过一个名为IMTransferAgent的独立服务)和处理网站链接,然后提醒SpringBoard显示通知。

BlastDoor所做的是在一个安全的沙盒环境中检查所有此类入站消息,从而防止消息中的任何恶意代码与操作系统的其余部分交互或访问用户数据。
换言之,移动大部分处理任务—;i、 例如,解码消息属性列表并创建链接预览—;从imagent到这个新的BlastDoor组件,发送到目标的精心编制的消息不能再与文件系统交互或执行网络操作。
格罗指出:“沙箱的轮廓非常紧密。”。“只能访问少数本地IPC服务,几乎所有文件系统交互都被阻止,禁止与IOKit驱动程序进行任何交互,[并且]出站网络访问被拒绝。”
此外,为了延迟崩溃服务的后续重启,苹果还在iOS“launchd”过程中引入了一个新的节流功能,通过成倍增加连续两次暴力尝试之间的时间,限制攻击者试图利用漏洞的尝试次数。
格罗ß说:“有了这一改变,依赖于反复破坏被攻击服务的攻击现在可能需要多小时到大约半天的时间才能完成,而不是几分钟。”。
“总的来说,考虑到向后兼容性的需要,这些更改可能非常接近可能达到的最佳状态,它们应该对iMessage和整个平台的安全性产生重大影响。”