Home  >  Article  >  Backend Development  >  编程语言产生最多的软件安全漏洞

编程语言产生最多的软件安全漏洞

WBOY
WBOYOriginal
2016-06-23 13:18:38980browse

或许你是一个顶级的开发人员或者是一个顶级程序员,但是你是否知道,程序语言会产生最多的软件安全漏洞。

最近,大量报道的出现,让人们的注意力转移到了Drupal 和WordPress的漏洞上边。许多攻击行为已被归因为黑客在利用WordPress上的漏洞,并且在Drupal上也出现了类似的情况。然而,现在已经发现了罪魁祸首,而且它长期在产生不良影响,那就是PHP语言。

最糟糕的语言

在过去的18个月中,Veracode研究了超过50000个应用程序,这些程序都使用了流行的语言,比如PHP, Classic ASP, .NET, C和C++, Java, JavaScript, iOS, Android, Ruby, ColdFusion, 以及 COBOL。该报告的产生是基于对一些语言的问题的分析。例如,根据报告显示,有86%的软件用PHP编写,至少存在有一个XSS漏洞。

此外,根据报告显示,至少有56%的软件存在一个SQL注入漏洞。对于Classic ASP和ColdFusion用户,SQL注入漏洞的结果更令人担心,因为根据报告显示,有64%的软件使用了这两种语言,所以至少存在一个SQL注入漏洞。根据OWASP的测试结果显示,类似的情况在ColdFusion, PHP, 和 Classic ASP上也有出现。按此情况看,在论及软件安全性的时候,这些语言是最糟糕的语言。

Veracode的创始人和首席技术官Chris Wysopal说,SQL注入攻击一直持续不断的原因就在于类似于PHP语言的使用。这样的语言很难保证程序安全。据他所说,脚本语言导致了最近如此多的XSS漏洞,缓冲溢出以及SQL注入攻击事件的发生,根据Veracode基于云数据分析和应用研究的报告数据,可以轻易证实他的理念。

出现这些问题的原因

产生这些漏洞的主要原因是,这些语言使用的方式,以及例如PHP, Classic ASP 和ColdFusion语言的设计方法。这些语言缺少像.NET and Java的内置功能和安全APIs,这也就是为什么这些脚本语言,会更易导致XSS漏洞,缓冲溢出和SQL注入攻击的出现。

SQL注入攻击在SQL查询没有绑定参数时发生,PHP对于绑定参数根本起不到任何作用,因此使得它更易受到SQL注入攻击。

由于PHP, ColdFusion 和 Classic ASP语言目前主要是由那些刚进入编码领域的网页开发者使用,他们主要关心的是让他们的网站看上去更棒,所以他们没有使用提供安全功能的语言,如.NET和 Java。很多时候,这甚至不是开发人员的错,因为不管他们的公司提供给他们什么平台,他们也必须工作。

移动语言

上文提到的Veracode的报告,还提供了Android和iOS应用程序的研究结果。当你比较它们时,在安全方面没有很大程度的差异。87%的Android程序存在有漏洞,与之相比,情况比较类似,有81%的iOS程序存在漏洞。在这两种语言中,存在如此多的漏洞的主要原因是,没有执行适当的SSL证书检查,以及使用过时的密码加密算法。这样的做法导致了安全漏洞。

结论

ColdFusion, PHP, 和Classic ASP,这三种最糟糕的语言产生最多的软件安全漏洞。这些语言在Veracode的分析报告和OWASP的测试报告中,表现的最差,这说明它们在其他的语言中有最多的安全漏洞。

由于超过70%的内容管理使用了如Drupal, Joomla,和 WordPress系统,这些系统都是基于PHP语言的,这份报告应该公开那些使用了这些内容管理系统和脚本语言的公司。

本文由 360安全播报 翻译,转载请注明“转自360安全播报”,并附上链接。

原文链接:https://www.hackread.com/program-languages-that-generate-most-software-security-bugs/
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn