开源的流行与安全风险的增加 新思科技发布《2021年开源安全和风险分析》报告 原创

近日,新思科技发布了《2021年开源安全和风险分析》报告(OSSRA)。该报告由新思科技网络安全研究中心(CyRC)制作,研究了由Black Duck审计服务团队执行的对超过1500个商业代码库的审计结果。

随着整个社会加速数字化、网络化、智能化,开源已经成为势不可挡的趋势,驱动云计算、大数据、人工智能等技术和产业的进步。而随着开源产业繁荣兴起,开源的安全问题也备受关注。

近日,新思科技发布了《2021年开源安全和风险分析》报告(OSSRA)。该报告由新思科技网络安全研究中心(CyRC)制作,研究了由Black Duck审计服务团队执行的对超过1500个商业代码库的审计结果。

报告重点介绍了在商业应用程序中开源应用的趋势,以及开源所带来的安全隐患,包括安全漏洞、过期或废弃的组件以及许可证合规性问题。

开源的流行与安全风险的增加

“软件吞噬世界,开源吞噬软件”这句话在业界非常流行。新思科技软件质量与安全部门软件应用安全解决方案工程师王永雷表示,从报告涉及的17个行业可以看到,开源代码的比例最低为48%,最高为89%。开源已经成为行业绝大多数应用程序的基础。

另外,从2016年到2020年,开源代码比例呈现线性增长,从2016年的不到40%发展到2020年突破70%。

随着开源变得无处不在,合规风险也随之而来。OSSRA报告显示,95%的营销科技公司的代码库存在开源漏洞;98%的医疗保健行业代码库包含开源,其中有67%的代码库存在漏洞;97%的金融服务/金融科技行业代码库包含开源,其中超过60%的代码库存在漏洞;92%的零售和电子商务行业代码库包含开源,其中71%的代码库存在漏洞。

王永雷说,由于疫情影响,线上营销需求旺盛。这就导致营销科技应用程序漏洞的比例非常高。不过,物联网、互联网等行业的安全漏洞比例在下降,主要是由于这些行业的安全意识不断提高。

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

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

关注风险与开源治理

随着互联网化和在线化以及云端应用的增加,企业需要将关注点放在风险治理上面,毕竟被攻击的风险和数据的泄露将导致公司名誉的损失,比如Equifax信息泄露事件。

虽然开源业界有着“Linus Law”这一说法,但是开源项目缺乏维护的现象也十分严重。OSSRA显示,废弃开源组件仍在被广泛使用。高达91%的代码存在开源依赖项,这些开源组件在过去两年内没有任何开发活动——没有进行代码改进,也没有任何安全修复。

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

这种风险可以称之为运维风险,这与开源社区息息相关,比如社区的活跃度、贡献者的代码修复情况。此外,随着社区的国际化合作增多,需要尊重本地市场的合规要求,比如是否涉及加密算法等。

王永雷表示,开源的安全问题有时候隐藏在代码逻辑里面,并不容易找到。而且找到之后,没有机制进行及时的通知和修复或者没有人维护,这也会带来很大的问题。所以企业需要良好的开源治理。

为此,我们需要构建完整的BOM物料清单,了解企业组织里使用了哪些开源组件。新思科技提供了覆盖全场景扫描需求的多因子探测技术,帮助企业自动化识别开源组件和代码的使用情况。

王永雷说,将开源组件自动化识别出来是企业开源软件治理的基础,在此之上Black Duck提供了从识别到保护、合规、治理的端到端解决方案。“该方案具有轻量级的特点,能够融入到整个软件开发过程,实现开源治理、安全、合规、运营一体化。”

当前软件开发流行DevOps、CI/CD集成,其实从集成的角度看,新思科技把软件开发和部署分为五个阶段——设计、提交代码、构建、测试、生产。在整个软件开发生命周期中,我们可以采用两个治理思路,一个是主动治理,一个是被动治理。

主动治理就是“左移”,在设计阶段就要考察社区情况、项目的选型等。而在代码提交阶段,需要快速反馈和快速修正,识别开源依赖项,进行QA(质量保证),形成一个完整、合规、安全的软件,发布到生产环境。

软件发后需要进行持续跟踪监控,毕竟软件的漏洞是动态变化的。针对漏洞,我们需要准备相应的解决方案,对于开源的全生命周期管理,需要与开发运营进行集成,更好地构建安全优质的软件。

构建安全优质的软件需要人、流程和技术的紧密协同。在人的方面,培养开源方案专家、举办开源治理活动和培训、领导重视;在流程方面,制定适合组织的治理流程和框架,持续改进流程;在技术方面,自下而上选型适合组织的技术,定制适合组织现状的解决方案。

王永雷表示,为了确保开源合规安全管理,企业首先要选择一个合适的工具,该工具要具有很强的探测能力、自动化、容易集成、可持续,然后在组织层面协调开发、安全、合规、法务、专利等部门,制定规范流程。“新思科技除了提供专业的工具之外,还有行业的最佳实践以及本地化的服务支持,帮助客户落地可实践的方案。”

另外,新思科技具有强大的研发能力,在知识库(Knowledge Base)方面,新思科技网络安全研究中心(CyRC)持续监控组件是否有新的漏洞,漏洞的发布频率以小时来计,保证披露的及时性,并提供对应的解决方案。

来源:至顶网软件与服务频道

0赞

好文章,需要你的鼓励

2021

05/07

17:11

分享

点赞

邮件订阅
白皮书