写点什么

新思科技最新报告,在软件供应链中开源风险管理挑战巨大

  • 2022-05-30
  • 本文字数:3351 字

    阅读完需:约 11 分钟

新思科技最新报告,在软件供应链中开源风险管理挑战巨大

新思科技在 2022 年 5 月中旬发布了《2022 年开源安全和风险分析》报告(OSSRA),从行业的角度讲述了当前在软件供应链中管理开源风险的核心挑战。


该报告由新思科技网络安全研究中心(CyRC)编制,分析了由 Black Duck® 审计服务团队执行的对 2400 多项商业和专有代码库的并购交易审计结果。该报告强调了在商业和专有应用程序中使用开源的趋势,并提供了见解,以帮助开发人员更好地了解他们所处的互联软件生态系统,同时还详细地介绍了非托管开源所带来的安全隐患,包括安全漏洞、过期或废弃的组件以及许可证合规性问题。


2022 年 OSSRA 报告强调,开源组件在每个行业都被广泛使用,并且是当今所有应用程序的构建基础。


使用过时的开源组件仍然是常态。易受攻击的 Log4j 版本也含有过时开源组件。在 Black Duck 审计服务团队今年分析的 2409 个代码库中,87%(即 2,097)实施了安全与风险评估*。从运营风险/维护方面来看,在 2097 个代码库中,85%的代码库中包含至少四年未更新的开源代码;88%的代码库中包含过时版本的组件;5%的代码库含有易受攻击的 Log4j 版本。


经过评估的代码库显示,开源漏洞数量总体减少。2097 个代码库经过安全与运营风险评估,其中包含至少一个高风险开源漏洞的代码库数量大幅减少。今年的被审代码库中只有 49%包含至少一个高风险漏洞,2021 年为 60%。此外,81%包含至少一个已知的开源漏洞,与 2021 年 OSSRA 的调查结果相比减少了 3%。


许可证冲突总体上也在减少。超过一半(53%)的被审代码库存在许可证冲突,与 2020 年的 65% 相比大幅下降。总体而言,特定许可证冲突在 2020 年至 2021 年期间减少了。


30%的被审代码库中都包含无许可证或使用定制许可证的开源代码。如果未经创作者/作者以授权许可证的形式明确允许,其他人则不能合法地使用、复制、分发或修改该软件。没有许可证的软件可能意味着使用开源组件带来的法律风险。定制化的开源代码许可证可能会对被许可方提出非预期的要求,因此经常需要对可能的知识产权 IP 问题或其它影响进行法律评估。


新思科技网络安全研究中心首席安全策略师 Tim Mackey 表示:“使用软件组成分析(SCA)工具的用户已经将重点放在减少开源许可证冲突和解决高风险漏洞上。得益于此,我们今年可以看到许可证冲突问题和高风险漏洞数量已经减少。但是我们不能忽略,经过审计的代码库中有超过一半仍然存在许可证冲突,近一半包含高风险漏洞。更令人不安的是,88%被审代码库中包含过时版本的开源组件。而且往往这些组件有可用的更新版本或补丁,但没有被采用。”


Tim Mackey 指出:“没有将软件升级到最新版本的理由有很多。但是,如果企业没有一份清单,准确列明其在代码使用的开源组件,那过时的组件可能就会被遗忘;直到变成一个易受攻击的高风险漏洞,企业才慌忙查找这个组件用在哪里,然后去进行更新。这正是 Log4j 面临的情况。这也是软件供应链和软件物料清单(Software Bill of Materials, SBOM)成为当下行业热点的原因。”


新思科技开源治理专家王永雷在介绍报告的过程中说,从下图能看到每年的开源代码的比例,虽然 2021 年跟 2020 年相比,2021 年大概是 78%左右,跟 2020 年的比例相比增长没有那么爆发式的,但是从 2016 年开始一直是增长趋势,从 2016 年 30%到现在,通过 5 年的时间已经实现了翻倍的增长。



从目前来看,明年还是会有一个增长的趋势,也表明开源软件在促进全球软件创新方面发挥着越来越重要的作用,包括商业公司,以开源为商业的这种公司,都在蓬勃的发展。像图片中展示出来的,计算机硬件和半导体,传统意义上来讲,半导体也会跟硬件有很深的关系吗?其实是的。整个半导体跟原来是不太一样,它是基于硬件,然后基于软件的一个一体化的平台,为客户打造一整套的方案,还有网络能源与清洁科技物联网,都 100%地使用到了开源的软件,这是今年的一个最新的趋势,正应了那句话,“软件继续吞噬世界,开源吞噬软件。”


 

