差点引爆全球的核弹,深度分析XZ-Utils供应链后门投毒事件

处心积虑的投毒者蛰伏三年多,精心选择对象,通过复杂的攻击手法、专业的技战术,一步步支起一张大网,企图掌控全球主流linux发行版,一旦成功他将可以随意侵入全球绝大多数的服务器,这将是足以引爆全球的核弹危机。所幸由于复杂度过高以及投毒者的疏忽,事件被及早发现,没有造成过大的现实危害。但此次事件再次凸显出开源软件生态的脆弱性,本次事件仍可能只是冰山下的一角。墨菲安全也提醒所有企业不应该默认相信来自开源社区的软件,应该加强企业自身的供应链安全体系建设,才能当危机来临时应对自如。

事件简述

XZ-Utils是Linux、Unix等POSIX兼容系统中广泛用于处理.xz文件的套件,包含liblzma、xz等组件,已集成在Debian、Ubuntu、CentOS等发行版仓库中。

2024年3月30日凌晨墨菲安全实验室监测发现,微软工程师Andres Freund在排查sshd服务异常时发现xz-utils的上游tar包被投毒,并报告给oss-security社区。

  • 恶意代码存在于 xz-utils 的 5.6.0 和 5.6.1 版本中,影响x86/64下的Linux系统。通过在程序构建时进行注入,生成的恶意载荷会通过 systemd 劫持 sshd 中的公钥验证流程,导致通过特定的Ed448密钥签名认证时,服务端可以执行任意命令。
  • 当前GitHub已经关闭xz仓库、停止JiaT75、Lasse Collin账号,受影响的组件仓库大多已经回滚至5.6.0以前的版本,非滚动更新的发行版stable仓库不受影响。
  • 投毒者JiaT75在2021年曾参与libarchive项目,存在可疑风险,社区已着手修复。

主要时间线

  • 2021年1月26日,GitHub账号JiaT75创建
  • 2021年10月19日,JiaT75向libarchive项目提交第一个PR
  • 2022年2月6日,JiaT75向XZ Utils项目提交的commit开始被合并
  • 2024年2月24日,JiaT75在GitHub release中发布第一个包含后门的版本5.6.0

GitHub中5.6.0版本发布截图

  • 同日,Debian unstable仓库开始集成5.6.0版本xz

  • 3月29日 23时51分,Andres Freund向oss-security社区披露该后门情况

影响分析

投毒手法高明,但目前对真实场景的影响相对有限

其原因包括:

  1. 存在后门版本的xz-utils 5.6.0最早发布于2024年2月24日,被Debian unstable分支、Fedora Rawhide、Fedora 40、Arch Linux等少数仓库集成,还没有被大规模应用,CentOS/Redhat/Ubuntu/Debian/Fedora等的stable仓库都不受影响。
  2. 对于MacOS用户,通过homebrew或直接编译安装可能使用到受影响的组件,但其利用过程判断了只有x86/64下的Linux环境才会触发,因此不会被利用。
  3. 存在一些利用条件包括:
    1. 命令行参数argv[0]为/usr/sbin/sshd
    2. 未设置TERM、LD_DEBUG、LD_PROFILE环境变量
    3. 包含
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值