【解读】Synopsys发布2024年开源安全和风险分析报告OSSRA

news2025/1/13 13:44:53

软件供应链管理中,许可证和安全合规性至关重要。开源组件和库可降低风险,但需了解许可证内容。Synopsys 2023年审计发现,超过一半的代码库存在许可证冲突。MIT许可证是最常用的宽松许可证,但也与其他许可证存在不兼容风险。点此获取报告原文(中文翻译版本,访问密码:6277)。

在这里插入图片描述

1. 一些关键发现

1.1. 绝大多数开源软件使用者并没有更新他们使用的组件

2022至2023年间,高风险漏洞增加了54%(26个百分点),造成这种情况的原因可能不止一个。例如,有可能是经济衰退和随之而来的裁员导致用于寻找和修补漏洞的人员数量减少。此外,审查发现,91%的代码库包含了比最新版本落后10个或更多版本的组件,由此
可以得出一个简单的结论:绝大多数开源软件使用者并没有更新他们使用的组件。

在这里插入图片描述

1.2. Top 10 的漏洞中,有8个都可以映射到同个CWE

CWE-707CWE 20、79、80、97、937的支柱。CWE-707涉及从上游组件读取数据或发送数据到下游组件之前,没有满足安全需求。不能正确地净化输入可能会带来跨站脚本(XSS) 和SQL注入等漏洞利用攻击。

CWE项目将“支柱缺陷”定义为最高级别的缺陷,是与之相关的所有类别/变体缺陷的基础。如果想深入理解CWE,可以参阅博主文章《「 网络安全常用术语解读 」通用缺陷枚举CWE详解》

在这里插入图片描述

1.3. 其他关键数据

  • 在扫描的1,000多个代码库中,有96%包含开源代码
  • 77%的源代码和文件来自开源
  • 53%的代码库存在开源许可证冲突
  • 84%的代码库在安全风险评估中发现了漏洞;74%有高风险漏洞
  • 91%的代码库中包含比最新版本落后10个或更多版本的组件

2. 为什么开源软件供应链安全如此重要?

开源软件供应链安全是指确保开源软件在开发、分发和使用过程中的安全性。随着开源软件的广泛使用,开源软件供应链安全变得越来越重要。如果开源软件供应链存在安全漏洞,可能会导致严重的安全风险,例如数据泄露、系统崩溃等。因此,保护开源软件供应链的安全性对于确保软件供应链的安全性和可靠性至关重要。

3. 为什么开发者需要保持开源组件的持续更新?

使用商业软件的组织都知道,他们的软件会被自动“推送”补丁和更新,或者至少会收到供应商的通知,告诉他们有更新可以下载(通常是非常重要的更新)。但这种情况在开源软件中很少出现,开源软件的使用者需要自己关注组件的状态,自己去下载可用的新版本。

过时的开源组件可能包含已知漏洞,这些漏洞可能会被攻击者利用。此外,过时的开源组件可能不再得到维护,这意味着开发者无法获得安全更新和补丁。因此,开发者需要定期更新和维护其使用的开源组件,以确保其应用程序的安全性和可靠性。

4. 为什么软件供应链管理需要软件物料清单 (SBOM) ?

SBOM 是一份详细的清单,列出了软件中使用的所有组件、依赖项和许可证信息。通过使用 SBOM,组织可以更好地了解其软件中的组件来源、许可证合规性和安全漏洞,从而更好地管理其软件供应链。此外,SBOM 还可以帮助组织遵守法规要求,例如美国国家标准与技术研究院 (NIST) 的软件供应链安全指南。

美国第14028号行政命令 (EO) “提升国家网络安全”规定,软件供应商必须直接向采购方提供SBOM,或者在公共网站上公开其SBOM,并且政府和非政府方面可能都需要查看SBOM,以确保软件产品符合SBOM的最低要求。

Black Duck审计团队发现,在2023年审计的代码库中,超过一半 (53%) 包含存在许可证冲突的开源软件。下图为常用的Top 10开源软件许可,关于开源软件许可证的详情介绍可参阅博主文章《带你正确认识开源软件》。

在这里插入图片描述

在美国及其他国家,创造性的工作(包括软件)默认会受版权的保护。未经创作者授权,任何人对该软件的使用、复制、分发或修改均不合法。即使最友好的开源许可证(如MIT、BSD)也会规定用户在使用软件时需要承担的义务。如果代码库中包含的开源代码许可证与该代码库的总体许可证存在冲突,就可能存在潜在的许可证风险。

5. 参考

