C、PHP、JAVA…哪种编程语言最不安全?

   在IT开发圈子里,常常会有哪种编程语言最好/哪种最差的一些争论。在这种争论中,安全性往往是决定大家支持一种语言、不信任另一种语言的一个因素。那么,到底哪种语言最安全,哪种最不安全呢?

Photo by  Tim Gouw  from  Pexels

  近日,国外一家开源软件服务公司WhiteSource发布了一份关于开源软件安全性的报告。报告中的数据及信息来源于WhiteSource的综合数据库,该数据库收集的开源漏洞信息来自于美国国家漏洞数据库(NVD)、安全警告、GitHub问题跟踪器以及目前比较流行的开源项目的问题跟踪器等等。

  该数据库中涵盖了200多种语言,研究员在分析过程中,重点关注了过去十年内使用最广泛的7种语言中的开安全漏洞,以找出哪种编程语言最安全,每种语言中,哪种漏洞类型(CWE)最常见,以及原因。

   报告给出了四大结论:

   · C中的漏洞,占报告的所有开源安全漏洞的50%。这种情况可以解释:C的历史最悠久,拥有最高的编写代码量,而且是我们使用的所有基础架构的基础。

   · 大多数编程语言中最常见的CWE是跨站点脚本(XSS);输入验证;权限、特权和访问控制;以及信息泄露/披露。

   · 自动化工具的使用和有奖捉虫计划(Bug Bounty Program)的趋势已经改变了现状,导致2017年报告的漏洞显著增加。

   · 虽然在过去两年中,我们看到报告的安全漏洞数量激增,但在大多数语言中,高严重性漏洞的数量已经减少。

  根据报告中显示,这七种每种语言报告的开源安全漏洞占比分别约为:

  1、C (46.9%)

  2、PHP (16.7%)

  3、Java (11.4%)

  4、JavaScript (10.2%)

  5、Python (5.45%)

  6、c++ (5.23%)

  7、Ruby (4.25%)

  研究人员在报告中特别指出,我们应该考虑两个因素来评估这些项目。尽管从研究结果来看,有些人可能错误地认为C语言天生就更不安全,但事实并非如此。

  对于初学者来说,编写的C语言代码比任何其他语言都多,产生的漏洞提也更多。事实上,C语言的使用时间比大多数其他语言都要长得多,并且是我们使用的大多数产品和平台的核心。因此,它肯定比其他语言有更多已知的漏洞。

  报告中还表示,在过去10年里,每种编程语言中发现的开源漏洞数量显著增加,2017年更是大幅增加。这在一定程度上是由于开源的流行,以及对开源组件中的安全漏洞的意识增强,这促使了开发人员去发现并报告更多的问题。

  那么对于编程语言的安全问题,您怎么看呢?

Image placeholder
hzj19980901
未设置
  46人点赞

没有讨论,发表一下自己的看法吧

推荐文章
Java、Python、C++、PHP、JavaScript5大编程语言,我该选哪个?

课程推荐:点击进入学习猿地--多门选课随你选--更好大量免费体验课等你哦 很多朋友在后台给我留言,问:现在这么多编程语言,Python、Java、PHP、C++、Java等,究竟哪种最流行?我想这应该

Go编程语言教程_1.0. Go编程语言(简介)

介绍 Go是一种过程编程语言。它由Google的RobertGriesemer,RobPike和KenThompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件包

Go编程语言教程_1.6. Go和Python编程语言之间的区别

Golang是一种过程编程语言。它由Google的RobertGriesemer,RobPike和KenThompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件

近50年来最具影响力的10种编程语言,都是谁发明的?

大数据文摘出品编译:洪颖菲、武帅前不久文摘菌曾报道过4分钟看尽Top15编程语言15年来的沉浮史,评论中就有小伙伴留言了为什么Ruby、Lisp这些语言在榜上寂寂无名?软件世界中有各种各样的编程语言,

Go编程语言教程_2.0. Go语言中的标识符

在编程语言中,标识符用于标识目的。换句话说,标识符是程序组件的用户定义名称。在Go语言中,标识符可以是变量名称,函数名称,常量,语句标签,程序包名称或类型。 例: packagemain import

PHP跌出前十,铁打的 Python 连续3年第一:IEEE Spectrum 2019编程语言排行榜出炉

Python势头不减,依旧第一,而且进一步拉开了与其他语言的差距。这一结果,来自IEEESpectrum2019年度编程语言排行榜。这已经是Python连续3年保持第一。在Python之下,第二交椅的

Facebook又叒陷数据门,5亿条数据不安全存储在亚马云服务器中

大数据文摘出品编译:周素云上周Facebook用户又经历了糟糕的一周。Facebook发言人对各大主流媒体承认,用户的多组个人数据被存放在亚马逊AWS数据库中,包括数以百万计的Facebook用户的超

学习一门新编程语言的 6 步

