Skip to main content

工业

简化安全、基于 UEFI 的物联网固件更新

在物联网 (IoT) 时代,万物都连接在一起,每个连接点都可以被黑客视为攻击目标。 为防止这种情况,开发人员需要借助验证和安全版本控制来确保所有固件和相关补丁都处于最新状态。 任何未打补丁或过时的固件都会允许访问关键系统功能。

遗憾的是,开发团队在产品发货后经常忽略更新固件的需要。 在许多情况下,这是由于所需资源和所涉及到的复杂性造成的。 但如果将通过远程或无线 (OTA) 方式更新和保护固件的整个过程标准化,并将其封装在与底层硬件无缝配合、易于使用的可靠解决方案中,情况将会如何?事实证明,这样一个解决方案已经存在。

软件/固件团队经常面临安全风险

无论是嵌入式系统中的错误、漏洞还是一些其他问题,修复的责任通常都由软件/固件团队承担。 在软件中进行修复比在硬件中进行修复容易得多,而且成本更低。这是一个符合逻辑的原因。

从安全的角度来看,消除漏洞通常是软件的责任,因为几乎每个远程攻击都是通过软件或固件中的弱点来实现的。 这是为什么呢?因为通过固件(远程或其他方式)发动攻击比通过需要实体存在的硬件发动攻击简单得多。

如果设备连接到物联网,这些固件安全漏洞就可能会影响数百万台设备。 设备固件当中危害较大的漏洞也可以提供对私人信息、公司数据甚至医疗信息的访问。 此外,如果黑客获取操作系统 (OS) 的访问权限,他们就可以完全接管设备并危及整个网络。 假设持续不断发现新的漏洞,所面临的挑战就是快速响应以避免任何影响或将影响降至最低程度:漏洞存在的时间越长,被利用的可能性就越大,造成的破坏也就越大。

通过标准化更新过程,兼容的操作系统可以将固件更新应用到任何平台,就像应用操作系统驱动程序或应用更新一样简单。 由于物联网设备处于连接状态,因此它可以通过无线方式进行无缝检查和下载更新,并有可能在修复程序发布的同一天迅速关闭漏洞。 这里假设开发人员解决了一些与实施 OTA 更新相关的问题。

更新过期固件:开发困境

借助 OTA 更新,OEM 现在可以远程关闭固件漏洞。 但是安全有效地实施 OTA 更新还面临着两大挑战。 第一个挑战是区分给定系统中过时的固件组件和当前的固件组件。 固件更新通常需要重置设备,这对于某些系统来说可能代价高昂,所以就需要将更新频率降到最低。

要确定需要更新的组件,请务必记住,固件并不是完全统一的。 物联网设备上许多单独的 IC 和其他组件都包含自己的固件,因此开发人员和安全专业人士必须越过 BIOS 才能确定可以更新各种组件中的哪些组件。

第二个挑战是确定新的固件版本是否经过验证并具有安全性。

UEFI 更新封装: 隔离、安全的固件更新

为了帮助设计人员快速应对这些挑战,使 OTA 固件更新成为产品设计和支持周期中更为自然的一部分,OEM 正在利用统一可扩展固件接口 (UEFI) 规范的更新封装技术。 这会将特定的固件组件隔离起来以进行更新。 当在商用 UEFI BIOS 固件解决方案中实施时,这些解决方案能够监控可更新固件组件版本并仅接受“确认无问题”的固件版本用于更新,UEFI 更新封装技术可以确保整个系统固件尽可能保持能够抵御攻击的状态。

实施 UEFI 规范允许通过加载 UEFI 驱动程序和应用映像来扩展平台固件(图 1)。 加载这些映像后,映像可以访问所有 UEFI 定义的运行时和引导服务。

图 1. 通过加载由 UEFI 规范定义的 UEFI 驱动程序和应用映像,这些映像可以访问所有 UEFI 定义的运行时和引导服务。 (来源:Insyde Software

UEFI 固件提供 EFI 系统资源表 (ESRT),该表描述了物联网设备上的所有可更新固件组件及其版本。 这使得 OS 在固件更新可用时可以检测到固件更新。

当然,如果一个更新带来的问题比解决的问题更多,那么这样一个更新是远远不够的。 例如,您不会希望上传实际上比已有版本更旧的“新”版本。 而且您绝对不想上传包含恶意软件的版本,或者不是针对物联网设备供应商的版本。

出于这个原因,UEFI 封装(包括其版本)通过嵌入在闪存设备中的验证密钥来对签名进行加密。 这允许在引导过程期间,在 UEFI 固件执行第三方代码之前,可以进行 UEFI 封装。

通过这种技术,物联网设备制造商了解到他们的产品是安全的,因此可以高枕无忧。 OEM 也可以最大限度地减少发送补丁的时间,节省下来的时间可用于开发创收服务。

但是,对于开发人员来说,要充分利用这一技术,如果有一个现成的 OTA 版本控制和验证解决方案,将大有帮助。

关闭连接的嵌入式设备中的漏洞

Insyde Software  已经开发出这样的解决方案。 它的 InsydeH2O 已经在数百种不同的平台类型中进行了测试,并可通过支持简单的更新传输机制来帮助物联网设备开发人员快速响应固件安全漏洞。

已经在数百种不同的平台类型中进行了测试,并可通过支持简单的更新传输机制来帮助物联网设备开发人员快速响应固件安全漏洞。 然后软件接受已验证的更新并在安全环境当中进行应用。 如上所述,ESRT 报告所有可更新固件组件的当前版本。 即使操作系统或本地 IT 管理员没有提供对固件更新的连接访问,InsydeH20 固件闪存工具实用程序 H2OFFT 也可让用户通过新的 BIOS 固件快速轻松地更新闪存设备。

InsydeH20 可以与 OTA 更新一起实施,以确保物联网设备固件保持安全和最新状态。 它可以锁定闪存,并让操作系统知道当前正在运行的是哪个固件版本,借此来实现上述目标。 随后,操作系统会接受经验证的固件更新版本。 然后,InsydeH2O 会进行重新检查,以确保供应商授权新版本。

安全更新过程不会比处理器为存在固件的闪存设备提供的保护更强大。 Insyde Software 充分利用了英特尔凌动® C3000 处理器的功能,确保新一代物联网边缘设备的安全。

英特尔凌动® C3000 处理器允许 InsydeH2O 锁定闪存设备,并保护其以后免受未经授权的修改。 此外,Denverton 创新引擎上的 Insyde BootGuard 可以在第一个固件位执行之前对其进行验证,从而支持 NIST-800-155 指南提供的安全代码身份验证。

以正面形象占据新闻头条

通过将基于标准的固件更新技术与硬件安全功能相结合,OEM 可以修复现场部署的设备中存在的漏洞。 而且,诸如 InsydeH20 之类的技术可以主动监控固件版本,以确保固件版本处于安全和最新状态,从而让开发人员在固件组件整个生命周期内从手动检查连接设备上每个固件组件的状态中解放出来。 开发人员现在可以专注于创造增值服务,但更重要的是,他们可以大大降低遭到黑客攻击的物联网系统成为新闻头条的可能性。

作者简介

Richard Nass’ key responsibilities include setting the direction for all aspects of OpenSystems Media’s Embedded product portfolio. Previously, he was the Brand Director for UBM’s award-winning Design News property. Nass has been in the engineering OEM industry for more than 25 years. In prior stints, he led the Content Team at EE Times, and the TechOnline DesignLine network of design engineering websites. Nass holds a BSEE degree from the New Jersey Institute of Technology.

Profile Photo of Rich Nass