XZ Utils 后门(CVE-2024-3094)技术案例研究,涵盖供应链信任滥用、恶意发布产物、构建阶段注入、sshd 依赖滥用、检测工程与红队经验教训。
CASE-002 重建了 2024 年 3 月 29 日披露的 XZ Utils / liblzma 后门,即 CVE-2024-3094。
本报告追踪了整个行动过程:从长期维护者信任与发布权限,到经过审查的 Git 源代码与分发的发布 tarball 之间的不一致,再到构建时载荷提取、liblzma 修改、进入 sshd 的传递依赖路径、GNU IFUNC / 动态链接器滥用,以及仅限操作者的预认证触发器。
重点不仅仅是后门做了什么,而是多个合法信任关系如何被转化为一条执行路径。
核心教训: 源代码审查不等于发布验证,已签名的上游制品,其可信度仅等同于生成它的人与构建过程。
完整性校验:report/SHA256SUMS.txt
贡献者信任
↓
维护者 / 发布权限
↓
不透明的测试制品
↓
针对 tarball 的构建逻辑
↓
构建时恶意对象提取
↓
载荷链接进 liblzma
↓
受信任的发行版软件包构建
↓
传递加载进 sshd
↓
IFUNC / 加载器期符号重定向
↓
仅限操作者的加密 SSH 触发器
↓
预认证绕过 / 命令执行能力
| 发现 | 为何重要 |
|---|---|
| 维护者信任是漏洞利用链的一部分 | 攻击者是从合法项目角色内部运作的,而不是仅在最后阶段窃取软件包账户。 |
| Git 源代码与发布 tarball 在安全性上并不等价 | 仅在发布时生成的构建逻辑引入了一条普通 Git 审查无法暴露的路径。 |
| 不透明的测试数据成为可执行的构建输入 | 精心构造的 .xz / .lzma 测试夹具携带了在编译期间被恢复的隐藏阶段。 |
| 载荷依赖一条传递依赖路径 | OpenSSH 本身并未被植入后门;liblzma 通过发行版特定的 systemd 集成间接到达了选定的 sshd 构建。 |
| 运行时激活被刻意收窄 | 平台、构建、进程、环境和加密多重门控减少了意外暴露和分析的可能。 |
| 发现源于异常调查 | CPU、延迟和 Valgrind 异常暴露了一起静态信任信号已接受的供应链入侵。 |
sshd → libsystemd → liblzma 依赖路径本案例研究有意超越事件摘要。
报告映射了六次信任转换:
贡献者 → 维护者 → 发布制品 → 发行版软件包 → 运行时库 → SSH 控制路径
在每个转换点,它都识别了攻击者的杠杆和防御咽喉点。
分析将事件转化为可测试的假设,围绕:
模拟部分聚焦于安全的信任路径测试,例如良性的 tarball/源代码不一致和依赖路径验证,而无需一个可运行的 SSH 认证后门。
PDF 由版本控制的 HTML/CSS 通过 .github/workflows/publish-report.yml 生成。
该工作流分别渲染正文和专用封面,合并它们,计算 SHA-256,提交生成的 PDF 并发布发布资产。这使发布本身与本案例的核心教训保持一致:从源代码到制品的路径应当可观察且可复现。
主要证据优先于回顾性评论。报告区分了已确认的技术行为、项目记录、发行版暴露、后续逆向工程和分析结论。
参见 docs/METHODOLOGY.md 和 docs/REFERENCES.md。
.
├── .github/workflows/
│ └── publish-report.yml
├── assets/
│ └── cover-mobile-safe.svg
├── docs/
│ ├── METHODOLOGY.md
│ └── REFERENCES.md
├── report/
│ ├── cover.html
│ ├── source.html
│ ├── XZ_Utils_Backdoor_Case_Study_Michel-DV.pdf
│ └── SHA256SUMS.txt
├── CHANGELOG.md
├── CITATION.cff
├── DISCLAIMER.md
├── RELEASE_NOTES.md
├── LICENSE
└── README.md
如果本案例研究对研究、培训、课程作业或内部文档有用,请引用本仓库或使用 CITATION.cff。
作者: @Michel-DV
系列: Michel-DV 威胁案例研究 — CASE-002
发布: v1.0.0
年份: 2026
© 2026 Michel-DV。
本出版物根据 Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) 许可。
这是一项基于公开信息的独立技术研究。它与 Tukaani Project、Red Hat、Debian、OpenSSF、OpenSSH、systemd、Kaspersky 或其他被引用组织无关联,也未获其认可。
XZ 事件不是单个恶意补丁。它是一连串受信任的交接,而没有任何一方独立验证。