国家互联网应急中心-2021年开源软件供应链安全风险研究报告-2021.6-25页_2mb
报告摘要
2021年开源软件供应链安全风险研究报告总结
核心内容概述
本报告由国家计算机网络应急技术处理协调中心发布,旨在分析2021年开源软件供应链安全风险的发展现状、趋势及应对建议。报告从五个主要部分展开,包括开源漏洞发展现状及趋势、开源组件生态安全风险分析、组件漏洞依赖层级传播范围分析、开源文件潜在漏洞风险传播分析以及开源安全风险建议。报告强调了开源软件在当今信息技术体系中的重要性,并指出其在安全方面所面临的挑战。
主要观点
开源漏洞发展趋势
- 漏洞数量持续增长:2015年至2020年,开源漏洞数量整体呈增长趋势,2020年新增漏洞数为3426,环比增长40%。
- 高危漏洞占比上升:2020年,高危及以上漏洞占比达到56%,其中高危漏洞占比为46.91%,超危漏洞占比为8.83%。
- 漏洞披露延迟严重:部分漏洞从POC披露到NVD首次公开时间长达11年,说明漏洞信息传播滞后。
- CWE-79为最主要缺陷类型:2020年,CWE-79(跨站脚本)漏洞数量最多,占新增漏洞的14%。
- CVE官方未收录漏洞逐年增加:2020年,有23.78%的漏洞未被CVE官方收录,说明漏洞管理存在缺口。
开源组件生态安全风险
- 漏洞数量增长显著:Maven仓库在近6年中漏洞数量最多,达3533个;Rubygems仓库漏洞增长最快,相比去年翻10.5倍。
- 高危漏洞占比最高:2020年,Rubygems仓库含高危以上漏洞占比达96%,是所有仓库中最高的。
- 漏洞传播范围扩大:组件漏洞按依赖层级传播,一级传播影响范围扩大125倍,二级传播扩大173倍。
- npm仓库传播范围最广:经两轮传播,npm仓库影响范围最大,分别扩大234倍和307倍。
- Maven传播影响最小:Maven仓库在两轮传播中影响范围最小,仅扩大41倍和64倍。
开源文件潜在漏洞风险
- 同源文件比例高:80.35%的漏洞文件在开源项目中存在同源文件,说明漏洞文件在多个项目中被复用。
- 漏洞传播范围显著扩大:漏洞文件在开源项目中传播范围扩大54倍(不考虑版本),扩大171倍(考虑版本)。
- 同源文件结构相似:同源文件虽有差异,但代码逻辑和函数变量名称基本一致,表明漏洞可能被广泛利用。
关键信息
- 开源软件渗透率高:在教育、金融、医疗等行业,开源使用率超过60%。
- 政策支持:2021年《“十四五”规划》首次将开源纳入国家发展战略。
- 漏洞影响范围大:组件漏洞按依赖层级传播,可能导致影响范围扩大数百倍。
- 漏洞信息滞后:部分漏洞未被CVE收录,且从POC到公开时间长达11年。
- CWE-79为高风险漏洞:该漏洞类型在2020年占据重要位置,需重点关注。
五、开源安全风险建议
- 建立开源管理组织:建议企业设立开源管理办公室或领导小组,全面掌握开源生态知识,提升风险意识。
- 识别开源成分:准确识别软件中的开源成分,形成清单和图谱,实现对开源成分的可知可控。
- 修复已知漏洞:利用工具或知识库识别已知漏洞,并优先进行修复;对于无法修复的漏洞,制定安全风险接受清单。
- 建立威胁情报体系:对开源威胁情报进行实时监控,整合多渠道信息,及时同步给责任人。
- 弃用过老组件:避免使用老旧组件,选择较新的、活跃的开源组件,确保安全更新。
- 使用左移安全工具:将开源安全治理集成到软件开发全生命周期,早期识别风险,降低治理成本。
结构总结
| 部分 | 内容概要 |
|---|---|
| 一、开源漏洞发展现状及趋势 | 漏洞数量增长、高危漏洞占比上升、CWE-79为主要缺陷类型、漏洞披露延迟问题 |
| 二、开源组件生态安全风险分析 | 各仓库漏洞数量、高危漏洞占比、漏洞传播范围扩大、Maven、npm、Rubygems等仓库风险较高 |
| 三、组件漏洞依赖层级传播范围分析 | 一级与二级传播影响范围扩大、npm传播范围最大、Maven传播影响最小 |
| 四、开源文件潜在漏洞风险传播分析 | 同源文件比例高、漏洞文件传播范围显著扩大、同源文件结构相似,存在潜在风险 |
| 五、开源安全风险建议 | 建立管理组织、识别开源成分、修复漏洞、建立威胁情报体系、弃用老旧组件、使用左移安全工具 |
结论
开源软件的广泛应用带来了技术上的便利,同时也伴随着严重的安全风险。报告指出,漏洞数量持续增长、高危漏洞占比上升、漏洞传播范围扩大、漏洞信息滞后等问题,对软件供应链安全构成重大威胁。为应对这些风险,报告提出了系统性的管理建议,包括建立管理组织、识别与监控开源成分、修复漏洞、建立威胁情报体系等,以确保在拥抱开源生态的同时,实现对安全风险的有效控制。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载