写点什么

最新报告:开源漏洞 2019 年增长近 50%,C 语言项目漏洞最多

  • 2020-03-18
  • 本文字数:1599 字

    阅读完需:约 5 分钟

最新报告:开源漏洞2019年增长近50%,C语言项目漏洞最多

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!


近日,安全公司 WhiteSource 发布了一份“开源安全年度报告”。报告表明,2019 年,公开披露的开源安全漏洞数量再创新高,总数为 6100 个。与 2018 年相比,开源安全漏洞的数量增长近 50%。同时,报告还表明代码漏洞最多的开源项目是用 C 语言编写的。并且,报告发现,2019 年最常见的安全漏洞类型是跨站脚本攻击、输入验证安全漏洞、缓冲区错误和越界读取以及信息泄露。


数据表明,2009 年,公开披露的开源安全漏洞不足 1000 个。


但是,随着企业对开源软件的使用增多和人们对开源安全漏洞的关注,公开披露的开源安全漏洞数量将不断增加。在这份名为《The State of Open Source Security Vulnerabilities》的研究报告中,WhiteSource 写道,“当今,开源组件已经成为现代软件应用的一部分。随着开源软件的使用不断增长,人们开始更多地关注开源软件安全研究。”

“一路飙升”的开源安全漏洞

在 2014 年,开源安全出现转折点。这一年,Codenomicon 和谷歌安全部门的研究人员披露 OpenSSL 漏洞,该漏洞可以让攻击者获得服务器上 64K 内存中的数据内容。该漏洞被国内称为“OpenSSL 心脏出血漏洞”,因其破坏性之大和影响范围之广,堪称网络安全里程碑事件。


这件事不仅给科技行业敲响了警钟,而且让科技公司开始采取行动,比如为修复类似的重大漏洞,业内十二家顶级科技企业加入Linux基金会基础架构联盟(CII),包括亚马逊、谷歌、IBM、Intel、微软和思科等。


据 WhiteSource 的报告显示,2015 年和 2016 年,每年开源安全漏洞的数量不超过 2000,但是在 2017 年和 2018 年,开源安全漏洞的数量一路飙升,超过 4000。



2019 年,开源安全的漏洞超过 6000 个,突破历史记录。


不过,好消息是超过 85%的开源安全漏洞在披露时已经有修复程序。


“过去几年,科技巨头在开源上加大投资,从而能更好地管理开源项目和提升安全性。同时,社区也在不断致力于安全研究,及时发布针对开源安全漏洞的修复版本。”WhiteSource 表示。


然而,有些用户并不知道这些修复程序,因为已知的开源漏洞只有 84%提交到 NVD(美国国家漏洞数据库)。


报告还指出:遗憾的是,开源软件的漏洞并没有集中在一处发布,而是分散在数百种资源中。有时,索引的编制并不正确,导致搜索特定数据成为一项艰巨挑战


据悉,一部分新发现的安全漏洞来自谷歌开源模糊测试工具,比如OSS-Fuzz,它在 2 年时间找到 9000 个漏洞。仅在 2020 年 1 月,它又在 250 个开源项目中发现16000 个漏洞。


去年,WhiteSource 和 GitHub 合作,将其漏洞数据库带到 GitHub,为其安全警报提供服务。针对那些由 PHP、Java、Python、.NET、JavaScript 和 Ruby 编写的开源项目,GitHub 会扫描开源项目来发现潜在的安全漏洞。目前,它已经帮助开发者找到和修复了数百万漏洞


另外,GitHub 在 2019 年成立安全实验室(Security Lab),汇聚安全研究人员查找并修复开源项目中的安全漏洞。并且,GitHub 成为授权 CVE 编号发布机构,项目维护者可以和安全专家一起研究安全修复程序,并直接从 GitHub 上申请 CVE 编号,并披露有关漏洞的详细信息。


尽管 GitHub 不断提升安全性,但是 WhiteSource 指出,开发者可能被发现的大量安全漏洞所“淹没”,应接不暇。

最不安全的编程语言

WhiteSource 还从编程语言角度对存在安全漏洞的开源项目进行了分析。研究发现,安全漏洞最多的开源项目是用 C 语言编写的,占比 30%。