2020 年审计代码库大概是 1,700 个,2021 年共审计代码库是 2,400 多个,增长了百分之四十几。同时看到一个现象,安全漏洞对于开源影响越来越大,在 2021 年安全漏洞的数量有所下降,这是一个值得欣慰的地方。第二变化是,安全越来越引起大家的重视,而且很多企业也要求软件服务商能识别出过期的开源软件,这些过期的软件风险其实是非常高的,从图片中可以看出,包括 88%的被审计代码库中包含两年内未更新的组件,85%的被审代码库中包含至少已过时四年的开源代码,这 85%也就是说 4 年里都没有更新过。


此外还有合规问题,许可证之间的冲突,Unknown 许可证等问题的比例不小,都需要引起重视。


接下来是关于开源软件供应链,其实去年到现在发生了很多安全事件、合规的事件、攻击事件。


 

以 Log4J 为例,它在安全圈里面算是一个核爆级的事件,Log4J 是一个基础性的软件,软件开发中只要涉及到 Java 的,可能 90%的概率都会用到这个记录应用程序日志的组件。通过分析发现 15%的代码都会受到 Log4J 漏洞的影响,这个比例已经很高了。


据统计,今年有被超过 7000 个其他的组件所调用,带来一个很大的挑战,如果要去治理,但是不知道从哪边入手,所以在整个软件供应链里面构建安全其实也是非常重要。整个软件其实是一个链,它也是由基础的软件,其他软件,然后组成一个框架,再组成一个应用程序,甚至组成一个服务。通过这样的一个事件引入我们针对开源供应链的思考。



这是一个比较典型的图,就是整个软件的开发过程里面有源代码,再经过构建,然后再给消费者使用,过程中任何一个点都有可能受到潜在的攻击风险。E 环节会引入很多外部的一个依赖包,这个依赖又是逐级的依赖,包含很多开源组件,因此风险也很高。



说到软件供应链这一块,目前还没有引起足够的重视,每个应用程序平均有包含 508 个第三方组件,尤其是这些组件里面还会有相关联的漏洞,希望能够引起大家的重视。



接下来看软件供应链与风险控制之间的关系。向供应商采购设备或购买软件,可以通过一些行业标准,或合同规范进行管理,这些软件它其实是处于一个无序的、或者是目前来讲没有很好地纳入管理。还有一些我们称之为第三方的库,就是第三方的二进制库,还有一些基于开源组件做一些定制开发,或者是补丁(Patch)都可能引入风险。除此之外还有恶意代码,如果软件在更新的时候,软件包会被劫持,然后被黑客恶意利用之后,会导致程序受到攻击,这些都是属于不可控的风险,这些被称之为软件供应链。


针对开发过程中的各节点风险,有没有解决办法呢?



在最近一两年,国际上都非常关注整个开源供应链,有一个国际标准叫 ISO 5230,这个标准它是基于一个 Open Source 的项目 Open Chain 衍生而来的,Open Chain 这个项目也有超过十多年的历史,是在 Linux 基金会孵化出来。它提供了一个规范和指导,包括上下游的操作规范,核心流程,整体的合规性等等。


在这个过程里面,要和上下游进行数据交换,去年出来了一个数据交换格式,叫 SPDX。SPDX 的全称叫 Software Package Data Exchange,这个标准是说大家形成一个统一的规范,你给我的数据里面这个字段表示什么,那个字段表示什么,降低大家的处理成本,构建一个核心的可信的供应链基石。


另外,从新思科技的角度来说,新思提供软件又提供服务,在整个软件开发过程里,去帮助我们的企业更好地去管理开源的风险,甚至是更好地去管理开源供应链的风险。


在软件开发的过程里面有源码、有构建,还有到发布,那么在这个过程里面我们再细分一下,比如说需求阶段、编码阶段、构建阶段、测试、发布,都有提供服务,提供专业的检测工具去帮助客户提供全方位和端到端的解决方案。



国内包括有信通院牵头的,除了开源合规这一块,也越来越关注开源安全领域。今年新思科技也深度参与了信通院《开源安全深度观察报告》《开源合规指南(企业篇)》白皮书的编写,也希望携手信通院一起来提高整个中国开源产业的安全和合规的水平。



