本文主要是介绍XZ Utils 后门 — 你需要了解的一切以及你可以做什么,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景故事
XZ Utils 及其底层库 liblzma 是实现 lzma 压缩和解压缩的开源项目。它们包含在许多 Linux 发行版中,开箱即用,深受开发人员欢迎,并在整个 Linux 生态系统中得到广泛使用。
大约两年前,一位名叫 Jia Tan 的开发人员加入了该项目,并开始为各种错误修复或改进打开拉取请求。到目前为止,没有什么异常;这就是开源世界的运作方式。最终,在建立信任和信誉后,Jia Tan 开始获得存储库的权限 - 首先是提交权限,最终是发布管理员权限。
似乎为了获得这些权限,Jia Tan 使用了一种有趣的社会工程学形式:他们使用虚假账户发送大量功能请求和有关错误的投诉,以向原始维护者施压,最终导致需要在存储库中添加另一个维护者。
在为代码贡献了大约两年后,2023 年,Jia Tan 对 XZ 进行了一些更改,这些更改包含在 5.6.0 版本中。这些更改中包括一个复杂的后门。
后门
该后门相当复杂。首先,你不会在 xz GitHub 存储库(目前已被禁用,但这不是重点)中找到它。似乎是为了避免被发现,恶意维护者没有将后门的部分内容推送到公共 git 存储库,而是仅将其包含在源代码 tarball 版本中。这导致后门的部分内容保持相对隐蔽,但仍在依赖项目的构建过程中使用。
该后门由多个提交引入的部分组成:
- 在构建过程中使用 IFUNC,恶意软件会利用该 IFUNC 来劫持符号解析函数
- 包括隐藏在测试文件中的模糊共享对象
- 在库的构建过程中运行一组脚本,提取共享对象(不包含在存储库中,仅在发布中,但已添加到.gitignore)
这篇关于XZ Utils 后门 — 你需要了解的一切以及你可以做什么的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!