实现可信根的两种方式和优缺点比较(How)

电子说

1.2w人已加入

描述

第一部分讲述了服务器固件的安全风险和传统保护方法的不足(What);在接下来的文章中您还将看到实现可信根的两种方式和优缺点比较(How)。让我们一探究竟吧!

概述

典型的企业服务器包含多个处理组件,每个组件使用各自的非易失性SPI Flash缓存来保存其固件(即上电后处理组件立即启动所需的软件)。尽管使用闪存很方便现场升级和修复问题,但同时也容易遭受恶意攻击。黑客可以未经授权就访问固件,在组件的闪存中植入恶意代码。这些代码能够轻易躲过标准的系统检测手段,即便是进行更新或更换硬盘也无法解决,从而对系统造成永久性破坏。

为解决这一问题,一些处理组件采用集成在芯片上的硬件电路来检测未经授权的固件修改。然而,电路板上其他未采用此种方案的处理组件还是缺乏有效保护,整个服务器仍然易受攻击。美国国家标准与技术研究所(NIST)最近发布了2018年NIST SP 800 193标准,定义了一种标准的安全机制,称为平台固件保护恢复(PFR)。PFR主要基于以下三个指导原则:

PFR功能主要依赖外部的硬件(芯片)带有“可信根”(RoT)的器件。使用基于FPGA的RoT器件实现PFR解决方案比使用基于MCU的可信根器件更安全、扩展性更好、系统可靠性更高。莱迪思推出的全新PFR开发套件能让服务器的原始设备制造商快速为其现有设计增加PFR功能,并充分利用这一强大的安全技术带来的优势。系统架构师和系统集成商如今可以更为方便地设计、实现和维护符合PFR标准的FPGA RoT器件,而无需拥有专门的安全专业知识。

易受网络攻击的服务器固件

预计到2021年,网络攻击犯罪造成的损失将达到6万亿美元。网络黑客不断寻找规避安全措施的新方法,旨在:

• 偷看或窃取存储在服务器上的专有数据(信用卡号、公司知识产权等)

• 绕过服务器偷看或窃取数据

• 劫持服务器,对其他目标进行DDoS攻击

• 通过让服务器的一个或多个硬件组件无法运行,从而对其造成破坏(称之为“变砖头”)

由于操作系统和应用会定期更新,以便加入新功能或修复漏洞,它们很容易成为黑客入侵服务器的最大目标。于是,组织的安防资源和战略一般会倾向于保护操作系统和应用软件。然而,入侵服务器还有另外一个较少为人所知的攻击载体:固件。

固件是指服务器组件(即CPU、网络控制器,片上RAID解决方案等)率先上电后立即执行的第一个启动代码。组件的处理器假定固件为一个有效可靠的起点,从中启动并根据服务器的配置使用它来分阶段验证和加载更高级别的功能。在某些情况下,处理组件在其整个运行周期内使用固件执行所需的功能。

国际信息系统审计协会(ISACA)2016年的一份调查显示,在那些声称将硬件安全视作组织头等大事的受访者中,超过半数“报告了至少一起受恶意软件影响的固件被引入公司系统的事件”,并且17%的受访者表示“这些事件造成了实质性影响。”

固件安全状态

服务器固件可能在供应链的各个不同阶段遭到入侵,包括:

• 在原始设备制造商处:在生产过程中操作人员恶意植入受感染的固件

• 在系统集成商处:在根据客户要求配置服务器时安装未经授权的固件

• 转运到客户的过程中:黑客可以打开服务器包装,通过线缆下载未经授权的固件,将恶意代码植入组件的SPI存储器中

• 现场运行过程中:黑客可以利用固件的自动更新,将可绕过任何现有保护机制的伪造固件替代正常的更新

典型的服务器主板目前都使用至少两种标准的固件实例:统一可扩展固件接口(UEFI)和基板管理控制器(BMC)。尽管这些接口能对固件起到一定的保护作用,但也非常有限。

标统一可扩展固件接口(UEFI)

