Bendi新闻
>
XZ恶意代码潜伏三年,差点引发核末日?后门投毒黑客身份成谜

XZ恶意代码潜伏三年,差点引发核末日?后门投毒黑客身份成谜



  新智元报道  

编辑:好困 Aeneas
【新智元导读】这个周末,开源软件xz后门事件,直接引发了安全界地震!一段恶意代码被悄悄植入了,险些波及各大Linux系统。好在,或许是因为攻击者疏忽了,目前并未造成严重后果。但如果后门没被及时发现 ,结果将是灾难性的……

整个周末,开源软件xz被植入后门事件,引发了安全界的轩然大波。

研究人员惊恐地发现,在包括Red Hat和Debian在内的多个广泛使用的Linux版本中,一款压缩工具被悄悄植入了恶意代码!

微软的安全研究员Andres Freund首次报告了这件事。

他发现,在这款名为xz Utils的工具的5.6.0和5.6.1版本中,都含有恶意代码。

而且,这段恶意代码极其复杂难解。

扒着扒着人们发现,这段代码是由一位名为Jia Tan的用户(JiaT75),通过四次代码变更(也即在GitHub上「提交」)的方式,植入到了Tukaani项目中。

这样,攻击者即使没有有效账号,也可以直接从SSHD访问系统了。

(SSHD是一个关键的二进制文件,负责SSH连接的工作。)

目前,GitHub已经禁用XZ Utils代码库,且还未收到漏洞被利用的报告

好在,这个后门已经及时被发现了。目前GitHub已经以违反服务条款为由,禁用了Tukaani项目维护的XZ Utils代码库。

然而可怕的是,如果这个后门的漏洞很巧妙,技术很高超,那么xz被广泛引入各Linux发行版后,这些Linux系统就会轻易被入侵!

这件事情可能导致的可怕后果,让安全社区对此掀起了经久不息的讨论。

一场灾难被避免了


好在证据显示,这些软件包只存在于Fedora 41和Fedora Rawhide中,并不影响Red Hat Enterprise Linux (RHEL)、Debian Stable、Amazon Linux以及SUSE Linux Enterprise和Leap等主流Linux版本。

但Red Hat和Debian已经报告称,最近发布的测试版中的确使用了这些被植入后门的版本,特别是在Fedora Rawhide和Debian的测试、不稳定及实验版本中。

同样,Arch Linux的一个稳定版本也受到了影响,不过,该版本也并未应用于实际生产系统中。

另外还有一些读者报告称,macOS的HomeBrew包管理器中包含的多个应用,都依赖于被植入后门的5.6.1版本xz Utils。目前,HomeBrew已经将该工具回滚至5.4.6版本。

安全公司Analygence的高级漏洞分析师Will Dormann表示,「这个问题实际上并没有对现实世界造成影响」。

但这主要是因为恶意行为者疏忽了,导致问题被发现的时机很早。就如同上文所提,如果后门没被及时发现,后果将是灾难性的。

Jia Tan是谁?


既然事情解决了,那么问题的焦点就集中在了——Jia Tan究竟是谁?

这位Jia Tan,是xz Utils项目的两位主要开发者之一,对该项目贡献良多。

Freund其报告中指出,「考虑到这几周内的活动情况,这位提交者要么是直接涉及,要么其系统遭受了严重的安全威胁。」

不幸的是,种种迹象表明,后一种可能性似乎并不大。

所以,这次xz被植入后门事件,很可能就是Jia Tan的主观恶意行为。

上周四,有人冒用了这位开发者的名字,在Ubuntu的开发者社区中请求将含后门的5.6.1版本纳入正式发布,理由是它修复了一个导致Valgrind工具出错的问题。

还有人发现,近几周这位开发者也向他们提出了类似的请求,希望在Fedora 40的测试版本中使用这个带有后门的工具版本。

「我们甚至还帮助他解决了Valgrind的问题(而现在看来,这个问题正是由他加入的后门引起的),」Ubuntu的维护人员说。

