开源软件容易受到病毒攻击吗?

开源软件容易受到病毒攻击吗?

我理解开源软件背后的理念,但我对安全方面更感兴趣。开源软件如何避免受到病毒或任何类型的互联网攻击?它如何长期保持安全?我听说开源软件容易受到攻击,但这种可能性比基于 Windows 的软件要小。我对此不太清楚。

为什么有些 Linux 用户不使用防病毒软件?

答案1

这并不是说它们不可能存在。而是说它们大体上不存在。

大多数开源系统的安全模型都比较复杂,而且其他开发人员对代码进行同行评审,这两者都导致了这种情况。

以下是一个例子:
对于闭源应用程序 -
您正在开发一个应用程序,并使用一些 Windows 库。当您向其传递错误的参数时,它会崩溃。您调整应用程序以正确传递参数,以便它正常工作并继续。

开源应用程序的情况相同 -
您正在开发一个应用程序,并使用一些 Linux 库。当您传递错误的参数时,它会崩溃。如果您认为传递参数的方式是合理的,您会了解它崩溃的原因,并向库包提交错误报告,并附上补丁,以使其按预期工作。如果您认为传递参数的方式是错误的,您会了解它崩溃的原因,并向库包提交错误报告,并附上补丁,以清理该输入。

发现两种场景的结果有何不同吗?

那么为什么不使用防病毒软件呢?
关于为什么不使用防病毒软件,我能想到的最佳答案是, 和。防病毒有一定的用处,但它不是解决方案。

答案2

首先,我想澄清一下,并非所有的 FOSS 软件都具有防病毒功能

程序中的病毒和错误的数量取决于开发人员和社区

但是,FOSS 软件在以下方面具有更好的抵抗病毒的能力

让我举一个例子

闭源:

  • X闭源软件由Y公司维护

  • X 软件感染病毒/漏洞

  • Y 公司现在必须派员工调查这个问题,因为社区没有源代码,这通常需要一些时间

  • 由 Y 公司修复错误

开源

  • X 开源软件由 Z 社区和 Y 开发者/公司负责维护

  • X 软件感染病毒/漏洞

  • Y 公司/开发商尝试解决这个问题随着Z 社区

  • 错误修复更快

因此,FOSS 软件的安全性取决于社区在开发和维护方面的实力和意愿

答案3

除了其他人所说的内容之外,归根结底是这样的:

只要有足够大的 beta 测试人员和共同开发者基础,几乎每个问题都会被快速描述出来,而且解决办法对某些人来说也是显而易见的。

用简单的英语来说:

只要有足够的眼光,所有的错误都是浅显的

通过维基百科

因此,由于所有安全问题都是错误,因此这适用。

此外,杀毒软件是最后一刻的防御手段:如果病毒/安全漏洞侵入了您的系统,其他事情也非常危险。通过开源,您可以更灵活地了解谁、什么、哪里、何时、为什么以及如何到达这一点。

答案4

如果您询问的是代码被劫持或恶意可执行文件被添加,那么真正保持安全(在偏执中)的唯一方法是手动检查源代码并自行编译,以防可下载版本包含其他恶意代码。

相关内容