Intel PFR(platform firmware resilience)简介

tech2024-07-17  64

PFR是Intel 设计的用于支持NIST SP 800-193文档的安全要求的安全技术,PFR的目的是用于保护平台资产、检测损坏固件等恶意或错误行为,以及恢复平台固件到到良好状态的技术。

PFR使用了一块CPLD作为整个PFR技术的核心,并定义了一段特殊的预启动状态 T-1(T minus 1)。系统上电后,首先进入T-1阶段,此时,其他所有具有可能启动接口的固件(PCH、CPU、ME、BMC等)都处于复位状态,只有PFR CPLD上电启动,PFR CPLD首先对BMC FLASH、BIOS FLASH进行校验。如果校验失败,则PFR CPLD会擦除校验失败的FLASH区域,使用镜像文件恢复FLASH数据,校验成功则进入Bootguard 的正常启动模式,此后为T0模式。T0模式中,PFR CPLD会对SM BUS和SPI数据进行监控过滤,开发者可以设置白名单,不符合白名单规则的数据会被阻止传输或写入FLASH,已达到过滤恶意数据的目的。

在PFR的安全架构中,BIOS FLASH、BMC FLASH被分为了3部分,分为active、recovery、staging。active中存储的是未经压缩的、直接执行的固件,recovery中存储的是压缩过得备份文件,staging是用于升级的临时缓冲区。设备启动时,pfr cpld会对active进行校验,校验通过后设备从active中启动。校验失败时,pfr cpld会将recovery中的镜像恢复到active中,然后重新启动。当系统固件升级时,pfr cpld会对升级包进行校验,校验成功后,首先将固件放到staging中,然后系统重启,重启后cpld会将新的固件写入active和recovery区域中。

![flash 示意图](https://img-blog.csdnimg.cn/20200903194417883.png#pic_center)

建议参考: https://blog.csdn.net/zdx19880830/article/details/84190005

https://www.intel.com/content/dam/www/public/us/en/documents/solution-briefs/firmware-resilience-blocks-solution-brief.pdf

https://edk2-docs.gitbook.io/understanding-the-uefi-secure-boot-chain/looking_forward__platform_firmware_resiliency/intel_platform_firmware_resilience_intel_pfr

最新回复(0)