「他已经在xz项目中工作了两年,添加了各种各样的测试文件,鉴于这种复杂的操作,我们对xz的早期版本也持怀疑态度,直到后来,它们被证明是安全的。」

后门技术分析


简单来说,CVE-2024-3094引入的这个后门,是为了在受害者的OpenSSH服务器(SSHD)中注入恶意代码,从而让远程攻击者(持有特定私钥)能够通过SSH发送任意代码,并在认证步骤之前执行,进而有效控制受害者的整台机器。

尽管具体的内容仍在分析当中,但初步分析表明,它的设计相当复杂:

  • 后门代码被注入到OpenSSH服务器(sshd进程),因为liblzma(含有恶意代码)是某些OpenSSH版本的依赖项。

  • 后门劫持了RSA_public_decrypt函数,这个函数原本用于验证RSA签名。

  • 恶意代码会检查RSA结构中传入的公共模数(「N」值),这个模数完全受到攻击者控制。

  • 恶意代码使用硬编码的密钥(采用ChaCha20对称加密算法)对「N」值进行解密。

  • 解密后的数据通过Ed448椭圆曲线签名算法进行有效性验证。由于这是一种非对称签名算法,后门只包含了公钥,这意味着只有攻击者能够为后门生成有效载荷。此外,这个签名与主机的公钥绑定,因此一个主机上的有效签名不能在其他主机上使用。

  • 如果数据有效,该有效载荷将以shell命令的形式被执行。

  • 如果数据无效(有效载荷格式不正确或签名无效),则会透明地恢复到RSA_public_decrypt的原始实现。这意味着,除了攻击者之外,是无法通过网络发现易受攻击的机器的。

「卧薪尝胆」三年

这次最令人印象深刻的,是攻击者超乎寻常的耐心和决心。

攻击者花费了两年多的时间,通过参与各种开源软件项目并提交代码,逐步建立起作为一个可信任维护者的形象,以此来避免被发现。

2021年,一个名为Jia Tan(GitHub用户名:JiaT75)的用户创建了GitHub账户,并开始为多个项目做出贡献。

在那一年,Jia Tan共提交了546次代码,其中对libarchive项目的一次提交尤其引起了人们的关注。

2022年2月6日,Jia Tan在XZ项目中做出了他的第一次正式提交,这次提交增加了对LZMA和LZMA2编码器的参数验证功能。

2023年6月27日至28日,Jia Tan对XZ Utils项目进行了一系列关键的更改,从而为后续的攻击做好了准备。

特别是,项目中的一个文件crc64_fast.c,新增了对一种名为ifunc的技术的支持。

根据安全研究员Andres Freund的分析,引入的这种ifunc技术可能是潜在后门功能的一部分,显示了攻击者可能利用的一种手段。

此外,值得注意的是,这个重要更新是由项目的原始维护人Lasse Collin引入的,并且他特别提到了另一位贡献者Hans Jansen对这一更新的贡献。

2023年7月8日,JiaT75在oss-fuzz项目中提交了一个请求,该项目负责对XZ等多个开源软件项目进行自动错误检测。这个请求实际上关闭了一种特定的错误检测方式,从而防止oss-fuzz发现XZ项目中潜藏的恶意代码。

2024年2月15日,JiaT75通过修改XZ项目的配置文件,加入了一个规则来忽略特定的脚本文件build-to-host.m4。

很快,这个脚本就被包含在了项目的正式发布版本中——它会在构建过程中执行,并植入一段负责在受害者电脑上安装后门的恶意代码。

2024年2月23日,JiaT75在XZ项目的测试文件夹中加入了两个含有隐藏后门的测试文件。

2024年2月24日,JiaT75发布了包含恶意脚本文件的新版本5.6.0,也就是说任何使用了这个版本及以后版本的XZ都存在安全风险。

2024年2月27日,这个带有安全隐患的版本被Fedora采纳。

