蛰伏近三年!复盘XZ开源项目后门投毒事件完整时间线

发布时间 - 2024-04-03 17:39:29    点击率:789次

日前,开源软件XZ被植入“后门”事件,引发了网络安全界的轩然大波。研究人员发现,在包括Red Hat和Debian在内的多个流行Linux版本中,一款压缩工具被悄悄植入了恶意代码,这样攻击者即使没有有效账号,也可以通过SSHD(一个负责SSH连接工作的关键二进制文件)访问系统了。

据了解,Lasse Collin在2005年使用LZMA压缩算法设计了.xz文件格式。久而久之,这种压缩格式被广泛用于压缩tar文件、Linux内核映像及许多其他用途。值得庆幸的是,这个后门及时被发现,且目前还未收到其被实际利用的报告。GitHub也以违反服务条款为由,立即禁用了Tukaani项目维护的XZ Utils代码库。如果这个后门的植入技术更加隐秘高超,那么当XZ被广泛引入各Linux发行版后,后果将不堪设想,甚至是灾难级别的。

通过进一步的深入分析,研究人员认为本次爆出的“后门”事件是一次典型的软件供应链投毒事件。因为相关的恶意代码是由一位名为Jia Tan(JiaT75)的项目维护人员,通过多次代码变更的方式,植入到了Tukaani项目中。在近三年的时间里,Jia Tan一直为XZ项目贡献高质量代码,最终才获得了该项目的提交访问权和维护权。以下总结梳理了一个详细的时间轴,对本次意义深远的后门攻击事件进行复盘回顾:

2021年10月29日:Jia Tan向xz-devel邮件列表发送了第一个无害补丁,添加“.editorconfig”文件。

2021年11月-2022年4月:Jia Tan向xz-devel邮件列表发送了多个无害补丁,对项目中存在的构建问题进行了修复,这些补丁看起来质量很高。

2022年4月22日:Jigar Kumar向Jia Tan发送了首封邮件,希望他提交的补丁能够被合并。此时,Lasse Collin已经合并了Jia Tan的四个补丁,并在提交信息中标注了“感谢Jia Tan”。

2022年5月19日:一个名为“Dennis Ens”的开发者向xz -devel发送了施压邮件,询问XZ for Java是否得到及时的维护。Lasse Collin为自己回复慢道歉,同时表示,Jia Tan在XZ Utils方面帮助了我,未来他可能扮演更重要的角色。因为我精力有限,从长远来看需要有所变化。

2022年6月7日:另一个名为“Jigar Kumar”的开发者向Java主题帖发送施压邮件。“除非有新的维护者,否则该项目不会有进展。XZ for C的提交日志也寥寥无几。当前的维护者失去了兴趣,或者不再关心维护。看到代码库出现这样的局面,我很难过。”

2022年6月8日:Lass Collin回复称,我正在与Jia Tan进行沟通交流,希望他将来会扮演更重要的角色。尽管这是没有报酬的业余项目。

2022年6月10日:Lasse Collin在git元数据中合并了Jia Tan作为作者的首次提交。

2022年6月14日:Jigar Kumar再次发送施压邮件。“以你目前的速度,我很怀疑今年能不能看到5.4.0版本。自4月份以来,唯一的进展是测试代码出现了小小的修改。你忽略了这个邮件列表中无人注意的许多补丁。为什么等到5.4.0才换维护者?为什么迟迟未合并你的代码库需要的补丁?”

2022年6月21日:Dennis Ens也再次发送了施压邮件。“我知道这是所有贡献者的业余项目,但社区需要更多。为什么不放弃XZ for C的维护工作,这样可以对XZ for Java给予更大的关注?或者把XZ for C交给别人维护、专注于XZ for C?试图维护两个项目意味着两者都得不到精心的维护。”

2022年6月29日:面对多次的邮件催促,Lasse Collin进行了统一回复:Jia Tan已帮了很多忙,实际上他已经是这个项目的共同维护者。在git代码库中,一些小的修改一直在进行。至少对于XZ Utils来说,维护方面已出现了一些变化。