今年,新思科技的 Black Duck 再次通过信通院的可信开源治理工具评估,它的评估其实要求的还是比较细的,新思科技也是高分通过了。在这个过程里面,新思展现了全面的语言支持能力,适应客户不同场景的扫描能力,还有企业级客户尤其关注高并发,分布式弹性部署,容器可扩展性等能力。


下载 2022 年OSSRA报告


*在 2022 年的 OSSRA 报告中,“开源漏洞与安全”以及“开源维护”部分的数据基于包含风险评估的 2097 个代码库,而“许可证”部分的数据则基于全部的 2409 个代码库。

2022-05-30 08:001206

评论

发布
暂无评论
发现更多内容

敏捷环境中的DevSecOps

龙智—DevSecOps解决方案

敏捷 DevSecOps 敏捷环境 DevSecOps和敏捷

打造爆款游戏互动体验,拍乐云Unity实时语音了解一下

拍乐云Pano

游戏开发 Unity RTC 实时语音

使用污点分析检查log4j问题

华为云开发者联盟

Java log4j JNDI 污点分析 信息流分析

Hoo虎符研究院|Moonbeam主网上线后 “Layer 0”会有哪些改变?

区块链前沿News

Hoo 虎符交易所 虎符研究院 波卡 Moonbeam

[Python公开课]零基础玩转Python基础篇----第五节:Python的列表、元组和字典

是Dream呀

Python 2月月更

新版本插件解读|如何借助 Forward Auth 增强认证能力

API7.ai 技术团队

开源 网关 认证 Apache APISIX

从冬奥火炬“飞扬”看我国氢能产业的发展前景

易观分析

数字经济下,银行线上场景化建设的服务颗粒度、用户忠诚度和生态融合度

CECBC

美团动态线程池实践思路,开源了

yanhom

Java 线程池 动态调整线程池参数 动态线程池 美团线程池

大数据培训:在 flink 中使用 hive udf的原因分析

@零度

flink 大数据开发

[Python公开课]零基础玩转Python基础篇----第二节:Python的语法基础

是Dream呀

2月月更

最佳实践 | 如何避免一行错误代码造成的血案?

龙智—DevSecOps解决方案

代码质量 静态代码分析 电信公司解决方案 代码检查器

智汇华云 | 通过iscsi为容器提供存储

华云数据

[Python公开课]零基础玩转Python基础篇----第六节:Python中的函数

是Dream呀

2月月更

web前端培训: JavaScript 中初始值如何填充数组

@零度

JavaScript 前端开发

Linux下玩转nginx系列(二)——nginx配置文件说明

anyRTC开发者

nginx Linux 音视频 WebRTC 服务器

2022年2月国产数据库排行榜: OceanBase“三连增”重夺探花,GaussDB实现本月最大涨幅引期待

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

龙蜥社区一周动态 | 2.07-2.13

OpenAnolis小助手

Linux 开源 社群运营

[Python公开课]零基础玩转Python基础篇----第三节:Python的常用语句

是Dream呀

Python 2月月更

花灯照 人笑颜|OceanBase祝大家工作生活都和元宵一样甜

OceanBase 数据库

数据库 分布式 开发者 OceanBase 开源 元宵

智汇华云|ArStack 热迁移背后的黑魔法

华云数据

AI冬奥 | 未来已来?走进元宇宙入口-虚拟数字人

Baihai IDP

人工智能 机器学习 AI 游戏 元宇宙

如何优雅的处理错误逻辑

蜜糖的代码注释

Java 2月月更 写好代码

[Python公开课]零基础玩转Python基础篇----第四节:Python的字符串

是Dream呀

Python 2月月更

加密世界的自由

CECBC

拥有CI/CD的所有益处,却更绿色

龙智—DevSecOps解决方案

静态代码分析 静态代码分析工具 SAST工具 静态分析安全测试工具

【C语言】数据类型

謓泽

c 数据类型 2月月更

转载:公司到底怕不怕劳动仲裁?

小江

法律 仲裁

SaaS服务的私有化部署,这样做最高效|云效工程师指北

阿里云云效

阿里云 DevOps 云原生 私有化部署 SaaS平台

java培训:MyBatis 相关面试题分享

@零度

mybatis JAVA开发

Linux之watch命令

入门小站

Linux

新思科技最新报告,在软件供应链中开源风险管理挑战巨大_开源_Xue Liang_InfoQ精选文章