设备固件已经成为越来越流行的攻击媒介,不管是厂商的路由器,还是在线的安全监控设备,都曾遇到固件被入侵的情况。根据美国国家漏洞数据库(National Vulnerability Database)报告,2016至2019年间,全球每年因为固件漏洞而导致的入侵事件数量增加了7倍以上。而Gartner也在2019年7月做出大胆预测称,如果2022年这些公司还没有去做及时的固件升级计划,补上固件安全漏洞,那么2022年将会有70%的公司因为固件漏洞遭到各种入侵。
Lattice半导体亚太区应用工程总监谢征帆认为固件安全事件之所以频发,主要原因有两方面:一是传统的安全性保护都存在于上层软件或操作系统中,固件保护没有受到足够的重视;二是在线硬件产品越来越多,不管是云端、管道还是终端设备,基本上都有相应的固件存在,随着在线设备数量的增加,暴露出来的漏洞数量也在随之增长。
此外,一些中短期的风险也会加剧上述情况的发生。例如受到新冠疫情影响,很多人员无法在现场进行安全措施操作,只能进行远程管理、升级和操作,如果没有足够的安全性保护措施,那么风险就会大幅提升。
服务器PFR方案的首选
受损的固件会让用户数据易受入侵,对系统造成永久性损坏,极大降低用户体验,OEM也要承担相应的责任。因此,针对于固件攻击的保护,美国国家标准与技术研究所(NIST)定义了一种标准的安全机制,称为平台固件保护恢复(PFR)。PFR采用了基于硬件的解决方案,为保护企业服务器固件提供了一种全新的方法,可全面防止对服务器所有固件的攻击。
NIST 800-193对整个硬件平台上的固件保护提出的规范性要求主要包含三个部分:首先能够检测到黑客在对固件进行攻击;第二是进行保护,例如有人在对固件进行非法的读写操作时,要阻止这些非法行为,并汇报给上层软件,发出警告信息;第三是即使在固件遭到破坏的情况下,也能够进行恢复,例如从备份文件中恢复。这三部分(恢复、检测、保护)相互融合、相互配合,主要目的就是保护硬件平台上的固件。
对固件的保护恢复,业界此前主要基于TPM和MCU硬件平台来实现。但谢征帆在介绍Lattice Sentry解决方案集合和SupplyGuard供应链保护服务时表示,尽管TPM和MCU方案已经存在了多年,但它们的控制流程和时序均采用串行处理方式实现,无法像FPGA方案一样同时对多个外设进行监控和保护,因此实时性较弱。
除了实时性外,在检测和恢复方面,TPM和MCU硬件平台虽然也能够在启动之前对受保护的芯片固件进行自动验证,或是对标准的固件回滚进行恢复,但总体来看是“被动”的。也就是说,它并不会进行主动验证,只能通过SPI接口配合主芯片接收/回传相关指令,在面对时间敏感型应用或是强度较大的破坏,例如DOS攻击和重复攻击时,无法进行更快地识别和响应,并做出实时保护。
“为所有互联设备提供动态、持久、实时的硬件平台安全性正成为趋势。如果再结合FPGA本身的小尺寸、高性能、低功耗、灵活性等特点,使得很多Tier-1服务器厂商在部署下一代服务器平台的PFR功能时,开始优先考虑基于FPGA的方案。”谢征帆说。
基于动态信任的端到端供应链保护
Sentry方案并不仅仅只是一个硬件产品,它有一系列相配套的工具、软件和服务。
底层硬件平台基于MachXO3 FPGA,这是Lattice符合NIST平台固件保护恢复标准、面向控制的FPGA。当使用MachXO3 FPGA 实现系统控制功能时,它们通常是电路板上“最先上电/最后断电”的器件,通过集成安全和系统控制功能,MachXO3D便成为系统保护信任链上的首个环节。硬件平台之上是一系列IP核、软件工具、参考设计、演示示例、定制设计服务,共同构成了Sentry方案。
谢征帆强调称,Sentry方案的最终目的是实现动态信任和端到端的供应链保护,而动态信任强调安全保护机制并不是静态、固化的保护方式。其中,RISC-V可以通过相应的C代码,去实现客户所需要的功能。这意味着,随着产品的演进,如果用户将来在新的产品中需要新的保护方式,只要底层模块没有变化,只需改变相应的C代码,就可以实现新的保护方式;同时,通过RISC-V软核还可以调度不同硬件模块,例如监视器、Mux等底层模块。
以下是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则是Lattice推出的一项订阅服务,从产品制造到全球供应链运输、系统集成和组装、再到首次配置和部署的整个生命周期内,通过跟踪锁定FPGA,让OEM和ODM通过以下方式应对供应链风险:
- 确保只有授权的制造商才能构建OEM的设计,无论这些制造商身在何处。
- 为OEM提供安全的密钥机制,防止在未经授权的组件上激活其IP,阻断产品克隆和过度构建。
- 防止设备下载和安装木马、恶意软件或其他未经授权的软件,保护平台和系统免遭设备劫持或其他网络攻击。
同时,SupplyGuard也可以按需定制,满足各个行业OEM的特定安全和供应链需求,并降低实施安全生产生态系统的运营成本。
目前来看,主要是服务器厂商对Sentry和SupplyGuard方案更感兴趣,因为他们是最需要符合NIST 800-193规范的。接下来,随着安全问题在越来越多领域受到重视,工业自动化、车联网,甚至笔记本和台式机等领域,都有可能成为上述方案潜在的目标市场。