安全验证与攻防实践
尽快验证!全网都在讲的“XZ Utils”漏洞(CVE-2024-3094)现已加入塞讯模拟攻击库

研究人员在一个压缩工具中发现了一个恶意后门,该工具进入了广泛使用的Linux发行版,包括来自Red Hat和Debian的。
据发现该漏洞的开发者Andres Freund说,这个名为xz Utils的压缩工具在5.6.0和5.6.1版本中引入了恶意代码。目前还没有关于这些版本被整合到任何主要Linux发行版的报告,但是Red Hat和Debian都报告称,最近发布的beta发行版至少使用了一个后门版本——特别是在Fedora Rawhide和Debian的测试版、不稳定版本和实验发行版。Arch Linux的稳定版本也受到影响,但这个版本并不用于生产系统。
由于这个后门是在xz Utils恶意版本被添加到生产版本的Linux之前被发现的,据称它并没有真正影响到现实世界中的任何人,只是因为攻击者太马虎导致其早早被发现了。如果它没有被发现,则会产生灾难性的后果。
一些人报告说,macOS的HomeBrew包管理器中包含的多个应用程序都依赖于带后门的5.6.1版本的xz Utils。HomeBrew现在已经将该工具回滚到5.4.6版本。
▌针对 sshd
Red Hat高层称,后门的第一个迹象是在2月23日的更新中引入的,该更新添加了混淆代码。第二天的更新包括一个恶意安装脚本,它将自己注入sshd使用的函数中,sshd是使SSH工作的二进制文件。恶意代码只存在于归档版本(被称为tarball)中,这些版本会在上游发布。仓库中可用的所谓GIT代码不受影响,尽管它们包含了允许在构建期间注入的第二阶段构件。如果出现了2月23日引入的混淆代码,GIT版本中的构件将允许该后门运行。
这些恶意修改是由JiaT75提交的,JiaT75是为xz Utils项目贡献多年的两名主要开发人员之一。

鉴于这几周的活动,提交者要么直接参与其中,要么就是他们的系统受到了比较严重的损害。根据最近各种关于“修复”的需求沟通,受损害的情况可能相当多。
3月21日,有人以该开发者的名义访问Ubuntu开发者网站,要求将后门版本5.6.1合并到生产版本中,因为它修复了导致Valgrind工具出现故障的错误。
“这可能会破坏构建脚本和测试通道,这些脚本和测试通道需要Valgrind的特定输出才能通过,”该人士在同一天创建的帐户中警告说。
Fedora的一位维护人员上周五表示,该开发人员最近几周与他们接洽,要求Fedora 40(测试版)包含一个后门实用程序版本。
“我们甚至与他合作解决了valgrind问题(现在证明是由他添加的后门引起的),”Ubuntu 维护人员说。“他已经参与 xz 项目两年了,添加了各种二进制测试文件,并且凭借这种复杂程度,我们甚至会对 xz 的旧版本表示怀疑,除非有其他证据证明。”
xz Utils的维护人员没有立即回复询问问题的电子邮件。
研究人员表示,这些恶意版本故意干扰SSH执行的身份验证,SSH是远程连接系统的常用协议。SSH提供强大的加密功能,确保只有授权方才能连接到远程系统。后门旨在允许恶意攻击者破坏身份验证,并从那里获得对整个系统的未经授权的访问。后门的工作原理是在登录过程的关键阶段注入代码。
Freund表示:“我还没有准确分析注入代码中正在检查的内容,以允许未经授权的访问,由于这是在预身份验证上下文中运行,因此它似乎可能允许某种形式的访问或其他形式的远程代码执行。”

对更新进行逆向工程的研究人员表示,后门在SSH操作期间注入了恶意代码,而不是绕过了身份验证。
在某些情况下,后门无法按预期工作。例如,Fedora 40上的构建环境包含不兼容性,导致注入无法正确发生。Fedora 40现已恢复到xz Utils的5.4.x版本。
Xz Utils适用于大多数Linux 发行版,但并非所有发行版都默认包含它。任何使用Linux的人都应该立即联系他们的经销商,以确定他们的系统是否受到影响。Freund 提供了一个脚本来检测SSH系统是否存在漏洞。
针对该恶意后门的攻击模拟规则已经加入到塞讯安全度量验证平台中,如果您不确定您的系统是否受到影响,您可以在塞讯安全度量验证平台中搜索关键词“XZ”或“CVE-2024-3094“获取相关攻击模拟验证动作,从而验证您的安全防御体系是否能够有效应对该恶意后门,平台以业界独有方式确保您的验证过程安全无害。


