写点什么

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:535787
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

面试官:一年跳槽三次,你是怎么做到的?

程序员阿沐

程序员 面试 软件测试 测试工程师

听说隔壁班的程序员给女友做了个智能风扇

智能物联实验室

物联网

内存数据库解析与主流产品对比(一)

星环科技

数据库 大数据

Alibaba最新产物手册宝典:分布式核心原理解析,简直是Java程序员福音!

996小迁

Java 架构 面试 分布式

Redis核心剖析:为什么这么“快”的秘密

Java架构师迁哥

译文《全新首发JDK 16全部新特性》

潘大壮

Java jdk JVM

一文告诉你Java日期时间API到底有多烂

YourBatman

LocalDateTime Date JSR310 Calendar

LeetCode题解:389. 找不同,位运算,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

免费ETL批量调度,任务调度,作业调度自动化运维工具Taskctl Web

敏捷调度TASKCTL

大数据 kettle 海豚调度 自动化部署 ETL

关注直播 走近滴滴夜莺K8S监控组件

滴滴云

k8s 滴滴技术 监控告警 滴滴夜莺

PostgreSQL使用clickhousedb_fdw访问ClickHouse

PostgreSQLChina

数据库 postgresql 开源 软件

nacos 配置中心自动化运维之namespace坑

Sky彬

nacos

JDK源码深度学习!阿里P9架构师终于总结出了这份“源码级”的笔记了

Java架构追梦

Java 源码 架构 jdk 面试

内存数据库解析与主流产品对比(二)

星环科技

数据库

自动化测试现状趋势解读,附带近年自动化测试常用工具

程序员阿沐

程序员 软件测试 自动化测试 测试工程师

滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台

滴滴云

kafak 滴滴开源 监控告警 运维平台

译文《最常见的10种Java异常问题》

潘大壮

Java 异常 java异常处理 Exception

软件测试在不同应用场景中,我们该如何进行测试呢?

程序员阿沐

编程 程序员 软件测试 教程 测试环境

互斥锁 vs 自旋锁

行者AI

互斥

图解分析:Kafka 生产者客户端工作原理

李尚智

kafka 中间件 消息队列 消息中间件

一文读懂Java动态代理

潘大壮

Java jdk 动态代理

从零开始学习Git

ITCamel

git

2021分享三面阿里:Java面试核心手册+Java电子书+技术笔记+学习视频

比伯

Java 编程 架构 面试 程序人生

一文读懂HTTP协议的昨天,今天与明天

后台技术汇

28天写作

kotlin下载!我们究竟还要学习哪些Android知识?Android岗

欢喜学安卓

android 程序员 面试 移动开发

阿里P8大牛亲自教你!实战讲述Flutter跨平台框架应用,安卓系列学习进阶视频

欢喜学安卓

android 程序员 面试 移动开发

【Skeleton】按钮

德育处主任

CSS 大前端 CSS小技巧 28天写作 纯CSS

一周信创舆情观察(1.18~1.24)

统小信uos

同事有话说:ThreadPoolExecutor是怎么回收线程的

Java 程序员 面试

产品利益相关者分析

LT_product_elearning

厌倦了EXCEL想玩点新花样?教你利用Python做数据筛选(下)

智分析

Python

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