Java是最容易出现第三方漏洞的语言

  云应用监控和安全平台 Datadog 发布了一份最新的 “2024 年 DevSecOps 状况” 报告称,通过分析以各种编程语言编写的一系列应用程序的安全状况发现,Java 服务受第三方漏洞的影响最大。

  90% 的 Java 服务容易受到第三方库引入的一个或多个严重或高严重性漏洞的影响。而其他编程语言如 JavaScript 的这一比例约为 75%、Python 的为 64%、.NET 为 50%,平均数则为 47%。

  且 Java 服务也更有可能被积极利用。 报告发现在 CISA 公布的一份被威胁者利用的漏洞运行列表,即已知漏洞利用(KEV)目录中,Java 服务所占比例过高:55% 的 Java 服务受到影响,而使用其他语言构建的服务只有 7%。

  即使在关注特定类别的漏洞时,这种比例过高的模式也仍然存在。例如,23% 的 Java 服务容易受到远程代码执行 (RCE) 的攻击,影响了 42% 的组织。Datadog 认为,这一高比例可能是由于流行的 Java 库中存在许多普遍存在的漏洞,例如 Tomcat、Spring Framework、Apache Struts、Log4j 和 ActiveMQ。

  “当我们检查这些漏洞通常起源于何处时,这一假设得到了加强。在 Java 中,63% 的高危漏洞源自间接依赖项,即间接与应用程序打包在一起的第三方库。这些漏洞通常更难识别,因为它们出现的附加库通常会在不知不觉中引入到应用程序中。”

  鉴于此,报告建议开发人员在扫描应用程序漏洞时需要考虑完整的依赖关系树,而不仅仅是直接依赖关系。了解添加到应用程序中的任何新依赖项是否维护良好并经常升级其自身的依赖项也很重要。

  报告的一些其他主要发现还包括:

  • 虽然来自自动安全扫描器的攻击代表了最大数量的利用尝试,但其中绝大多数攻击是无害的。在发现来自此类扫描程序的数千万个恶意请求中,只有 0.0065% 成功触发了漏洞。
  • 即使短期凭证更实用、更安全,但仍有许多组织在其 CI/CD 管道中继续依赖长期凭证(这是造成数据泄露的最常见原因之一),。 63% 的人至少使用过一次长期凭证来验证 GitHub Actions pipelines。

  更多详情可查看完整报告