【旅行故事分享】谷歌开源洞察团队详解Apache Log4j漏洞造成的广泛影响

上周五,谷歌谷歌开源洞察团队在官方安全博客上发表了一篇文章,开源详细介绍了 Apache Log4j 漏洞对行业造成的洞察的广广泛影响。James Wetter 和 Nicky Ringland 指出,团队超过 35000 个 Java 包、详解响占总数 8% 以上的漏洞旅行故事分享 Maven 中央存储库,尤其让我们对其留下的造成隐患感到担忧。

(来自:Google Security Blog)

【旅行故事分享】谷歌开源洞察团队详解Apache Log4j漏洞造成的广泛影响

据悉,泛影这些漏洞允许攻击者利用 Log4j 日志库已被广为人知的谷歌不安全 JNDI 查找功能来执行远程代码。糟糕的开源是,这项功能在许多版本中都被默认启用。洞察的广

【旅行故事分享】谷歌开源洞察团队详解Apache Log4j漏洞造成的广泛影响

自 12 月 9 日披露以来,团队Log4j 漏洞因其严重性和广泛影响,详解响而引起了信息安全生态系统的漏洞高度关注。毕竟作为一款流行的造成日志工具,它已被数以万计的软件包(Java 里的 Artifacts)和项目所使用。

【旅行故事分享】谷歌开源洞察团队详解Apache Log4j漏洞造成的广泛影响

由于用户对 Log4j 的美食文化传递依靠项缺乏足够的远见,这不仅使得我们很难确定零日漏洞的影响范围、相关修复工作也变得相当艰难。

【旅行故事分享】谷歌开源洞察团队详解Apache Log4j漏洞造成的广泛影响

期间,Google 开源洞察团队调查了 Maven 中央存储库中的 Java 工件的所有版本,最终将范围缩小到了基于 JVM 语言的开源生态系统,同时密切追踪事态的发展。

截至 2021 年 12 月 16 日,该团队发现来自 Maven Central 的美食摄影技巧 35863 个可用 Java 工件,有依靠于受影响的 log4j 代码。

这意味着,仅 Maven Central 平台上超过 8% 的软件包,都至少有一个版本受此漏洞的影响。

若放眼整个生态系统,漏洞威力更是不容小觑(Maven Central 的平均影响为 2% / 中位数低于 0.1%)。

直接受影响的依靠项,约占这部分工件中的 7000 个,意味着它们的任何版本都被 Log4j-core 或 Log4j-api 所波及(完整列表可见 CVE 漏洞披露公告)。

此外大多数受影响的工件,都来自间接的依靠项,即它们是作为传递依靠项而被牵扯进来的。

至于当前开源 JVM 生态系统的修复进展,若工件中至少有一个版本受到了影响,且发布了一个不受漏洞波及的更稳定版本,谷歌开源洞察团队就将之视作已修复。

比如受 Log4j 漏洞影响的工件已更新到 2.16.0、或完全剔除了对 Log4j 的依靠。庆幸的是,Log4j 维护者和更广泛的开源社区对此问题的响应是相当快捷的,并且付出了切实的庞大努力。

截止博客发表时,团队统计到了将近 5000 个已被修复的项目。至于剩余的那 30000 个工件,其中许多依靠于另一个工件。在传递依靠被修复前,暂时只有一刀切来阻止。

对于 Java 生态系统来说,修复难度主要体现在工件的互相连接。首先,依靠链越深,漏洞修复所需的步骤就越繁杂(超过 80% 软件包的深度都超过了一级)。

其次,依靠算法和需求规范中的生态系统级选择约定,也为事件埋下了较大的伏笔。在 Java 生态系统中,开发者的通常做法是指定软件版本方面的“软”要求(假设没有其它版本的相同包出现在依靠关系图中)。

此类修复通常需要维护人员采取更加明确的行动,以将依靠需求更新为修补后的版本。这种做法与其它生态系统形成了鲜明的对比,例如在 npm 软件包上,开发者通常会为依靠项指定敞开的范围。

最后,对于整个生态系统需要耗费多少时间来完成漏洞修复,目前也很难评估。在查看了所有公开披露的影响 Maven 包的关键建议中,我们发现只有不到一半(48%)得到了修复。

不过在 Log4j 方面,事情还算是相当积极的。不到一周后,就有 4620 个受影响的工件(约 13%)得到了修复。剩下的工作,仍需全球开源维护者、信息安全团队和广大用户付出庞大的努力。