如何实现PFR解决方案 ,以及两种典型方案的比较

电子说

1.2w人已加入

描述

上期我们谈到了服务器固件的安全风险和传统保护方法的不足,谈到了平台固件保护恢复(PFR)这一全新的标准将为服务器提供全方位的保护。今天我们谈谈如何实现PFR解决方案 ,以及两种典型方案的比较。

实现符合NIST标准的PFR解决方案

PLD上实现可信根的难点在于,实现方案的同时不给原始设备制造商带来过大的负担。可信根硬件解决方案(包 括基于PLD的解决方案)必须可扩展,也就意味着它能够保护服务器上的所有固件,同时响应时间达到毫微秒级。它还要能够使用不可修改的加密模块,通过加密检测来确定固件是否遭到篡改。将PFR与服务器所有组件完整的启动时序控制功能相结合,RoT就变得不可绕过。最后,解决方案还应能够自动切换回最近的黄金固件镜像,以便在发现当前固件被破坏时服务器可以继续运行。

按照定义,基于硬件的RoT器件自然需要在芯片中实现。在此情况下,最常用的芯片平台即微控制器(MCU)和现 场可编程门阵列(FPGA)。在充分考虑到FPGA和MCU的运行特点和特性后,我们发现FPGA在很大程度上更适用于PFR解决方案。

使用MCU实现可信根

MCU过去常在服务器硬件产品中用于构建可信根。简单来说,就是保留MCU层的一部分为可信执行环境。MCU 的这一部分与芯片的其他区域保持物理隔离,并持续监控固件,确保其获得授权并正常工作。通常来说,服务器上的PFR功能是通过向现有的硬件架构上添加RoT MCU实现的。

MCU通常难以支持验证服务器中的多个固件实例。这是因为它无法在没有外部设备(如PLD)的帮助下响应对服务器所有固件实例的系统内部攻击(而PLD能实时监控SPI存储器的流量并同步检测和响应入侵行为)。如图4所示,使用MCU实现PFR的三个组件为: 

RoT MCU– RoT MCU执行检测、恢复和保护功能;它是实现RoT的核心组件。

保护PLD– 通过实时监控所有组件处理器与其SPI存储器设备之间的活动,大规模实现PFR,全面保护电路板。

控制PLD– 该器件集成了所有电路板级的上电和复位时序功能,包括风扇控制、SGPIO、I2C缓冲、信号集成和带外通信等启动主板必须的功能。RoT MCU命令控制PLD为电路板上电。若需要在极端情况进行恢复,RoT MCU则命令控制PLD仅为可信恢复过程中使用的部分电路板供电。

图 4:如果需要各组件同时启动,那么符合PFR标准、使用MCU作为可信根的服务器还需要额外的组件(FPGA)来提供必要的高性能;在大规模的服务器应用场景下,此种解决方案不可扩展

这种基于MCU的PFR方案有诸多限制。例如,图4电路中使用的控制PLD无法保护自身固件,也就意味着这种架构并非完全符合NIST PFR的要求。控制PLD的代码仍有可能被修改,让RoT MCU失效。还有可能受到永久拒绝服务攻击(PDoS),通过删除这些PLD上的信息,让系统无法运行,从而使让服务器无法启动。保护和控制PLD存在的安全漏洞使得组件在运输或者系统集成过程中很难防止对固件的攻击。为了达到NIST SP 800 193标准,RoT MCU必须同时为控制PLD和保护PLD实现PFR功能。而使用MCU在这些器件上实现恢复和保护功能非常困难。最后,基于MCU的方案需要额外的系统级进程来检测试图绕过整个RoT电路的攻击行为。

使用FPGA实现可信根

图 5:RoT FPGA解决方案将RoT MCU、控制PLD和保护PLD的功能集成在单个芯片上,不仅可靠、易扩展,而且不可绕过。在拥有符合PFR标准的PLD的服务器上,PLD的性能足以并行监测所有组件的固件而无需使用额外的FPGA

基于可信根FPGA的PFR解决方案优势

正如其名,可编程逻辑电路(PLD)是一种几乎可以瞬时实现远程重新编程的集成电路,以适应不断变化的场景。PLD可以在硬件层面上改变其电路,因此一旦检测到未经授权的固件,该固件就无法安装。

由于PLD被设计为可重新编程,因此比MCU有更多的I/O接口,这让它们可以并行运行多个功能而非按顺序执行。 因此它们在检测未授权固件时,识别和响应速度更快。

此外,PLD使用了先进的仿真软件,让工程师得以验证其PLD设计的功能。工程师还可以使用这一工具来测试其针对各种固件的网络攻击的设计是否可以保护PLD自身。与PLD相比,MCU的固件更新需要更复杂的测试和验证,因为MCU不能通过仿真支持功能验证。相反,MCU固件的任何更新都必须经过多次回归(试错过程)测试,以确保新固件不会对MCU中的其他功能产生不良影响;这一过程远比运行PLD仿真软件繁琐。

当我们对比PLD和MCU的特点时,会发现PLD能提供性能更优、更为可靠的平台实现基于硬件的可信根;它也成为满足PFR标准的必要器件。

应对供应链攻击:MCU与FPGA解决方案

如果出现固件攻击,两种不同类型的PFR系统将采取以下应对措施(按照实施顺序):

微控制器

PFR开发套件简化FPGA可信根的实现

莱迪思现提供一款PFR开发套件,可简化FPGA RoT解决方案的实现。服务器组件的原始设备制造商和系统集成商如今可以快速实现基于FPGA的PFR,满足上市时间的要求。该套件包括一个软件功能库、相关的IP和3个开发板,用于实现PFR(包括保护PLD功能)。用户可以通过Lattice Diamond软件工具将电路板控制PLD功能添加到 RoT FPGA设计中。莱迪思PFR开发套件和开发板包括:

★ 一个RoT FPGA开发板

★ 一块运行Python脚本的ECP5 FPGA板,用于模拟服务器的BMC。开发人员可以通过Python脚本执行命令来模拟对组件SPI存储器的攻击。

★ 一个PFR适配卡,用于在SPI存储器中存储BMC代码。在开发板的RoT FPGA中实现的PFR功能可以保护PFR适 配卡固件免受攻击(意味着基于FPGA的该解决方案符合NIST PFR标准)。

莱迪思套件让用户能够设计、实现和维护符合NIST标准的自定义PFR方案,而无需专门的安全专业知识。

图 6:Lattice FPGA RoT开发套件拥有三块开发板:RoT FPGA开发板,用于模拟服务器BMC的ECP5开发板和用于 存储模拟BMC固件的SPI闪存板

小结

对于涉足数字领域的企业和组织而言,网络安全是个至关重要的问题。如今黑客会通过攻击企业服务器固件来获取未经授权访问服务器数据的权限,或者直接让服务器永久瘫痪。而通过基于FPGA的RoT器件实现的PFR则能有效解决这一难题,提供安全可靠、容易扩展、全套完备的方案,在供应链的任何环节保护服务器组件的固件。全新的莱迪思PFR开发套件为加速和简化RoT器件的开发提供了便捷途径,确保你的服务器安全无虞。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分