随着整个社会加速数字化、网络化、智能化,开源已经成为势不可挡的趋势,驱动云计算、大数据、人工智能等技术和产业的进步。而随着开源产业繁荣兴起,开源的安全问题也备受关注。
今年4月,新思科技发布了《2022年开源安全和风险分析》报告(OSSRA)。该报告由新思科技网络安全研究中心(CyRC)制作,共调查了17个行业的2400多个商业代码库的匿名结果。报告共包含六个部分:简介;概述;开源漏洞与安全;许可;开源的维护;总结。下文将从以上六个部分出发,对2022与2021年度报告进行对比分析。
概述部分
年度回顾
从2022年与2021年报告年度回顾图的指标来源于当年审计代码库的具体情况,见图1。通过对比分析可以看出,2022年共有指标项10个,2021年共有指标项7个,两个年度回顾图中相同指标项共有5个,分别是:被审计的代码库数量;开源代码的占比;代码库至少包含1个漏洞的占比;代码库存在许可证冲突的占比;包含开源代码的占比,相同指标项的年度变化,见表1。2022年新增指标共有5个,分别是:没有许可证或自定义许可证的开源占比;使用非最新版组件的占比;过时四年多的开源占比;两年内未新开发的组件占比;包含安全风险评估的占比,2022年缺少指标项2个,分别是:漏洞平均年龄;有漏洞的代码库,平均漏洞数量。
表1 年度回顾指标对比表
指标分类 | 指标 | 2022年 | 2021年 | 变化 |
被审计的代码库数量 | 2409 | 1546 | 增长64% | |
开源代码的占比 | 78% | 75% | 占比增加3% | |
代码库至少包含1个漏洞的占比 | 81% | 84% | 占比减少3% | |
代码库存在许可证冲突的占比 | 53% | 65% | 占比减少12% | |
包含开源代码的占比 | 97% | 98% | 占比减少1% | |
新增指标 | 没有许可证或自定义许可证的开源占比 | 20% | — | — |
使用非最新版组件的占比 | 88% | — | — | |
过时四年多的开源占比 | 85% | — | — | |
两年内未新开发的组件占比 | 88% | — | — | |
包含安全风险评估的占比 | 87% | — | — | |
缺少指标 | 漏洞平均年龄 | — | 2.2岁 | — |
有漏洞的代码库,平均漏洞数量 | — | 158个 | — |
术语变化
术语对比分析,2022年与2021年术语数量都为9个,术语内容有部分变化。2022年新增术语两个,分别是:Apache Log4j2漏洞 (BDSA-2021-3887, CVE-2021-44228,等) 、行政命令14028。减少术语两个,分别是二进制分析、静态分析。
术语具体情况。2022年报告中术语共有9个,分别是:代码库、Black Duck增强安全解决方案 (BDSA)、软件库、依赖项、开源许可证、物料清单、软件组成分析(SCA)、Apache Log4j2漏洞 (BDSA-2021-3887, CVE-2021-44228,等) 、行政命令14028。2021年报告中的术语有9个,分别是:代码库、二进制分析、Black Duck增强安全解决方案 (BDSA)、软件库、依赖项、开源许可证、物料清单、软件组成分析(SCA)、静态分析,见表2。
表2 年度术语变化表
术语分类 | 2022年 | 2021年 |
相同术语 | 代码库 | 代码库 |
Black Duck增强安全解决方案 (BDSA) | Black Duck增强安全解决方案 (BDSA) | |
软件库 | 软件库 | |
依赖项 | 依赖项 | |
开源许可证 | 开源许可证 | |
物料清单 | 物料清单 | |
软件组成分析(SCA) | 软件组成分析(SCA) | |
新增术语 | Apache Log4j2漏洞 | — |
行政命令14028 | — | |
缺少术语 | — | 二进制分析 |
— | 静态分析 |
2022年报告新增两个术语的分析。两个术语都为2021年度的热点问题。
首先是,Apache Log4j2漏洞,该漏洞由阿里云计算有限公司发现,并于2021年11月24日将漏洞情况告知阿帕奇软件基金会,2021年12月9日,中国工业和信息化部网络安全威胁和漏洞信息共享平台收到有关网络安全专业机构报告。Apache Log4j2漏洞存在严重安全问题,在国内外引起极大的重视,也成为热点问题进行广泛的讨论,各个安全厂商也对此漏洞输出了各类解决方案。
其次是术语《关于改善国家网络安全》的第14028号行政命令(EO),美国政府于2021年5月12日发布该行政命令,命令第四部分明确要求美国联邦政府加强软件供应链安全管控,其内容占整个命令的25%。国家标准与技术研究所(NIST)于2021年6月25日 发布了《(行政命令14028下的“关键软件”定义)》,并于2021年7月9日发布了《 (“EO关键软件”使用的安全措施)》,体现了国家层面上对于软件供应链安全的重视程度逐渐加深。
各行业开源情况
概述部分的各行业开源情况的对比。2022年与2021年报告的相同点:选取了相同的17个行业;不同点:分析指标的不同,2022年采用的指标为包含开源的代码库的占比,2021年的指标为开源软件在代码库中的占比。
开源无处不在。从2022年报告中可以看出,所调研的17个行业包含开源的代码库占比均达到了90%以上,其中,计算机硬件及半导体、网络安全、能源与清洁科技、物联网占比最高,达到了100%,占比最低的医疗保健,健康科技和生命科学行业也达到了93%。