系统强化之代码和数据完整性检查以及异常测试
维护系统不被未经授权更改的方法之一就是使用经过审核供应链提供的可靠软件及代码。例如,多年来,Windows一直采用驱动程序签名。一些较新的版本更进一步,使用 硬件和软件 安全功能 的组合来锁定计算机,确保它仅运行受信任的代码/应用程序 - 此过程被Microsoft称为“Device Guard”。 通常,安全启动设备从启动 启动过程 的初始“信任根”开始,并且通常基于 硬件,例如,微控制器从内部不可变存储器或根本无法重新编程的内部闪存开始执行软件,或者只能通过严格的身份验证和授权检查。例如,现代Apple计算机使用单独的处理器T2安全芯片来为安全启动等提供硬件信任根,而Google还为此开发了一种称为Titan的定制处理器。我们现在将进一步讨论基础硬件模块化的信任根如何帮助人工智能算法验证智能合约系统是否安全并且启动。 启动通用计算机通常从固件开始,固件启动一系列阶段,以完全启动的系统结束。例如, 固件可以加载一个特殊的引导加载程序,然后加载操作系统内核,而 操作系统内核 又可以 加载额外的引导 驱动程序,直到最终操作系统完全初始化并准备好与用户或应用程序交互。所有这些阶段都需要保护。例如,统一可扩展固件接口 (UEFI)可以通过安全启动来保护第一阶段 (即验证 引导加载程序的完整性)。 PCR 中的值可以作为 系统处于可信状态的证据。具体而言,引导系统时执行的第一个代码是固件引导代码,有时称为用于测量的核心信任根(CRTM) 或 BIOS 引导块。此代码将通过生成其内容的哈希来“测量”完整固件,在开始执行之前,它会将其发送到 TPM 以扩展 PCR-0。接下来,现在正在执行的固件将测量启动过程的下一个组件,并在执行 之前再次将值存储在TPM的 中 (例如,通过扩展PCR-0)。然后,tpm将检查所有这些组件,直到确定它们是否正确运行。如果没有问题,那么它将继续执行下一个步骤。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |