在IT开发圈子里,常常会有哪种编程语言最好/哪种最差的一些争论。在这种争论中,安全性往往是决定大家支持一种语言、不信任另一种语言的一个因素。那么,到底哪种语言最安全,哪种最不安全呢?
近日,国外一家开源软件服务公司WhiteSource发布了一份关于开源软件安全性的报告。报告中的数据及信息来源于WhiteSource的综合数据库,该数据库收集的开源漏洞信息来自于美国国家漏洞数据库(NVD)、安全、GitHub问题器以及目前比较流行的开源项目的问题器等等。
该数据库中涵盖了200多种语言,研究员在分析过程中,重点关注了过去十年内使用最广泛的7种语言中的开安全漏洞,以找出哪种编程语言最安全,每种语言中,哪种漏洞类型(CWE)最常见,以及原因。
· C中的漏洞,占报告的所有开源安全漏洞的50%。这种情况可以解释:C的历史最悠久,拥有最高的编写代码量,而且是我们使用的所有基础架构的基础。
· 大多数编程语言中最常见的CWE是跨站点脚本(XSS);输入验证;权限、和访问控制;以及信息泄露/披露。
· 自动化工具的使用和有捉虫计划(Bug Bounty Program)的趋势已经改变了现状,导致2017年报告的漏洞显著增加。
· 虽然在过去两年中,我们看到报告的安全漏洞数量激增,但在大多数语言中,高严重性漏洞的数量已经减少。
研究人员在报告中特别指出,我们应该考虑两个因素来评估这些项目。尽管从研究结果来看,有些人可能错误地认为C语言天生就更不安全,但事实并非如此。梦到房子着火
对于初学者来说,编写的C语言代码比任何其他语言都多,产生的漏洞提也更多。事实上,C语言的使用时间比大多数其他语言都要长得多,并且是我们使用的大多数产品和平台的核心。因此,它肯定比其他语言有更多已知的漏洞。
报告中还表示,在过去10年里,每种编程语言中发现的开源漏洞数量显著增加,2017年更是大幅增加。这在一定程度上是由于开源的流行,以及对开源组件中的安全漏洞的意识增强,这促使了开发人员去发现并报告更多的问题。
网友评论 ()条 查看