查看原文
其他

2019年开源安全现状调查报告发布

局长 开源中国 2019-04-27

Snyk 今天发布了2019年开源安全现状调查报告,这是一家针对开源项目提供安全服务的知名公司。

前言

为了更好地了解开源领域的安全现状,以及我们该如何让开源世界的安全性变得更好,Snyk 公司通过对大量的数据进行统计和分析,得到了2019年开源安全现状调查报告,其中数据来源包括:

  • 由 Snyk 发起和分析的来自500多名开源项目维护者和用户填写的调查问卷

  • 来自 Snyk 漏洞数据库的内部数据,以及由 Snyk 监控和保护的数十万个项目

  • 从各个供应商发布的外部资源中获取到的研究报告

  • 通过扫描数百万个公开 GitHub 仓库和包而收集到的数据

开源安全现状

先看一看报告提供的关键数据,总共包括六个方面。

1.开源项目被采用情况

数据显示,78% 的漏洞存在于间接依赖关系中。而在2017到2018年期间,工具包平台的增长情况如下:

  • Maven Central – 102%

  • PyPI – 40%

  • npm – 37%

  • NuGet – 26%

  • RubyGems – 5.6%

  • npm 报告2018年的下载量为3040亿次


各大工具包平台的增长情况

明显可以看到,开源项目的采用率正在持续加速增长。仅是2018年,Java 工具包翻了一番,而 npm 增加了大约 250000 个新的工具包。

PyPI 在2018年拥有超过140亿的下载量,较2017年增加了一倍,当时的下载次数约为63亿次。


PyPI 工具包在2018年的下载次数


npm 工具包在2018年的下载次数

npm 称得上是整个 JavaScript 生态系统的核心。多年来,其软件包数量和下载数量一直在稳步增长,仅2018年12月的单月下载量就超过了300亿次,而2018年全年的下载次数更是达到令人难以置信的3170亿次。

2.漏洞识别状况

  • 37% 的开源开发者在持续集成(CI)期间没有实施任何类型的安全测试,54% 的开发者没有对 Docker 镜像进行任何安全测试

  • 从漏洞添加至开源软件包到修复漏洞的时间中位数超过2年


持续集成期间的安全测试情况

3.已知的漏洞

  • 两年内应用程序的漏洞数量增长了 88%

  • 在2018年,npm 的漏洞数量增长了 47%

  • 根据 Maven Central 和 PHP Packagist 披露的数据,它们的漏洞数量分别增长了 27% 和 56%

  • 2018年与2017年相比,Snyk 在 RHEL, Debian 和 Ubuntu 中追踪发现的漏洞数量增加了4倍多


每种语言其生态系统的新漏洞增长情况

今天,Snyk 目睹了其跟踪的许多生态系统中报告的漏洞数量的增加,包括 PHP Packagist, Maven Central Repository, Golang, npm, NuGet, RubyGems 和 PyPI。其中在研究五种不同的语言生态系统时:PHP, Java, JavaScript, Python 和 Go 时,Snyk 发现自2014年以来,所有这些生态系统中披露的漏洞数量呈上升趋势。尤其是 npm 和 Maven 中央仓库,毕竟这两者也是工具包数量增长最多的平台。

4.谁该对开源软件的安全性负责?

  • 81% 的用户认为开发者负责开源软件的安全性

  • 68% 的用户认为开发者应该对他们提供的 Docker 容器镜像负安全责任

  • 只有 30% 的开源软件维护者认为自己具有高安全性意识


谁该对开源软件的安全性负责


开发者对自身安全意识的认知情况

5.Docker 镜像中的已知漏洞

  • 十大最受欢迎的默认 Docker 镜像中的每一个都包含至少30个易受攻击的系统库

  • 经过扫描的 44% Docker 镜像可以通过更新其基本镜像标记(image tag)来修复已知漏洞


十大流行 Docker 镜像的漏洞数量状况


Linux 系统的漏洞数量在持续增长


系统库中的紧急漏洞和高危漏洞数量对比

6.Snyk 的统计数据

  • 仅在2018年下半年,Snyk 为其用户打开了超过 70000 个 PR,以修复其项目中的漏洞

  • CVE/NVD 和公共漏洞数据库缺失了许多漏洞,仅占 Snyk 跟踪到的漏洞数据的 60%

  • 仅在2018年,Snyk 旗下的专业研究团队就披露了500个漏洞

开源正在蓬勃发展,而且并无减缓趋势。虽然开源的好处人尽皆知,但是开源风险的知识却不尽然。不过这种趋势也正在发生变化。

显然,开源领域的安全性有很大的改进空间,而且改进的机会也有很多。开源维护者们迫切希望让自己的项目变得更加安全,而用户想的是在使用开源软件时将安全列为优先考虑因素 —— 并认为提升软件安全性是一件举手之劳的事。

但我们应认识到,保护开源的安全并不会在一夜之间发生。

正如本报告所述,开源安全决定于很多因素。但如果我们齐心协力,每个人都做出力所能及的事情来改进安全态势,那么我们就能够改进开源安全的状态,而且在这个改进过程中,我们要确保开源仍然是欣欣向荣充满生机的生态系统。

完整报告下载地址 https://bit.ly/SoOSS2019


开源中国征稿开始啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 200 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿


推荐阅读

Go 1.12 正式版来袭!聊聊值得关注的新特性

Chameleon 原理首发:其它跨多端统一框架都是假的?

C++20 最新进展:加入模块化和协程,进入特性冻结阶段

x86 和 ARM 谁能主宰服务器市场?Linus 认为 ARM 没戏

又是求职季,这份面试宝典送给你

「好看」一下,分享给更多人↓↓↓

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存