2022年7月:在各种邮件施压下,Lasse开始与Jia Tan更密切地合作。但是现在看来,Jigar Kumar和Dennis Ens的邮箱地址nameNNN@mailhost从未出现在网络上的其他地方,也没有再出现在xz-devel,看起来很可能是为了迫使Lasse为Jia赋予更大的控制权而伪造的。在随后时间里,Jia开始在xz-devel上回复关于即将发布的5.4.0版本的帖子。

2022年9月27日:Jia Tan作为项目主要维护者发布了5.4.0版本的摘要。

2022年11月30日:Lasse Collin将bug报告邮箱修改为属于他和Jia Tan的别名,并在README文件中指出“可以通过xz@tukaani.org联系项目维护者Lasse Collin和Jia Tan”。

2022年12月30日:Jia Tan将第一个提交直接合并到xz代码库中。此时我们知道他们有提交权限。

2023年1月1日:Lasse Collin标记并构建了他的最终版本v5.4.1。

2023年3月18日:Jia Tan标记并构建了他的第一个版本v5.4.2,并在两天后更新了Google oss-fuzz配置,向他们发送bug。

2023年6月22日:Hans Jansen发送了一对补丁(由Lasse Collin合并),使用“GNU间接函数”特性在启动时选择快速CRC函数。最后的提交由Lasse Collin改动,并由Jia Tan合并。这个更改很重要,因为它提供了一个钩子(hook)后门代码,可以通过这个钩子在全局函数表被重新映射为只读之前修改它们。

2023年7月7日:Jia Tan在oss-fuzz构建期间禁用ifunc支持,声称ifunc与地址消毒程序不兼容。这本身可能是无害的,不过这为以后使用ifunc奠定了基础。

2024年1月19日:Jia Tan将网站移至GitHub页面,得以控制XZ Utils网页。Lasse Collin为指向GitHub页面的xz.tukaani.org子域创建了DNS记录。攻击被发现后,Lasse Collin删除了这条DNS记录,回到了他控制的tukaani.org。

2024年2月23日:Jia Tan将隐藏的后门二进制代码合并到一些二进制测试输入文件中。README表明“该目录包含一堆文件,用于测试解码器实现中的.xz、.lzma (LZMA_Alone)和.lz(lzip)文件的处理。对于这类库而言,拥有这些类型的测试文件司空见惯。Jia Tan趁机添加了不会被仔细审查的几个文件。

2024年2月24日:Jia Tan标记并构建v5.6.0,并发布带有额外恶意build-to-host.m4的xz-5.6.0.tar.gz发行版,构建deb/rpm软件包时该文件添加后门。这个m4文件不存在于源代码库中,但打包过程中另外其他合法文件也被添加了,因此它本身并不可疑。但脚本已被改动,添加了后门。

2024年2月24日:Gentoo在5.6.0中开始出现崩溃。这似乎是一个真正的ifunc漏洞,而不是隐藏的后门中的漏洞,因为这是附有Hans Jansen的ifunc更改的第一个xz。

2024年2月28日:Jia Tan在一个用来检查landlock支持的C程序中添加了不易发现的误拼(typo),破坏了配置脚本中的landlock检测。配置脚本尝试构建并运行C程序以检查landlock支持,但由于C程序有语法错误,根本不会构建和运行,脚本会始终认为没有landlock支持。Lasse Collin被标为提交者,他可能未发现这个误拼,因为Jia Tan在他的许多其他更改中没有费心去伪造提交者。这个补丁似乎是为sshd更改之外的操作而精心准备的,因为landlock支持(而不是liblzma)是xz命令的一部分。

2024年3月4日:RedHat发行版开始在liblzma的_get_cpuid(进入后门的入口)中看到Valgrind错误。工作人员开始竭力解决这个问题。

2024年3月5日:libsystemd合并请求被合并,以移除libzma。攻击者在发行版完全杜绝这种方法之前竭力给libzma植入后门;Debian将xz-utils 5.6.0-0.2添加到测试版;Jia Tan提交了两个ifunc错误修正版。这些似乎是对实际ifunc错误的真正修复。一个提交链接到Gentoo bug。

2024年3月8日:Jia Tan提交了所谓的Valgrind修正版。这是一种遮眼术,但很有效。在第二天,Jia Tan又提交了更新后的后门文件。这是实际的Valgrind修正版,更改了含有攻击代码的两个测试文件。Jia Tan还故意作了说明,“原始文件是在我的机器上随机生成的。为了在将来更好地再现这些文件,使用了constant种子来重建这些文件。”

