2021年开源软件供应链安全风险研究报告_25页_2mb
报告摘要
2021年开源软件供应链安全风险研究报告总结
核心内容概述
本报告由国家计算机网络应急技术处理协调中心发布,聚焦于开源软件供应链安全风险,从漏洞发展趋势、组件生态风险、依赖层级传播、文件级漏洞传播及安全建议五个方面进行了深入分析。报告指出,随着开源软件在各行业的广泛应用,其安全风险也日益凸显,尤其在漏洞披露滞后、传播范围广、依赖关系复杂等方面存在显著问题。因此,如何在开源生态中实现安全可控的使用成为关键议题。
主要观点与关键信息
一、开源漏洞发展现状及趋势
- 漏洞数量持续增长:开源漏洞整体呈增长趋势,2020年增长率略有下降。
- CVE未收录漏洞增多:2020年有1362个开源漏洞未被CVE官方收录,占当年漏洞总数的23.78%。
- 漏洞披露时间长:部分漏洞从POC披露到NVD首次公开时间长达11年,如CVE-2009-4067。
- 高危漏洞占比上升:近4年高危及以上漏洞占比均超40%,2020年占比达56%。
- CWE-79为最主要缺陷类型:2020年新增漏洞中,CWE-79(跨站脚本)占比约14%,是最主要的缺陷类型。
二、开源组件生态安全风险分析
- 漏洞数量逐年上升:近6年开源组件生态中漏洞数持续增加,2020年环比增长40%。
- Maven仓库漏洞最多:Maven仓库漏洞数量最多,达3533个;Go仓库漏洞最少,仅348个。
- Rubygems高危漏洞占比最高:2020年,Rubygems仓库中高危以上漏洞占比达96%,远高于其他仓库。
- Composer仓库影响范围最大:在平均每版本漏洞数最多的TOP25组件中,Composer仓库占比约50%。
三、组件漏洞依赖层级传播范围分析
- 漏洞传播影响范围大:原始样本中6,416个含漏洞组件,经两轮传播影响范围扩大173倍。
- 一级传播影响最广:一级传播影响范围扩大125倍,二级传播扩大173倍。
- npm仓库传播范围最大:npm仓库在两轮传播中影响范围最大,分别扩大234倍和307倍。
- Composer为一级传播最大影响仓库:一级传播影响范围达99,611个组件,扩大262倍。
- Nuget为二级传播最大影响仓库:二级传播影响范围达84,995个组件,扩大494倍。
- Maven为传播影响范围最小仓库:两轮传播影响范围仅为64倍,远低于其他仓库。
四、开源文件潜在漏洞风险传播分析
- 同源文件现象普遍:80.35%的漏洞文件在开源项目中存在同源文件。
- 漏洞文件传播范围扩大:不考虑版本差异时,漏洞文件被766,877个项目引用;考虑版本差异时,被2,410,476个项目引用,传播范围扩大171倍。
- 案例分析:LibTIFF项目:其
tif_next.c文件被多个开源项目引用,显示同源文件在漏洞传播中的重要性。
五、开源安全风险建议
- 建立开源管理领导组织:建议企业设立开源管理办公室或领导小组,统筹管理开源风险。
- 识别开源成分:准确识别软件中的开源成分,形成清单与图谱,实现对开源成分的可知可控。
- 修复已知开源漏洞:通过工具检测或知识库查询识别漏洞,优先升级或替换高危组件。
- 建立开源威胁情报体系:实时监控和收集多维度的开源威胁情报,及时同步给相关责任人。
- 弃用过老组件:关注组件的更新频率与社区活跃度,及时替换或升级老旧组件。
- 使用左移安全工具:将开源安全治理集成到开发全生命周期,早期识别和处理风险,降低治理成本。
总结
本报告系统分析了开源软件供应链中的安全风险,揭示了漏洞数量增长、传播范围扩大、依赖关系复杂等关键问题。同时,提出了一系列针对性的建议,旨在帮助企业、机构在开源生态中实现安全可控的使用。开源软件的广泛应用与快速发展,使其成为现代软件开发的重要组成部分,但同时也带来了前所未有的安全挑战。因此,建立完善的开源安全治理体系,对于保障软件供应链安全至关重要。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载