开源理念可以追溯到1980年的大型机时代,从杂志版面连载的代码共享,到一群人聚集到一个社区为爱发电,一起贡献代码,分享互惠,然后是大家根据行业需求,开发新功能和应用为己所用,尤其开源软件能让企业摆脱厂商锁定,迅速提升自身技术能力,缩短软件开发进程,有效节省开支。
如今,开源成为了我们所依赖的应用基础,而伴随着开源为企业带来的巨大成功,其风险问题也层出不穷。尤其2021年底,在被广泛采用的Apache Log4j程序中新发现的零日漏洞,也被认为是业内近十年来最严重的安全漏洞,凭一己之力让全球众多企业和政府机构开始重新审视自身使用的软件的开源代码问题以及识别、跟踪和系统管理开源代码对应用安全的重要性。
经历开源问题年后,风险常态化 or 新拐点
《2022年开源安全和风险分析》报告(OSSRA)
近日,新思科技发布了《2022年开源安全和风险分析》报告(OSSRA),由Black Duck审计服务团队分析了2409个商业和专有代码库,其中87%(即2097个)实施了安全与风险评估。报告强调了在商业和专有应用中使用开源的趋势,介绍了非托管开源所带来的安全隐患,包括安全漏洞、过期或废弃组件及许可证合规性问题。
在2097个代码库中,85%的代码库里包含至少四年未更新的开源代码,88%的代码库中包含过时版本的组件,5%的代码库含有易受攻击的Log4j版本。这也表明了企业机构使用过时的开源组件仍是常态。
不过,经历了一波三折的2021年开源问题年,2022年OSSRA报告中显示,被审代码库中包含至少一个高风险开源漏洞的代码库数量达到49%,相比2021年减少11%。包含至少一个公开开源漏洞的代码库数量为81%,与 2021 年 OSSRA 的调查结果相比减少了3%。而存在许可证冲突的代码库数量为53%,相比2021年的调查结果下降了12%。
新思科技开源治理专家王永雷
新思科技开源治理专家王永雷称,安全漏洞对开源影响越来越大,近年来更是没有一个数量减少的趋势,但在2022年有所减少,虽然不是很大,但希望是一个拐点。
行业应用中的安全漏洞情况
从2022年报告中可以看出,调研的17个行业包含开源代码库的占比均达到90%以上,而且很大一部分代码库容易被利用和攻击。其中,计算机硬件及半导体、网络安全、能源与清洁科技、物联网占比高,达到100%,占比最低的医疗保健,健康科技和生命科学行业也达到93%。
在航空航天、汽车、运输和物流行业,97%的代码库中包含开源代码,60%的代码由开源代码组成,并且发现这些行业60%的代码库中存在开源漏洞。
互联网和移动应用行业也有类似情况。99%的代码库中包含开源代码,80%的代码由开源代 码组成,56%的代码库中存在开源漏洞。
各行各业都会在软件开发以及后续应用期间出现相同的安全漏洞问题,无法避免,只能面对,对此,王永雷分享了软件开发流程的供应链风险。
左侧是整个软件开发过程里的源代码,通过软件构建最后连接到消费者信息,整个ABCDEFG过程中,任意一点都有可能受到潜在攻击或者被污染。尤其是E,依赖组件被污染,当开发人员在构建软件时会引入很多外部依赖包,这些依赖包下的逐级依赖被隐藏,导致开发人员完全没意识到使用了这么多开源组件,而一旦组件被污染,就会面临高风险问题。
标准风险管理服务中不包含软件供应链,关注点不在软件,也不热衷软件漏洞的态势变化,但软件供应链是风险管理模型之一,尤其近年引发企业重视。其实软件供应链和制造供应链有点类似,比如近期一家汽车制造厂就是因为上游供应链连接的小规模零部件供应商被网络攻击,导致制造厂的零部件管理系统中断,最后直接影响了上万台汽车的产量。
服务不持续就可能会影响整体业务,但软件供应链目前还未引起大众足够的重视,新思科技发现第三方开发的大多数软件,每个应用平均有包含508个第三方库组件,而这些组件里面还会有关联的漏洞。
王永雷指出,近两年,国内外非常关注开源供应链,国际标准ISO 5230就是从一个开源项目开放链(Open Chain)衍生而来,新思科技也参与了标准制定,ISO 5230提供了一个上下游供应链指导规范,有统一的数据交换格式Software Package Data Exchange,传输数据前提前规范数据中字段代表的含义,统一标准,降低成本,这也是构建一个核心可信的供应链的基石。
而新思科技提供一整套端到端安全解决方案,包括检测工具、软件和服务等,能在整个软件开发过程中帮助企业更好地管理开源风险,妥善控制开源供应链风险。在国内开源领域,新思科技深度参与了中国信通院牵头的《开源安全深度观察报告》、《开源合规指南(企业篇)》等一系列开源权威研究报告及白皮书的编写。此外,新思科技的Black Duck,也再次以高分通过中国信通院今年的可信开源治理工具评估。
最后
2022年,以灵活性、迭代速度、成本效益为驱动力,社区里的一群开发人员和科技企业依然凭热情、创新和持续贡献代码给开源注入新活力。当企业基于这些开源社区的代码“砖”创新出行业应用“城堡”时,也要懂得如何妥善管理开源软件,今年许可证冲突问题和高风险漏洞数量有所减少,但经过审计的代码库中有超过一半仍然存在许可证冲突,近一半包含高风险漏洞,这些问题不容忽视。