从被攻陷的XZ Utils库中提取的SSH后门

XZ Utils 后门事件总结

事件背景

微软工程师 Andres Freund 在发现 SSH 连接异常缓慢后,深入调查发现了 XZ Utils 中的一个后门。XZ Utils 是 systemd 等系统的基础库之一,该后门经过多年精心策划才被植入。美国网络安全与基础设施安全局(CISA)已将该漏洞编号为 CVE-2024-3094。

影响范围

该后门已渗透到 Debian Sid、Fedora 41 和 Fedora Rawhide 等 Linux 发行版的测试版本中,但尚未传播到广泛使用的稳定版本。有证据表明,攻击者曾向发行版维护者施压,试图加速该后门的部署。

攻击过程分析

Evan Boehs 在《Everything I know about the XZ backdoor》中详细描述了攻击的时间线和手法。攻击始于 2021 年,攻击者创建了 GitHub 账号 JiaT75(化名“Jia Tan”)。最初,该账号的活动集中在 libarchive 代码上,2022 年 4 月转向 XZ,并创建了一个补丁。同时,另一个化名“Jigar Kumar”的角色开始对项目维护者 Lasse Collin 施加压力。随着时间的推移,“Jia Tan”逐渐接管了 XZ 的大部分维护工作,并利用其地位在构建过程中植入了后门代码,代码被隐藏在测试文件中。

攻击手法与影响

该后门针对 SSH 远程登录协议,添加了隐藏功能,需特定密钥才能激活。拥有该密钥的攻击者可以通过后门 SSH 上传并执行任意代码。由于 SSH 以 root 权限运行,攻击者几乎可以执行任何操作。安全专家 Bruce Schneier 称其为“一项精湛的作品”,并推测背后可能有国家级力量支持。

维护者的困境

XZ Utils 的维护者 Lasse Collin 在其网站上也描述了事件的经过。这一事件凸显了开源项目依赖单一维护者的风险,即“巴士因子”(bus factor)问题。这也是开源安全基金会(OpenSSF)最佳实践中强调的重要指标。

事件教训与行业反应

由于后门仅影响测试系统,该事件被视为一次“险些命中”的案例,行业可以从中吸取教训。OpenJS 基金会与 OpenSSF 合作发布了《开源项目的社会工程接管》警报,指出了类似针对 JavaScript 项目的企图。行业资深人士 Tim Bray 提出了“开源质量研究所”(OSQI)的概念,旨在为关键开源项目提供资金和治理支持。

软件供应链安全的重要性

近年来,软件供应链安全成为热门话题,此次攻击进一步凸显了其重要性。如果后门代码没有因为性能问题被细心的工程师发现,随着时间的推移,许多系统将暴露在攻击者的威胁之下。类似的事件还包括影响 Palo Alto(CVE-2024-3400)和 Ivanti(CVE-2024-21887)的漏洞。

总结

XZ Utils 后门事件是一次精心策划、长期潜伏的供应链攻击,尽管最终未能广泛传播,但其手法和影响为行业敲响了警钟。事件暴露了开源项目维护的脆弱性,强调了加强软件供应链安全的紧迫性。

阅读 177
0 条评论