在当今的市场环境中,除了了解困扰软件的最常见安全问题外,开发人员还应该了解究竟是什么影响了他们正在使用的编程语言用过的。静态代码分析安全公司Veracode最近发布了其年度软件安全状况(SOSS)报告的第11卷,该报告揭示了使用.NET、C++、Java、JavaScript、PHP或Python编写的应用程序中的主要漏洞。安全漏洞类型(基于扫描的130,000个应用程序)。Veracode高级内容营销经理MeghanMcBee表示,“在你坐下来编写代码之前,了解这些应用程序的安全趋势意味着你准备好快速修复它们,甚至完全阻止它们。如果你的选择是C++、PHP、.Net或Java语言,请注意它们容易出现一些风险最高的漏洞。事实上,高达59%的C++应用程序存在非常严重的缺陷,PHP紧随其后。”Veracode发现使用JavaScript编写的应用程序中有31.5%存在至少一个跨站点脚本(XSS)漏洞;74.6%的PHP应用程序至少存在一个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%)。对于Python应用程序,发现的主要问题与加密有关,占35%。值得注意的是,每种语言的应用程序中发现的缺陷严重程度也相差很大。Veracode发现,59%的C++应用程序和52%的PHP应用程序存在严重缺陷。用JavaScript编写的应用程序中只有9.6%存在高严重性缺陷。Java的高危缺陷数据为24%。针对这些数据,Veracode首席研究官ChrisEng分别进行了解读。例如,他指出,C++中常见的缓冲区溢出正在减少,这不是因为开发人员的改进,而是因为C++的流行度下降。另一方面,由于这两种语言日益流行,影响JavaScript和Python的问题正在逐渐增加。Java和.NET在企业中仍然很流行,而PHP仍然是最流行的Web应用程序开发脚本语言之一。Eng认为,PHP代码中存在大量漏洞的主要原因是该语言提供了许多不安全的原语和不正确的处理方法。相比之下,JavaScript和node.js开源库的大型npm生态系统是一个潜在的弱点,尽管在JavaScript应用程序中发现的错误较少。Eng建议工程和产品团队保持更新,以减少打补丁的麻烦和关键应用程序的成本。此外,应用安全公司Snyk此前发表意见称,影响JavaScript、Ruby、Java、PHP和Python的大多数安全漏洞是由项目内部加载的主要组件之间的间接依赖引起的。报告详情可查看:https://www.veracode.com/sites/default/files/pdf/resources/ipapers/security-flaw-heatmap/index.html本文转自OSCHINA本文标题:RustLanguage2020调查报告发布:“Rust太难了,生命周期更难。”本文地址:https://www.oschina.net/news/123780/rust-survey-2020