2024年3月9日:Jia Tan标记并构建v5.6.1,并发布xz 5.6.1发行版,含有新的后门。

2024年3月20日:Lasse Collin向LKML发送了补丁集,用他自己和Jia Tan作为内核中xz压缩代码的维护者替换了他的个人邮件。没有任何迹象表明Lasse Collin在这里行为不端,他只是澄清自己是唯一维护者。

2024年3月25日:Hans Jansen回来,提交了Debian bug,将xz-utils更新到5.6.1。就像在2022年的施压活动中一样,出现了更多的name###@mailhost地址以示支持。

2024年3月28日:Jia Tan提交了Ubuntu bug,从Debian将xz-utils更新到5.6.1。就在当天,Andres Freund发现了风险隐患,私下通知Debian和distros@openwall。Debian回退5.6.1,引入了5.6.1+really5.4.5-1。

2024年3月29日:Andres Freund在公开的oss-security@openwall列表上发布后门警告,称他“在过去几周”发现了后门。当天,RedHat宣布发布的Fedora Rawhide和Fedora Linux 40测试版中有植入后门的xz。

2024年3月30日:Debian关闭构建版本,使用Debian稳定版重建构建系统,可能是为了防止恶意软件xz逃离沙箱。

最新文章 第十二版《网络安全企业100强》发布 开源推荐算法为什么并不“可靠”? 虹膜写真风靡年轻人:小心泄露敏感个人信息 国内最大IT社区CSDN被挂马,CDN可能是罪魁祸首? Apache Struts文件上传漏洞 (CVE-2024-53677) 安全风险通告 工信部:关于防范新型勒索病毒Ymir的风险提示 美国报告揭示俄罗斯战略信息攻击:从攻击方法到战略效果 最危险的网络攻击:云勒索软件 个人信息保护合规审计:个人信息删除落地与审计 Forrester:Akamai创新微分段技术引领企业安全升级,实现 152%高ROI Fortinet发布《2025年网络威胁趋势预测报告》 揭秘四大威胁挑战 榜上有名!360入选2024年天津市网络安全应用场景优秀案例 只需一个暗号,即可戳穿语音克隆骗局 写在IDCC2024数字基础设施国际合作大会之前 IETF的运行方式及RFC的形成 《AI时代深度伪造和合成媒体的安全威胁与对策(2024版)》报告发布 UnitedHealth勒索软件攻击事件应吸取的六个备份教训 网络安全产品奥斯卡 2024年度赛可达优秀产品奖(SKD AWARDS) “危“”机“并存,五位网络安全大咖预警2025年安全态势 赋能智算未来,CDCE2024国际数据中心展12月5日上海璀璨开幕 俄罗斯黑客组织渗透和利用巴基斯坦黑客组织服务器案揭秘 国家安全部:警惕开源信息成为泄密源头 “清朗·网络平台算法典型问题治理”专项行动中的排名算法 游戏玩家请注意!Winos4.0木马已“潜伏” 2024 DAMS中国数据智能管理峰会即将在上海举办 WAF气数已尽? 网安巨头Palo Alto全球数千防火墙被攻陷:因开发低级错误造成零日漏洞 数字城市AI安全运营中心签约揭牌,360赋能长三角城市安全新篇章 勒索软件忙招人,2024年网络威胁五大新趋势 360发布全球首份《大模型安全漏洞报告》,曝光近40个大模型相关安全漏洞 值得关注的十二大网络安全风险评估工具及选型指南 俄黑客通过“近邻攻击”远程入侵美国企业WiFi网络 四校签约、六家授牌!360与河南高校再摘网络安全人才培育新果实 Apple多个在野高危漏洞在野利用通告 苹果官方警告:零日漏洞攻击瞄准Mac电脑用户 《密码法》颁布五周年:法治成效、实施难点与未来走向 27天!揭秘身份管理中凭证修复为何如此艰难? 微软“清理门户”,禁止杀毒软件访问Windows内核 云原生环境下的七大网络安全威胁及应对建议 ​透析恶意软件“四大家族”
在线客服
联系方式

热线电话

18556842815

上班时间

周一到周五

公司电话

027-85365976

二维码
线