x

美国国家标准与技术研究院NIST SP800-193的《平台固件弹性指南》

2024-10-17 12:01:48 华邦
点击关注->创芯网公众号,后台告知EETOP论坛用户名,奖励200信元

物联网”(IoT)这一术语大约诞生于二十年前,彼时正值网际网络蓬勃发展时期。当时,专家们设想所有系统或设备可通过互联网连接功能,提供高级且智能的功能。该术语的提出主要是为了将独立的联网设备与相对传统且需要定期人工维护的计算机和服务器进行区分。网络安全在那时仅被视为属于计算机和服务器的考虑范畴;对于其他类型的设备而言,网络安全的概念鲜少使用或被理解,设备的可用性和创新性才是当时人们的主要关注点。

随着时间的推移,越来越多的设备开始联网,包括移动设备、网络连结、工业控制、家用电器以及始终在线的个人电脑。由于缺乏规范,每个供应商在安全性方面都有自己的举措,或者有的供应商完全没有考虑到安全性。随着连接性的增加,网络安全风险也随之增加。功能强大的联网设备成为黑客远程攻击的目标,他们企图利用这些设备的功能来满足自己的需求。黑客攻击可能是简单的滥用联网系统,也可能是利用联网设备进行更复杂的攻击,或者是通过创建机器人程序在某一日发动大规模的网络攻击。

随着联网设备的不断迭代升级,社会经济发展对于其功能和运行的依赖程度越来越高。曾经的新奇事物现在已成为现代社会的主要支柱,基础设施、公用事业、家庭和政府机构都依赖联网设备的正常运行,以维持稳定的日常生活。

这促使美国国家标准与技术研究院 NIST)于 2018 5 月发布了 NIST SP800-193《平台固件弹性指南》[1]。该指南面向运行任意类型固件的联网设备,包括从大型复杂的服务器到小型的嵌入式控制器。本白皮书旨在为读者介绍该指南涵盖的内容及原则。

NIST SP800-193(以下简称“193”)讨论了“恢复力(Resiliency)”的概念,即系统或平台抵抗恶意攻击或自发错误导致故障的能力。恢复力的基础包括以下三大原则:

 图片30.png

图一:  华邦安全闪存提供保护、检测及恢复内存中代码和关键数据遭未授权更改的方法。

 

保护即确保平台代码和数据保持完整状态。完整状态并不意味着这些代码和数据没有被修改,而是指其处于允许按照供应商、用户和基础设施的要求进行正确操作的状态。对于代码而言,这意味着正在运行系统的是经过验证、可信的代码版本;对于数据而言,则意味着数据仅允许授权实体和进程修改。

检测即平台识别代码和关键数据损坏并发出警报的能力。检测必须由单独的层来处理,因为受损代码无法信赖来自自身或相关数据的测试

恢复力即系统在代码和关键数据方面恢复到正确工作状态的能力。

如果系统符合保护、检测和恢复三大原则,便是值得信赖的系统,亦即表示可以在受到网络攻击和各种自发错误期间继续运行。

NIST SP800-193 仅涵盖固件和关键数据的恢復力,并未涉及其他数据的丢失或损坏、或系统硬件的物理损坏。

 

华邦的安全闪存设备如何根据 NIST SP800-193 指南提供恢复力

华邦的安全闪存设备系列以恢复力为核心进行设计,通过将复杂的逻辑直接内置到闪存设备硬件中,符合NIST SP800-193 指南的三大原则,为处理恢复力提供了所需的单独层。

保护

1. 信任根

“信任根”是指保持固件处于完整状态,使其值得信任。用户和基础设施可以依靠固件的功能来正确操作系统,并在执行前验证固件其它部分的真实性和完整性。

2. 加密写入保护

为实现保护并维持系统固件和关键数据的完整性,华邦的安全闪存设备采用了加密写入保护 CWP)。加密写入保护允许平台设计者保护闪存设备的某些区域免受擦除或编程操作。如果要进行编程或擦除,唯一的方法是先通过加密认证过程,这个要求可让使用者了解加密密钥是被安全地存储在闪存设备不可访问的地方。因为密钥在系统中不以明文形式存在,因此网络攻击者无法获悉这些密钥。而且每个系统的密钥均是单独设计,可以防止在单个实例受到攻击和破坏时,导致系统大范围的破坏。

3. 认证更新机制