有些人学习编程刚开始头脑发热,买了很多书,下载很多视频,收藏上百G的资料,没过几天,热情就褪去了,最后完成了从入门到放弃的全过程,究其原因主要是缺乏清晰的目标,没有方向,或者方向不明确。那么,我们应

五种拥有光明发展前景的新兴编程语言

在软件项目与具体实现层面,我们需要考虑众多具体因素。但无论从哪种角度出发,技术栈的选择永远是决定项目成功与否的核心因素之一。根据您的实际应用需求、站点或者产品设计思路,不同的编程语言往往能够带来不同的

Go编程语言教程_1.1. 如何在Windows上安装Go?

先决条件:Go编程语言简介 之前,我们从在系统上安装Golang的过程开始。我们必须对Go语言是什么以及它实际上是什么有第一手的了解。Go是Google的RobertGriesemer,RobPike

Go编程语言教程_1.2. 如何在MacOS上安装Golang?

之前,我们从在系统上安装Golang的过程开始。我们必须对Go语言是什么以及它实际上是什么有第一手的了解。Go是Google的RobertGriesemer,RobPike和KenThompson于2

Go编程语言教程_1.3. Golang的Hello World

你好,世界!是任何编程语言中的第一个基本程序。让我们使用以下步骤用Go语言编写第一个程序: 首先打开Go编译器。在Go语言中,该程序以.go扩展名保存,它是UTF-8文本文件。 现在,首先在程序中添加

Go编程语言教程_1.4. Go vs C++

C++是一种通用编程语言,如今已广泛用于竞争性编程。它具有命令式,面向对象和通用编程功能。C++在Windows,Linux,Unix,Mac等许多平台上运行Go是一种过程编程语言。它由Google的

Go编程语言教程_1.5. Go vs Java

Go是一种过程编程语言。它由Google的RobertGriesemer,RobPike和KenThompson于2007年开发,但于2009年作为一种开放源代码编程语言发布。程序通过使用软件包进行组

Go编程语言教程_2.1. Golang中的关键字

关键字或保留字是用于某些内部过程或表示某些预定义动作的语言中的字。因此,不允许将这些单词用作标识符。这样做会导致编译时错误。 例: //Go程序说明 //使用关键字 packagemain impor

Go编程语言教程_2.2. Go中的数据类型

数据类型指定有效的Go变量可以保存的数据类型。在Go语言中,类型分为以下四类: 基本类型:数字,字符串和布尔值属于此类别。 聚集类型:数组和结构属于此类别。 引用类型:指针,切片,地图,函数和通道属于

Go编程语言教程_2.3. Go 变量

典型的程序使用在执行过程中可能会更改的各种值。例如,该程序对用户输入的值执行一些操作。一个用户输入的值可能与另一用户输入的值不同。因此,这有必要使用变量,因为另一个用户可能不会使用相同的值。当用户输入

4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!

大数据文摘出品作者:宁静哪种编程语言最火爆?在不同的时代,这个问题也有着不同的答案,而一部编程语言的使用人数变迁史,实际上也是一部计算机世界的成长编年史。一位名叫PYPL的油管up主很尽心地统计了从2

3种可靠的物联网开发编程语言

物联网设备的普及程度持续上升,人们与物联网的联系愈加紧密。物联网为结合虚拟和现实世界提供了最大的平台。大多数支持IoT设备的命令都可以通过智能手机上的一个图标来实现。物联网的发展和成长不能归结为某一方

最受欢迎的编程语言排行:Python与Java谁更受欢迎?

Python在全球开发人员中的受欢迎程度急剧上升,专注于研究开发人员的SlashData最近公布了实际使用该语言的开发人员数量。根据SlashData的数据,目前世界上有820万使用Python编写代

Fortinet的云安全观:上云≠安全 云安全市场或迎“又一春”!

近年来网络攻击事件频繁发生,企业对于网络安全的关注度已经到达前所未有的高度,如何保证业务的正常运转是每个企业最为关注的问题之一。而随着越来越多的企业将业务扩展到云端,云上安全问题也成为企业必谈的话题!

打好网络安全攻坚战 思科年度安全报告系列关注未知安全挑战

当网络攻击愈演愈烈,当勒索软件愈加嚣张,企业对于网络安全的重视程度稳步提升。网络安全在企业中的地位从没像今天这般高涨。但不可否认的是,即便企业提升了对网络安全的防护,但网络安全威胁依旧长期存在且愈加复

HTML与CSS的dic、span和格式化标签

课程推荐:前端开发工程师--学习猿地精品课程 div和spandiv? 是一个块级元素,通常与css配合使用,用于布局。 ?标签可以把文档分割为独立的、不同的部分。它可以用作严格的组织工具,并且不使

[PHP 安全] OWASP 维护的 PHP 安全配置速查表

介绍 这个页面的目的是为了帮助那些配置PHP和运行它的web服务器的人确保它的安全性。 下面你将找到有关php.ini文件的正确配置信息。 php.ini 下面的一些设置需要适应你的系统,特别是se