0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

BusyBox Wget工具包中的一个漏洞解决

广州虹科电子科技有限公司 来源:广州虹科电子科技有限公 作者:广州虹科电子科技 2021-09-02 16:01 次阅读

最近,虹科工业物联网团队在调查客户设备固件出现的常规CVE(CVE-2018-1000500)时发现了一个问题:通常情况下,当检测到一个会对设备产生严重破坏的CVE时,我们会建议客户对该组件进行升级或使用补丁。但是CVE早在2018年就已经发布,尽管具有8.1的高评分,却一直没有被修复,这引起了虹科研究人员的注意。

深入研究后,我们发现最初发布 CVE 的研究人员向维护人员提交过一个代码补丁,但是由于补丁存在破坏现有的功能的风险,该补丁被拒绝了。下面虹科工业物联网团队将会对这个问题进行详细阐述,首先让我们简要回顾一下 BusyBox和受影响的组件BusyBox Wget。

漏洞介绍

BusyBox 工具包在单个可执行文件中实现了大量 Linux 性能,甚至可以替代 Linux init 系统。体积小且具有灵活性的特点使得它在嵌入式设备中很受欢迎。最初的 Wget 是一个应用广泛的 GNU 实用程序,用于使用命令从Internet服务器中检索文件,经常用于系统脚本,包括用于软件更新等。

BusyBox 因为其紧凑的特点取代了 Wget,但它并不支持所有的安全功能和选项。特别是当与不具备有效 TLS 证书的服务器连接时,BusyBox 版本的 Wget 不会对其进行中止,而只会打印错误消息并继续下载。下面是对常规 Wget 和 BusyBox Wget 会产生不同行为的举例说明:

edaca758-0b62-11ec-8fb8-12bb97331649.png

事实上,BusyBox的 TLS 库并不支持证书验证。原始的 Wget 可以支持,并且必须使用一个明显的命令行开关(-- no-check-certificate)来进行启动,以防跳过证书验证。

这就是BusyBox的漏洞所在。攻击者可以通过模拟服务器来拦截 Wget的 HTTPS 请求,或者使用 DNS/ARP 病毒将请求重定向到攻击者控制的服务器,或者直接进行网络流量拦截。因为攻击者并不需要有效的 TLS 证书,所以他们可以用任意文件来替换请求的下载。

如果被替代的下载包中含有软件模块或更新项,这可能会直接导致恶意代码执行。如果下载包含配置或数据,攻击者可能恶意影响设备的功能。即使客户端在安装或执行之前检查了下载文件的完整性和真实性,攻击者仍然可能会通过让客户端下载无效的多GB文件或者连接非法服务器而导致拒绝服务。

BusyBox团队处理方式

BusyBox的维护人员认为,修复Wget并让设备维持不具备有效TLS证书的情况会碱坏设备的重要功能。这是安全员和工程师之间的常见冲突:安全研究人员将更加愿意为了保障设备安全性而牺牲一些设备现有功能的发挥,而工程师则更倾向于维持设备的功能运作,特别是替代方案会对已经部署在现场的设备功能造成碱坏的情况。

唯一的变化是当检测到无效的 TLS 证书时,1.29.0版本会添加一条错误信息。该错误信息会被打印到标准输出中,但不会在系统日志中留下长久的痕迹,这意味着错误可能随时发生,攻击者可以利用该设备,而不会被管理员发现。

虹科建议

到目前为止,BusyBox Wget 支持在子进程中启动 OpenSSL 客户机来执行 TLS 操作。此客户端完全支持证书验证逻辑,该逻辑由命令行选项来控制。因此,虹科建议应用下面的补丁,以便明确地将证书检查添加到 BusyBox Wget 中。首先,确保设置以下配置标志,这将使BusyBox 使用OpenSSL 的TLS/SSL 客户端。

CONFIG_FEATURE_WGET_OPENSSL=y

然后应用以下补丁:

index f2fc9e215..6bcc24421 100644--- a/networking/wget.c+++ b/networking/wget.c@@ -662,7 +662,7 @@ static int spawn_https_helper_openssl(const char *host, unsigned port) pid = xvfork(); if (pid == 0) { /* Child */- char *argv[8];+ char *argv[11]; close(sp[0]); xmove_fd(sp[1], 0);

@@ -690,6 +690,11 @@ static int spawn_https_helper_openssl(const char *host, unsigned port) argv[6] = (char*)servername;

} + /* Abort on bad server certificate */+ argv[7] = (char*)“-verify”;+ argv[8] = (char*)“100”;+ argv[9] = (char*)“-verify_return_error”;+ BB_EXECVP(argv[0], argv); xmove_fd(3, 2); # if ENABLE_FEATURE_WGET_HTTPS

