编程语言产生最多的软件安全漏洞
最近,大量报道的出现,让人们的注意力转移到了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/