谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

物联网项目生命周期:大规模 OTA 更新的关键考虑因素

by Canonical on 7 March 2023

从信息娱乐到信息安全,如今自动化无处不在。智能设备在丰富我们生活的同时也在悄然改变我们的居家生活,使其变得更高效、更具价值、更加环保。

大多数嵌入式设备都采用 Linux 系统,且数量还在不断增长。当我们进入信息时代,屋内遍布存储个人信息,并配备摄像头和麦克风的智能设备,自由软件在推动这场信息革命中起到至关重要的作用。虽然我们坚信开源的力量可以释放创造力,但这一巨大的成功也给 Linux 社区带来了深远的责任。

传统的嵌入式系统基本上都互无连接,手动应用的更新最多仅包含功能修复。新一代的设备都已连接至网络,这使得黑客可利用漏洞攻破安全防线。当前的模式能否为现场的低功耗、不可访问且通常为远程管理嵌入式 Linux 设备提供安全可靠的软件更新?

传统更新机制不适用于物联网设备

多数更新依赖于 tarball 和 shell 脚本,类似于早期 Linux 发行版的演变,tarball 中存在没有依赖关系的软件包。脚本化的更新并不稳健,因为其缺乏原子性,无法在原始闪存中更新内核 [1]

像 dpkg 和 RPM 这样的现代工具和软件包管理器通过包含一组完整的依赖项来解决某些问题,但仍然提供非原子的增量更新。软件包管理器通常替换系统上现有的文件和二进制文件,这些文件常常处于相互依赖的长链中,可能会导致更新后的机器无法工作。如果手动选择软件包来搭建发行版,则需要特定的安装前/安装后脚本,可能导致系统不一致 [2]


使用传统的更新机制时,错误的更新可能会导致物联网设备异常,修复它们需要通过工程师现场操作或召回设备来进行昂贵的人工干预 

当需要恢复至先前的软件版本时,从软件包回收中下载旧版本并将其安装在损坏的系统上,可能需要软件包维护者提供一组复杂的脚本。开发人员通常获取较新或较旧版本的依赖软件包,来解决安装的库对特定软件具有依赖性的问题,这可能会进一步破坏兼容性,并将问题推向另一组软件包 [3]

此外,尽管 apt-get update 适用于安全环境中的服务器,但是现场设备间歇性断电、网络中断意味着更新可能会中断。无论是软件错误、电力中断或是文件系统问题,系统都可能变得不一致,需要花费高昂费用请专家进行手动干预才能恢复。而与标准 Linux 发行版的发布节奏相比,下一代物联网创新的发展日新月异。

OTA 更新的关键考虑因素

物联网设备需要稳健的产品级软件分发机制,能够传输无人监管的空中下载无线(OTA,Over-the-air)更新。OTA 更新不仅需要通过修复错误来保护设备在现场的安全,而且还需要部署新功能以提高设备性能

为 OTA 构建用于更新恢复的故障安全机制和可扩展的基础设施是非常昂贵且耗时的。此外,更新程序必须满足某些要求才能在规模上起效。首先,许多嵌入式设备的远程特性意味着:

  • 它们需要回滚以防错误的更新
  • 该服务需要提供稳健的自动更新 
  • 系统必须有足够的冗余来处理自动重构和无网络引导

提供关键更新也至关重要,因为设备可能需要在常规更新周期之外进行紧急错误修复和漏洞修补。此外,无人监管的更新必须为原子性,以防设备无法使用,并且它们需要保存用户数据。

解决物联网设备的软件更新问题

Canonical,我们如同站在巨人的肩膀上构建 Ubuntu。现在,我们正不断提高自由软件的可能性,同时确保以非凡的安全性进行交付。

通过 Ubuntu Core,我们为物联网设备构建了最简单、最安全的 Ubuntu 版本。由于 Ubuntu Core 是创新者首选的嵌入式 Linux 版本,因此我们致力于通过在第一天自动交付 OTA 更新来确保它的安全。

Ubuntu Core 的更新机制比基于软件包的传统物联网设备方法更快速、更高效且更可靠。Ubuntu Core 允许在系统中进行原子事务更新。内核、根文件系统和所有顶部应用程序都是事务性更新,可实现更快速、更可靠的更新。