2024年3月9日,JiaT75更新了后门程序,发布了版本5.6.1,Fedora同样更新了这个版本。

2024年3月29日,安全研究员Andres Freund在oss-security邮件列表上公布了他对XZ项目中发现的恶意行为的详细分析。

还有更多受害者


虽然恶意代码仅在XZ项目中被检测到,但攻击者账户的其他代码贡献目前也在调查中。

截至今日,一些项目已经被发现添加了可疑代码:

libarchive

2021年,JiaT75向libarchive代码库提交了一个名为「在使用bsdtar解压时添加错误提示文本」的合并请求,乍看之下似乎没什么问题。

但仔细一看,这个合并请求中的代码把原本安全的函数safe_fprintf()换成了更危险的fprintf()函数,这一改动可能会导致字符逃逸的安全漏洞。

oss-fuzz

2023年初,JiaT75把XZ项目在Google的oss-fuzz工具上注册的主邮箱改为了他个人的Gmail邮箱。

这一行为似乎暗示,他们想要第一时间接收到XZ项目中发现的漏洞报告,以此来及时知晓自己的恶意操作被揭露的情况。

2023年末,他们提交了一个新的合并请求(Pull Request),目的是在XZ项目的fuzzer配置中禁用「间接函数支持(Indirect function support)」。

这一操作似乎可以防止被fuzzer探测到,从而为在XZ项目中植入的后门做好铺垫。

参考资料:
https://arstechnica.com/security/2024/03/backdoor-found-in-widely-used-linux-utility-breaks-encrypted-ssh-connections/
https://jfrog.com/blog/xz-backdoor-attack-cve-2024-3094-all-you-need-to-know/
https://mastodon.social/@AndresFreundTec/112180083704606941




微信扫码关注该文公众号作者

来源:新智元

相关新闻

xz活跃维护者“潜伏”三年——添加恶意代码、植入SSH后门美国降息时点成谜?中国经济前景如何?瑞银首席拨开迷雾邻居直播北卡警匪枪战,4名警察中弹身亡,第二名枪手身份成谜川普集会枪手动机成谜 拜登也是其目标之一?谜一样的存在!芝加哥“鼠洞”成新晋网红地标,大批量游客打卡朝拜?!20岁枪手"家藏十几把枪"!袭川普动机成谜,叔叔怒:不可原谅川普遇刺时间线披露!川普称“感到子弹撕裂皮肤”;FBI公布最新进展,枪手如何到现场成谜软银宣布收购Graphcore,价格成谜全澳禽流感爆发范围再扩大!又一地检出病毒,病毒来源仍成谜康奈尔华裔学生射杀父亲后被判无罪!两年后案情反转,真相至今成谜......澳洲5岁男孩睡梦中突然死亡!死因成谜,家人悲痛欲绝:之前没有生病或受伤方法若已加密,论文复现就像猜谜?小米辟谣,恒大汽车「白衣骑士」成谜,前途依旧难卜20岁新加坡女留学生坠亡,事件背后疑云密布,自杀原因成谜安省2岁娃惨死在daycare!化粪池里被发现,死亡过程成谜!当地民众愤怒!11具尸体度假时被发现:美国旅者的悲惨假期,有人至今死因成谜美国旅行者的悲剧:11人客死异乡,有的死因至今成谜11人的尸体在度假时被发现:美国旅行者的悲惨假期,有人至今死因成谜华男获刑35年!当街杀害华人,动机成谜!警:他认识受害者未婚妻离奇|20岁中国女留学生陈尸名校外停车场:来自上海, 死因成谜!使馆发提醒!离奇!20岁中国女留学生陈尸名校外停车场:来自上海, 死因成谜!使馆发提醒!负债200多亿,创始人行踪成谜,家人被曝已迁居美国心疼她!20岁中国女留学生命丧停车场,死因成谜,生前那么优秀...中国女留学生丧命停车场!来自上海,年仅20岁!死因成谜!
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。