当前位置: 首页 > 后端技术 > Java

ApacheLog4j漏洞有多大?Google问卷调查结束了!

时间:2023-04-01 15:17:12 Java

文|导演\制作|OSC开源社区(ID:oschina2013)来自GoogleOpenSourceInsightsTeam的安全研究人员调查了MavenCentral中所有包的所有版本,以更好地了解最近暴露的Log4j漏洞对整个JVM语言生态系统的影响,同时也跟踪正在进行的缓解工作受影响的包裹。研究人员发现,截至2021年12月16日,MavenCentral提供的35,863个包依赖于易受攻击的log4j代码。这意味着MavenCentral上超过8%的包至少有一个版本受到漏洞影响(这个数字不包括所有Java包,例如直接分发的二进制文件)8%在生态系统影响方面是一个相当大的数字。因为对MavenCentral生态的影响平均值为2%,中位数小于0.1%。正如记录该漏洞的CVE中所指出的,大部分受影响的包都来自间接依赖(即自身依赖的依赖),即它们没有明确定义log4j为依赖,而是作为传递依赖被拉进来.这就是为什么在整个JVM生态系统中修复此漏洞极其困难的原因。安全研究人员表示,在撰写本文时,只有近5000个受影响的软件包得到修复,还有30,000多个软件包受到该漏洞的影响。简单地说,漏洞在依赖链中嵌套得越深,修复它所需的步骤就越多。下图显示了受影响的log4j包(核心或api)首次出现在依赖图中的深度的直方图。对于超过80%的软件包,漏洞的深度超过一级,其中大多数受影响的软件包下降了5级(有些甚至下降了9级)。这些包将需要在依赖关系树的所有部分进行修复,首先从最深的依赖关系开始。修复错误的另一个困难来自需求规范合同中解析算法和生态系统级别的选择。在Java生态系统中,开发人员通常的做法是根据软件版本指定“软”要求——解析算法使用指定的显式版本,假设同一包的其他版本没有出现在依赖图中。此类修复通常需要维护者采取更明确的操作来更新补丁版本的依赖性要求。这种方法与其他生态系统形成鲜明对比,例如npm包,其中开发人员通常为依赖项指定开放范围。开放范围允许解析算法选择满足依赖性要求的最近发布的版本,从而引入新的修复。最后,目前很难评估整个生态系统需要多少时间来完成错误修复。查看所有公开披露的受影响的Maven包,安全研究人员发现只有不到一半(48%)已得到修复。参考:https://security.googleblog.c...近期热点文章推荐:1.1000+Java面试题及答案(2021最新版)2.厉害了!Java协程来了。..3.玩大!Log4j2.x再次爆发。..4、SpringBoot2.6正式发布,一大波新特性。.5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!