NIST SP800-193 指南要求及时更新系统固件以修补安全漏洞。指南要求应通过身份验证的机制来进行更新,以确保更新的真实可靠(来自正确来源)和完整(完整且未经修改)。因此,固件更新必须提供签名摘要,以便系统确保更新代码的真实性、完整性且未经修改。然而,这项要求带来了“先有鸡还是先有蛋”的问题。如果更新机制存在漏洞并需要修补怎么办?如果更新机制存在漏洞,攻击者就有可能加载危险固件,那么固件是否值得信任?

为解决这个问题,华邦的安全闪存包含了一个内置机制,为固件更新提供身份验证和完整性保护。除此之外,更新机制还提供回滚保护(Roll-back Protection)和原子操作(Atomic Operation)。这种更新机制允许将新的固件映像逐块写入闪存设备,以适应速度较慢或不可靠的网络。一旦整个更新映像写入完成,安全闪存即对新映像进行验证,检查其是否完整、真实,以及其版本是否比闪存中的现有版本更新。如果所有检查都成功完成,则安全闪存交换新映像与旧映像,为系统提供真正的更新固件。整个过程都具备失效保护(Fail-safe)功能,防止在更新过程发生系统故障,从而进一步提高了平台的恢复力

检测

NIST SP800-193 指南要求系统在执行或使用固件和关键数据之前检测未经授权的更改。一旦检测到,系统可以启动恢复过程。

1. 自动完整性检查

华邦安全闪存在启动时或可根据用户要求,对固件区域进行自动完整性检查。这项检查会扫描整个固件区域,查找任何未经授权的更改。如果检测到未经授权的更改,安全闪存将执行下文所述的恢复过程。

自动完整性检查全程在闪存硬件中实现,因此提供了额外的、单独的防护层。

2. 固件启动数据认证

华邦安全闪存还支持专用的硬件认证机制,以验证关键数据。这项机制可由固件随时启动,以确保关键数据不被破坏。它基于内置的 SHA-256 引擎,无需将数据从闪存移至内存,即可对大型数据集进行超快速验证。

恢复

恢复机制可在检测到平台固件和关键数据损坏时,将其恢复到有效且授权的状态。

1. 自动固件回滚防护机制

华邦的安全闪存设备专门分配了回滚防护机制的区域,以支持自动固件恢复。该区域包含了备用固件,当检测到损坏时,备用固件会自动替换损坏的固件。此备用固件可以是原始固件的真实副本,也可以是专用于从损坏状态恢复后系统的特殊固件版本。

自动固件回滚防护机制与自动完整性检查协同工作。在系统启用期间,闪存会在内部检查固件的完整性。在此期间,系统将处于重置状态。如果未能通过完整性检查,闪存会自动重新映射回滚防护区域而不是损坏的固件区域,并允许系统执行备份固件。

回滚防护固件可以是原始系统固件的副本,也可以支持从本地存储的副本或通过远程存储来恢复固件。

通过使用专用于该区域的唯一密钥,回滚防护固件受到加密写入保护。因此,即使其他区域的密钥受到威胁也不会影响到回滚防护固件,符合NIST SP800-193 指南对恢复机制完整性的要求。

2. 关键数据的恢复

华邦的安全闪存允许为每个区域设置多种保护方案。关键数据保存在两个单独的区域中,每个区域都有唯一的密钥,从而保护关键数据免受损坏或恶意攻击。因此,数据的安全副本可以被完整保护保存在本地,并在数据受损时使用该副本。

图片31.png

图二: 华邦安全闪存在侦测到任何固件代码或数据完整性遭到黑客攻击或破坏时,能自动恢复平台固件。

 

总结

NIST SP800-193 指南阐述了系统实现恢复力所需满足的要求,以确保其能够抵御因固件和关键数据遭到恶意攻击,或发生故障时所导致的损坏。但这些要求只能通过专用的保护层才能实现。鉴于这个保护层需植根于恒定的代码中,因此实现起来极具挑战性。

华邦的安全闪存在硬件中提供了专用的保护层,满足 NIST SP800-193 指南的恢复力要求。此外,华邦的安全闪存与标准NOR 闪存可实现百分百兼容,能够高效将系统转换为符合NIST SP800-193标准的恢复力系统,且转换过程仅需微乎其微的工作量。

 图片32.png

图三华邦的安全闪存与标准 NOR  闪存可实现百分百兼容。


关键词:

  • EETOP 官方微信

  • 创芯大讲堂 在线教育

  • 创芯老字号 半导体快讯

  • 0

全部评论