写点什么

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

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

关注

评论

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

OpenHarmony标准设备应用开发(二)——布局、动画与音乐

OpenHarmony开发者

动画 OpenHarmony 音乐播放

Tapdata 肖贝贝:实时数据引擎系列(六)-从 PostgreSQL 实时数据集成看增量数据缓存层的必要性

tapdata

数据库 实时数据

叮咚!参与微服务免费试用,有机会获得腾讯内推资格!

InfoQ写作社区官方

腾讯云 微服务 热门活动

昇思MindSpore行至2022,开源社区成就生态共赢

这不科技

华为 昇思MindSpore

Git教程-帮助开发人员更好的运用Git | 云效

阿里云云效

git 云计算 阿里云 DevOps 开发者

春暖花开,等你而来!4月月更挑战开始啦!

InfoQ写作社区官方

热门活动 4月月更

week4作业

Asha

云时代,租电脑还是初创型企业最好的选择吗?

阿里云弹性计算

远程办公 无影云电脑 初创型企业

利用 IoTDB 替换 OpenTSDB,服务大唐集团60家电厂,减少95%运维成本

Apache IoTDB

Apache IoTDB

产品FAQ(常见问题)文档模版

小炮

产品 FAQ

OpenHarmony标准设备应用开发(三)——分布式数据管理

OpenHarmony开发者

OpenHarmony 分布式数据

华为云GaussDB专家走进课堂,跟莘莘学子聊聊数据库

华为云数据库小助手

GaussDB GaussDB(for openGauss) GaussDB(for MySQL)

Microchip推出模拟嵌入式SuperFlash技术解决边缘语音处理难题

极客天地

教你VUE中的filters过滤器2种用法

华为云开发者联盟

Vue 过滤器 filters过滤器 组件过滤器 全局过滤器

汉化版postman

Liam

Jmeter Postman 接口测试 API swagger

Rust Cell 与RefCell,有啥区别?

非凸科技

下拉推荐在 Shopee Chatbot 中的探索和实践

Shopee技术团队

算法 chatbot 推荐算法

墨天轮访谈 | 华为云温云博:从客户视角出发,GaussDB(for Redis)究竟“香”在哪里?

墨天轮

数据库 redis 华为云 国产数据库 键值数据库

龙蜥开发者说:聊一聊我技术生涯的“三次迭代” | 第 3 期

OpenAnolis小助手

技术分享 开发者故事 龙蜥开发者说 突出贡献奖

后端开发—一文详解网络IO模型

Linux服务器开发

reactor 后端开发 Linux服务器开发 网络io 网络模型

适合 Kubernetes 初学者的一些实战练习 (三)

汪子熙

云原生 集群 Kubernetes 集群 Kubernetes, 云原生, eBPF 3月月更

向工程腐化开炮 | 治理思路全解

阿里巴巴终端技术

Java android 腐化治理 工程腐化

小程序开发入门教程

CRMEB

如何快速实现持续交付

阿里云云效

云计算 阿里云 软件开发 CI/CD 持续交付

《LeetCode 刷题报告》题解内容Ⅱ

謓泽

3月月更

Facebook 开源 Golang 实体框架 Ent 现已支持 TiDB

极客天地

外部数据的合规引入助力银行用户营销系统冷启动

易观分析

隐私计算

深入垂直业务场景,SaaS版供应商业务协同管理系统促进企业与供应商高效协同

数商云

数字化转型 供应链系统

一文带你了解 Python 中的迭代器

踏雪痕

Python 3月程序媛福利 3月月更

软件定义存储厂商大道云行加入龙蜥社区

OpenAnolis小助手

生态 存储技术 龙蜥社区 大道云行 CLA

明天直播:如何测试硬件设备与龙蜥操作系统的兼容性?

OpenAnolis小助手

硬件 直播 开源社区 sig 兼容性

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