作为一个喜欢Linux作为桌面操作系统并鼓励使用开源软件的人,你可能会期待标题中提出的问题的答案是一个大大的“”。

本文不局限于讨论开源软件的好处。现在让我们探讨更多!

在这里,我来分享我的想法,开源软件是否安全,以及它所涉及的哪些东西是安全的或不安全的。

推荐:

朝鲜有闭源的Linux,但他们是否存在开源? https://www.linuxmi.com/north-korea-linux-kaiyuan.html

可作为开源项目使用的 20 种最受欢迎的编程语言  https://www.linuxmi.com/20-biancheng-yuyan.html

为什么你应该关心开源软件是否安全?

无论您使用Linux还是其他操作系统,您都将以某种方式(直接或间接地)接触到开源软件。

举个例子,大多数专有软件工具都依赖于某种形式的开源库来工作。

此外,各种规模的公司(包括谷歌、微软和Facebook)依赖开源软件或以某种方式向开源社区贡献资源是有原因的。

因此,开源软件的安全性是必须了解的。

关于开源软件安全的神话

虽然在安全性方面有很多关于开源软件的缺点的争论,但其中一些是没有任何意义的。

任何人都可以看到并利用代码

每个人都可以访问该代码,是的。但仅仅因为你可以看到代码,就意味着任何人都能利用它吗?

并不是这样地。

即使任何人都可以创建软件的分支(或拷贝),原始软件也不能轻易操作。

通常,项目维护人员(或他们中的一组)管理代码存储库,并接受贡献者的提交。代码在批准之前要经过审查。没有人可以像那样劫持代码。

无论是开源还是闭源,攻击者利用漏洞或在软件中添加恶意代码都没有那么简单。

没有专门的资源,安全性就会崩溃

许多人认为,如果没有专门的员工或开源软件团队,就很难维护安全性。

相比之下,随着几种类型的贡献者的加入和离开,该软件得到了更广泛的开发人员的关注。

而且他们可能比分配给专有软件的少数员工更好地发现安全问题。

像Mozilla这样的公司的一些项目有专门的团队来有效地解决安全问题。同样,大多数成功的开源项目都有大量资源可用于安全性。

因此,开源软件生态系统是一个安全的混合体。即使没有专门的资源,项目也得到了各种贡献者的帮助,而且有些项目在很大程度上是有利可图的,这有助于他们投入更多的资源。

开源软件是安全的:原因如下

既然我们已经解决了这些问题,让我来强调一下开源软件是如何处理安全问题的。

换句话说,开源软件在安全性方面的优势。

别忘了,开源软件的好处也解释了为什么Linux比Windows好。

更多的目光关注着代码

与专有软件不同,对代码的访问并不局限于少数开发人员。

一些项目甚至可能有成千上万的开发人员监视代码、审查它们并标记或修复安全问题。

通过能够快速识别问题并尽快解决问题,这使得它比闭源软件更具优势。

不仅有更多的开发人员,企业也经常参与他们使用的开源项目。当他们这样做的时候,他们也会检查代码并审查它。

这提供了另一个外部审计的来源,可以帮助提高软件的安全性。

相比之下,对于闭源软件,有限数量的开发人员可能无法发现各种安全问题。他们可能需要更长的时间来一个一个地解决所有问题。

优先考虑安全问题的社区决策

闭源软件的开发人员可能有一定的限制和优先事项,比如处理什么问题以及何时解决问题。

但是,对于开源项目,贡献者社区可以优先考虑并分配他们想要从事的工作以及何时解决问题。您无需依赖供应商或按照他们的说明来解决安全问题。

在开源软件的情况下,解决和修复安全问题的决策更加透明和灵活。因此,它可以被证明是更有效的,为您带来三个特定的好处:

  • 透明度
  • 不依赖于供应商
  • 更快的安全更新

开源软件并非万无一失:原因如下

虽然在某些情况下,开源软件可能获得安全优势,但也可能存在影响它的实例或因素。

承认这些问题的存在是很重要的,因此,企业或个人可以就开源软件的安全状态做出更好的决定。

没有足够的眼光来审查代码和不确定性

即使开发人员可以访问代码,项目也有可能没有足够的贡献者/开发人员来彻底审查代码。

在这种情况下,我们不能对经过同行评审的开源软件抱有很大信心,因为它恰恰缺乏这一点。

开源软件可能仅仅因为它的开源就“声称”拥有最好的安全性,当没有足够的开发人员在开发它时,这是一种误导。

此外,我们不知道有多少开发人员正在查看/审查代码以及代码演练究竟是如何进行的。

例如,Heartbleed 漏洞在一个已经很流行的项目(比如OpenSSL )中引入 2 年后才被发现了。

软件责任或义务

这对个人来说可能并不重要,但开源软件通常没有任何保证。

因此,如果企业使用该软件,他们必须为使用该软件造成的任何损失或损害承担责任。

这告诉您,没有什么是 100% 安全且没有bug的。无论您对代码有多少关注,或者贡献者有多熟练,都会存在某种形式的风险,无论是安全性还是数据丢失。

这让我们认识到开源软件并非万无一失。

开源可能有更好的安全优势,但是…

在安全方面,没有什么比这更好的了。无论是闭源还是开源,在安全方面都适用相同的原则。

有多种外部因素会影响软件的安全性,其中许多与源代码无关。

代码必须以同样的方式进行监控,以保证安全。

是的,开源方法带来了闭源软件永远不会有的好处,但这并不意味着它是万无一失的。

您如何看待开源软件的安全状态? 你认为它优于专有解决方案吗?

欢迎在下面的评论部分提出您的宝贵意见。

发表评论