还记得去年12月时,加拿大多伦多大学的公民实验室(Citizen Lab)披露,有36名卡塔尔半岛电视台(Al Jazeera)员工的iPhone,遭到黑客植入Pegasus间谍程序吗?当时该实验室呼吁iOS用户升级到具备新安全保护的iOS 14,以避免相关攻击。这促使Google Project Zero的研究人员Samuel Groß对iOS 14展开研究,并于本周公布苹果于iOS 14中所部署的新一代安全机制BlastDoor。
公民实验室的研究人员猜测,黑客是借由iMessage的推送通知服务漏洞,将Pegasus发送到受害者的iPhone上,危及苹果的iOS 13平台,而Samuel Groß则说,苹果于iOS 14中采用了新的BlastDoor服务,而能阻绝了相关攻击。
Groß的研究着重在苹果于iOS 14中可能影响iMessage安全性的变更,他说,一个基于内存损毁的零点击攻击程序通常需要几个要素,包括一个不需用户交互且不会触发通知的内存毁损漏洞,可远程破解地址空间编排随机化(Address Space Layout Randomization,ASLR)的途径,可将漏洞转变成远程程序执行的方法,以及可危害任何沙箱的方法。
然而,苹果在iOS 14中部署了3项重要的改变,而让上述的每一种攻击都变得更困难,它们分别是BlastDoor服务、Dyld共享缓冲区的重新随机化,以及可放慢暴力破解攻击的指数节流。
其中,BlastDoor可说是iMessages的专属沙箱,它负责解析iMessages所有不可靠的资料,且是以强调内存安全的Swift撰写,大幅提高了出现内存毁损漏洞的门槛。
而共享缓存区域曾被视为iOS架构的弱点之一,因为它在一个单一的预连接Blob存放了大多数的系统函数库,仅于每次启动时随机化,因而于所有程序中都维持在同样的地址;该架构允许可观察程序崩溃的黑客推测其共享缓存的地址,并有利于零点击攻击。不过,苹果在iOS 14中增添了侦测此类攻击的逻辑,再于被锁定的服务下一次启动时重新随机化共享缓存,增加破解ASLR的难度。
为了避免黑客持续或暴力破解ASLR,不管是BlastDoor或imagent服务都导入了新的指数节流措施,让每次崩溃后可重新启动的间隔时间加倍,于是便会把持续/暴力攻击的时间从几分钟拉长到数小时或半天。
Groß认为,苹果在iOS 14中所作的变更,应该是可顾及向后兼容性的最佳做法了,而且也对iMessages与整个iOS平台的安全性带来重大影响,很开心看到苹果能够把这类大型的重构资源用来改善用户的安全性,这也彰显了苹果不仅仅是修补了单一bug,而是根据开采程序的发展而变更其安全结构。