应用该补丁后,BusyBox Wget 目前展示正确,在一个无效的证书上停止(尽管带有一个通用的错误消息) :

虹科总结

在这个时代,使用嵌入式设备时我们都应该明白,为了功能而牺牲设备安全并向字段发布不安全的代码是不可行的。

这种做法在很大程度直接导致了物联网设备市场安全状况不佳。当然,高等级、多层次、硬件支持的安全性并不适用于每个产品,因为这涉及到成本和上市时间。但供应商应该期望他们的上游组件,比如像BusyBox的开源代码维护者,实施建立第一道防线所需的合理安全措施。

虹科 Vdoo 物联网设备安全防护与加固平台具有自动安全扫描产品可以帮助客户建立设备的安全配置文件,包括第三方组件可能引入的任何漏洞。从而慎重选择其组件供应商,而不需要过多的测试人员和团队。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2909

    文章

    44557

    浏览量

    372754
  • 虹科电子
    +关注

    关注

    0

    文章

    601

    浏览量

    14340

原文标题:虹科案例 | BusyBox Wget漏洞:一个早就应该解决的问题

文章出处:【微信号:Hongketeam,微信公众号:广州虹科电子科技有限公司】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PIC 语言工具包问题

    大家好,PIC 我是新手,有简单的问题请教下,就是我导入mcp的,mplab会报语言工具包
    发表于 04-19 14:00

    fastrbf工具包

    求matlabfastrbf的工具包 ,有谁有这个工具包呢?求分享?急需
    发表于 03-05 20:05

    关于labview工具包

    请问各位大神问题,LabVIEW的工具包如何下载,比如声音和振动工具包,官网上只有下载界面。
    发表于 09-04 19:27

    并口开发调试工具包

    并口开发调试工具包:开发调试工具包包括三功能模块:“并口调试器”、“并口测试信号发生器”和“并口监视器”。
    发表于 05-26 09:53 37次下载

    并口开发调试工具包 (推荐)

    并口开发调试工具包 (推荐):
    发表于 05-27 10:15 35次下载
    并口开发调试<b class='flag-5'>工具包</b> (推荐)

    固件工具包

    固件工具包 修改工具包 高兴向大家公布这个信息! 首先介绍下这个工具地用途: 1、修改固件 - 通过此工具能够修改固件
    发表于 03-16 14:49 71次下载

    Labview2013各工具包的功能简介

    Labview2013各工具包的功能简介Labview2013各工具包的功能简介
    发表于 11-20 11:20 0次下载

    MATLAB 2016a 工具包-英对照

    MATLAB 2016a 工具包-英对照 方便安装MATLAB的时候选择需要的工具,以节省安装所需的磁盘大小
    发表于 04-20 08:58 42次下载

    WEBENCH 设计工具包综合概述

    WEBENCH 设计工具包综合概述
    发表于 09-15 09:28 6次下载
    WEBENCH 设计<b class='flag-5'>工具包</b>综合概述

    Microchip苹果配件开发工具包

    讲是Microchip苹果配件开发工具包苹果配件开发工具包
    的头像 发表于 06-06 13:45 2288次阅读

    英国发布漏洞披露工具包,以帮助公司实施改进漏洞披露

    英国国家网络安全中心(NCSC)发布了项指南——“漏洞披露工具包”,以帮助公司实施漏洞披露流程或在已建立漏洞披露流程的情况下进行改进。该指
    的头像 发表于 09-16 16:44 1690次阅读
    英国发布<b class='flag-5'>漏洞</b>披露<b class='flag-5'>工具包</b>,以帮助公司实施改进<b class='flag-5'>漏洞</b>披露

    使用最新的TAO工具包简化AI模型开发

      NVIDIA AI 企业 提供了对 TAO 工具包的企业支持,这是用于 AI 开发和部署的端到端软件套件。 TAO 工具包的新版本将包含在 NVIDIA AI Enterpri
    的头像 发表于 06-21 15:43 1422次阅读

    SM2246XT工具包

    SM2246XT工具包免费下载。
    发表于 04-23 09:35 24次下载

    OneInstall工具包

    电子发烧友网站提供《OneInstall工具包.exe》资料免费下载
    发表于 08-18 14:54 0次下载
    OneInstall<b class='flag-5'>工具包</b>

    NPOI WEG报表工具包简介

    很久以前就知道有NPOI这个报表工具包,因为有NI自带的工具包就没有详细研究过。当前工作几台电脑因为安装OFFICE版本问题,或其它原因导致自带报表无法使用,就找来了
    的头像 发表于 11-06 10:05 1034次阅读
    NPOI WEG报表<b class='flag-5'>工具包</b>简介