AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

    阅读完需:约 5 分钟

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


近日,安全公司 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:003170
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

Oracle误删数据闪回

阡陌r

Git 多用户多仓库配置 windows10

halapano

git

python实现·十大排序算法之堆排序(Heap Sort)

南风以南

Python 排序算法 堆排序

这么多年了,QQ没发现这个问题吗?

BabyKing

zabbix 实战指南(2)

橙子冰

zabbix

ARTS week 1

锈蠢刀

重学 Java 设计模式:实战建造者模式

小傅哥

设计模式 小傅哥 重构 代码质量 优化代码

奈学教育:分布式架构,刚性事务-2PC必须注意的问题及3PC详细解说

奈学教育

分布式架构 2PC 3PC

AutoConfigurationImportSelector到底怎么初始化

编号94530

Java spring Spring Boot import

JavaScript 基础拾遗 —— this 的前世今生

hq

Java 学习 大前端

团队快速扩张时期的组织架构演进

小鲸数据

团队管理 团队协作 团队 团队组织

IDEA 插件开发实战

李孟聊AI

Java 工具 IDEA 插件 idea插件

zabbix实战指南(1)

橙子冰

zabbix

算法:时间复杂度和空间复杂度

shirley

算法 时间复杂度

写给产品经理的信(3):抗压能力需要多强?

punkboy

生涯规划 产品经理 进阶 压力 工作方式

回“疫”录(25):被颜色攻占的地方

小天同学

疫情 回忆录 现实纪录 纪实

这个开源神器可快速帮你安装 MacOS 虚拟机!

JackTian

macos GitHub Linux 操作系统 虚拟机

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (九)测试驱动开发(TDD)

编程道与术

Java 编程 软件测试 TDD 单元测试

ES 操作之批量写-BulkProcessor 原理浅析

常清静

Java elasticsearch 后端

Kafka系列8:一网打尽常用脚本及配置,宜收藏落灰!

z小赵

大数据 kafka 实时计算

Linux 终端下记不住命令的使用方法?这个开源项目帮你解决。

JackTian

Linux 开源 运维 操作系统 命令

眼前搁座金山也看不见

池建强

搜索引擎 学习

游戏夜读 | 游戏代码之道

game1night

变则通,通则久 —— 读《谁动了我的奶酪?》

YoungZY

读书 读书感悟

七年老程序员面试经历

代码诗人

在 Go 中使用并发编程 - 第一部分

TuringTuring

并发编程 线程模型 Go 语言

MySQL慢查询优化(线上案例调优)

NotFound9

MySQL 开源 架构 运维 编程语言

spring-data-redis -- 一次执行链路的分析

常清静

Java spring springdataredis

分支管理模式

wiflish

git

一文道尽 Excel 的 Criterion

张利东

Excel

ARTS - Week 1

Khirye

ARTS 打卡计划

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