本月 Sonatype 发布其第九版《软件供应链现状》报告,报告强调了软件供应链攻击的威胁不断增加和及时更新的重要性,企业和个人需要采取积极的措施,并指导开发人员在软件供应链方面的安全实践。报告中有以下几个关键发现:
1. 针对软件供应链的攻击显著增加
报告显示软件供应链攻击近期显著增加。2023 年发现了超过 245,032 个恶意软件包,是自 2019 年至 2022 年间的两倍,平均每八个开源下载中就有一个存在已知且可以避免的风险。
2. 中国开源软件漏洞占比最高
下图是全球开源软件下载量最大的 25 个国家 / 地区,这些下载中,平均 9.5% 都是易受攻击的组件,中国更是高达 13%。在我们随意的点击和下载时,就有数百亿的漏洞进入了软件供应链。
3. 开源项目缺乏积极维护
研究发现,只有11%的开源项目正在积极维护,较 2022 年减少了 18%。项目维护不足也是导致软件供应链中存在大量漏洞的原因。
4. 漏洞发现周期长
39% 的组织需要超过七天才能发现漏洞,这意味着给恶意攻击留了整整七天的空档期。
5. 开源安全需要重视和投资
报告强调了大部分组织对于供应链安全的投入是远远不够的,而其实供应链安全是个极具性价比的工作,仅仅通过较低的时间和成本投入,就可以大幅度改善80%左右的已存在问题。
6. 几乎所有漏洞都可以用更新来修复
尽管这些攻击有所增加,但有 96% 的项目有修复漏洞后的更新版本。这意味着许多漏洞实际上是因为没有及时升级软件,而不是没有修复方案。
总的来说,Sonatype 认为供应链攻击的大部分责任其实在使用者,比如 log4j2 已经是一个老生常谈的问题了,但是在上个月,仍有高达 25% 的新下载软件中包含该漏洞,但是其中大部分的项目有新版本可用,这种关键漏洞又极易被犯罪者利用,危害用户、企业、甚至国家的安全。
解决软件供应链安全真的没有那么难
开源安全的版本答案:
软件成分分析(SCA)+ 软件物料清单 (SBOM)
软件成分分析(SCA)是用于检测通用和广泛使用的库和组件(特别是开源组件)最为有效的方法之一,它不仅能够检测第三方组件中的开源安全风险和漏洞,还能提供有关每个组件的许可和漏洞信息。
通过 OpenSCA 的 CLI 和 IDE 插件,可以在研发的早期阶段进行 SCA 检测并及时发现风险。
[VSCode](https://marketplace.visualstudio.com/items?itemName=xmirror.opensca)
[Jetbrains](https://plugins.jetbrains.com/plugin/18246-opensca-xcheck)
软件材料清单(SBOM)也被广泛认可为控制软件供应链风险的最佳实践。SBOM 的应用可以增强软件供应链的可见性,使软件组件的溯源更加便捷,帮助理清软件产品之间的依赖关系,判断已知漏洞的影响范围,并及时发现潜在的恶意软件渗透,可以有力支持软件供应链相关监管政策和内部审核流程的实施和执行。OpenSCA 现已支持输出 DSDX、CPDX、CycloneDX、SWID 在内的多种 SBOM 格式报告,亦可输入 SBOM 源文件来获取组件漏洞报告或转换为其它 SBOM 格式。
OpenSCA — 1 步获得标准 SBOM
只需在命令行执行检测命令:
# 使用opensca-cli检测
opensca-cli -path ${project_path} -config ${config_path} -out ${filename}.${suffix} -token ${token}
# 写好配置文件后也可以直接执行opensca-cli
opensca-cli
就可以得到 SPDX、Cyclone、SWID 或 DSDX 四种 标准格式的 SBOM 清单
1. SPDX
2. Cyclone
3. SWID
4. DSDX
参考链接:
https://www.sonatype.com/press-releases/sonatype-9th-annual-state-of-the-software-supply-chain-report
GitHub:
https://github.com/XmirrorSecurity/OpenSCA-cli/
Gitee:
https://gitee.com/XmirrorSecurity/OpenSCA-cli/
OpenSCA 官网:
https://opensca.xmirror.cn/