原创 IoT 安全系列博文第二篇: 远程更新的危险

2022-3-9 17:17 1893 10 6 分类: MCU/ 嵌入式

​By Jon Oster, Platform Development Lead, Toradex

这是我们关于 OTA 的 7 篇系列文章的第 2 篇。 在第 1 篇中,我们向您介绍了能够远程实现软件更新的所有重要原因 - 在当今世界,您无法确保任何互联设备的安全,除非您可以对其进行更新。 然而,今天的文章却从相反的方向来探讨,我们将看看为什么软件更新系统会非常危险,以及为什么你应该对它们持怀疑和谨慎态度。 

您可以实施的最危险的系统

如果您花点时间考虑一下远程更新系统可以实现功能,应该很清楚为什么它如此敏感。 根据定义,您的软件更新程序是从 Internet 下载软件并以 root 权限运行。在物联网系统中,它通常在没有任何用户交互的情况下进行。 就像我们上次提到的那样,能够远程利用的设备上的安全漏洞是非常危险的。但远程更新系统本身存在漏洞则更加危险。因为这可能意味着依赖该系统进行更新的每台设备都可能被恶意软件感染、接管、被勒索等。

不难想象,软件更新系统是攻击者的重点目标。但是,这在现实中是否成立?答案是肯定的。事实上,过去十年中一些最著名和最具破坏性的网络攻击是通过破坏软件更新系统来完成的。

Connected Devices Security
Connected Devices Security

为了说明这些危险,让我们看一个比较典型的研究案例。2017 年,勒索软件攻击遍及全球公司内部的关键电脑。它始于乌克兰,最终感染了 12500 多台机器,但在世界各地也发现该攻击,影响了包括巴西、德国、俄罗斯和美国在内的 64 个国家的公司。令这次攻击引人注目的是受到攻击的计算机类型,最初感染的计算机通常位于财务、会计或出纳部门。这造成了巨大的经济破坏,一些公司根本无法处理付款或执行订单。美国国土安全部官员后来评估的总损失为 100 亿美元。

最后发现这些攻击的共同点是使用了一个由一家名为 M.E. Doc 的公司出售的报税软件。该软件的制造商知道每年更新软件的重要性,使其能够符合税收法规和程序的变化,因此他们内置了自己的自动更新功能。攻击者控制了更新系统,其实施方法是允许攻击者分发他想要的任何软件。当人们开始关注和考虑构建软件更新系统时,这是一个常见的现象,他们认为这似乎是一个相对容易解决的问题,使用基本加密即可。但是,除了显而易见的问题,还有很多事情需要考虑,尤其是在物联网方面。

没有人能够幸免

您可能已经已经知道结局,并认为这家公司一定犯了一些明显的错误,而您不会犯同样的错误。但更新系统漏洞不仅仅发生在小公司身上。例如,你会认为像微软这样的公司能够确保他们的更新系统安全。但 Windows Update 中一个致命的(也及其隐蔽)缺陷实际上成为了可能历史上最著名的恶意软件 - Stuxnet 的攻击媒介,该蠕虫病毒对伊朗核设施造成了重大破坏。

在本系列的下一篇文章中,我们将详细介绍更新系统实施中出现的问题,包括查看在这这个案例中究竟发生了什么,以及其他一些备受瞩目的软件更新系统漏洞。但今天主要要传到的是软件更新系统(以及任何保护它的安全框架或设计)可能是整个公司中最危险的基础设施。它的设计需要考虑到灵活性,这样它就不会出现单点故障,即使它的一部分受到攻击或损坏,你也不会让你的用户和公司处于危险之中。继续关注这个系列,我们会告诉你具体怎么做。


OTA

文章评论1条评论)

登录后参与讨论

乖乖兔爸爸 2022-3-30 09:16

但 Windows Update 中一个致命的(也及其隐蔽)缺陷实际上成为了可能历史上最著名的恶意软件 - Stuxnet 的攻击媒介,该蠕虫病毒对伊朗核设施造成了重大破坏。
------------听这个口气,这个信息是来自美国人的吧!多么会掩饰自己的恶意,让自己像是山巅之国的民主灯塔!!
相关推荐阅读
hai.qin_651820742 2022-09-23 15:42
嵌入式Linux上使用Ramoops
By Toradex胡珊逢对于嵌入式设备,尽管在部署前会经历大量的测试和验证,但在使用现场有时候仍不可避免会出现意外情况,如 Kernel opps、panic。当出现类似情况时,系统日志往...
hai.qin_651820742 2022-09-01 17:41
使用容器编译Yocto镜像
By Toradex胡珊逢Toradex 发布的 Linux BSP 和 SDK 都是采用 Yocto Project 编译而来。文章将介绍如何使用 Docker 容器完成编译任务。采用 Docker...
hai.qin_651820742 2022-08-30 12:12
基于NXP iMX8测试Secure Boot功能部署
By Toradex秦海1). 简介由于NXP从iMX8/iMX8x处理器开始引入了SCU/SECO等底层控制模块来进行包含启动管理等多项底层初始化功能,因此对于Secure Boot功能支...
hai.qin_651820742 2022-07-06 16:53
UBI只读文件系统
By Toradex胡珊逢在先前的文章我们已经介绍在使用 eMMC 的模块上配置只读属性的文件系统,以及利用 squashfs和overlayfs 挂载可写分区...
hai.qin_651820742 2022-06-23 12:41
通过Ycoto Project定制嵌入式Ycoto Linux镜像
By Toradex秦海1). 简介嵌入式设备采用Embedded Linux操作系统进行开发已经越来越成为主流,但是如何将开发完成的Linux uboot/kernel配置,以及应用程序整...
hai.qin_651820742 2022-04-24 11:21
在嵌入式 Linux 设备上使用 Flutter 开发图形界面
​By Toradex胡珊逢在嵌入式设备上开发图形用户界面通常会选择 Qt。这是一种经验证的方案,我们可以在多个领域看到用 Qt 开发的 UI。但随着移动端和&...
我要评论
1
10
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条