Java、.NET被评为安全性最低的语言?
据软件测试公司Veracode最新的报告,超过四分之三使用 Java 和 .NET 编写的应用程序至少存在一个以上的 OWASP Top 10 漏洞。OWASP Top 10 是根据开放 Web 应用程序安全项目公开共享的 10 个最关键的 Web 应用程序安全漏洞列表。
Veracode对76万个应用程序的安全性进行分析之后发现,使用Java、.NET编程生态系统的应用程序中,大约有20%的应用程序至少存在一个高严重性或严重性漏洞。
平均每个应用程序每月出现一个及以上安全漏洞的几率超过27%,编写不当的应用程序和不经常扫描的应用程序可能存在更多缺陷。但安全流程历史较长且由训练有素的人编写的应用程序数据显示,开发人员不太可能引入新的缺陷。
Veracode 战略产品管理副总裁 Tim Jarrett 表示,该分析强调了将安全性集成到开发管道中的重要性。
另一方面,应用程序中的缺陷和漏洞却并没有得到快速修复。虽然开发人员和开源项目正在努力修复软件缺陷,但报告结果显示,平均漏洞的半衰期依旧是以“月”为单位,而不是几天或几周。
例如,在占所有样本量71%的Java 和 .NET 应用程序中,分别被发现一半以上的漏洞在243天和158天后,依旧没有完全修复。
【Veracode报告】
应用程序膨胀和老化也对安全性产生了重大的负面影响。平均应用程序积累了大约 40% 的代码,并且更容易出现漏洞。大约 54% 的两年前应用程序存在缺陷,五年的应用程序缺陷率达到69%。
JavaScript 的安全性更高
令人惊讶的是,用 JavaScript 或使用其中一种 JavaScript 框架编写的应用程序出现漏洞的几率更小。某项调查研究显示,大约 80% 的 Java 和 .NET 应用程序存在漏洞,20%存在高危漏洞;而使用 JavaScript 的应用程序只有56%存在漏洞,高危漏洞不到10%。
Veracode 战略产品管理副总裁 Tim Jarrett 表示JavaScript 框架更新、更安全,并且具有开源生态系统的优势。
此外,如果 Java 应用程序中的漏洞是第一方问题——让开发人员解决问题——在 JavaScript 和 Node.js 框架中,漏洞通常是第三方问题,因为漏洞发生在软件所依赖的组件中。
参考来源:
https://www.darkreading.com/threat-intelligence/java-net-developers-frequent-vulnerabilities
相关文章
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性
- JVM 三色标记算法,原来是这么回事!
- 聊聊 Spring 事务控制策略以及 @Transactional 失效问题避坑
- 写给 Java 程序员的前端 Promise 教程
- 写给 Java 程序员的前端 Promise 教程,你学会了吗?
- Java 中为什么不全部使用 Static 方法?
- Java 池化技术你了解多少?
- Java 服务 Docker 容器化优秀实践
- Spring Boot + EasyExcel导入导出,简直太好用了!
- 我们一起聊聊 Java 内存泄漏
- CentOS 下安装 Docker 极简教程
- JDK 19 功能集冻结:Java 19 只有七个新特性
- 关于 CMS 垃圾回收器,你真的懂了吗?
- 为什么会有这么多编程语言?
- 改善Java代码的八个建议
- 接口流量突增,如何做好性能优化?
- Java 以编程方式创建JAR文件
- POJO、Java Bean是如何定义的
- Spring 的 Bean 明明设置了 Scope 为 Prototype,为什么还是只能获取到单例对象?