根据美国国家漏洞数据库(National Vulnerability Database)的报告,2016至2019年间,全球每年因为固件漏洞而导致的入侵事件数量增加了7倍以上。而Gartner也在2019年7月做出大胆预测称,如果2022年这些公司还没有及时执行固件升级计划,弥补固件安全漏洞,那么2022年将会有70%的公司因为固件漏洞遭到各种入侵。
设备固件之所以成为越来越流行的被攻击媒介,主要原因来自两方面:一是传统的安全性保护都存在于上层软件或操作系统中,固件保护没有受到足够的重视;二是云—管—端中几乎所有设备都有相应的固件存在,随着在线硬件设备数量的增加,暴露出来的漏洞数量也在随之增长。
此外,一些中短期的风险也会加剧上述情况的发生。例如受到新冠疫情影响,很多人员无法在现场进行安全措施操作,只能进行远程管理、升级和操作,如果没有足够的安全性保护措施,那么风险就会大幅提升。
受损的固件会让用户数据易受入侵,对系统造成永久性损坏,极大降低用户体验,OEM也要承担相应的责任。因此,针对于固件攻击的保护,美国国家标准与技术研究所(NIST)定义了一种标准的安全机制,称为平台固件保护恢复(PFR)。PFR采用了基于硬件的解决方案,为保护企业服务器固件提供了一种全新的方法,可全面防止对服务器所有固件的攻击。
NIST 800-193对整个硬件平台上的固件保护提出的规范性要求包含三个部分:首先,要能够检测到黑客正在对固件进行攻击;其次是进行保护,例如有人在对固件进行非法读写操作时,要有能力阻止非法行为,并汇报给上层软件,发出警告信息;第三是即使在固件遭到破坏的情况下,也能够进行恢复,例如从备份文件中恢复。这三部分(恢复、检测、保护)相互融合、相互配合,主要目的就是保护硬件平台上的固件。
基于TPM和MCU硬件平台来实现对固件的保护恢复,是业界此前采用的两种主要方案,已经存在了多年,其控制流程和时序均采用串行处理方式实现,实时性较弱。在检测和恢复方面,TPM和MCU硬件平台虽然也能够在启动之前对受保护的芯片固件进行自动验证,或是对标准的固件回滚进行恢复,但总体来看是“被动”的。尤其是TPM,并不会进行主动验证,只能通过SPI接口配合主芯片接收/回传相关指令,在面对时间敏感型应用或是强度较大的破坏,例如DOS攻击和重复攻击时,无法进行更快地识别和响应,并做出实时保护。
考虑到为所有互联设备提供动态、持久、实时的硬件平台安全性正成为趋势,因此很多Tier-1服务器厂商在部署下一代服务器平台的PFR功能时,开始优先考虑基于FPGA的方案。出发点一是在于FPGA方案能够以纳秒级的响应速度同时对SPI flash、I2C、SPI等多个接口总线进行监控和保护,80-100M时钟频率能够快速检测并阻止非法访问事件,实时性强;二是因为FPGA本身具备小尺寸、高性能、低功耗、灵活性等特点,易于部署。
Sentry、TPM和微控制器的比较
作为平台固件保护恢复可信根软件解决方案,莱迪思Sentry解决方案集合包括了系统设计人员评估、开发、测试和部署符合NIST SP800-193标准、基于FPGA的PFR可信根所需的全部资源,包括完整的参考平台、经过充分验证的IP构建模块、易于使用的FPGA设计工具、参考设计/演示以及定制设计服务网络。
莱迪思Sentry解决方案集合
相比传统固件,Sentry做了哪些改变?以Sentry底层硬件平台MachXO3 FPGA为例,这是莱迪思符合NIST平台固件保护恢复标准、面向控制的FPGA产品。在传统流程中,每颗芯片都只与自身相对应的固件单向联系,各行其是;但作为系统保护信任链上的首个环节,也是电路板上“最先上电/最后断电”的器件,当用户使用MachXO3 FPGA 实现系统控制功能时,MachXO3D会首先将其它芯片处于复位状态,然后通过集成的安全和系统控制功能对固件进行加密验证,在确定没有遭到非法篡改后,MachXO3D才会逐一释放复位信号,允许MCU/CPU等器件正常启动。
当然,Sentry方案的最终目的是实现动态信任,而动态信任强调安全保护机制并不是静态、固化的保护方式。在许多情况下,开发人员可以通过修改随附的RISC-V C代码来开发功能全面的PFR解决方案,也可以通过RISC-V软核调度监视器、Mux等不同硬件模块。这意味着随着产品的演进,如果用户希望在新的产品中采用新的保护方式,只要底层模块不发生变化,那么只需改变相应的C代码就可以实现。同时,如果开发人员想要添加更多RTL逻辑来完善解决方案功能,则可以使用莱迪思Diamond和Propel软件工具来实现。
针对非FPGA用户的基于RISC-V的软件设计
以下是Sentry解决方案的主要特性:
◆硬件安全功能——提供经过预验证、符合NIST的PFR实现方案,可在系统启动期间和之后对所有系统固件实施严格的实时访问控制。若检测到损坏的固件,Sentry可以自动回滚到固件之前已知的完好版本,确保安全的系统操作不会中断。
◆符合最新的NIST SP-800-193标准,通过CAVP认证——通过支持严格加密的MachXO3D FPGA系列器件实现硬件RoT。
◆易于使用——开发人员可以在没有任何FPGA设计经验的情况下,将Sentry经过验证的IP模块拖放到Lattice Propel设计环境中,修改所给的RISC-V C语言参考代码。
◆缩短上市时间——Sentry提供预验证和经过测试的应用演示、参考设计和开发板,可以将PFR应用的开发时间从10个月缩短到6周。
◆灵活、适用于所有平台的安全解决方案——Sentry为固件和可编程外设提供全方位、实时的PFR支持。它可以用作系统中的硬件可信根(RoT)/补充现有的基于BMC/MCU/TPM的体系,使之完全符合NIST SP-800-193标准。
SupplyGuard是莱迪思推出的一项订阅服务,从产品制造到全球供应链运输、系统集成和组装、再到首次配置和部署的整个生命周期内,通过跟踪锁定FPGA,让OEM和ODM通过以下方式应对供应链风险:
端到端的供应链保护
为客户提供工厂锁定的IC——这些IC只能使用特定客户开发、签名和加密的配置位流来进行编程,只有授权的制造商才能构建OEM的设计,无论这些制造商身在何处。
防止IP盗窃——经过签名和加密的配置位流只能加载到工厂锁定的IC中,这些IC是工厂专为客户的位流提供。通过为OEM提供安全的密钥机制,防止在未经授权的组件上激活其IP,阻断产品克隆和过度构建。
使用标准方法进行安全的编程——采用标准的工厂批量编程器将加密、签名的配置位流编程到工厂锁定的IC上,防止设备下载和安装木马、恶意软件或其他未经授权的软件,保护平台和系统免遭设备劫持或其他网络攻击。其中安全编程部分完全在MachXO3D IC中进行,这种低成本的方法可在当今的大批量供应链中提供极高的安全性。
同时,SupplyGuard也可以按需定制,满足各个行业OEM的特定安全和供应链需求,并降低实施安全生产生态系统的运营成本。
SupplyGuard—完整的设备安全生命周期管理
以下是工作SupplyGuard的工作流程原理:
step
1
SupplyGuard工作流程起始于莱迪思为客户提供带有专用料号的FPGA(MachXO3D), 这些FPGA在莱迪思工厂通过被保护的带有密码的证书锁定,而只有客户自己才能知道证书,如果要编程这些FPGA,必须使用经过证书加密过的位流(bitstream)。
step
2
客户要解锁这些FPGA,必须知道证书,SupplyGuard通过HSM(High Security Module)来加密证书,并提供给客户。客户用自己的HSM解密得到证书,并用来加密保护FPGA位流。加密过的FPGA位流只能用来对上一步所提到的经过SupplyGuard保护的带有客户专用料号的FPGA进行编程。
step
3
在客户的工厂加工阶段,对FPGA的控制由“莱迪思工厂锁定”状态变成“客户锁定”状态,而实现这一转变是通过XO3D芯片内部来实现的,是经过保护和加密的。然后客户可以通过标准的批量烧写设备对FPGA进行编程,在客户的加工厂不再需要HSM,但加工仍然能得到保护。
除SupplyGuard,莱迪思也提供基于XO3D的Sentry解决方案集合,可以被客户采用以上加密保护的位流执行,这拓展了对整个产品平台的其它固件的安全保护。
目前来看,服务器厂商对Sentry和SupplyGuard方案更感兴趣,因为他们是最需要符合NIST 800-193规范的。接下来,随着安全问题在越来越多领域受到重视,工业自动化、车联网,甚至笔记本和台式机等领域,都有可能成为上述方案潜在的目标市场。
了解详情,请点击阅读原文~