[1] Synopsys 2024年开源安全和风险分析报告(访问密码:6277)


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1519629.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重学SpringBoot3-Problemdetails

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-Problemdetails Problem Details的概念ProblemDetails配置类在Spring Boot 3中使用Problem Details未配置Problem Details配置Problem Details自定义异常…

外包就干了2个月,技术退步明显....

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

程序员必备开发工具、程序员必备集成开发环境(IDE)

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

鸿蒙Next学习-Flex布局

Entry Component struct FlexCase {build() {//需要在构造参数上传Flex({ direction: FlexDirection.Row,justifyContent:FlexAlign.Center }) {//flex布局Row().width(100).height(100).backgroundColor(Color.Red)Row().width(100).height(100).backgroundColor(Color.Yellow…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavRouter)

导航组件,默认提供点击响应处理,不需要开发者自定义点击事件逻辑。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 必须包含两个子组件,其中第二个子组…

HTML基础:超链接的其他 4 种形式

你好,我是云桃桃。上次,我们聊了 HTML href 属性的网页链接,锚点链接,这次我们聊聊 href 其他 4 种常见链接。 1、电子邮件链接(mailto): 通过 mailto: 创建一个链接,点击链接会自…

使用阿里云服务器查看网站备案的方法和注意事项

随着互联网的发展,网站注册已成为在中国建设网站的必要步骤。 在使用阿里云服务器时,我们可以通过以下步骤查看网站注册状态。 备案概述: 在中国,互联网信息服务提供者必须进行登记,以监管互联网内容、规范市场运营和…

Java 输入方法 数组

目录 一、输入方法1.常用方法2.Scanner的使用3.BufferedReader的使用 二、数组1.数组的定义静态初始化数组动态初始化数组多维数组 2.数组赋值机制3.数组拷贝使用循环逐元素拷贝使用 System.arraycopy() 方法使用 Arrays.copyOf() 方法 4.数组排序5.数组合并6.数组翻转7.基于范…

Kotlin编程权威指南学习知识点预览

一、变量、常量和类型: 变量、常量以及 Kotlin 基本数据类型。变量和常量在 应用程序中可用来储值和传递数据。类型则用来描述常量或变量中保存的是什么样的数据。 1、声明变量: // 变量定义关键字 —— 变量名 —— 类型定义 —— 赋值运算符 —— 赋值var na…

【Kafka面试演练】那Kafka消费者手动提交、自动提交有什么区别?

面试官:听说你精通Kafka,那我就考考你吧 面试官:不用慌尽管说,错了也没关系😊。。。 每日分享【大厂面试演练】,本期是《Kafka系列》,感兴趣就关注我吧❤️ 面试官:你先说说Kafka由什…

cuda cudnn安装

安装 cudnn是否安装成功 注意 cudnn对应的cuda的10.0版本无win11版本 下载win10 即可

linux系统关闭防火墙和SELINUX及配置网络

一,关闭防火墙和SELINUX 当我们进入界面后,输入用户名root,以及密码,密码我们是看不见的 然后输入指令cat -n /etc/sysconfig/selinux (注意空格) 输入指令 vi /etc/sysconfig/selinux &#xf…

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大,性能最好,集群高可用。缺点:会丢数据,功能较单一。 二Ra…

第十五届蓝桥杯模拟考试III_物联网设计与开发官方代码分析

目录 前言:显示界面部分: 前言: 这次模拟的效果很不好。85分,4h的限时我花了两天完成,这个时间是远远超出要求的,而且最后还只拿到56分,抛开分数高低不提,就这个用时属实蜗牛一样的速…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试根据新危险化学品经营单位安全管理人员考试大纲要求,安全生产模拟考试一点通将危险化学品经营单位安全管理人员模拟考试试题进行汇编,组成一套危险化学品经…

安装nginx

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾…

2024/3/14打卡k倍区间(8届蓝桥杯)——前缀和+优化***

题目 给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N…

DeePhage:预测噬菌体的生活方式

GitHub - shufangwu/DeePhage: A tool for distinguish temperate phage-derived and virulent phage-derived sequence in metavirome data using deep learning 安装 conda create -n deephage conda activate deephage pip install numpy pip install h5py pip install ten…

淘宝联盟高级API - 超级搜索api接口, 淘宝联盟商品搜索接口

淘宝联盟商品库超级搜索api接口,支持搜索商品链接、商品id,商品标题搜索,还有更多强大搜索选项。 注意:接口默认只查【含有优惠券】的商品,如果需要精确搜索,请将 has_coupon 参数设置为 false 获取接口秘…

深入理解JMM

一、什么是JMM JMM(java memory model)Java内存模型:是java虚拟机规范中定义的一组规范,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让JAVA程序在各平台都能达到一致的并发结果。其主要规定了线程和内存之间的…