近日,新思科技 (Synopsys, Nasdaq: SNPS)发布了《2021年开源安全和风险分析》报告(OSSRA)。本报告由新思科技网络安全研究中心(CyRC)制作,研究了由Black Duck®审计服务团队执行的对超过1,500个商业代码库的审计结果,重点介绍了在商业应用程序中开源应用的趋势,并且提供了见解,以帮助企业和开源开发者更好地了解他们所处的互联软件生态系统,同时还详细地介绍了非托管开源所带来的安全隐患,包括安全漏洞、过期或废弃的组件以及许可证合规性问题。
2021年 OSSRA报告指出,开源是所有行业绝大多数应用程序的基础;但同时,他们也在费尽心思去管理开源风险。如所有经过审计的营销科技类公司的代码库都包含开源,包括CRM客户关系管理系统及社交媒体,其中95%的营销科技代码库存在开源漏洞;98%的医疗保健行业代码库包含开源,其中有67%的代码库存在漏洞;97%的金融服务/金融科技行业代码库包含开源,其中超过60%的代码库存在漏洞;92%的零售和电子商务行业代码库包含开源,其中71%的代码库存在漏洞。
然而更令人担忧的是废弃开源组件仍在被广泛使用。高达91%的代码存在开源依赖项,这些开源组件在过去两年内没有任何开发活动——没有进行代码改进,也没有任何安全修复。报告中还提到,2020年的审计中再次发现了2019年在代码库中发现的几个十大开源漏洞,并且所有这些漏洞的百分比均有显著增加。
新思科技软件质量与安全部门 软件应用安全解决方案工程师王永雷
新思科技软件质量与安全部门,软件应用安全解决方案工程师王永雷认为,导致上述现象发生的原因是多方面的。首先是我们没有找到正确的方向,很多人认为安全是一次性的,但事实并非如此,我们要有长期思维,要持续的去做安全;其次是缺乏工程化的能力。“从我们的角度来讲,第一是工具要有很强的探测能力,第二要自动化,第三要容易集成,第四要形成一整套的自动化的规则去落地的机制,不要让安全成为一个障碍,让安全去助力于整个开发的过程。”王永雷强调。
此外,2021年OSSRA报告中提及的其它开源风险包括:
- 商业软件中过时的开源组件已成常态。85% 的代码库含有至少四年未曾更新的开源依赖项。与废弃项目不同,这些过时的开源组件拥有活跃的开发人员,但是他们发布的更新及安全补丁却没有被下游商业消费者所采用。除了忽略应用补丁会带来的明显安全隐患之外,使用过时的开源组件还可能带来技术上的麻烦,包括与将来更新相关的功能问题和兼容性问题。
- 开源漏洞趋势朝着错误的方向发展。2020年,包含存在漏洞的开源组件的代码库百分比为84%,较2019年上涨了9%。同样,包含高风险漏洞的代码库的百分比从49%上升至60%。2020年的审计中再次发现了2019年在代码库中发现的几个十大开源漏洞,并且所有这些漏洞的百分比均有显著增加。
- 超过90%经审计的代码库含有许可证冲突、自定义许可证或根本没有许可证的开源组件。2020年审计的代码库中,65%包含存在许可证冲突的开源组件,通常涉及“GNU通用公共许可证”。26%的代码库采用没有许可证或定制许可证的开源代码。这三种问题有潜在的侵权和其它法律风险,通常需要进行评估,尤其涉及到合并和收购交易的时候。
“为了确保企业开源合规安全管理,新思科技除了可以提供工具外,还有针对不同行业的最佳实践。我们在中国也有很强的本地化支持的能力,希望“以客户为中心“,帮助客户去落地可实践的方案,致力帮助客户成功。”王永雷强调道,“一个真正的方案必须是专业人员、流程、技术三者融合,缺一不可,这样才能给客户带来真正的价值。”
“The key to success is to start before you’re ready。”——成功的关键是在你开始之前就做了很多准备了,而不是一蹴而就的事情。想做好开源安全也同样如此。