it-swarm.cn

关于Unix / Linux中恶意软件的神话

我的Linux机器是否可能被恶意软件感染?

我还没有听说过发生在我认识的任何人身上的情况,而且我已经听过好几次了,这是不可能的。真的吗?

如果是这样,Linux Anti-Virus(安全)软件怎么了?

142
Stefan

首先,肯定有可能在Unix和类似Unix的操作系统(例如Linux)下感染病毒。术语计算机病毒的发明者Fred Cohen在4.3BSD下进行了他的 首次实验 。尽管-自2003年以来似乎没有进行过任何更新,但仍存在有关 编写Linux病毒 的操作方法文档。

其次,sh脚本计算机病毒的源代码已经流行了20多年。参见汤姆·达夫(Tom Duff)的 1988年论文 和道格·麦克罗伊(Doug McIllroy)的 1988年论文 。最近,为会议开发了 独立于平台的LaTeX病毒 。在Windows,Linux和* BSD上运行。自然,在Windows下它的效果更差...

第三,已经出现了至少(至少)针对Linux的一些真实的,实时的计算机病毒,尽管目前尚不清楚是否有2或3种(RST.a和RST.b)在“野外”被发现。

因此,真正的问题不是Linux/Unix/BSD可以感染计算机病毒吗?而是 Linux台式机和服务器的数量是多少,为什么该数量没有Windows所吸引的那种惊人的病毒呢?

我怀疑原因与传统Unix用户/组/其他自由保护所提供的适度保护以及Linux支持的零散软件基础有关。我的意思是,我的服务器仍在运行Slackware 12.1,但具有自定义编译的内核和许多重新编译的程序包。我的桌面运行的是Arch,这是一个滚动版本。即使它们都运行“ Linux”,它们也没有太多共同之处。

Linux上病毒的状态实际上可能是正常平衡。 Windows上的情况可能是“龙王”,这确实是不寻常的情况。 Windows API是疯狂的巴洛克式,Win32,NT本机API,魔术设备名称,例如LPTCONAUX,它们可以在任何目录下工作,而ACL却没人能理解,单用户,否,单root用户,计算机的传统,使用部分文件名(.exe),所有这些都可能导致Windows上的恶意软件状态。

135
Bruce Ediger

它有助于防止病毒在Windows中传播


请记住,Linux以多种方式使用,例如文件和电子邮件服务器。

可以存储这些服务器中的文件(MS Office文件,Outlook消息,EXE程序)带有感染。

即使它们不影响服务器本身,也可以将服务器配置为在存储时检查每个文件,以确保该文件是干净的并防止将来将其移回到Windows计算机时传播。

当朋友要我检查他们的Windows计算机为何不工作时,或者当我将笔式驱动器插入Windows计算机时,我自己安装了该工具。

49
lamcro

从原则上讲,Linux病毒是可能的,并且已经存在一些病毒,但是在野外,没有广泛的Linux病毒。 Linux用户群很小,在Linux下,病毒造成更大危害的难度要大得多,因为与例如Windows XP。因此,病毒作者通常以Windows为目标。

有Linux Anti-Virus软件,例如来自McAfee,但我认识的Linux用户都不使用这种软件。到目前为止,仅安装来自可信赖来源的软件并通过及时安装安全更新来使系统始终保持最新是更为重要的。

23
fschmitt

作为历史记录,第一个Internet蠕虫 (Morris Worm )通过Unix实用程序中的漏洞进行传播。它早于Linux,但表明基于Unix的系统有可能被感染。

21
KeithB

我认为,除了在其他答案中提到的那些理由之外,还有另一个原因是Linux平台没有太多病毒。 Linux几乎所有组件的源代码都是免费提供的。

假设由5名成员组成的团队开发了一个应用程序。我们包括测试人员和其他几名测试人员,最多10人会知道该代码。在这十个中,有一些可能对代码没有足够的详细了解。因此,知道代码足以指出错误,安全漏洞的人数很少。

现在,如果将此代码设为免费/开放源代码,那么对其进行审核的视线会大大增加。因此,发现安全漏洞的可能性也增加了。

这些新的贡献者带来了他们的经验,并且通常新鲜的眼睛能够注意到漏洞,这些漏洞最初是开发人员忽略/认为是理所当然/遗漏的。

该应用程序越受欢迎,其贡献者就越多。我认为这种自由/开放有助于减少Linux平台的漏洞数量。

6
Andrew-Dufresne

已经有了不错的答案,但我仍然想贡献一点。

包括即使在所有时间之后仍比Windows更好的简单安全实践以及所有这些病毒,我也认为这些问题在很大程度上与社会有关。

我认为主要因素是发行版的多样性。这增加了确保病毒具有需要传播的工作量。这与不大可能(imho)单击不可靠电子邮件或通常使自己处于危险之中的linux用户的人口统计信息结合在一起,意味着进一步抑制了病毒的成功。

人们也可以说更有动力去攻击窗户。

5
barrymac

是的,对于Linux,有一些viruses,您不必太担心它们。他们很少见,可能会完全想念您。

您可以而且应该担心的是worms。这些程序不同于通常需要用户交互来感染的病毒,而是在服务器之间自行传播,从而利用服务和平台中的漏洞。蠕虫会搜索更多服务器以进行感染,将其安装在易受攻击的计算机上,并经常更改其行为-例如为访问Windows客户端的病毒提供服务。

4
SF.

简单的答案是,没有操作系统是100%安全的,除非它在启动时从只读介质读取自身是100%安全的。

但是,Windows具有更多的感染媒介,这些媒介更易于访问,一旦被感染,危害就更大。通过阅读“ RootKit Arsenal”或其他书籍,可以轻松看出这一点。

任何计算机上的漏洞利用数量大致与(使一台计算机生根获得的收益)*计算机数量/(产生生根恶意软件的成本)成正比。

由于漏洞利用的数量与计算机的数量成正比,因此在Windows上恶意软件的数量更多是有道理的。

但是,假设唯一原因是愚蠢的。 Windows有更多的病毒是因为有更多计算机在运行它。请注意,在Linux中,感染恶意软件的成本要比Windows便宜得多,因为其破坏力更大。相反,通过生根获得的数量较小。还请注意,由于我在第一段中提到的原因,生根的成本较高。

请记住,到目前为止,这是正确的。在这一点上,Linux是比Windows更好的体系结构。但是,有力量说我们需要更快速地开发用户友好功能。这可以导致更容易存在错误和创建病毒。我已经发现Ubuntu几乎和Windows一样容易出错。

3
HandyGandy

其他答案为Unix和Linux上的病毒提供了良好的历史参考。更现代的示例包括 “ Windigo”“ Mayhem” 恶意软件活动。这些已经感染了成千上万的系统。据报道,Mayhem正在使用Shellshock漏洞进行传播。

至于Linux恶意软件检测软件,您有开源和商业替代品。在我的偏见中,最有效的是 第二外观 。它使用内存取证和完整性验证来检测Linux恶意软件。我是Second Look的开发人员。

1
Andrew Tappert