根据最新发表的一篇学术研究论文,苹果M系列芯片中发现了一个无法修补的漏洞,该漏洞允许攻击者在特定条件下从 Mac 电脑中提取秘密加密密钥。
被称为“GoFetch”的网络攻击类型涉及数据内存依赖预取器(DMP),它们试图预测计算机下一步需要什么数据并提前检索它。这是为了提高处理速度,但它可能会无意中泄露有关计算机正在执行的操作信息。
白皮书发现,DMP,特别是苹果处理器中的 DMP,对常量时间编程模型提供的安全性构成了重大威胁,常量时间编程模型用于编写程序,因此无论处理什么数据,它们都需要相同的时间来运行。
固定时间编程模型旨在防止旁路攻击,即有人可以从计算机系统获取敏感信息而不直接访问它的攻击类型。其想法是,如果所有操作都花费相同的时间,则攻击者可以观察和利用的时间更少。
然而,这篇论文发现,DMP,特别是在苹果芯片中,可能会泄露信息,即使程序的设计不会揭示它访问内存的任何模式。这项新的研究发现,DMP 有时会混淆内存内容,导致它将数据视为执行内存访问的地址,这与常量时间模型背道而驰。
作者将 GoFetch 描述为一种新型攻击,可以利用 DMP 中的这一漏洞从安全软件中提取加密密钥。