每个人都知道Linux没有病毒,或者类似的东西。有人进而推论认为Linux对病毒之类的东西是免疫的,因为它设计的太棒了,Macs也是如此。其实这种观点是错误的。
名为foobar的博客者在Geekzone中发表了一篇名为5个步骤写出一个Linux病毒的文章,文章虽然名义上是写如何制造Linux病毒的,实际却是告诉读者现实世界中病毒是如何工作的以及Linux是多么的脆弱。
而且foobar文章的难点不在于如何在Linux上写出攻击性代码,更重要的是如何感染其他Linux操作系统电脑。实际上,foobar的病毒攻击基本上也就是特洛伊木马攻击,而且foobar明确指出特洛伊木马攻击是Windows病毒的常用模式。
有人指出foobar的攻击并非严格意义上针对Linux的,而是GNOME或者KDE或者其他更高端软件,这也的确是事实。实际上这给用户提供了防范信息:许多人的电脑运行Linux,也便会有许多电脑运行GNOME或者KDE,攻击后两者便是攻击Linux。当初对Windows的攻击不也是先从攻击Office、Flash和Acrobat等软件开始的吗?
Foobar采用在e-mail中添加附件来传播病毒(当然邮件的标题要有吸引力来诱使用户点击),这种方式也不甚妥当。因为Windows上的e-mail程序会去除那些可执行的附件,而且Webmail服务器有AV杀毒浏览,所以现在经常采用的方式是在e-mail中附加web链接来传播病毒。在这一点上,Windows和Linux没有太大的不同。
很重要的一点是如何让病毒在Linux上执行,这也是一个难点。在Windows中,用户一旦下载了文件并运行,只有执行许可(execute permissions)运行了他才可以执行文件。Windows有执行许可(execute permissions),但默认它们是开的。而foobar采用的方法与此类似:KDE 和GNOME有个叫做launchers的设备(其文件名的末尾是".desktop"),它可以不需要执行许可的详细设置就执行一个单独的命令。这是一个长久以来就存在的问题,也是foobar利用的Linux的主要弱点(应该说是KDE 和GNOME的主要弱点)。
Foobar博客的核心内容对我们而言并不陌生,但由此我们可以看到Windows上的病毒之所以多,并不是因为操作系统自身对病毒更友好,而是一些漏洞。而且几乎每一种阻止病毒在Linux上发展的东西都采用在了Vista SP1中。
用户如何应对呢?foobar建议不要点击Linux上不明的附件,当然在Windows中还不要点击web链接。而且他个人建议解决KDE 和GNOME中.desktop的漏洞。我怀疑这会遭来强烈的反对,因为作为终端用户系统这大大降低了可用性和读取性。
Foobar博客还揭示了其他问题:有许多特权提升(privilege elevation)的漏洞在各种需要本地读取的Linux中,如果用户没有升级完全(Windows用户也需要警惕这一点),foobar的病毒就会获取你的本地读取,同时攻击决定利用哪一个特权提升(privilege elevation)bug。很多Linux用户不知道如何升级漏洞补丁来阻挡特权进程(如Samba),从而将漏洞暴露给了黑客。
【编辑推荐】