在众多编程语言中,你可知哪种语言的安全性更高,安全漏洞最少?

程序员 专栏收录该内容
154 篇文章 0 订阅

编程语言之争,一直以来是开发者社区的热议问题,因为开发者喜欢证明自己所使用的编程语言占据主导地位,尤其是安全性,只不过讨论的过程往往都伴随着双方的愤怒,最后不了了之。那么,你可知在众多热门编程语言中,哪个安全性更高?

为此,开源安全公司 WhiteSource 针对七种热门编程语言的安全性做了一份报告,汇总了多个来源的开源漏洞信息,其中包括国家漏洞数据库(NVD)、安全公告、GitHub问题追踪器(Issue Tracker)和流行开源项目问题追踪器。

WhiteSource 根据开源社区过去几年间使用的流行语言,确认出C,Java,JavaScript,Python,Ruby,PHP 和 C ++这七种比较热门的编程语言,并在这些语言的基础上,搜索数据库查看了过去十年中每种语言中已知开源安全漏洞的数量、随时间推移这些安全漏洞发生的变化、以及各语言最常见的 CWE(通用缺陷列表)。

                            

正如上图所示,很明显居首位的是C语言,占到了近一半的比例。不过,这并不能说明C语言的安全性远低于其他热门语言,如此高的占比主要有以下几个原因可以解释:一是,C语言的使用时间在调查语言中是最长的;二是,C语言一般编写的代码量很大;三是,Open SSL和Linux内核等基础架构背后的主要语言之一就是C语言。这些存在时间、体积和中心性等因素的组合,可以解释C语言为什么存在这么多大量已知开源安全漏洞。

此外,报告还显示了随时间的推移不同编程语言的开源安全漏洞数量变化。过去十年间,这些编程语言有着各自的高点和低点。但所有语言都有一个明显的趋势,即近两年所有语言的已知安全漏洞数量都在大幅增加,这可以看作是安全漏洞意识的提高及开源的更加普及。随着开源安全研究投入资源的增加,人们发现的安全问题数量也会变多。

                              

那么,这些漏洞究竟严重到何种程度呢?调查人员研究发现高严重性的开源安全漏洞(CVSS v2得分高于7)时,发现除了JavaScript和PHP,报告中涉及的大多数语言严重漏洞的占比处于下降趋势。此外,调查人员还研究了每种语言常见的CWE。

其中,跨站脚本攻击(XSS,也称之为CWE-79)和输入验证(也称为CWE-20)占据了最常见的位置;另外比较突出的CWE有信息泄漏(CWE-200)、路径遍历(CWE-22)、权限及访问控制(CWE-264)、不正当访问控制(CWE-284)等。

其实,像“我的编程语言比你更安全”类似的话,现在看来更像是程序员间的打趣。如今,大多数软件开发都依赖多种编程语言来实现,而不是执着于某一编程语言。掌握已知的开源漏洞、了解团队正在使用的编程语言中的优点和缺点,这些都是确保软件项目从一开始就具有安全性的好方法。

如果想学习C/C++编程知识,提升自己的C/C++编程技术能力的话,欢迎关注博主的微信公众号:C语言编程学习基地,一起来加油进步吧~

  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值