跳转到主要内容
Chinese, Simplified

让我们看看Synopsys的开源安全和风险分析的一些亮点,看看在使用OSS时需要注意的法律和安全问题。

跟踪你拥有的一切可能会很无聊。 首席库存官 - 如果标题存在 - 并不意味着魅力,力量或财富。 它带有苦差事的气味 - 在仓库里度过的日子。 但现实是,它与更迷人的东西一样重要。 也许更多。

在IT中,用于构建应用程序和运行网络/系统的软件组件尤其如此。 未能跟踪它们可能会导致灾难性的麻烦。

特别是当这些组件是开源软件时。

这并不意味着开源比专有软件更糟或更危险。 在许多方面,它更好。 它有越来越多的受欢迎 - 其中有免费的,可以修改以满足应用程序开发人员的任何需求。 它是一个适应性强的构建块。 正如Synopsys的网络安全战略家蒂姆·麦基(Tim Mackey)所说,“开源创新能源”。

因此,Synopsys最新的开源安全和风险分析(OSSRA)报告发现开源已经成为代码库中的主要元素也就不足为奇了。调查结果基于对17个行业的1200多个应用程序的审计。

你应该追踪开源的原因


其中一个衡量标准是代码库中开源组件的平均数量,一年内增长了16%,从2017年的257个增加到2018年的298个。

另一个是许多行业 - 其中有二十几个在OSSRA中引用 - 正在构建具有绝大多数开源组件的应用程序 - 在58%到78%的范围内。这些行业包括企业软件,虚拟现实,游戏,娱乐和媒体;互联网和软件基础设施零售和电子商务;物联网(IoT);金融服务;大数据和机器学习;能源;网络安全;和营销技术。

所有这些都意味着,如果您从事商业活动,那么您不使用开源软件的可能性就会非常小。您可能正在使用它 - 足以使其无法手动跟踪所有内容。

但是跟踪它是至关重要的,因为开源是免费的并不意味着它没有风险。特别是有两个 - 安全和合法。

一种不同的补丁协议


开源代码的安全性不亚于专有代码,但它也不是更安全。不可避免地会出现需要修补的漏洞。

如果你不打补丁,可能会花费你很多时间。如果您的应用程序或网络因为您不知道您正在使用哪些开源组件而遭到破坏,那么潜在的恐怖游行现在已经很熟悉了:窃取IP,窃取客户PII(个人身份信息),勒索软件攻击,丢失声誉,法律责任,违规处罚等等。

修补开源并不像启用“自动更新”版本那么简单,因为大多数供应商会自动将补丁推送给用户,因此“自动更新”适用于商业软件。开源补丁也可用,但用户负责跟踪它们并从存储库“拉”它们以安装它们。

没有做到这一点,你可能最终成为Equifax的一个版本。这家信用报告巨头于2017年7月29日发现,它已被破坏,泄露了超过1.47亿客户的社会安全号码和其他个人数据。为什么?因为它无法将补丁应用于流行的开源Web应用程序框架Apache Struts  - 一个已经可用了几个月的补丁。

漏洞下降但没有消除


开源漏洞的趋势令人鼓舞。在2018年对OSSRA报告进行审计的申请中,60%存在漏洞 - 比2017年的78%显着下降。

但其中43%的人有超过10年的漏洞。事情很容易回到另一个方向 - 国家漏洞数据库(NVD)在2018年列出了超过16,500个新漏洞 - 其中7,393个是开源产品。

因此,库存很重要:正如软件专家几十年所说的那样,你无法修补你不知道的东西。

不要因忽略许可证而被烧毁
第二个风险是合法的 - 虽然开源代码是免费的,它带有许可要求,如果你忽略它们可能会让你陷入困境。

那里有很多许可证。 OSSRA报告发现,20个最受欢迎的许可证涵盖了大约98%的开源使用,但Black Duck KnowledgeBase™包含超过2,500个开源许可证。

“大多数许可证都相当温和,并且不太难以遵守,”Synopsys专业服务高级总监Phil Odence表示。 “但即使是最友好的开源许可证也有义务,至少为版权所有者提供归属。为了遵守,您需要知道您有哪些许可证,因此代码库中有哪些开源组件。

“而且一些许可证可能是一个问题。你可能以与他们不相容的方式使用软件 - 许可证冲突。在极端情况下,你可能会失去使用软件或在诉讼中找到你公司的权利,”他说。 。

“无许可”并不意味着“无责任”


即使开源组件没有可识别的许可条款,您也不会脱离法律挂钩。如果他们不这样做,则可能意味着您无法使用,修改或共享代码,因为默认情况下,创意作品(包括代码)受独家版权保护。许可证基本上是允许使用的。没有许可证,没有许可。

在这里,还有令人鼓舞的趋势。 OSSRA发现,在2018年,大多数被审计行业的许可证冲突都有所减少。但它们仍然从52%的低点到79%的高点 - 足以让你处于危险之中。

“总体而言,68%的代码库存在许可证冲突,”Odence表示,“61%与GPL [通用公共许可证]系列有关,这些问题在上述方面往往存在问题。”

这意味着,库存再次重要。

要跟踪开源,请将SCA保留在工具箱中


那么你应该怎么做,因为无法手动跟踪你的开源代码组件?

好吧,没有应用程序。 但是有一种工具可以自动完成您需要做的事情。

软件组合分析(SCA)不仅可以在代码库中找到开源组件,还可以报告您正在使用的版本以及这些组件中的已知安全漏洞。

它还报告与这些组件相关的许可合规性要求。

在整个软件开发生命周期(SDLC)中,您将在构建应用程序时执行此操作。

没有办法使软件完全防弹。 但是,SCA工具可以降低风险,使您可以将时间花在增长业务上,而不是处理安全性和法律上的恐怖事件。

SCA  - 没有它就不要使用开源。

 

原文:https://dzone.com/articles/why-you-should-track-open-source

本文:

讨论:请加入知识星球或者小红圈【首席架构师圈】

Article
知识星球
 
微信公众号
 
视频号