16年来,世界各地的安全、开发和法律团队一直都在使用BlackDuck®软件组成分析(SCA)解决方案和开源审计技术来识别并跟踪开源代码、缓解安全及许可证合规风险、并使用现有的DevOps工具和 流程来自动贯彻开源策略。新思科技研究发现开源安全、许可证合规性和操作风险依然很普遍。
美国新思科技公司 (Synopsys, Nasdaq: SNPS)近日发布了《2020年开源安全和风险分析》报告(OSSRA)。该报告由新思科技网络安全研究中心(CyRC)制作,研究了由Black Duck审计服务团队执行的对超过1,250个商业代码库的审计结果。报告重点介绍了在商业应用程序中开源应用的趋势和模式,并且提供见解和建议,以帮助企业从安全性、许可证合规性和操作角度更好地管理开源风险。
2020 OSSRA报告重申了开源在当今软件生态系统中的关键作用,揭示了过去一年中经过审计的所有有效代码库(99%)至少包含一个开源组件,其中开源占所有代码的70%。值得注意的是,老化或废弃的开源组件仍然被广泛使用,91%的代码库中包含的组件已经过期四年以上或过去两年中没有开发活动。
在今年的分析中,最令人担忧的趋势是未管理的开源代码带来的安全风险日益增加,经过审计的代码库中,75%包含具有已知安全漏洞的开源组件,而去年这一比例是60%。同样,将近一半(49%)的代码库包含高风险漏洞,去年则为40%。
新思科技网络安全研究中心首席安全策略师Tim Mackey表示:“我们很难摒弃开源在现代软件开发和部署中扮演的重要角色;但是却很容易从安全性和许可证合规性角度忽略它如何影响应用程序风险态势。2020年OSSRA报告强调企业如何持续努力有效地追踪和管理其开源风险。维护一个准确的第三方软件组件库包括开源依赖项,并对其保持更新是从多个层面处理应用程序风险的关键起点。”
2020年OSSRA报告中最值得注意的开源风险趋势包括:
开源采用率持续增长。99%的代码库包含至少一些开源,每个代码库中平均有445个开源组件,比2018年的298个有显著增加。被审计的代码中有70%是开源代码,这一数字从2018年的60%增至目前,并且自2015年(36%)以来几乎翻了一番。
过期和“废弃”的开源组件非常普遍。91%的代码库包含已经过期四年以上或者近两年没有开发活动的组件。除了存在安全漏洞的可能性增加之外,使用过期的开源组件的风险在于更新它们还会带来不必要的功能和兼容性问题。
易受攻击的开源组件的使用再次呈上升趋势。2019年,包含易受攻击的开源组件的代码库的比例从2017年的78%下降至2018年的60%之后增至了75%。同样地,包含高风险漏洞的代码库的比例由2018年的40%增至49%。幸运地是, 2019年审计的代码库中都没有受到臭名昭著的Heartbleed漏洞或2017年困扰Equifax的Apache Struts漏洞的影响。
开源许可证冲突持续使知识产权面临风险。尽管开源软件拥有“免费”的优势,但它与其它软件一样都要受到许可证的约束。67%的代码库包含某种形式的开源代码许可证冲突,33%的代码库包含没有可识别许可证的开源组件。许可证冲突的发生率因行业而异,从最高的93%(互联网和移动应用程序)到相对较低的59%(虚拟现实、游戏、娱乐和媒体)。