
基于 Intel 的 Mac 中的 UEFI 固件安全性
基于 Intel 且搭载 Apple T2 安全芯片的 Mac 通过 UEFI (Intel) 固件提供安全保护。
概览
自 2006 年起,配备基于 Intel CPU 的 Mac 电脑使用 Intel 固件,这些固件基于可扩展固件接口 (EFI) 开发工具包 (EDK) v1 或 v2。基于 EDK2 的代码符合统一可扩展固件接口 (UEFI) 技术规范。这一部分中的 UEFI 固件指的是 Intel 固件。UEFI 固件曾是 Intel 芯片上执行的第一段代码。
在基于 Intel 且不搭载 Apple T2 安全芯片的 Mac 上,UEFI 固件的信任根是储存固件的芯片。Apple 会对 UEFI 固件更新进行数字签名,并会在更新储存区之前经过固件的验证。为帮助防止回滚攻击,更新的版本必须始终比现有的版本高。但是,如果攻击者可以实际接触 Mac,便可能使用硬件连接到固件储存芯片并更新芯片以包含恶意内容。与之类似,如果在 UEFI 固件的启动初期发现了漏洞(限制写入储存芯片之前),还可能会导致 UEFI 固件的持续感染。这种硬件架构缺陷常见于大多数基于 Intel 的 PC 中,在基于 Intel 且不搭载 T2 芯片的所有 Mac 电脑上也存在。
为了帮助防止破坏 UEFI 固件的物理攻击,Mac 电脑经过重新架构以将 UEFI 固件中的信任植根于 T2 芯片中。在这些 Mac 电脑上,UEFI 固件的信任根专指 T2 固件;请参阅基于 Intel 的 Mac 的启动过程。
Intel 管理引擎 (ME) 子组件
Intel 管理引擎 (ME) 固件是储存在 UEFI 固件中的一个子组件。ME 是 Intel 芯片内的一个独立处理器和子系统,在只搭载了基于 Intel 显卡的 Mac 上主要用于音频和视频版权保护。为减小此子组件的攻击面,基于 Intel 的 Mac 运行的是自定义 ME 固件,其中大部分组件已被移除。由此形成的 Mac ME 固件比 Intel 提供的默认最小版本还要小,因此过去作为安全研究员公开攻击对象的许多组件都不再存在。
系统管理模式 (SMM)
Intel 处理器有一种有别于正常操作的特殊执行模式。这种模式称为系统管理模式 (SMM),其最初推出是为了处理具有强时效性的操作,如电源管理。但是,为了执行此类操作,Mac 电脑此前一直使用称为系统管理控制器 (SMC) 的独立微控制器。现在,SMC 不再是一个单独的微控制器,而是集成到了 T2 芯片中。