写点什么

Synopsys:75% 的代码库包含漏洞,每个代码库平均有 82 个漏洞

  • 2020-05-18
  • 本文字数:1374 字

    阅读完需:约 5 分钟

Synopsys:75%的代码库包含漏洞,每个代码库平均有82个漏洞


近日,Synopsys 公司发布2020年开源安全和风险分析(OSSRA)报告。该报告重点介绍了商业应用程序中开源使用的趋势和模式,并提供见解和建议,来帮助组织从安全性、许可证合规性和运营角度更好地管理开源风险。


据悉,报告是由 Black Duck Audits(黑鸭审计)服务团队进行的 1250 多次商业代码库审计的结果,审计涉及 17 个行业,包括物联网、网络 &软件基础设施、金融服务 &金融科技、企业软件/SaaS、零售 &电商、网络安全等。

99%的代码库中包含开源组件,开源在全部审计的代码库中占 70%。

据悉,黑鸭审计研究发现:在 2019 年审计的代码库中,有 99%审计的代码库包含开源组件。并且,在审计的 17 个行业中,有 9 个行业 100%的代码库包含开源。它们还发现,在全部审计的代码库中,开源占到 70%。


只有 1.2%的代码库中不包含开源组件


同时,报告还发现,2019 年每个代码库中平均有 445 个开源组件,与 2018 年的 298 个相比,开源组件使用率大幅增加。2016 年,Synopsys 公司发布第一份开源安全和风险分析(OSSRA)报告。当时,开源在全部审计的代码库中仅占 36%,现在,这个数字从 2018 年的 60%上升到 2019 年的 70%。


此外,它们还发现,有 124 个开源组件被普遍应用于所有 17 个行业中的代码库中。


其中,排名前五的开源组件为:


1.jQuery:一个快速、简洁的 JavaScript 框架


2.Bootstrap:出自 Twitter,它是基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,让 Web 开发更加快捷。


3.Font Awesome:它是为 Twitter Bootstrap 设计的图标字体。


4.Lodash:它是一个一致性、模块化、高性能的 JavaScript 实用工具库


5.jQuery UI:它是一套 jQuery 的页面 UI 插件


此外,前十的开源组件(代码库包含组件的百分比)如下图:



在审计的代码库中,JavaScript 是使用最多的编程语言,占比为 74%。而 C++、Shell scripts 和 C 则占代码库的 50%或更高。总之,JavaScript 是开源组件中占主导性的编程语言,C++紧随其后,排名第二。


前十的编程语言排名(代码库使用该语言的百分比)


75%的代码库包含漏洞,有 49%的代码库包含高风险漏洞

根据这份报告,黑鸭审计指出:在 2019 年审计的代码库中,有 82%的开源组件是过时的。同样,它们还发现:高达 75%的代码库至少包括一个公开漏洞,2018 年才只有 60%。并且,每个代码库平均有 82 个漏洞。


在 3 月份,安全公司 WhiteSource发布了一份“开源安全年度报告”。报告表明, 2019 年,公开披露的开源安全漏洞数量再创新高,总数为 6100 个。与 2018 年相比,开源安全漏洞的数量增长近 50%。



而据奇安信代码安全事业部介绍,开源软件的代码安全缺陷密度是 14.22/KLOC,高危安全缺陷密度为 0.72/KLOC。换句话说,每 1000 行开源软件代码中就有 14 个安全缺陷,每 1400 行开源软件代码中就有 1 个高危安全缺陷。


Synopsys 公司的报告还表明,在审计的全部代码库中,有 49%的代码库包含高风险漏洞。事实上,开源软件的高风险漏洞危害极大,比如美国征信巨头 Equifax2017 年发生数据泄露,原因就是黑客利用 Struts 开源软件的漏洞实施攻击,窃取 1.45 亿用户的数据。


此外,报告还发现:


68%的代码库包含某种形式的开放源代码许可证冲突,而 33%的代码库包含没有可识别的开源组件。许可证冲突的发生率因行业有所不同,互联网和移动 App 行业最高(93%),VR、游戏、娱乐和媒体等行业相对较低(59%)。


2020-05-18 17:535489
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

架构实战营模块六作业

Jude

架构实战营

分享四款H5怀旧小游戏魔塔+伏魔记+三国霸业+寻仙纪

echeverra

前端 游戏

为数据库性能调优插上 AI 的翅膀 | 调优测试框架 Matrix 团队访谈

PingCAP

RavenDB起步--使用 RavenDB Studio

喵叔

RavenDB起步--安装以及示例数据库

喵叔

华青融天加入,龙蜥社区再添科技风险监测领域新伙伴

OpenAnolis小助手

Linux 开源 合作伙伴

TDSQL-C PostgreSQL版的高可用特性

腾讯云数据库

tdsql 国产数据库

Redis:我是如何与客户端进行通信的

华为云开发者联盟

redis 通信 协议 指令 客户端

基于Flink CDC打通数据实时入湖

五分钟学大数据

flink 1月月更

在线XML转JSON工具

入门小站

工具

☕【Java深层系列】「并发编程系列」让我们一起探索一下CyclicBarrier的技术原理和源码分析

洛神灬殇

并发编程 AQS CyclicBarrier Java 线程 1月日更

MySQL 如何解决幻读(MVCC原理分析)

Ayue、

MySQL InnoDB 1月月更

TDSQL PostgreSQL执行计划详解

腾讯云数据库

tdsql 国产数据库

看过来!腾讯文档上架优麒麟软件商店啦

优麒麟

Linux 开源 腾讯 操作系统 麒麟操作系统

TDSQL-A技术架构演进及创新实践

腾讯云数据库

tdsql 国产数据库

中科柏诚:积极践行为中小企业服务宗旨,同乡村振兴有效衔接

联营汇聚

事件驱动架构在 vivo 内容平台的实践

vivo互联网技术

微服务 云原生 事件驱动架构

智联生活行业加速器热门FAQ:物联网企业该如何与华为云合作?

华为云开发者联盟

物联网 华为云 智联生活 智联生活行业加速器 云市场

Netty核心概念之ChannelHandler&Pipeline&ChannelHandlerContext

CRMEB

一、数据结构

喵叔

RavenDB起步--第一个 RavenDB 程序

喵叔

为什么ConcurrentHashMap是线程安全的?

王磊

鸿蒙轻内核M核源码分析:LibC实现之Musl LibC

华为云开发者联盟

鸿蒙 内存分配 LibC Musl LibC Musl

模块1作业

卡西毛豆静爸

架构实战营

第四节:SpringBoot中web模版数据渲染展示

入门小站

springboot

Go 语言快速入门指南:Go 读取文本文件

宇宙之一粟

Go 数据读取 Go 语言 1月月更

架构训练营 毕业设计

dog_brother

「架构实战营」

RavenDB起步--客户端API(一)

喵叔

ReactNative进阶(三十一): IoC 框架 InversifyJS 解读

No Silver Bullet

​React Native 1月月更 InversifyJS

1月月更|推荐学java——Spring事务

逆锋起笔

spring事务管理 spring ioc java 编程 Spring Java Spring事务

20000字详解大厂实时数仓建设 | 社区征文

五分钟学大数据

数据仓库 实时数仓 1月月更 新春征文

Synopsys:75%的代码库包含漏洞,每个代码库平均有82个漏洞_安全_万佳_InfoQ精选文章