简介

随着近年来联网设备的爆炸式增长,整个行业都意识到需要在这些设备的整个生命周期内保持更新。 这是探讨远程无线更新(OTA)概念的系列的第一部分,为设计人员提供在他们的系统中实施远程更新 OTA 解决方案时所需的详细信息。我们将特别关注重要的安全因素。我们将从基础开始。

 

什么是 OTA

远程更新 OTA 的概念很简单;允许署到现场的设备通过有线或无线连接进行更新。 我们已经习惯了需要更新电脑和手机。这类似于我们的手机平时更新应用程序以及整个操作系统; 每次发布新操作系统时,我们都不需要访问 Apple Store。 随着越来越多的设备(工业设备和消费类设备)连接到互联网,使用这种连接进行更新是有意义的。

 

需要更新什么?

理想情况下,您将能够更新互联设备上所有的软件栈。如果您的设计运行单个操作系统实例,您希望能够更新 bootloader、基本操作系统和应用程序。如果系统中有多个域运行不同的系统(例如,一个内核上的 Linux 和第二个内核上的 FreeRTOS),那么您希望能够更新所有域。

 

设备为什么需要 OTA

一个明确的事实是所有软件都有错误。即使是经过最严格审查、经过彻底测试的软件,在发布后也会出现问题。以火星探路者为例; 我认为可以肯定的是,大多数软件开发过程远不及 JPL 用于在另一个星球执行任务来得周密,那里软件错误的成本是巨大的。如果即使他们也无法在发射前找到并解决所有问题,我们其他人还有什么机会呢? 幸运的是,探路者团队在系统中内置了更新功能(通过太空更新?),因此他们能够解决问题并恢复任务,而无需派技术人员到现场。

为什么我们需要远程自动更新互联设备?_web911.png

 

虽然火星表面对于任何技术来说都是一个不友好的环境,但我们许多设计的产品都被部署到各种严酷的环境中。威胁来自多个方面,所有系统设计人员都需要有能力应对这些威胁。大量设备可在互联网上造成严重破坏。回想下 Mirai 僵尸网络的案例。这个庞大的设备网络被用来对最大的域名服务 (DNS) 提供商之一执行分布式拒绝服务攻击,导致许多知名品牌大范围中断。此次攻击中使用的大多数设备都是基于 Linux 的简单设备,它们提供路由、安全摄像头、打印或其他网络服务。基本漏洞是利用默认登录凭据,允许僵尸网络作者轻松接管大量设备;一些报告显示具有高达 600,000 个攻击节点。该案例中的特定漏洞非常容易被利用,但也非常容易修复。这些设备应该已经更新,以便删除默认凭据并替换为最终用户指定的登录名和密码。造成的损失估算各不相同,但 ZDNet 报告称,每个受影响设备的所有者花费约为 13.50 美元,包括电力和额外带宽成本。如果是大型的集群设备,损失会更大。攻击对设备制造商和网站造成的品牌损害则更加难以估计。

 

除了导致网络中断外,设备遭到入侵还会给您的公司带来品牌损失和现金损失。以连接互联网的鱼缸为例,该鱼缸允许攻击者可以从北美赌场窃取专有数据。我当然会警惕造访遭受此类攻击的地方,并且我很确定他们在报告此事件后会损失收入。值得注意的是,鱼缸是低优先级设备,因此是低安全性系统,它允许攻击者进入更高安全性的系统,但成功的攻击很少只是由单一漏洞引起的;他们通常从一些简单的事情开始,然后利用其他系统中的缺陷,甚至是经过精心的设计选择,在目标网络中进行筛选。内部资源很少像网络边界设备那样受到保护,因此任何突破边界的缺陷都可能给目标带来麻烦。更新此类物联网 (IoT) 设备的能力至关重要,因为它们可以成为进入更安全系统的简便途径。

 

除了通过软件更新修复问题外,您还可以向用户推送新功能。根据设备使用模型,这样做以帮助保留或扩大您的用户群,或提供额外的收入机会。特斯拉使用他们的 OTA 系统为其用户提供自动驾驶等售后功能。

最后,应该指出的是,许多政府正在考虑立法以帮助提高联网设备的安全性。互联网已融入公民生活的方方面面,因此政府有必要鼓励更好、更安全的系统。欧洲电信标准协会 (ETSI) 定义了专注于消费物联网设备的标准 EN 303 645。它定义了以下规范:

--------------------------

不允许通用的默认密码

保持软件更新

确保软件完整性

--------------------------

 

许多其他政府正在以此作为制定类似立法的案例。美国政府也有类似的立法,应该清楚的是,如果没有内置的软件更新机制,这些要求就无法满足。

 

什么样的设备需要 OTA

至少任何具有持久网络连接的设备都应启用 OTA。这些联网的设备风险最大,因为它们始终在线。但是任何连接到互联网甚至内部网络的设备都应该具有 OTA 功能,以便对其进行修补和保护。

为什么我们需要远程自动更新互联设备?_web2719.png

 

不联网的设备不会遭受基于网络攻击的风险,但可能会受到物理攻击,具体取决于它们所在的位置。由于缺乏互联性,更新这些设备需要用户干预,但我们认为即使在这些情况下,启用更新也是值得的。

 

总结

在这篇文章中,我们讨论了 OTA 的基础知识,重点介绍了将此功能添加到您的设计中的动机。在本系列的下一部分中,我们将朝着相反的方向前进,并告诉您为什么 OTA 更新可能很危险,以及如果使用不完善的更新系统受到损害会产生什么后果。