搭载 Apple 芯片的 Mac 的启动过程

您所在的位置:网站首页 mac启动安全模式启动 搭载 Apple 芯片的 Mac 的启动过程

搭载 Apple 芯片的 Mac 的启动过程

2024-07-02 14:54| 来源: 网络整理| 查看: 265

搭载 Apple 芯片的 Mac 的启动过程

搭载 Apple 芯片的 Mac 开机后,会执行与 iPhone 和 iPad 非常相似的启动过程。

搭载 Apple 芯片的 Mac 开机时的启动过程。

芯片会在信任链的第一步从 Boot ROM 执行代码。搭载 Apple 芯片的 Mac 上的 macOS 安全启动不仅会验证操作系统代码本身,还会验证安全性策略甚至由授权用户配置的 Kext(支持但不建议)。

LLB(即底层引导载入程序)启动后,会验证签名并为存储、显示、系统管理和雷雳控制器等 SoC 内的核心载入与系统配对的固件。LLB 还负责载入 LocalPolicy,LocalPolicy 是一个由安全隔区处理器签名的文件。LocalPolicy 文件描述了用户已为系统启动和运行时安全性策略选取的配置。LocalPolicy 的数据结构格式与所有其他启动对象相同,但它是由仅在特定电脑的安全隔区内提供的私钥在本地签名,而不是由中央 Apple 服务器签名(类似于软件更新)。

为帮助防止任何之前的 LocalPolicy 重放,LLB 必须从与安全隔区连接的安全储存组件查找随机数。为执行此操作,LLB 使用安全隔区 Boot ROM 并确保 LocalPolicy 中的随机数与安全储存组件中的随机数匹配。这有助于防止安全性升级后将可能具有更低安全性配置的旧 LocalPolicy 重新应用到系统中。因此,搭载 Apple 芯片的 Mac 上的安全启动不仅可帮助防范操作系统版本回滚,还能防范安全性策略降级。

LocalPolicy 文件会捕捉操作系统是配置为“完整”、“降低”还是“宽松”安全性。

完整安全性:系统运行方式与 iOS 和 iPadOS 相似,且允许仅启动在安装时已知为最新可用版本的软件。

降低安全性:LLB 被要求信任与操作系统捆绑的“全局”签名。这允许系统运行 macOS 较旧版本。macOS 较旧版本不可避免地具有未修补的漏洞,所以此安全性模式称为“降低”安全性。这也是支持启动内核扩展 (Kext) 所需的策略等级。

宽松安全性:与“降低安全性”类似,系统也为 iBoot 及其后的过程使用全局签名验证,但它还通知 iBoot 应当接受由安全隔区使用给 LocalPolicy 签名的相同密钥来签名的部分启动对象。此策略等级支持用户构建、签名和启动自己的自定 XNU 内核。

如果 LocalPolicy 告知 LLB 所选操作系统以“完整安全性”运行,LLB 会为 iBoot 评估定制化签名。如果 LLB 以“降低安全性”或“宽松安全性”运行,它会评估全局签名。任何签名验证错误都会导致系统启动进入 recoveryOS,以提供修复选项。

LLB 转交给 iBoot 后,它会为安全神经网络引擎、始终在线处理器等载入与 macOS 配对的固件以及载入其他固件。iBoot 还会查看由 LLB 交给它的 LocalPolicy 的相关信息。如果 LocalPolicy 表明应当具有辅助内核集 (AuxKC),iBoot 会在文件系统上查找 AuxKC,验证它是由安全隔区使用给 LocalPolicy 签名的相同密钥进行签名,并验证其哈希值与 LocalPolicy 中储存的哈希值匹配。如果 AuxKC 通过验证,iBoot 会将其放到包含启动内核集的内存中,然后使用系统协处理器完整性保护 (SCIP) 锁定包含启动内核集和 AuxKC 的整个内存区域。如果策略表明 AuxKC 应当存在,但无法找到,系统会在缺少 AuxKC 的情况下继续启动进入 macOS。iBoot 还负责验证签名系统宗卷 (SSV) 的根哈希值,以检查内核将要装载的文件系统的完整性是否经过完全验证。

发布日期:2021 年 2 月 18 日另请参阅系统安全性概览搭载 Apple 芯片的 Mac 的启动磁盘安全性策略控制在备选启动模式中保护密钥

下载本手册的 PDF 版



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3