Hacker News 中文摘要

RSS订阅

XZ Utils后门仍潜伏于Docker镜像中 -- XZ Utils Backdoor Still Lurking in Docker Images

文章摘要

XZ Utils后门事件自去年3月被发现以来,仍对Docker镜像构成持续威胁。该后门由开发者“Jia Tan”通过长期贡献植入,主要影响liblzma.so库,并通过OpenSSH服务器触发,旨在通过一系列复杂的钩子技术实现恶意功能。尽管已有详细分析,该后门仍未被完全清除,继续对网络安全构成风险。

文章总结

标题:持续风险:XZ Utils后门仍潜伏在Docker镜像中

去年三月底,网络安全界因发现XZ Utils后门而震动。开发者“Jia Tan”通过两年的大量贡献在项目中建立了信誉,随后在xz-utils包中植入了复杂的后门。这一发现促使包括Binarly REsearch团队在内的网络安全专家紧急逆向工程该后门,以了解其范围和潜在影响。

该后门嵌入在OpenSSH服务器使用的liblzma.so库中,当客户端与受感染的SSH服务器交互时触发。恶意代码的最终目标是在sshd进程中安装三个钩子,针对RSA_public_decryptRSA_get0_keyEVP_PKEY_set1_RSA函数,从而启用后门功能。这一过程通过修改liblzma.so库中的lzma_crc32lzma_crc64的IFUNC解析器实现。Binarly随后发布了XZ.fail,一个基于静态分析的工具,用于检测可疑的IFUNC解析器,几乎零误报。

在本文中,我们分享了XZ Utils事件的新发现:在受感染期间构建的多个Docker镜像仍包含该后门。尽管这看似不令人惊讶,因为如果发行版包被植入后门,基于它们的Docker镜像也会被感染,但令人担忧的是,这些受感染的镜像仍在Docker Hub上公开可用,甚至其他镜像基于这些受感染的基础镜像构建,导致它们也被间接感染。

我们共识别出超过35个包含后门的镜像。虽然数量看似不多,但我们仅扫描了DockerHub上发布的一小部分镜像,且仅关注了Debian镜像,因为它们保留了Docker Hub上的历史数据。对于受XZ Utils后门影响的Fedora、OpenSUSE和其他发行版的Docker镜像的影响目前尚不清楚。

在Binarly,我们不断优化工具以应对不断演变的威胁,提供精确、可操作的见解。最近,我们收集了近15TB的Docker镜像数据集,成功增强了我们的秘密发现能力。在此过程中,我们发现Docker Hub上仍有12个Debian Docker镜像包含xz-utils后门,距离后门公开发现已超过一年。

我们还发现,基于这些受感染的Debian镜像构建的其他镜像也可能被感染。尽管Docker API不提供反向索引来映射镜像到所有使用它的基础镜像,我们构建了一个脚本来检查Docker Hub仓库中的所有镜像是否基于受感染的Debian镜像。由于Docker Hub包含近1200万个仓库,扫描整个仓库是不可行的,因此我们手动创建了一个可能使用Debian基础镜像的仓库列表。

我们的发现表明,即使短暂的恶意代码也可能在官方容器镜像中长时间未被发现,并在Docker生态系统中传播。这一延迟强调了这些工件可能通过CI管道和容器生态系统默默存在和传播,强调了持续二进制级别监控的迫切需要,而不仅仅是简单的版本跟踪。

Binarly已通知Debian维护者并要求删除受感染的镜像,但这些镜像仍然存在。尽管用户应依赖最新的镜像,但公开可用的包含潜在网络可访问后门的Docker镜像仍构成重大安全风险。

Binarly透明度平台旨在帮助安全研究人员、产品安全团队和组织有效检测和修复威胁。从第一天起,BTP客户就可以访问我们研究团队开发的精确分析,用于检测基于IFUNC的钩子,这是XZ后门使用的相同技术。我们最近在Black Hat USA上展示了YARA规则的集成,包括一个新的规则游乐场,帮助平台用户开发YARA规则。组织可以在几分钟内使用YARA规则扫描其整个软件组合,无论是内部开发还是来自更广泛的安全社区。

总之,xz-utils后门事件表明,即使是短暂的恶意代码也可能在官方容器镜像中长时间未被发现,并在Docker生态系统中传播。这一延迟强调了这些工件可能通过CI管道和容器生态系统默默存在和传播,强调了持续二进制级别监控的迫切需要,而不仅仅是简单的版本跟踪。

评论总结

主要观点总结:

  1. 建议迁移到lzip

    • 评论1提出开发者应考虑从xz迁移到lzip,认为lzip是LZMA容器的改进版本。
    • 引用:"Devs should consider migrating from xz to lzip, which is an improved LZMA container in multiple ways."
  2. Debian与Docker镜像的区别

    • 评论2指出问题并未报告给Debian维护者,因为Debian早已修复,问题主要存在于Docker镜像中。
    • 引用:"In DEBIAN this was fixed long ago. The problem persists and was reported to people that work with Docker images."
  3. Docker镜像的安全性问题

    • 评论4和评论8强调Docker镜像普遍存在安全问题,甚至认为Docker本身是安全隐患。
    • 引用:"Most Docker images have zero security anyway."
    • 引用:"Docker is a security hazard, and anything it touches is toxic."
  4. 标题的夸大性

    • 评论5和评论9认为标题过于夸张,指出XZ后门并未影响Debian稳定版,且旧版Docker镜像中存在漏洞是常态。
    • 引用:"This headline is so egregiously sensationalist."
    • 引用:"Container images are literally immutable packaged filesystems so old versions of affected packages are in old Docker images for every CVE ever patched in Debian."
  5. 使用未维护镜像的风险

    • 评论7批评使用未维护的社区镜像,认为这是导致安全问题的根源。
    • 引用:"This is one the many problems with using 'community provided', un-curated, other people's pre-baked 'golden master', old garbage."
  6. 漏洞触发条件的质疑

    • 评论3质疑后门在容器中的实际触发条件,认为需要运行OpenSSH才可能触发,而这并不常见。
    • 引用:"Wouldn’t you need to run OpenSSH in the container? It’s not unheard of, but it’s atypical."

总结:

评论主要围绕XZ后门事件展开,涉及对Docker镜像安全性的广泛批评、对标题夸大性的质疑以及对使用未维护镜像的风险的讨论。部分评论建议迁移到更安全的压缩工具,而另一些评论则强调Docker本身的安全隐患。整体上,评论者对事件的实际影响和报道方式存在分歧。