编程语言安全漏洞:C++、PHP、Java、Python、.Net 和 JavaScript
番茄系统家园 · 2022-05-27 01:34:37
在当下的市场环境中,除了掌握困扰软件的最常见安全问题外,开发人员还应该了解到底是什么问题在影响他们正在使用的编程语言。静态代码分析安全公司Veracode最近发布了一份年度软件安全状态(SOSS)报告,其中的第 11 卷则揭示了用 .NET、C++、Java、JavaScript、PHP 或Python编写的应用程序中所存在的主要安全漏洞类型(基于扫描的 13 万个应用程序)。
Veracode 的高级内容营销经理 MeghanMcBee称,“在你坐下来编写代码之前,了解这些应用程序的安全趋势意味着你准备好快速修复它们,或者甚至是完全阻止它们。如果你选择的是C++、PHP、.Net 或Java 语言,请注意,它们很容易出现一些风险最高的漏洞。实际上,高达 59% 的 C++ 应用具有严重程度非常高的缺陷,PHP则紧随其后。”

Veracode 发现,用 JavaScript 编写的应用中,有 31.5% 的应用至少存在一个跨站脚本(XSS)缺陷;用 PHP编写的应用中,有74.6% 的应用至少存在一个 XSS 缺陷。此外,还有 71% 的 PHP 应用存在加密问题。
用 .NET 编写的应用程序中存在的主要问题是信息泄露,占比62.8%;其他还包括有代码质量(53.6%)、输入验证不足(48.8%)等。C++的问题有:错误处理(66.5%)、缓冲区管理错误(46.8%)、数值错误(45.8%)、目录遍历等。
Java 的问题包括:CRLF 注入(64.4%)、代码质量(54.3%)以及信息泄露(51.9%)等。而对于Pythonapps,其中发现的主要问题则与加密有关,占比 35%。
值得注意的是,在每种语言的应用程序中发现的缺陷的严重性也有很大的区别。Veracode 发现,有 59% 用 C++ 编写的应用程序和 52% 用PHP编写的应用程序存在高严重性缺陷。用 JavaScript 编写的应用程序中,只有 9.6% 存在高严重性缺陷。Java 的高严重性缺陷数据则为24%。
针对这些数据,Veracode 首席研究官 Chris Eng分别作出了解读。他指出,例如,C++中常见的缓冲区溢出问题出现了下降的趋势,这并不是因为开发者的进步,而是在于 C++的流行度的下降。另一方面,受语言流行度上升的影响,影响 JavaScript和 Python 的问题则正在一点点爬升。
Java 和 .NET 在企业中仍然很受欢迎,PHP 也仍然是 Web 应用开发中最受欢迎的脚本语言之一。Eng认为,PHP代码中的漏洞较多的原因主要在于,该语言提供了很多不安全的 primitives 和错误地处理方法 。
而相较之下,尽管 JavaScript 应用中发现的缺陷较少,但 JavaScript 和 node.js 开源库的庞大npm生态系统仍是其一个潜在的弱点。Eng 建议工程和产品团队保持更新,以降低打补丁的麻烦程度和关键应用的成本。
此外,应用程序安全公司 Snyk 此前则发表观点称,影响 JavaScript、Ruby、Java、PHP 和Python的大多数安全漏洞是由于项目内部加载的主要组件之间的间接依赖性引起的。
报告详情可查看:https://www.veracode.com/sites/default/files/pdf/resources/ipapers/security-flaw-heatmap/index.html
本文转自OSCHINA
本文标题:Rust 语言 2020 调查报告发布:“Rust 太难,生命周期更难”
本文地址:https://www.oschina.net/news/123780/rust-survey-2020
免责声明: 凡标注转载/编译字样内容并非本站原创,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如果你觉得本文好,欢迎推荐给朋友阅读;本文链接: https://m.nndssk.com/dngz/332839pZpTPe.html。