UEFI(之前称为BIOS)是负责将服务器固件载入操作系统的软件程序。UEFI在生产过程中就已经安装就绪,用于检查服务器有哪些硬件组件、唤醒这些组件并将其交给操作系统。这一标准通过一种称之为安全启动的过程检测未经授权的固件,如果检测到未经授权的固件,该安全机制就会阻止硬件组件启动。然而,安全启动的实现和支持因组件和供应商而异,这会导致组件安全性能出现漏洞,从而被黑客利用。此外,如果非法固件设法绕过了安全启动,UEFI就无法将组件的固件恢复到上一个经授权的版本并继续运行。

基板管理控制器

基板管理控制器是母板上的一种专用微控制器(MCU),通过独立的连接与系统管理员通信以及使用传感器来监控“计算机、网络服务器或其他硬件设备”。许多BMC会筛查各自的固件安装情况以确保固件的合法性,但是对于其他的服务器固件则无能为力。BMC无法阻止恶意代码攻击电路板上的其他固件。例如,如果恶意代码被植入组件的SPI存储器未使用的分区,那么BMC则无法阻止代码进入服务器的整个代码流。

图 1:统一可扩展固件接口和基板管理控制器接口只能提供有限的固件保护

平台固件保护恢复(NIST SP 800 193标准)

为解决当前固件标准的安全问题,美国国家标准技术研究所(NIST)于2018年5月发布了一项新标准,为包括UEFI和BMC在内的所有固件提供全面保护。这一被称为PFR的NIST SP 800新标准旨在“提供技术指导和建议,支持平台固件和数据的恢复,预防潜在的破坏性入侵。”它提供了一种保护系统中所有固件的统一方法,并且可以配置为对正常系统操作不具有侵入性。一旦确定未经授权的固件正在尝试安装,它则会停止任何相关组件。并且PFR还相对于各个组件可能支持的任何安全功能独立运行。

该标准概括了保护固件的三大关键原则:

•保护——通过阻止对组件SPI存储器的保护区域实施未经授权的写入或者清除全部或部分固件的恶意行为,从而确保组件的固件处于稳定状态。在有些情况下,甚至对保护区的读取的操作也是禁止的。

•检测——在组件的处理器从固件启动之前,可以先验证来自原始设备制造商的固件更新包。若检测到固件有破坏或未经授权,则启动恢复过程

•恢复——若检测到固件被篡改或被破坏,处理器将从上一个可信固件版本(即“黄金镜像”)启动,或者通过可信进程获得新的固件,启动全系统的恢复。

PFR需要基于硬件的可信根

根据NIST的这一标准,实现安全的PFR功能需要可信根(RoT)器件对服务器的固件执行保护、检测和恢复操作。符合NIST标准的RoT器件必须在启动之前、且不借助任何其他外部组件的情况下对其固件进行以上操作。

硬件RoT解决方案必须拥有以下特点:

可扩展——RoT器件必须通过外部SPI镜像实现保护、检测和恢复功能,同时具备毫微秒级响应速度。这需要专用处理和I/O接口,保证服务器的性能不受影响。的位置

不可绕过——未经授权的固件不能绕过RoT器件,从而无法从受损的固件启动服务器。

自我保护­——RoT器件必须动态地应对不断变化的攻击面(设备或系统中未经授权的用户可以访问的所有节点),保护自身免受外部攻击

自我检测——RoT器件必须能够使用不可绕过的加密硬件模块检测未授权的固件

自我恢复——当设备发现未经授权的固件时,RoT器件必须能够自动切换到上一个黄金固件映像,确保服务器继续运行

图 3:NIST SP 800-193标准:平台固件保护恢复

如图3所示,RoT器件首先上电,并通过加密方式检查所有组件的固件,以及是否有未经授权的修改。若RoT器件检测到任何破坏,则启动可信固件恢复过程。在极端情况下,若电路板上的所有固件全部受损,RoT器件还可以利用存储在该器件中的可信固件进行全系统恢复(通过BMC)。BMC从可信固件启动后,从系统外部取得已知可信的固件替代被破坏的固件版本。RoT器件随后再次验证所有固件,然后启动电路板的上电程序,在此过程中板上所有组件都将上电,并强制从已知的完好固件镜像中启动,最后开始正常工作。

为保证SPI存储器不再遭受入侵,RoT将主动监测SPI存储器和对应处理器之间的所有活动,发现恶意更新固件的行为后,阻止安装更新。 

... ...

To be contunued...

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

全部0条评论

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

×
20
完善资料,
赚取积分