这家公司解释,C 语言占比之高是因为有太多的开源项目是用它编写。



第二是 PHP。尽管 PHP 在开发者心中的受欢迎度大不如前,但用 PHP 编写的代码占开源安全漏洞的 27%,与 10 年前的 15%相比,进一步上升。


相比而言,用 Python 编写的代码占开源安全漏洞的 5%,这与 10 年前的 6%相比有所下降。


此外,报告还表明,2019 年,最常见的安全漏洞类型是 CSS(跨站脚本攻击)、输入验证安全漏洞、缓冲区错误、越界读取和信息泄露。其中,跨站脚本攻击是 Java、JavaScript、PHP、Python 和 Ruby 中最常见的漏洞类型。


2020-03-18 07:002860
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 342.5 次阅读, 收获喜欢 1798 次。

关注

评论

发布
暂无评论
发现更多内容

取代 Mybatis Generator,这款代码生成神器配置更简单,开发效率更高!

沉默王二

「架构实战营」模块二作业 朋友圈复杂度

hxb

「架构实战营」

六年安卓开发的技术回顾和展望 | 社区征文

拭心

android 程序员人生 shixinzhang 新春征文 2月月更

使用 Cilium 增强 Kubernetes 网络安全

张晓辉

Kubernetes 云原生 ebpf cilium

Redis 在 vivo 推送平台的应用与优化实践

vivo互联网技术

服务器 消息推送 redis'

大数据存储领导厂商创新科加入,携手龙蜥社区共建开源生态

OpenAnolis小助手

大数据 Linux 开源 云存储

11个基于HTML/CSS/JS的情人节表白可爱小游戏、小动画

海拥(haiyong.site)

大前端 情人节 表白 2月月更

分布式事务管理DTM:“买买买”背后的小帮手

华为云开发者联盟

微服务 电商 分布式事务管理 DTM 云图说

几种数据库存储引擎比较

乌龟哥哥

:MySQL 数据库 2月月更

国内外最顶级的十大敏捷项目开发管理工具盘点

易成管理学

Linux系统编程-进程概念、进程管理、信号处理

DS小龙哥

2月月更

Kotlin语法手册(二)

寻找生命中的美好

android kotlin 安卓

Java最简单可靠的线上不停机发布方案

游牧

手写一个线程池,带你学习ThreadPoolExecutor线程池实现原理

华为云开发者联盟

Java 线程 线程池 ThreadPoolExecutor

react源码解析6.legacy模式和concurrent模式

buchila11

React

警惕!Python 中少为人知的 10 个安全陷阱!

Python猫

Python

java培训:MyBatis高级进阶学习分享

@零度

mybatis JAVA开发

建木持续集成平台v2.2.2发布

Jianmu

DevOps CI/CD 自动化运维

Linux系统编程-进程创建(fork)、外部程序调用(exec)

DS小龙哥

进程 fork 2月月更

微信朋友圈复杂度分析与设计

刘帅

我做基础架构学到的42件事

多颗糖

数据库 架构 架构师 基础架构

HiveSQL高级进阶10大技巧

编程江湖

第十一节:Springboot整合log4j2日志

入门小站

spring-boot

微信朋友圈高性能复杂度分析

Bear

「架构实战营」

重磅消息·OpenMLDB官方网站 今日正式上线!

第四范式开发者社区

人工智能 机器学习 开源项目 AI Studio 特征平台

用户登录功能:说简单也困难

华为云开发者联盟

安全 cpu 加密算法 TPS 用户登录

前端培训:React调度算法迭代过程

@零度

前端开发 React

TDengine在TCL空调能源管理平台的实践

TDengine

数据库 大数据 tdengine 物联网

Spring Cloud Alibaba Nacos路由策略之保护阈值!

王磊

spring cloud alibaba

手写简易版 React 来彻底搞懂 fiber 架构

CRMEB

在线YAML转HTML工具

入门小站

工具

最新报告:开源漏洞2019年增长近50%,C语言项目漏洞最多_安全_万佳_InfoQ精选文章