Nimda、其他蠕虫和互联网上的生活
在我写这篇文章的时候,Nimda 蠕虫已经出现了三天。我的个人 Web 服务器每秒受到多个蠕虫攻击——对于一台通常每天只有几百次点击的机器来说,流量很大。 当然,我们可以感谢 IIS 的漏洞,因为它催生了这种旨在增加网络总流量的新生物。
如果说微软应该为此负全部责任,那就太好了,但这样做就像说乔治·布什应该为世界上所有的问题负全部责任一样。 在这两种情况下,我们每个人都需要承担一些责任。 我们中的一些人投票支持布什,我们中的一些人选择使用微软的软件。
好消息是我们有选择。 通过教育,我们可以摆脱营销炒作,为所有相关人员做出最佳选择。 但是,如果我们只是相信我们被告知的内容,我们都将陷入困境。
我想到的词是多样性。 无论我们是选择领导人、种植作物还是选择软件,多样性总是一件好事。 在每种情况下,多样性都会保护我们,因为它使对手更难造成损害。
如果所有 Web 服务器都运行 ISS,并且所有桌面都运行 MS Windows,那么 Nimda 很可能使整个互联网瘫痪。 幸运的是,大多数 Web 服务器运行 Linux 或某种 UNIX 变体作为操作系统和各种服务器软件。 因此,要成功攻击大多数 Web 服务器,对手必须为每种潜在的操作系统/服务器组合创建各种蠕虫,或者创建一个具有攻击所有服务器的所有功能的大型蠕虫。
在您说“但是 Linux 和/或 Apache 更好”之前,让我阻止您。 它们很可能比 NT/ISS 更好,但它们并非没有错误。 如果 Linux/Apache 是唯一的目标,那么会有人在那里创建一个蠕虫来攻击它。 在我的世界里,我希望在 Sparc 硬件上看到 FreeBSD/Apache,在 PPC 上看到 Linux/Apache 等,以帮助保持多样性。
Linux、Apache 和 *BSD 具有巨大优势的另一个原因是代码是开放的,可以进行同行评审。 虽然大型专有软件公司的营销部门一直在告诉世界这是不好的,因为潜在的破解者可以看到如何破坏代码,但现实是,所有权自豪感似乎远远超过了这种潜在问题。
我所说的所有权自豪感是什么意思? 个体程序员关心他们的代码是否有效。 他们将错误报告视为积极的; 有人花时间发现问题并告知他们。 我记得,例如,早在 1993 年,我就发现 Linux 中串行驱动程序中的一个错误。 虽然在我从事出版业之前,我曾经是一名专业的软件测试人员,但我仍然有些羞怯地向 Ted T'so 发送电子邮件,暗示我可能发现了问题。 Ted 的回应是发送一个补丁给我尝试(它成功了)。
另一方面,一家大型专有软件供应商的员工告诉我,他们有一个内部错误列表,但他们不会披露其内容。 当有人报告一个错误时,他们会否认它在列表中,但会增加内部列表中该错误的计数。
似乎与开源社区相关的最后一件事是创造力。 LaBrea 就是一个很好的例子。 如果您没有听说过 LaBrea,请访问 http://www.hackbusters.net/LaBrea。 LaBrea 是蠕虫的焦油坑(如果您懂西班牙语,您可能猜到了)。 它不是专门针对任何一种蠕虫,而是旨在通过假装它是一台蠕虫可以与之通信的计算机来减缓任何表现得像蠕虫的东西。
未来? 如果我们支持更多的多样性和更多的创新,那么未来是光明的。 例如,如果网络上大多数计算机只是开始忽略受感染的机器,那么编写蠕虫的乐趣就会减少很多。 保持创新,如果该创新涉及 Linux,请告诉我们。
Phil Hughes 是 Linux Journal 的出版人。
电子邮件:phil@ssc.com