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

软件供应链管理中,许可证和安全合规性至关重要。开源组件和库可降低风险,但需了解许可证内容。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.hqwc.cn/news/541937.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android SystemServer进程解析

SystemServer进程在android系统中占了举足轻重的地位,系统的所有服务和SystemUI都是由它启动。 一、SystemServer进程主函数流程 1、主函数三部曲 //frameworks/base/services/java/com/android/server/SystemServer.java /** * The main entry point from zy…

51单片机LED8*8点阵显示坤坤跳舞打篮球画面

我们作为一名合格的 ikun,专业的小黑子,这个重要的知识必须学会。 先看效果: 51LED点阵_鸡你太美 这里我们首先要用到延时函数Delay: void Delay(unsigned int xms) {unsigned char i, j;while(xms--){ i 2;j 239;do{while (-…

AWS云上面的k8s统一日志收集(Fluent Bit+EKS+CW)

目标 k8s上面的常见的统一日志方案是EFK,具体如下: E:elasticsearch;F:fluentd;K:kibana 这里我们变成了使用fluentd的AWS替代品Fluent Bit,直接将日志输出到CloudWatch组。不需要E和K了。不过,这样仅仅用于AWS EKS。 步骤 给…

Scala--01--简介、环境搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. Scala简介1.1 Scala是什么?官网: [https://scala-lang.org/](https://scala-lang.org/)官方文档: [https://docs.scala-lang.…

工具-百度云盘服务-身份认证

目标 通过百度网盘API的方式去获取网盘中的文件,要实现这的第一步就是需要获取网盘的权限。资料(参考) 如果期望应用访问用户的网盘文件,则需要经过用户同意,这个流程被称为“授权”。百度网盘开放平台基于 OAuth2.0 接入授权。OAuth2.0 是…

Tomcat不识别请求路径中的特殊字符{}

报错内容解决方法1 /opt/tomcat/conf/catalina.properties --> tomcat.util.http.parser.HttpParser.requestTargetAllow|{} 解决方法2 /opt/tomcat/conf/server.xml --> relaxedQueryChars"[]|{}-^&#x60;&quot;<>" relaxedPathChars"[]|{…

分布式CAP理论

CAP理论&#xff1a;一致性&#xff08;Consistency&#xff09;、可用性&#xff08;Availability&#xff09;和分区容错性&#xff08;Partition tolerance&#xff09;。是Eric Brewer在2000年提出的&#xff0c;用于描述分布式系统基本性质的定理。这三个性质在分布式系统…

193基于matlab的基于两轮驱动机器人的自适应轨迹跟踪算法

基于matlab的基于两轮驱动机器人的自适应轨迹跟踪算法&#xff0c;将被跟踪轨迹分段作为跟踪直线处理&#xff0c;相邻离散点之间为一段新的被跟踪轨迹。程序已调通&#xff0c;可直接运行。 193 自适应轨迹跟踪算法 两轮驱动机器人 - 小红书 (xiaohongshu.com)

ftp和fxp哪个传传输快,传输大文件该怎么选择?

在当今数字化时代&#xff0c;大文件传输已成为日常工作和商业活动中不可或缺的一部分。无论是跨国公司的数据交换&#xff0c;还是个人用户的大型媒体文件分享&#xff0c;选择一个高效的传输协议至关重要。FTP和FXP是两种常用的文件传输方式&#xff0c;但在传输大文件时&…

工具类实现导出复杂excel、word

1、加入准备的工具类 package com.ly.cloud.utils.exportUtil;import java.util.Map;public interface TemplateRenderer {Writable render(Map<String, Object> dataSource) throws Throwable;}package com.ly.cloud.utils.exportUtil;import java.util.Map;public int…

【矩阵】73. 矩阵置零【中等】

矩阵置零 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]] 解题思路 1、…

【DL经典回顾】激活函数大汇总(十五)(LogSoftmax附代码和详细公式)

激活函数大汇总&#xff08;十五&#xff09;&#xff08;LogSoftmax附代码和详细公式&#xff09; 更多激活函数见激活函数大汇总列表 一、引言 欢迎来到我们深入探索神经网络核心组成部分——激活函数的系列博客。在人工智能的世界里&#xff0c;激活函数扮演着不可或缺的…