系统尝试应用 OTA 增量差来节省带宽。它在成功时向前移动,失败时自动回滚。Ubuntu Core 可减少应用程序更新失败时的修改导致的数据损坏。它会在升级前维护原始数据,需要时允许进行无缝回滚。与替代或更传统的软件包管理器不同,失败的更新从不会让系统处于不可预测的状态。

此外,随着每个软件版本的发布,开发人员可将他们的物联网设备所需的所有内容捆绑到一个软件包中,消除了丢失依赖项的风险。

从最精简的设备到最繁重的 x86 服务器,开发人员现在可以制作原型、构建并发布可用于生产的设备,这些设备将自动更新至最新版本;以及带有所有他们期望从 Ubuntu 得到的安全补丁。Ubuntu Core 及其稳健 OTA 更新机制使得下一代安全、开放和可扩展的物联网设备成为可能,从机顶盒和家庭集线器再到机器人和无人机,推动一波新的创造力和创新浪潮。

延伸阅读

为什么 Linux 是物联网设备的首选操作系统?请参阅嵌入式应用 Linux 官方指南(中)

阅读我们关于物联网生命周期管理的白皮书(英),获取更多见解。

加入物联网话语交流会,讨论与物联网和紧密嵌入式互连设备相关的一切话题。

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

新吉祥物加冕礼:Noble Numbat

无论是通过民众投票、天意还是湖中仙女赐予王者之剑,登上王位的往往是声名显赫或出身高贵的人。在我们 20 周年前夕,很高兴向大家展示 Ubuntu 24.04 LTS 的吉祥物—— Noble Numbat(尊贵的袋食蚁兽)。  低微出身  说到 “尊贵”,人们可能很难首先想到来自澳大利亚的神秘有袋类动物——袋食蚁兽。不过它们的外表非常具有欺骗性。这些不可思议的濒危物种实际上是口袋大小的食蚁兽,它们完全以蚂蚁为食,依靠身体三分之一长的舌头捕捉蚂蚁。它们的背部有着黑白相间的条纹,像极了王袍,因而被选为西澳大利亚州的象征动物。袋食蚁兽象征着出身低微也能享誉世界的人。 至高成就 同样,Ubuntu 也从构建更加人性化的 Linux 这样一个初出茅庐的梦想发展成为一个备受信赖的平台 […]

基于 MicroK8s 和 Ubuntu 实时内核支持的 Intel FlexRAN 组件自动扩展

RAN 随着每一代移动通信技术的发展而不断演变,从而在用户设备和核心网络之间实现更快的数据传输。内部互连设备数量的增多使得数据量比以往任何时候都要多。至于现有的网络架构,其挑战在于处理不断增加的工作负载,以及更快地处理、分析和传输数据的能力。而对于 5G 生态系统,则需要实现 RAN 的虚拟化。第五代移动网络需要具备更大的灵活性以适应需求,具备可扩展性以满足运行时的网络条件,以及需要自动化以进行远程管理,而这些只能通过虚拟 RAN 来实现。  Intel FlexRAN 解决了传统 RAN 架构所面临的挑战。它能够从核心网络功能中将底层硬件抽象化,以实现最佳的资源利用。FlexRAN 是 O-RAN (OpenRAN) 的改进和参考实现,具有在不同供应商设备之间进行互操作 […]

云存储安全最佳实践

使用 Ceph 的安全功能确保数据安全 如何将数据安全地存储在云存储系统中? 数据对于任何企业组织而言如同王冠上的宝石,如果丢失或暴露,可能会造成严重的影响。如果不能防止系统故障,可能会导致业务数据的丢失,从而导致业务无法正常运营,最终导致业务失败。将敏感数据暴露给未授权方不仅会导致声誉受损,还可能导致企业遭受巨额罚款。 本篇博客将详细介绍这些风险,以及如何使用 Ceph 的安全功能来减轻这些风险。首先,我们来了解一下数据泄露发生的一些最常见方式: 实物盗窃/运输 与存储相关的硬件、磁盘或整个存储系统的丢失可能导致敏感信息暴露。这可能发生在传统的入室盗窃情况下,即未经授权的一方进入数据中心并移除硬件,或者硬件在运输过程中(例如在返厂维修或更换时)被他人截获。 另一种实体危 […]