XZ实用程序后门
2024年3月29日,软件开发者Andres Freund报告称,liblzma库在2024年2月发布的5.6.0和5.6.1版本中,包含的Linux实用程序xz含有一个恶意引入的后门[1]。
CVE标识符 | CVE-2024-3094 |
---|---|
发现日期 | 2024年3月29日 |
发现者 | Andres Freund |
受影响软件 | xz / liblzma 库 |
网站 | tukaani |
虽然大多数Linux发行版都安装有xz,但后门仅针对基于Debian和RPM的x86-64架构系统[来源请求]。在发现时,后门版本尚未被广泛部署[2]。
如果拥有特定的Ed448私钥,攻击者能够使用此后门在受感染的Linux系统上执行远程代码。CVSS评分为10.0分,为最高分[3][4][5]。
背景
微软员工、PostgreSQL开发人员Andres Freund在对Debian Sid进行性能回归测试时发现了该后门[6]。Freund注意到SSH连接产生了超乎寻常的高CPU使用率,并且使内存调试工具Valgrind报错[7]。Freund将他的发现报告给了Openwall Project开源安全邮件列表[8],引起了各大软件供应商的注意[7]。有证据表明,攻击者将单次意图拆解进多个阶段[9],尽力混淆攻击代码[10][11]。
一旦恶意版本被整合进操作系统,它就会借助systemd库篡改OpenSSH SSH服务器,使攻击者窃得等同于管理员的访问权限[9][7]。据Red Hat分析,该后门可以“使恶意行为者能够攻破sshd身份验证,并获得对整个系统的远程未经授权的访问”[12]。
随后的调查发现,在XZ实用程序项目中插入后门是一位昵称JiaT75、名为“Jia Tan”的用户在大约三年的时间内,获取该项目信任的结果。在操纵明显是马甲的帐号施加压力后,创始人和首席维护者向“Jia Tan”移交了项目的控制权,作为联合维护者的“Jia Tan”签名发布了5.6.0版本引入后门,而5.6.1版本修复了操作系统软件测试期间可能出现的一些异常行为[7]。疑似傀儡帐号包括“Jigar Kumar”、“krygorin4545”和“misoeater91”。有人怀疑“Jia Tan”这个名字以及所谓的代码作者“Hans Jensen”(针对版本5.6.0和5.6.1)只是该活动参与者编造的假名。除了在该活动的短短几年外,两个帐号在软件开发领域都没有可见的公开活动[13]。该后门因其复杂程度,及犯罪者在努力获得信任地位的同时展现的长期高水平行动安全而引人注目。美国安全研究员戴夫·艾特尔(Dave Aitel)认为,该攻击符合APT29的攻击模式。APT29是一个高级长期威胁执行机构,据信为俄罗斯SVR工作[14]。
机制
据了解,恶意代码存在于XZ实用程序版本5.6.0和5.6.1中。漏洞将一直处于潜伏状态,直到SSH服务器打上了特定的第三方补丁。在适当的情况下,恶意行为者可破坏sshd身份验证过程,并远程获取对整个系统的未经授权的访问[12]。该恶意机制由包含恶意二进制代码的两个测试压缩文件组成。这些文件储存在git存储库中,但除非提取并注入到程序中,否则将保持休眠状态[5]。该代码使用glibc IFUNC
机制,将OpenSSH中名为RSA_public_decrypt
的函数替换为恶意版本。OpenSSH通常不会加载liblzma,但多个Linux发行版常使用的第三方补丁会使其加载libsystemd,进而加载lzma[5]。GitHub上上传的发行tar文件中包含了build-to-host.m4
的修改版本,该文件会释放对liblzma
进行实际注入的脚本。这个修改过的m4文件并不存在于git存储库中,它只能从维护者独立于git发布的tar文件中获取[5]。似乎只有在x86-64 Linux系统、使用glibc和GCC、通过dpkg或rpm编译软件包时,该脚本才会执行注入[5]。
反应
补救措施
负责网络安全和基础设施的美国联邦机构CISA发布了一份安全公告,建议受影响的设备回滚至未受感染的版本[15]。Red Hat、SUSE和Debian等Linux软件供应商复制了CISA的公告,并撤回了受影响的软件更新[12][16][17]。GitHub已禁用了xz存储库的镜像[18]。
大众回应
计算机科学家Alex Stamos认为,“这可能是有史以来植入软件产品中最广泛、最有效的后门”,并指出,如果该后门未被发现,它将“为其创建者提供全球数亿台运行 SSH 计算机的万能钥匙”[19]。此外,该事件还引发了一场关于让关键网络基础设施依赖无偿志愿者的可行性的讨论[20]。
参考
- ^ Corbet, Jonathan. A backdoor in xz. LWN. [2024-04-02]. (原始内容存档于2024-04-01).
- ^ CVE-2024-3094. National Vulnerability Database. NIST. [2024-04-02]. (原始内容存档于2024-04-02).
- ^ Gatlan, Sergiu. Red Hat warns of backdoor in XZ tools used by most Linux distros. BleepingComputer. [2024-03-29]. (原始内容存档于2024-03-29) (美国英语).
- ^ Akamai Security Intelligence Group. XZ Utils Backdoor – Everything You Need to Know, and What You Can Do. 2024-04-01 [2024-04-02]. (原始内容存档于2024-04-02).
- ^ 5.0 5.1 5.2 5.3 5.4 James, Sam. xz-utils backdoor situation (CVE-2024-3094). GitHub. [2024-04-02]. (原始内容存档于2024-04-02) (英语).
- ^ Zorz, Zeljka. Beware! Backdoor found in XZ utilities used by many Linux distros (CVE-2024-3094). Help Net Security. 2024-03-29 [2024-03-29]. (原始内容存档于2024-03-29).
- ^ 7.0 7.1 7.2 7.3 Goodin, Dan. What we know about the xz Utils backdoor that almost infected the world. Ars Technica. 2024-04-01 [2024-04-01]. (原始内容存档于2024-04-01) (美国英语).
- ^ oss-security - backdoor in upstream xz/liblzma leading to ssh server compromise. www.openwall.com. [2024-04-03]. (原始内容存档于2024-04-01).
- ^ 9.0 9.1 Claburn, Thomas. Malicious backdoor spotted in Linux compression library xz. The Register. [2024-04-01]. (原始内容存档于2024-04-01) (英语).
- ^ Larabel, Michael. XZ Struck By Malicious Code That Could Allow Unauthorized Remote System Access. Phoronix. [2024-03-29]. (原始内容存档于2024-03-29) (英语).
- ^ O'Donnell-Welch, Lindsey. Red Hat, CISA Warn of XZ Utils Backdoor. Decipher. 2024-03-29 [2024-03-29]. (原始内容存档于2024-03-29) (英语).
- ^ 12.0 12.1 12.2 Urgent security alert for Fedora 41 and Fedora Rawhide users. Red Hat. [2024-03-29]. (原始内容存档于2024-03-29) (英语).
- ^ Watching xz unfold from afar. [2024-04-06]. (原始内容存档于2024-04-06).
- ^ Greenberg, Andy. The Mystery of ‘Jia Tan,’ the XZ Backdoor Mastermind. Wired. [2024-04-03]. (原始内容存档于2024-04-03).
- ^ Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094. CISA. 2024-03-29 [2024-03-29]. (原始内容存档于2024-03-29) (英语).
- ^ SUSE addresses supply chain attack against xz compression library. SUSE Communities. SUSE. [2024-03-29]. (原始内容存档于2024-03-29).
- ^ Salvatore, Bonaccorso. [SECURITY] [DSA 5649-1] xz-utils security update. debian-security-announce (邮件列表). 2024-03-29 [2024-03-29]. (原始内容存档于2024-03-29) (英语).
- ^ Larabel, Michael. GitHub Disables The XZ Repository Following Today's Malicious Disclosure. Phoronix. 2024-03-29 [2024-03-31]. (原始内容存档于2024-03-31) (英语).
- ^ Roose, Kevin. Did One Guy Just Stop a Huge Cyberattack?. The New York Times. [2024-04-04]. (原始内容存档于2024-04-04).
- ^ Khalid, Amrita. How one volunteer stopped a backdoor from exposing Linux systems worldwide. The Verge. 2024-04-02 [2024-04-04]. (原始内容存档于2024-04-04) (英语).