你可能还记得崩溃与幽灵这些令人难以置信的攻击依赖于最新处理器的基本特征:推测执行。处理器预先执行很可能到达计算流程的指令,而不验证它们。这节省了大量时间,但也带来了新的风险,特别是对于英特尔处理器而言。
现在轮到苹果面临这种特别棘手和复杂的问题了。麻省理工学院的一组研究人员刚刚揭露了一种名为“Pacman”的攻击,该攻击允许恶意代码绕过 M1 处理器中的重要内存保护装置,并在内核中执行任意代码,而这在一开始不需要任何特殊权限。
视线内的指针
该保护装置是« 指针验证码 »(帽)。指针是包含一组数据的内存地址的变量。 PAC 是一个集成到指针中的哈希值,可以验证其完整性。多亏了它,许多内存错误无法再被利用。一旦系统遇到具有无效散列的指针,进程就会被故意崩溃。因此,黑客不可能通过暴力计算出好的哈希值。至少在理论上是这样。
事实上,研究人员使用了一个糟糕的推测执行分支来大规模测试哈希值,但无需赘述。因此,即使它们不好,也没关系,因为指令在任何情况下都不会被验证,并且进程仍然存在。哈希值的测试是使用链接到 M1 的“翻译后备缓冲区”(TLB) 的辅助通道完成的。 TLB 是处理器高速缓存,可加速虚拟内存地址到物理内存地址的转换。
M1 的逆向工程
研究人员通过逆向工程分析了M1的TLB,这使他们能够间接观察它是否被修改。当他们加载精心设计的指针并且 TLB 被修改时,这意味着哈希值是好的。然后,黑客可以使用该指针来执行他的恶意代码,包括在内核内存空间中。这是大奖!
由于它与处理器的微架构相关,因此这种攻击无法修补。然而,苹果公司保持冷静,并最大限度地缩小了这一爆料的范围。
“我们要感谢研究人员的合作,因为这一概念验证增进了我们对这些技术的理解。根据我们的分析以及研究人员与我们分享的详细信息,我们得出的结论是,这个问题不会对我们的用户构成直接风险,并且不足以单独绕过操作系统安全保护。”,苹果在一份新闻稿中解释道。
事实上,黑客不仅必须能够操纵推测执行分支,而且还必须具有可利用的内存错误来执行哈希测试。从技术上讲,这种攻击很难实施,这就是为什么苹果不必过于担心的原因。无论如何,目前 Pacman 技术尚未在实际攻击中被观察到。手指交叉。
来源 : 和