如果你问一个安全工程师"互联网最危险的一刻"长什么样,答案大概率不是黑客电影里那种烟花四溅的攻防,而是——一个代码库的某个测试文件夹里,躺着一段没人会去读的二进制数据,里面藏着一把能开几百万台服务器的万能钥匙。
Veritasium这支54分钟的纪录片《The Internet Was Weeks Away From Disaster and No One Knew》讲的正是这件事:2024年被发现的 XZ Utils 后门(CVE-2024-3094)。一个化名"Jia Tan"的攻击者,花了两年半时间,慢慢渗透进一个由单个未领薪志愿者维护的压缩工具,在里面埋下了一个能劫持 SSH 认证的后门。当它被发现时,离进入 Red Hat Enterprise Linux 10、抵达全球数百万生产服务器,只剩下几周。
这支视频值得看的理由有三个:第一,它把一个极度硬核的供应链攻击(IFUNC、GOT、audit hook、RSA 劫持)讲成了悬疑片;第二,它没有止步于"黑客很厉害",而是挖到了真正的病灶——脆弱的不是代码,是那个累垮了的人;第三,它抛出了一个反直觉的结论:开源之所以"出事",恰恰因为它是公开的;而闭源系统里类似的国家级后门,可能永远不会被任何人发现。
| 项目 | 内容 |
|---|---|
| 视频标题 | The Internet Was Weeks Away From Disaster and No One Knew |
| 频道 | Veritasium(Derek Muller + 安全研究员 Henry van Dyck) |
| 订阅数 | 2090万 |
| 时长 | 约 54 分钟 |
| 播放量 | 1400万+(点赞 38.7万) |
| 发布时间 | 2026年2月25日 |
| 核心主题 | XZ Utils 供应链后门:一次差点成功的国家级网络攻击 |
视频没有一上来就讲后门,而是先倒带回到1980年代的 MIT AI Lab。Richard Stallman 遇到一台卡纸的 Xerox 9700 打印机,想写个小程序让它通知用户"纸卡了"——就像他几年前为另一台打印机做过的那样。但这次 Xerox 拒绝提供源代码,还要求签保密协议(NDA)。Stallman 后来说,那一刻他意识到"这是一种影响很多人的社会现象"。
于是他在1985年创立了 自由软件基金会(FSF),提出软件的四大自由:运行、研究、修改、分享的自由。为了从法律上锁死这些自由,他发明了 GPL(通用公共许可证),并启动 GNU 项目——一个从零重写的 Unix。1991年,芬兰学生 Linus Torvalds 补上了最后一块拼图:一个被改名叫 Linux 的内核。
视频原话定位:这是"为什么开源能赢"的叙事起点。
我的延伸:正因为代码公开免费,Linux 渗透进了吸尘器、摄像头、电视、全球全部500台顶级超算,以及绝大多数互联网服务器——安卓一台就算,全球跑在 Linux 内核上的设备超过30亿。整个生态建立在一个朴素假设上:代码安全,是因为有足够多的眼睛在盯着它看(Linus 定律)。这支视频要拆解的,就是这个假设在2024年差点崩塌的瞬间。
视频引用了那幅著名的 XKCD 漫画(#2347):一整座现代数字基础设施的金字塔,最底下垫着一块小积木,上面写着"由内布拉斯加州某个随机的人维护"。过去大家都当笑话看。XZ 事件证明:这不是讽刺,是纪实。
视频给出了三个关键背景,也是我整篇文章认为最值得记住的认知升级:
这三点合起来,就是 XKCD 那块积木的现实版:系统的命脉,悬在一个累垮了、没人付钱、没人替补的人身上。(这是视频的核心论点之一。)
要理解后门有多狠,得先理解它要劫持什么。视频用"调色漆"的比喻拆解了 SSH 的两道锁:
Tatu Ylönen 在1995年一次密码嗅探攻击后发明了 SSH,OpenSSH 则成了事实标准,构成"整个互联网的维护骨干"——管理员远程登录、部署、运维,全靠它。
我的判断:后门选择的攻击点极其精准。它没有去硬碰 SSH 协议本身(那是数学上被反复审计过的),而是绕到 SSH 运行时调用的、藏在依赖链深处的一个压缩库里——那里没什么人看。
Jia Tan 的计划分三步,视频分别命名为 Trojan Horse(特洛伊木马)、Goldilocks(金发姑娘区)、Cat Burglar(飞天大盗)。这一节拆第一步。
攻击者没有把恶意代码堂而皇之地写进源文件——那样过 code review 会被发现。他把恶意载荷藏进了 XZ 仓库里的二进制测试数据文件(test blobs)。这类文件包打包者基本不会去逐字节审,因为它们"只是测试用的"。然后他对 GitHub 上的构建脚本做了一个看起来无害的小改动:让构建过程把这些二进制 blob 解包、注入到 XZ 库里。
关键点(视频原话方向):恶意逻辑从未以人类可读的形式出现在 GitHub 的源码里。
我的延伸分析:这是供应链攻击最阴险的设计原则——把载荷藏在你信任却从不审查的"资产"里。同一个思路过去也曾出现在 npm、PyPI 包的安装脚本里。它揭示了一个被忽视的事实:code review 的盲区,往往不是"代码",而是"数据"——测试数据、配置文件、构建产物、压缩包。
这一步是整个攻击技术含量最高的部分,视频讲得相当清楚,我尽量用人话复述。
当一个程序启动、要调用共享库里的函数时,加载器会把函数的真实地址填进一张叫 GOT(Global Offset Table,全局偏移表) 的表里,程序运行时就去这张表查地址。出于安全,现代系统会用 RELRO 机制,在填完表后把它标记为只读。
Jia Tan 利用了三个底层机制:
RSA_public_decrypt(RSA 解密/认证函数)这一项。当加载器把真实的 RSA 解密函数地址写进 GOT 之后、RELRO 把表锁成只读之前的那个极窄的时间窗口,钩子把这一项偷偷换成攻击者自己的函数实现。视频把这个窗口叫 "Goldilocks zone"(金发姑娘区)——不能太早,不能太晚,必须刚刚好。
我的延伸:这个时间窗就是 RELRO "full" 保护下残留的窗口——它说明没有哪种防御是绝对密封的,攻击者总能找到两条机制接缝处的那道光缝。值得补充的是,正是这种"必须在极窄窗口里精准操作"的设计,迫使攻击者写了一大堆内存搜索、字节解码、自定义加密的逻辑——而这,恰好埋下了暴露的种子(见第七节)。
第三步是让后门"既管用又隐形"。掉包后的恶意函数做了几件事:
视频还在一个克隆的 Veritasium 网站上做了现场演示:被攻陷的服务器可以让攻击者拿到 root、篡改网页内容、窃取或篡改数据、装勒索软件。
视频原话方向:这套设计"谨慎、细致、几乎隐形"。
我的判断:从红队视角看,这是一个教科书级的"持久化后门"——平时潜伏、按需激活、不留痕迹。它最聪明的地方不是某一个技巧,而是把多个底层特性串成一条链,任何单点的代码审计都很难看出问题,因为每一段单独看都"合理"。
故事在这里迎来转折,也是视频标题"差点没人知道"的核心。
Andres Freund,Microsoft 的工程师(也是 PostgreSQL 核心贡献者),根本不是在找安全漏洞。他在 Debian 的不稳定分支上测试一个 Postgres 更新,偶然发现 SSH 连接比平时慢了大约 400–500 毫秒。这点延迟微不足道,却让他如鲠在喉——他在几个会议里都没法集中注意力。更早之前,他还注意到 Valgrind(内存调试工具)在跑 XZ 时报过奇怪的错误。
他往下挖,一路追到那些"从不被实际使用的二进制测试文件",最终看清了真相:一个细致到会遍历内存、解码原始字节、套上自定义加密、还把自己字符串打乱的后门。
视频里一位专家说:"如果他们少做一点混淆,我大概根本不会注意到任何异常。"
这句话是整支视频的点睛,也是我想安利这支视频的最大理由。它意味着一个反直觉的结论:打败这个攻击者的,恰恰是攻击者自己的"过于谨慎"。 混淆越多、代码越复杂、运行时间越长,就越容易在性能曲线上露出一道毛刺。Andres 后来直接绕过已被渗透的 XZ 联系人,把问题报给了 Debian 安全团队;Red Hat 立即回滚了 Fedora;整个开源社区开始解剖这个项目。Andres 因此收到了微软 CEO 的公开致谢。
我的延伸思考:这给了安全工程一个重要启示——性能异常(延迟、抖动、内存脚印)本身就是一个被低估的检测信号。 一个系统突然慢了半秒、某段路径的 CPU 占比莫名其妙地变了,往往比任何签名规则都更早地暴露出"有什么东西不对"。进攻方在功能和安全之间永远要权衡,而权衡的副产品,就是可观测的物理痕迹。
关于身份,视频保持了克制,这也是我认同的态度。
我的判断(中立网络安全视角):在安全领域,归因(attribution)永远是开放问题,且可能被故意做成谜题。防御方的正确姿势不是去猜"是谁",而是默认对手"足够聪明、足够耐心、足够有钱",并据此设计纵深防御。把注意力放在身份博弈上,反而是中了假旗的下怀。
flowchart TD
A["病灶根源:单个未领薪维护者<br/>Lasse Collin + xz-utils"] --> B["社会工程 2.5年<br/>马甲账号施压 → 拿到维护权"]
B --> C["伪装身份:Jia Tan<br/>看似无害的提交建立信任"]
C --> D{"三阶段攻击链"}
D --> E["① 特洛伊木马<br/>恶意载荷藏进二进制 test blob<br/>构建脚本注入,源码里看不见"]
D --> F["② Goldilocks 窗口<br/>IFUNC 早执行 → 挂 audit hook<br/>GOT 填入 RSA地址后、RELRO锁定前<br/>偷换 RSA_public_decrypt"]
D --> G["③ 飞天大盗<br/>迷你握手识别主密钥 → 放行<br/>平时转发真函数,擦除日志"]
E --> F --> G
G --> H["目标:劫持 SSH 认证<br/>= 拿到 root = 控制数百万服务器"]
H -.几周内将进入.-> I["Red Hat Enterprise Linux 10<br/>Debian/Ubuntu 生产环境"]
J["救命的半秒<br/>Andres Freund 发现<br/>SSH 慢 400-500ms<br/>+ Valgrind 异常"] -->|性能异常| K["追溯到 test blob<br/>看清后门"]
K --> L["绕过被渗透的联系人<br/>直报 Debian 安全团队"]
L --> M["Red Hat 立即回滚 Fedora<br/>社区全面审计"]
H -.差点.-> N["💥 全球性灾难:银行/政府/超算被渗透"]
M -.阻止.-> N
style A fill:#fde2e2,stroke:#c0392b
style J fill:#e2fde2,stroke:#27ae60
style N fill:#fff3cd,stroke:#d39e00
style H fill:#fadbd8,stroke:#e74c3c
这支视频对普通观众是悬疑故事,对从业者则是一份免费的供应链安全复盘报告。我把可落地的启示梳理成五条:
依赖不是代码问题,是人的问题。 XZ 暴露的不是某个算法的缺陷,而是"关键基础设施由单个无薪志愿者独撑"的系统性脆弱。如果你维护的项目里有"只有一个人懂"的核心依赖,最该做的不是写更多测试,而是降低 bus factor(巴士因子):引入第二个维护者、写交接文档、把关键知识摊开来。
Code review 的盲区在"数据",不在"代码"。 攻击者把载荷藏进了二进制测试文件。这意味着 review 流程必须覆盖仓库里所有可执行内容:测试 blob、构建脚本、安装钩子、压缩资源。配套的技术手段包括二进制扫描和可复现构建(reproducible builds)——同一份源码,任何人构建出来的二进制必须 bit-for-bit 一致,否则就有人在构建环节动了手脚。
SBOM(软件物料清单)是底线,不是加分项。 你必须知道自己产品的每一层依赖来自哪、谁维护、上次审计是什么时候。CVE-2024-3094 之所以能快速响应,正是因为发行版清楚地知道哪些包链到了 XZ。没有 SBOM,你连"我有没有受影响"都答不出。
把"性能异常"当成安全信号。 这次救命的不是任何签名或 IDS 规则,而是"为什么慢了半秒"。在生产环境里,对关键路径(尤其认证、加解密、登录)建立延迟和资源消耗的基线监控,异常的毛刺往往是比告警更早的预警。进攻方在"功能"和"隐蔽"之间的权衡,必然会留下可观测的物理痕迹。
身份认证基础设施要纵深防御。 既然 SSH 认证函数都可能被劫持,那就别把 SSH 当唯一防线。结合代码签名(sigstore)、最小权限、网络分段、特权访问管理(PAM)、多因素,让"拿到一把钥匙"不等于"打开整座城"。
一个反直觉但视频反复强调的点:开源"出事"恰恰是它的优点。 正因为代码公开,全世界才能一起把这段后门拆解得清清楚楚、并把它变成一次行业学习。同样的国家级后门如果藏在某个闭源系统里,可能永远不会有人注意到那半秒——因为没有人在看。
XZ 后门差点攻陷整个互联网,而救了我们的不是什么神兵利器,是一个工程师对"为什么慢了半秒"的好奇心——它提醒我们:互联网的地基不是代码,是那些累垮了却没人付钱的人。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
