您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[Synopsys]:2024年开源安全和风险分析报告 - 发现报告
当前位置:首页/行业研究/报告详情/

2024年开源安全和风险分析报告

信息技术2024-05-14-SynopsysL***
2024年开源安全和风险分析报告

您的开源供应链安全指南 2024年开源安全和风险分析报告 综述 目录 3| 3|关于OSSRA2024 开源漏洞与安全性 4|概述 6| 7|采取措施,防止漏洞进入您的软件供应链 8|10大漏洞中有8个可以追溯到同一个CWE 9|为何某些BDSA没有CVE 开源许可 10|按行业划分的漏洞情况 11| 12|了解许可证风险 影响开源风险的运营因素 14|防范AI编码工具带来的安全和知识产权合规风险 15| 研究结果与建议 15|开源使用者需要改进维护实践 16| 17|创建安全的软件开发框架 17|了解代码的构成 18|术语 18|贡献者 |2024年开源安全和风险分析报告|2 综述 本报告提供了一些建议,旨在帮助开源软件创建者和使用者负责任地管理软件,特别是在保障软件供应链安全的背景下。无论您是软件的使用者还是提供者,您都是软件供应链的一部分,需要保护您所使用的应用免受上游和下游风险的影响。在接下来的几页中,我们将探讨: •对开源安全的持续关注 •为何说开发者需要改进以保持开源组件的持续更新 •软件供应链管理需要软件物料清单(SBOM) •如何防范AI编码工具带来的安全和知识产权合规风险 近十年来,开源安全和风险分析(OSSRA)报告的主题一直是“您是否知道贵组织的代码构成情况?”2024年,这个问题比以往任何时候都更加重要。如今,随着开源的广泛使用以及AI生成代码的日益增多,使用第三方代码构建的应用越来越多。 如果无法全面了解代码的构成情况,无论是您自己,还是您的供应商和最终用户,都将无法确定软件可能包含的风险。保障软件供应链的安全首先要知道代码中包含哪些开源组件,并识别它们各自的许可证、代码质量和潜在漏洞。 关于OSSRA2024 欢迎阅读2024年第9版开源安全和风险分析(OSSRA)报告。今年的OSSRA提供了新思网络安全研究中心(CyRC)对商业软件中的开源安全性、合规性、许可和代码质量风险当前状态的年度深入研究。我们分享这些调查研究结果,也是为了帮助安全、法务、风险和开发团队更好地了解安全和许可证风险状况。 本报告使用的数据来自新思科技BlackDuck®审计服务团队在2023年间对来自17个行业的1,067个商业代码库的匿名调查结果。20多年来,审计服务团队一直在帮助世界各地的安全、开发和法务团队加强其项目的安全性和许可证合规。审计服务团队每年为客户审计数千个代码库,主要目的是识别并购(M&A)交易中一系列的软件风险。 该审计还提供全面、高度准确的软件物料清单(SBOM),涵盖企业应用中的开源代码、第三方代码、Web服务和应用编程接口(API)。审计服务团队依靠BlackDuckKnowledgeBase™知识库的数据识别潜在许可证合规与安全风险。该知识库由CyRC创建、管理并积累多年,存储了来自3.1万+开源代码仓库的780万+开源组件。 本OSSRA报告强调了开源代码在软件领域的广泛使用,以及管理不善可能带来的风险。开源代码是当今各种企业和个人应用程序的基石。有效地识别、跟踪和管理开放源代码,对于成功实施软件安全计划非常重要,也是提高软件供应链安全水平的关键因素。 |2024年开源安全和风险分析报告|3 概述 96% 9开6源%的代被码审代码库中包含 77% 7被7审%的开代源码代库码中存在于 53% 5许3可%的证被冲审突代码库中存在 31% 源代码 3许1可%的证被或审使代用码定库制中许包可含证没的有开 84% 2023年审查了1,067个代码库 74% 91% 经过风险评估的代码库中,84%包含漏洞 936个代码库经过风险评估 =10个数据库 10 年 经过风险评估的代码库中,14%包含10年以上的漏洞 2.8 年 经过风险评估的代码库中,漏洞平均年龄为2.8年 24 月 经过风险评估的代码库中,49%包含24个月内未更新的组件 12 月 经过风险评估的代码库中,1%包含至少12个月内未被更新/修补的组件 经过风险评估的代码库中,74%包含高风险漏洞 经过风险评估的代码库中,91%包含了比最新版本落后10个以上版本的组件 |2024年开源安全和风险分析报告|4 图1:本次研究审查的1,067个代码库,按行业划分 5% 电信和无线 100 % 包含开源代码的代码库百分比 代码库中开源代码的百分比8 % 航空航天、汽车、运输和100 企业软件/SaaS 99% 9% 物流6 % 7 计算机硬件和半导体100 金融服务和金融科技 79% 99% 74% 4% 互联网和移动应用 互联网和软件基础架构 物联网 制造业、工业和机器人 营销科技 零售和电子商务 100 4% 6 100 5% 7 100 0% 5 100 8% 8 100 7% 8 100 4% 8 虚拟现实、游戏、娱乐媒和体 % % 大数据、AI、BI和机学器习 % 网络安全 % 教育科技 % 能源与清洁科技 % 医疗技保和健生、命健科康学科 97% 53% 96% 70% 95% 78% 95% 87% 91% 83% 88% 85% |2024年开源安全和风险分析报告|5 开源漏洞与安全 关于本次审计的说明 所有的BlackDuck审计都会检查开源许可证的合规性,但客户可以自行决定放弃该审计的漏洞/运营风险评估部分。2023年, 的OSSRA报告中,“开源漏洞与安全性”以及“影响开源风险的运营因素”部分的数据基于包含风险评估的936个代码库,而“开 BlackDuck审计服务团队共进行了1,067次审计。在这些审计中,88%的客户(936家)接受了安全和运营风险评估。在2024年 源许可”部分的数据则基于全部的1,067个代码库。 在BlackDuck审计服务团队为今年的OSSRA报告分析的1,067个代码库中,有96%包含开源代码。所有被审查的源代码和文件中,有77%来自开源代码。 今年,给定应用中的开源组件的平均数量为526个—证明自动安全测试非常重要甚至绝对必要的实际证据。如果只有区区几个组件,则手工测试也许是可行的,但在这种规模下,开展此类活动将变得举步维艰,几乎不可能实现,需要使用软件组成分析(SCA)之类的自动化解决方案。与手工测试不同,自动安全测试可以快速且一致地执行,允许开发者在开发过程的早期阶段识别问题,而不会影响交付进度或生产力。 在包含风险评估的代码库中,84%包含至少一个已知开源漏洞。这些代码库有74%包含高风险漏洞,与2022年相比有显著增长,2022年只有48%的代码库包含高风险漏洞。高风险漏洞是指已被主动利用、已有POC(证明漏洞存在)记录或已被归类为远程代码执行的漏洞。 74% (2023) 48% (2022) 8一4个%的开代源码漏库洞包含至少包去含年高增风加险了漏洞的代码库数量比 54% 2022至2023年间,高风险漏洞增加了54%(26个百分点),造成这种情况的原因可能不止一个。例如,有可能是经济衰退和随之而来的裁员导致用于寻找和修补漏洞的人员数量减少。此外,审查发现,91%的代码库包含了比最新版本落后10个或更多版本的组件,由此可以得出一个简单的结论:绝大多数开源软件使用者并没有更新他们使用的组件。 49%的代码库中包含过去24个月内未进行任何更新的组件,1%的代码库中包含至少12个月未被代码维护人员更新/修补的组件。 广义上说,术语“维护者”指的是那些领导开源项目的贡献者。他们可能是决定编译或发布哪些部分源代码的最终决策者,他们可能负责所有的代码审查工作,并在其名下托管较小的项目,他们也可能对项目的方向做出最终决定。他们的日常工作可能有所不同,但都包括审查拉取请求和其他提交、发布新版本的软件、分类和处理安全修复以及社区管理和协调。 大多数维护者都会努力使其参与的开源项目保持最新状态。实际上,许多公司还专门雇人来维护公司软件所依赖的开源项目。开源使用者也需要具备同样的勤奋精神。他们需要时刻关注使用的版本,定期进行更新,并在使用开源软件时注意软件卫生—只从那些拥 |2024年开源安全和风险分析报告|6 有健康的维护者和贡献者生态系统的项目下载。 “通用缺陷列表”(CWE)和“公共漏洞和暴露”(CVE)是用于识别和分类软件中安全缺陷和漏洞的常用列表。BlackDuckSecurityAdvisories(BDSA)是新思科技的专有报告,旨在为客户提供比国家漏洞数据库(NVD)CVE通知更高水平、更及时、更详细的信息。BDSA针对影响客户SBOM中项目的漏洞提供可操作的建议和细节,以帮助确保他们全面了解开源代码漏洞可能带来的风险。 如图2所示,CWE-707是CWE20、79、80、97、937的支柱。CWE-707涉及从上游组件读取数据或发送数据到下游组件之前,没有满足安全需求。不能正确地净化输入可能会带来跨站脚本(XSS)和SQL注入等漏洞利用攻击。XSS是一种常见且危险的漏洞利用,与本报告中 T入o等p1攻0击的。漏洞中,有8个都可以映射到CWE的同一个支柱缺陷,即CWE-707。也就是说,没有满足安全需求可能导致跨站脚本和SQL注强调的大多数Top10漏洞有关。 当攻击者利用网站中的漏洞发送通常使用JavaScript编写的恶意的畸形代码时,就会出现跨站脚本攻击。由于该输入没有正确净化或转义,导致攻击者可以操纵原本值得信赖的主机执行恶意任务。不过,大多数XSS攻击的最终目标并不是主机本身,而是Web应用的其他用户。恶意脚本一旦注入,便可用来窃取敏感信息,如会话cookies。 XSS不仅是十大漏洞之一,也是OWASPTop10列表中的一个漏洞—该列表列出了10种最严重的Web应用安全风险。在其列表 中,OWASP将XSS归类为“A03:2021-注入”。XSS漏洞的普遍存在与组织机构日益依赖基于Web的应用与客户交互有关。例如,许多电子商务公司、银行、互联网服务提供商和保险公司等组织机构都提供Web体验来吸引客户和合作伙伴。 数据再次清楚地表明,开发团队需要改进开源组件更新工作,特别是在涉及jQuery等常用的开源组件时。使用更易受攻击的旧版开源软件,后果可能很严重。例如,在审计发现的十大漏洞中,排名第二的BDSA-2020-0686(CVE-2020-11022)是影响从jQuery1.2到3.5.0之间所有版本的XSS漏洞。该漏洞允许将不可信来源的HTML传递给jQuery的一种DOM操作方法—即使经过了清理也不例外—并且可能执行不可信的代码。 这个问题在jQuery3.5.0中得到了修复,但正如我们的数据所示,有三分之一的被测代码库仍在使用易受攻击的jQuery版本。恶意数据可能被用来入侵系统,或者泄露密码和信用信息等敏感数据。正如前面提到的,跨站脚本是应用中最常见的漏洞之一,通常用于对浏览器中的各种语言解释器(如HTML或JavaScript)发动代码注入攻击。 jQuery并非天生不安全。事实上,它是一个维护良好的开源库,拥有庞大的用户、开发者和维护者社区。但是,随着普及度的提高,问题 缓解风险:安全地使用jQuery和其他常用开源软件的技巧 在审计中现的10大开源组件中,全部都是使用JavaScript编写的。审计中发现的大部分漏洞也与JavaScript库相关,尤其是过 时版本的jQueryJavaScript库中的漏洞。 •使用最新版本的jQuery。正如本报告所示,jQuery的旧版本通常都存在安全漏洞。 •考虑订阅安全咨询服务,如BlackDuckSecurityAdvisories,以获取最新的漏洞信息。jQuery时不时就会出现新的安全 •使用安全的编码框架来帮助您识别并避免代码中的潜在安全漏洞。 漏洞。 •使用自动安全测试,包括静态分析、软件组成分析和动态分析,贯穿整个软件开发生命周期来解决代码质量和安全问题。 往往也会随之而来。审计结果显示,jQuery