LWN:My Book Live用户受到惊吓!

关注了就能看到更多这么棒的文章哦~

An unpleasant surprise for My Book Live owners

By Jake Edge
June 29, 2021
DeepL assisted translation
https://lwn.net/Articles/861235/

嵌入式设备需要定期更新软件,这样才能在如今的互联网上保持最低限度的安全性。那些已经达到其 "寿命终点" 不再得到更新的产品,本质上就是一些定时炸弹,迟早会有方法能有公开的方法对其进行入侵攻击。在 6 月份,拥有西部数据(WD)My Book Live 网络连接存储设备(NAS)的人就碰到了这样的麻烦。随着有攻击者开始利用一个远程命令执行漏洞来删除存储在此类设备中的数据时,这个本来用来方便家庭用户通过互联网访问家中磁盘存储的设备就变成了一个攻击黑洞。至少最开始给人的感觉是这么个情况。

Missing data

6 月 23 日,用户 "sunpeak" 在 WD support forum 上发表了一篇关于 My Book Live 设备内容变得空空如也的帖子("somehow all the data on it is gone today"),这是问题第一个次为人所知,之前他的这个 2TB 的存储设备几乎是全满的。Sunpeak 还报告说管理密码已被更改,因此他们也无法登录该设备。不久之后,其他人在这个话题下面讲述了他们自己的惨剧。起初有人担心是不是 WD 发布的某次 firmware 更新导致出现这种现象,但事实证明这些设备已经有相当长的一段时间没有更新过 firmware 了。

这个讨论中的各位报告问题的用户也在分析设备上的 log,希望能找出原因。有人报告说,一些设备已经通过 factoryRestore.sh 脚本被恢复了出厂设置,但不清楚为什么。但这些报告者还说,默认的 "admin" 用户名(密码也是 admin)无法使用了。最后,"t4thfavor" 强烈建议通过防火墙将 My Book Live 设备与互联网隔离开来,或者干脆完全拔掉网线。这个好建议得到了 sunpeak 和其他人的赞同。

此后不久,WD 在 support forum 上发布了一份安全公告,其中提供的建议基本上也是这个样子。此公告,以及更正式的 WDC-21008 安全公告都很快指出,这些设备是在 2010 年时推出的,在 2015 年就停止进行更新了。WDC-21008 公告中提到了 CVE-2018-18472,尽管没有给出具体背景。不过,CVE 里就提供了更多的背景信息:

西部数据 WD My Book Live 和 WD My Book Live Duo(包括其下各种版本)有一个通过/api/1.0/rest/language_configuration 语言参数中的 shell 元字符的 root Remote Command Execution bug。所有人只要知道了受影响的设备的 IP 地址,就可以利用该漏洞来进行攻击,2021 年 6 月发生了大量利用该漏洞来恢复出厂设置的攻击。

