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

toradexsh toradexsh     2022-11-29     735

关键词:

​By Jon Oster, Platform Development Lead, Toradex

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

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

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

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

Connected Devices Security

100 亿美元的失误

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

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

没有人能够幸免

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

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

iot安全系列博文第三篇软件更新安全:常见的错误

...护您的软件更新系统的方法,这些方法乍一看似乎是安全的,但实际上并非如此,每个示例都有现实世界中著名的故障。软件更新系统的组成部分让我们从最简单的系统开始。有一个设备,它知道它可能需要更新... 查看详情

「前端ci/cd系列」第二篇:如何用建木ci更新七牛云cdn证书(代码片段)

上一次已经分享了如何利用建木CI快速地将文件上传到七牛云存储库,有的小伙伴表示还不够刺激并且还发现生成的资源外链全是七牛家的域名,说这样显得太low啦!可不可以把链接改成自己的域名呢?答案是肯定可以的。建木C... 查看详情

小刘同学的第六十二篇博文

  回家的第27天、开通博客园的62天、返校还有7天  今天算是看了点程序吧,因为今天开始看Node.js的视频了,就是没写代码。。。  不过还是不怎么静的下心来学,还是不够有毅力,自己可能还是不明确自己到底是怎么了... 查看详情

大数据之环境准备系列——第二篇新装vmware虚拟机网络配置(nat模式)

新安装虚拟机,需要配置网络环境,才可以使用ssh客户端(如xshell)远程登录和虚拟机访问Internet。一、WMware软件配置WMware版本号:11.0.0build-23053291 进入虚拟网络配置界面菜单栏,点击编辑,之后点击虚拟网络配置器(N),进入虚... 查看详情

新人报道之博文第一章

   此篇文章是博主在51的第一篇文章,先自我介绍一下,还望日后的日子能够读到我写的文章的小伙伴,多多指教。             起初看到同事在此站分享了许多视频和文... 查看详情

ansible系列第二篇(模块使用)(代码片段)

ansible系列第二篇(模块使用)模块使用设置ansible提权在hosts文件加入sudo提权的密码:18.18.23.102ansible_become_pass=‘passwd‘执行:ansibletest-S-Rroot-mshell-a"ls-l/"查看ansible有那些模块:ansible-doc-l获取各个模块详细帮助信息ansible-doc-spingping模块:a... 查看详情

mongodb基础教程系列--第二篇mongodb基本操作

1、安装环境在官网上下载MongoDB的最新版本,根据自身Windows版本下载正确的MongoDB版本。下载后,双击32位或者64位.msi文件,按操作提示安装就可以了。说明:32位版本的MongoDB只支持2G以下的数据库,只适用于测试及评估。在MongoDB... 查看详情

深入理解javascript函数进阶系列第二篇——函数柯里化

前面的话  函数柯里化currying的概念最早由俄国数学家MosesSchönfinkel发明,而后由著名的数理逻辑学家HaskellCurry将其丰富和发展,currying由此得名。本文将详细介绍函数柯里化(curring) 定义  currying又称部分求值。一个cur... 查看详情

directx11第二篇directx11渲染管线(2016.05.09更新)

本系列文章主要翻译和参考自《Real-Time3DRenderingwithDirectXandHLSL》一书(感谢原书作者),同时会加上一点个人理解和拓展,文章中如有错误,欢迎指正。这里是书中的代码和资源。本文索引:文章目录@[t... 查看详情

深入理解表单脚本系列第二篇——表单字段

×目录[1]访问[2]属性[3]方法[4]事件前面的话  表单字段又叫表单元素,表示表单所包含控件,如<input>、<select>等。本文将详细介绍表单字段的内容 访问  每个表单都有elements属性,该属性是表单中所有元素的... 查看详情

第二篇第四章安全疏散检查

  查看详情

saltstack系列~第二篇

一简介:今天咱们来继续学习saltstack二命名和分组  1命名规则   1ID构成机房-DB类型-角色(主/从)-IP地址   2分组构成 分为masterslave两组即可  2分组规则   标签node-groups:    查看详情

pytorch学习系列文章第二篇——张量(代码片段)

文章目录1.张量的初始化(1)直接生成张量(2)通过Numpy数组来生成张量(3)通过已有的张量来生成新的张量(4)通过指定数据维度来生成张量2.张量属性3.张量运算(1)将运算移植到GPU中... 查看详情

web安全番外第二篇--明日之星介绍html5安全问题介绍

一、CORS领域问题:1、CORS的介绍请参考:跨域资源共享简介2、HTML5中的XHR2级调用可以打开一个socket连接,发送HTTP请求,有趣的是,上传文件这里恰恰是multi-part/form-data恰恰符合要求,不需要preflight,所而且可以带cookie等认证信... 查看详情

深入理解定时器系列第二篇——被誉为神器的requestanimationframe(代码片段)

前面的话  与setTimeout和setInterval不同,requestAnimationFrame不需要设置时间间隔。这有什么好处呢?为什么requestAnimationFrame被称为神器呢?本文将详细介绍HTML5新增的定时器requestAnimationFrame 引入  计时器一直是javascript动画的... 查看详情

enjoyingsoft之muleesb基础系列第二篇:muleesb基本概念

...块资料非常稀少,所以计划使用8篇文章来写MuleESB的基础系列。EnjoyingSoft之MuleESB基础系列第一篇:初识MuleESBEnjoyingSoft之MuleESB基础系列第二篇:MuleESB基本概念EnjoyingSoft之MuleESB基础系列第三篇:Mulemessagestructure-Mulemessage结构EnjoyingS... 查看详情

小刘同学的第四十二篇博文

  额,今天算是又浪了一天吧,又在逛哔哩哔哩。。。逛到现在了。。。。  今天主要是把事件第二次课的内容上完了。其实晚上去的也比较晚了,就7点半钟才到理工大学那边,看了剩下一节半课的视频,也没有很多其实... 查看详情

深入理解dom事件机制系列第二篇——事件处理程序

×目录[1]HTML[2]DOM0级[3]DOM2级[4]IE[5]总结前面的话  事件处理程序又叫事件侦听器,实际上就是事件的绑定函数。事件发生时会执行函数中相应代码。事件处理程序有HTML事件处理程序、DOM0级事件处理程序、DOM2级事件处理程序... 查看详情