
在网络安全领域,最近曝光的后门几乎融入无处不在的 xz Utils(一种在 Linux 和类 Unix 系统中广泛使用的数据压缩工具)中,在技术界引起了轩然大波。这起险情事件可能造成的灾难性后果凸显了开源软件开发中警惕性和透明度的重要性。
xz Utils 是一套开源数据压缩实用程序,专为类 Unix 操作系统(尤其是 Linux)设计。它提供无损压缩,这意味着数据可以在不丢失任何信息的情况下被压缩和解压。
xz Utils 的核心主要围绕 xz 格式,该格式以高压缩率和高效利用系统资源而闻名。它通常用于压缩大型文件或档案,是软件分发、系统备份和数据存储的必备工具。
除了 xz 格式外,xz Utils 还支持其前身旧版 .lzma 格式。这种向后兼容性可确保旧系统和软件仍可与使用 xz Utils 压缩的文件交互。
总的来说,xz Utils 是类 Unix 系统的重要组成部分,提供各种计算任务(如 SSH(安全外壳)服务)所必需的高效可靠的数据压缩功能。
SSH 代表安全外壳 (Secure Shell),是一种加密网络协议,用于在不安全的网络上进行安全通信。它允许用户通过网络(例如互联网)安全地访问和管理远程系统和设备。SSH 为 Telnet 等传统协议提供了一种安全的替代方案,因为传统协议以纯文本形式传输数据,因此容易受到拦截和未经授权的访问。
以下是 SSH 的一些主要特性和功能:
安全的远程访问:SSH 使用户能够安全地登录远程系统并在这些系统上远程执行命令。系统管理员通常使用它来管理服务器和网络设备。
数据加密:SSH 使用加密算法对客户端和服务器之间传输的所有数据(包括用户名、密码和命令)进行加密。这可确保敏感信息保持机密,不会被攻击者截获。
认证:SSH 支持各种身份验证方法,包括基于密码的身份验证、公钥身份验证和键盘交互身份验证。公钥身份验证被认为更安全,通常是自动化流程和无需密码的安全访问的首选。
端口转发:SSH 支持端口转发,允许用户在本地和远程系统之间安全地建立隧道网络连接。此功能对于安全地访问远程系统上运行的服务或绕过防火墙限制非常有用。
安全文件传输:SSH 包括 SCP(安全复制)和 SFTP(SSH 文件传输协议)等实用程序,用于在系统之间进行安全文件传输。这些实用程序加密文件传输并提供身份验证,以确保数据的完整性和机密性。
SSH 是安全访问和管理远程系统的重要工具,提供加密、身份验证和其他安全功能来保护敏感信息并确保网络安全通信。
发现这个后门纯属偶然,是由微软 PostgreSQL 产品开发人员 Andres Freund 发现的。在对 Debian 系统的性能问题进行故障排除时,Freund 注意到 SSH(安全 Shell)登录中的异常行为,最终将问题追溯到 xz Utils 中的恶意更新。
经过仔细检查,我们发现 xz Utils 5.6.0 和 5.6.1 版本包含一个篡改 SSH 可执行文件的后门,可能允许恶意行为者在受感染的系统上执行任意代码。
导致这一事件发生的时间表描绘了一幅令人不安的画面,即有人蓄意渗透到开源项目中。似乎一名被识别为 佳T75 发起了开源项目的细微变革,逐渐在社区内赢得了信誉。这些变革最终导致在 xz Utils 中插入后门,充分利用了开源开发中固有的信任和协作。
2021年:
JiaT75 的初始活动。2021 年,用户名为 JiaT75 的用户首次向开源项目提交了已知提交。libarchive 项目进行了一项显著更改,取代了 safe_fprint 函数的安全性有所降低。当时并未引起人们的注意。
2022年:
xz Utils 简介。JiaT75 通过 xz Utils 邮件列表提交了一个补丁,表明参与了 xz Utils 的开发。不久之后,一位之前未露面的参与者 Jigar Kumar 加入了讨论,表达了对项目维护的不满。
变革压力。Kumar 与 Dennis Ens 等支持者以及其他新加入邮件列表的人一起向 xz Utils 的长期维护者 Lasse Collin 施压,要求他引入更多开发人员来维护该项目。这种压力可能为进一步渗透铺平了道路。
1月2023:
积极参与:JiaT75(现名为 Jia Tan)首次向 xz Utils 提交了项目。在接下来的几个月里,Tan 越来越多地参与 xz Utils 事务,例如在 oss-fuzz(一个用于扫描开源软件漏洞的项目)上将 Collin 的联系信息替换为自己的信息。
二月2024:
后门的实施:Tan 发布了 xz Utils 5.6.0 和 5.6.1 版本的提交,其中包括后门的实施。这些更新最初并没有引起人们的注意,因为后门在软件内秘密运行。
呼吁整合:实施后门后,Tan 及其同伙呼吁主流 Linux 发行版(包括 Ubuntu、Red Hat 和 Debian)的开发人员将更新合并到他们的操作系统中。其中一个更新最终被纳入 Debian 和 Red Hat 发行版的版本中。
Andres Freund 的调查:这个后门是由从事 Microsoft PostgreSQL 产品开发的 Andres Freund 发现的。Freund 注意到 Debian 系统上的 SSH 登录存在异常行为,并将问题追溯到 xz Utils 中的更新。
开源安全列表上的启示:周五,Freund 在开源安全列表上披露了后门的存在,揭露了在 xz Utils 中故意植入后门的行为。
分析和缓解:安全研究人员和开发人员努力分析恶意更新,并开发工具来检测和缓解后门的潜在实例。我们使用了各种工具和方法(包括行为分析和逆向工程)来应对威胁。
该时间表重点介绍了对一个开源项目的逐步渗透和操纵,导致几乎成功地在广泛使用的软件实用程序中实施后门,强调了在软件开发和维护过程中保持警惕和审查的重要性。
该后门的复杂性在于它能够逃避检测并精确执行恶意负载。通过 xz Utils 操纵 SSH 可执行文件,攻击者可能会破坏敏感系统并窃取关键数据。
发现这一漏洞后,网络安全社区团结起来,评估并缓解后门带来的威胁。以下工具 二进制 和 西泽机器人 已经出现以帮助检测和分析后门的潜在实例。
Valgrind 是一款用于监控计算机内存的实用程序,它在发现 xz Utils 中的恶意更新方面发挥了至关重要的作用。通过识别 CPU 使用率和内存操作中的异常,开发人员能够查明问题的根源并防止大规模利用。Valgrind 是一个开源编程工具套件,专为调试和分析应用程序而设计。它提供了一系列工具,可帮助开发人员识别内存泄漏、检测内存错误、分析内存使用情况以及分析程序执行情况。Valgrind 的一些主要功能和组件:
内存错误检测:Valgrind 包含诸如 Memcheck 之类的工具,它可以检测程序中与内存相关的各种错误,包括内存泄漏、无效内存访问(例如读取或写入未初始化的内存)以及动态内存分配的管理不善(例如,释放已经释放的内存)。
线程错误检测:Valgrind 的 ThreadSanitizer (TSan) 工具可检测多线程程序中的数据争用和其他线程错误。它有助于识别可能导致不可预测的行为和难以调试的问题的并发错误。
剖析:Valgrind 提供 Callgrind 和 Cachegrind 等分析工具,这些工具可通过测量函数调用频率、缓存使用情况和执行时间来帮助分析程序性能。这些工具可帮助开发人员识别瓶颈并优化其应用程序的性能。
程序执行分析:Valgrind 的工具还可以在指令级别跟踪程序的执行情况,让开发人员能够详细分析程序行为。这对于了解程序流程、识别性能瓶颈和诊断难以发现的错误非常有用。
平台支援:Valgrind 主要用于类 Unix 操作系统,包括 Linux、macOS 和 BSD 变体。它支持多种编程语言和编译器,包括 C、C++ 和 Fortran,并且可以集成到各种开发环境和构建系统中。
xz Utils 中后门的发现在供应商领域引起了强烈反响,引起了软件供应商的极大关注和积极措施。鉴于 xz Utils 被广泛集成到各种 Linux 发行版中,后门渗透的潜在影响是深远的。供应商现在的任务是重新评估他们的软件供应链,仔细检查依赖关系,并加强他们的开发和分发渠道以抵御类似威胁。这一事件凸显了透明度、代码审查流程和安全审计在开源软件开发中的重要性。此外,它还提醒我们,软件社区需要持续保持警惕和协作,以防止恶意行为者试图利用广泛使用的软件组件中的漏洞。供应商现在面临的挑战是恢复用户之间的信任,实施严格的安全协议,并培养问责文化,以减轻此类漏洞在未来带来的风险。
RELIANOID 负载均衡器 我们已经提供了更新,并且我们的解决方案中后门未受到影响。 联系专家 获取更多信息。
享受站点可靠性体验!
