Java、.NET 开发人员容易出现更频繁的漏洞

Java、.NET 开发人员容易出现更频繁的漏洞

源节点: 1901108

超过四分之三的用 Java 和 .NET 编写的应用程序至少存在 OWASP Top 10 中的一个漏洞,这是一份软件弱点列表,开发人员通常将其用作应用程序安全的基准。

这是根据软件测试公司 Veracode 的说法,该公司在对近 760,000 个应用程序的分析中发现,使用这两个编程生态系统的大约五分之一的应用程序至少存在一个高严重性或严重性漏洞。

总体而言,平均每个应用程序每月至少有 27% 的机会引入一个漏洞,编写不当的应用程序和不经常扫描的应用程序可能存在更多缺陷,而安全流程历史较长且由训练有素的人编写的应用程序数据显示,开发人员不太可能引入新的缺陷。

Veracode 战略产品管理副总裁 Tim Jarrett 表示,该分析强调了将安全性集成到开发管道中的重要性。

“数据一致表明,如果你在你的流程中养成安全习惯,你会有更好的结果,无论是在修复整体缺陷方面,还是......你也减缓了涌入的东西,这会产生很大的不同, “ 他说。

与此同时,软件公司和开发团队继续努力消除应用程序代码中的缺陷和漏洞。 虽然开发人员和开源项目 更快地修复软件缺陷,根据 Veracode 于 11 月 XNUMX 日发布的“软件安全状况”报告,平均漏洞的半衰期继续以月为单位,而不是几天或几周。 

例如,占研究分析的应用程序总数 71% 的 Java 和 .NET 应用程序发现一半的缺陷在 243 天和 158 天后仍然影响应用程序。

按编程语言划分的漏洞半衰期

资料来源:Veracode 的“软件安全状况”报告

应用程序膨胀和老化都对其安全性产生了重大的负面影响。 平均应用程序积累了大约 40% 的代码,并且更容易出现漏洞。 大约 54% 的两年前应用程序存在缺陷,而 69% 的五年前应用程序存在缺陷, 分析发现.

JavaScript 惊人的安全性

令人惊讶的是,用 JavaScript 或使用其中一种 JavaScript 框架编写的应用程序往往在漏洞扫描中表现更好。 虽然大约 80% 的 Java 和 .NET 应用程序存在漏洞,但只有 56% 的 JavaScript 应用程序存在漏洞。 虽然大约 20% 的 Java 和 .NET 应用程序存在高危漏洞,但只有不到 10% 的 JavaScript 应用程序存在。

Jarret 说,JavaScript 框架更新、更安全,并且具有开源生态系统的优势,而 Java 只是最近才从中受益。

“JavaScript 是一种较新的语言,因此用它编写的应用程序 [是] 较新的,并且我们在以前的报告中已经建立了应用程序年龄和缺陷修复时间之间的相关性,”他说。 “许多用于 JavaScript 的工具 [是] 成熟的,它是一种受到良好支持的语言。”

此外,如果 Java 应用程序中的漏洞是第一方问题——让开发人员解决问题——在 JavaScript 和 Node.js 框架中,漏洞通常是第三方问题,因为漏洞发生在组件中软件所依赖的。

“解决 Java 应用程序中的安全问题的方法在很大程度上仍然是对类文件进行更改并编译它,”他说。 “在 JavaScript 应用程序中,更多的是包管理问题。 对于开发人员来说,这是另一回事,可能更容易学习。”

新的编程语言萎靡不振

该报告的数据还强调了开发人员正在学习的编程语言与大多数企业实际使用的编程语言之间的差异。 Veracode 所见的顶级语言和生态系统——Java、.NET 和 JavaScript——并不是开发人员对编程技术的选择。

虽然 JavaScript 和基于 JS 的框架(如 Node.js、React.js 和 Angular)在开发人员首选技术列表中占据主导地位,但 Java 是最不受欢迎的编程语言之一,54% 的受访者害怕这种语言,相比之下根据 Stack Overflow 的数据,46% 的人喜欢它 2022年开发商调查

然而,Java 主导了 Veracode 客户端扫描的应用程序份额 (44%),而 JavaScript 为 14%。 

此外,最受喜爱的编程语言 Rust 甚至没有出现在 Veracode 的数据中,而开发者排名第 6 的 Python 仅占扫描应用程序的不到 4%。

Veracode 的 Jarrett 说,断开连接的部分原因是已建立的应用程序是用已建立的编程语言编写的。

“你拥有所有代码的完整宇宙,然后你在新开发浪潮的顶峰上看到泡沫正在发生,这就是你看到人们选择 Go、Rust 和 Dart 的地方和 Flutter,”他说。

由于使用这些语言编写的应用程序的聚合代码库,这种情况可能不会改变。

“不幸的是,旧的应用程序永远不会消亡,因此在拥有这些大型 Java 代码库和 .NET 代码库的企业中存在大量临界质量,”他说。

时间戳记:

更多来自 暗读