随着开源组件愈加频繁地被使用在商业软件中,识别、跟踪和 管理开源的需求也大幅攀升。在确保开源安全方面,业界仍然面临许多挑战,比如漏洞、许可证合规和维护问题。

 

 

新思科技  (Synopsys, Nasdaq: SNPS)近日发布了《2021年开源安全和风险分析》报告(OSSRA)。该报告由新思科技网络安全研究中心(CyRC)制作,研究了由Black Duck®审计服务团队执行的对超过1,500个商业代码库的审计结果。报告重点介绍了在商业应用程序中开源应用的趋势,并且提供了见解,以帮助企业和开源开发者更好地了解他们所处的互联软件生态系统。这份报告也详细地介绍了非托管开源所带来的安全隐患,包括安全漏洞、过期或废弃的组件以及许可证合规性问题。

 

2021年 OSSRA报告强调,开源是所有行业绝大多数应用程序的基础;但同时,他们也在费尽心思去管理开源风险。

 

  • 所有经过审计的营销科技类公司的代码库都包含开源,包括CRM客户关系管理系统及社交媒体。其中95%的营销科技代码库存在开源漏洞。

 

  • 98%的医疗保健行业代码库包含开源,其中有67%的代码库存在漏洞。

 

  • 97%的金融服务/金融科技行业代码库包含开源,其中超过60%的代码库存在漏洞。

 

  • 92%的零售和电子商务行业代码库包含开源,其中71%的代码库存在漏洞。

 

  • 更令人担忧的是废弃开源组件仍在被广泛使用。高达91%的代码存在开源依赖项,这些开源组件在过去两年内没有任何开发活动——没有进行代码改进,也没有任何安全修复。

 

新思科技网络安全研究中心首席安全策略师Tim Mackey表示:“超过90%的代码库使用了在过去两年没有发生任何开发活动的开源组件,这不足为奇。与供应商能直接将信息推送给用户的商业软件不同,开源更需要社区参与才能蓬勃发展。如果没有社区参与,企业就将开源组件用于商业软件,项目活力很容易减弱。废弃项目不是新问题,但是当它们出现时,解决安全问题变得更加困难。解决方案很简单,投资那些利于业务成功的项目。” 


2021年OSSRA报告中提及的其它开源风险包括:

  • 商业软件中过时的开源组件已成常态。85% 的代码库含有至少四年未曾更新的开源依赖项。与废弃项目不同,这些过时的开源组件拥有活跃的开发人员,但是他们发布的更新及安全补丁却没有被下游商业消费者所采用。除了忽略应用补丁会带来的明显安全隐患之外,使用过时的开源组件还可能带来技术上的麻烦,包括与将来更新相关的功能问题和兼容性问题。 

 

  • 开源漏洞趋势朝着错误的方向发展。2020年,包含存在漏洞的开源组件的代码库百分比为84%,较2019年上涨了9%。同样,包含高风险漏洞的代码库的百分比从49%上升至60%。2020年的审计中再次发现了2019年在代码库中发现的几个十大开源漏洞,并且所有这些漏洞的百分比均有显著增加。

 

  • 超过90%经审计的代码库含有许可证冲突、自定义许可证或根本没有许可证的开源组件。2020年审计的代码库中,65%包含存在许可证冲突的开源组件,通常涉及“GNU通用公共许可证”。26%的代码库采用没有许可证或定制许可证的开源代码。这三种问题有潜在的侵权和其它法律风险,通常需要进行评估,尤其涉及到合并和收购交易的时候。