显然,CVE 的描述是最近更新的。但 CVE 编号中的 2018 年日期更有说服力,这说明三年前就为人所知了。最初是在 WizCase 的一篇博文中报告出来的,该博文中提供的建议基本上也是将设备从互联网上隔离开来。正如该文章中的概念证明(PoC)(以及 https://iotsecuritynews.com/wizcase-report-vulnerabilities-found-in-wd-my-book-netgear-stora-seagate-home-medion-lifecloud-nas/ 这份报告中更明确的 PoC)所示,只要在 configuration URL 的 HTTP PUT 命令发送的数据中加上 backtick 这种引号(如`whoami`),就会导致该命令以 root 权限执行。在各种语言中(如 Unix shells、PHP、Perl)都使用了这种符号来执行操作系统命令,而这个界面是用 PHP 和 shell 脚本写的,所以很明显 PUT 中提供的输入没有经过正确的过滤。

但是,等等…

6 月 29 日,情况变得更加扑朔迷离。Ars Technica 报道了它与安全公司 Censys 的 CTO Derek Abdine 合作对这些攻击所做的一些研究。事实证明,在 NAS 设备中还有一个以前未知的缺陷:有一种方法可以通过配置界面进行出厂重置,而无需提供密码。事实上,相关的源代码中已经把密码检查的逻辑注释掉了。只要知道如何格式化生成基于 XML 的请求,然后知道某个 My Book Live 的 IP 地址,就可以将其恢复出厂设置。

所以看起来至少有两个攻击者在进行这些攻击,而且他们不是一起合作进行的工作的。正如 Abdine 所描述的,CVE-2018-18472 似乎之前已经使用了一段时间了,它被利用来将此设备添加到一个僵尸网络(可能是 Linux.Ngioweb)。而刚刚发现的 factory reset 漏洞(暂时还没有 CVE 编号)最近才开始被使用起来,也许是作为摧毁或破坏僵尸网络的一种方式。但不管是什么原因,利用这个缺陷并擦除 NAS 上的用户数据,这使得整个情况得以被人们发现。

[更新:WD 已经发布了更多关于 factory reset 缺陷的信息,它说这是由一个失败的重构工作造成的。该漏洞已被指定分配了编号 CVE-2021-35941。此外,WD 正在为那些丢失了数据的人提供数据恢复服务。]

使用这种方法完成攻击之后,还会将原来这种命令行攻击漏洞(language_configuration.php)修改掉,添加了一个密码检查,这样一来只有最初的攻击者可以进一步利用这个漏洞了。在恢复出来的 language_configuration.php 的改动版本中使用了密码的 SHA-1 哈希。正如这两份报告所指出的,攻击者显然不知道发送到设备网络配置接口的参数可以被记录下来,所以攻击者使用的至少一个密码现在已经被研究者知道了。它就以明文形式写在了设备的 log 之中。

虽然 "rival attackers(来自对手的攻击者)" 只是一个理论猜测,但确实很有道理,因为僵尸网络的控制者没有必要(也没有有兴趣)来造成 factory reset。毕竟,他们已经完全控制了系统,可以让它做他们想做的任何事情(包括擦除磁盘,如果对他们有用的话)。factory reset 引起了人们对这些设备的注意,导致缺陷暴露出来,从而减少未来对 My Book Live 的攻击。

Original response

在 2018 年 WizCase 的帖子之后的某个时间,WD 对其进行了回应,当时的说法与最近的回应中的内容基本相同。但在其回应中可能也是为了开脱自己的责任,它对这个产品的描述可能会让这些设备的拥有者非常不满:

我们鼓励希望继续操作这些传统产品(legacy product)的用户配置好他们的防火墙,阻止对这些设备的远程访问,并采取措施确保只有本地网络中受信任的设备可以访问该设备。

称这些设备为 "传统产品 "显然反映了西部数据对它们的重视程度,但这可能并不能反映出大多数购买这些设备的人的观点。在产品停产一年左右的时间之后就关闭安全更新渠道,这个做法相当短视,特别是对于一个被宣传为可以连接到互联网之上并以 "安全地方式从世界任何地方访问到你的媒体文件和文档" 的系统。某种程度上来说,该公司已经意识到这些设备不应该连接到互联网上,但却并没有进行更新,而且也也没有让这个问题广为人知从而让用户能够更好地保护自己。

虽然从 WD 的角度来看,产品的生命周期可能早已结束,但这些设备仍然可以从亚马逊等渠道购买到。今天仍在购买的用户,很可能是因为以为它目前仍然在支持周期之内。NAS 设备不是一个手机或其他什么消费电子小玩意,不像那些东西可能会在较短的时间内就被扔掉换成最新版本类似设备,人们在建立一个家庭 NAS 的时候,是希望能让它运行多年,甚至达到十年或更长时间的。希望那些在使用这种设备的用户也有另一个备份方案在同时使用,否则发生了损失就无法挽回了。

正如一些人注意到的,CVE-2018-18472 漏洞花了这么长时间才被利用,这是相当令人惊讶的。也许最近的更新表明,它实际上更早以前就被利用了。这个漏洞很容易被利用,并且提供了对那些可能是相当有价值的数据的完全访问权限。人们认为,这些设备可以成为勒索软件的最主要目标,哪怕近期的这些攻击者可能只是一些数字世界的破坏者。

要想不受设备制造商以及他们不合理的生命周期的限制,可以为此设备来创建和维护一套替代 firmware。毕竟,它的底层只是一个 Linux 系统而已。在 WD 支持网站上有一些关于如何建立和安装自定义固件的信息,但似乎并没有一个现成的针对 My Book Live 的活跃项目。当然,基于自由软件的 firmware 至少还是有可能进行 fix 的,哪怕没有一个当前活跃的项目。

设备的拥有者需要对他们所购买的小工具中提供的互联网接入能力非常小心。这句话说起来容易,但在当前这个世界中,连鞋子和灯泡都配备了某种需要互联网接入的奇特功能,可能很难(或不可能)做到这么小心谨慎了。被攻击的设备的制造商本身很少遭受任何损失,除了一点负面新闻而已,而且还只是短暂的影响。在这种利用一个公开多年的漏洞而导致人
们失去他们所拥有的重要数据的情况下,这件事情的发生,真的是一个意外吗?

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值