1.6.7 指数攻击——病毒和蠕虫
指数攻击能够使用程序快速复制并传播攻击。当程序自行传播时,这些程序称为蠕虫(Worms);当它们依附于其他程序传播时,这些程序就叫做病毒。它们传播的数学模型是相似的,因而两者之间的区别并不重要。这些程序的流行传播与生物感染病毒非常相似。
这些程序利用在很多系统或用户中普遍存在的缺陷和不良行为获得成功。它们可以在几个小时或几分钟之内扩散到全世界[5, 6],从而使许多机构蒙受巨大损失。Melissa蠕虫能够阻塞基于微软软件的电子邮件系统达5天之久。各种各样的蠕虫给Internet造成巨大的负担。这些程序本身更倾向于攻击随机的目标,而不是针对特定的个人或机构。但是,它们所携带的某些代码却可能对那些著名的政治目标或商业目标发起攻击。
有许多方法可以减少感染病毒的概率。最基本的方法是不使用流行的软件。如果采用自行编写的操作系统或应用程序,就不太可能受到感染。目前,针对微软的视窗操作系统的病毒有很多,但Macintosh和UNIX用户却很少受到病毒感染。现在这种情况正在发生变化,尤其是针对Linux的攻击越来越多。我们已发现Linux蠕虫和一些交叉平台的蠕虫能够通过几种平台进行传播,或者通过直接网络访问、网页浏览和电子邮件进行传播。
如果不与受感染的主机通信,就不会感染病毒。通过对网络访问和从外部获得的文件进行严格的控制,就会大大地降低遭受感染的风险。需要引起注意的是,有些病毒是经人工传播的。有人会将消息转发给他的所有朋友,并指示他们将此信息再转发给他们的所有朋友,依此类推。那些缺乏计算机知识的用户就会照此去做。这样,接收到这一消息的用户就会受到感染。在某些情况下,这些消息往往指示你删除某个关键的文件。如果真的照此去做,你的计算机就会受到损害。
对于已知的计算机病毒,采用流行的查杀病毒软件来清除非常有效。但是这些软件必须经常升级,因为病毒的制造者和杀毒软件厂商之间正进行着一场较量。现在,病毒隐藏的隐蔽性越来越高,使得杀毒软件不再局限于在可执行代码中寻找某些字符串。它们必须能够仿效这些代码并寻找滤过性病毒的行为特征。由于病毒越来越难以发现,病毒检测软件就不得不花更多的时间来检查每个文件,有时所花费的时间会很长。病毒的制造者可能会巧妙地设计代码,使杀毒软件在一定的时间内不能识别出来。