潘多拉匣子打开之后(上)──电脑病毒简史

综合报道

  在古希腊神话中,当被称为“具有一切天赋”的美丽女子潘多拉打开那个神秘匣子之后,恐惧、灾难就降临到人间大地。20年前,同样也有一个“潘多拉匣子”被打开,给整个电脑行业带来了一场至今未能平息的灾难,这个“潘多拉匣子”放出的,是危害巨大的电脑病毒。

  贝尔实验室的电脑游戏

  今天,几乎所有科技史学者都承认这一事实:贝尔实验室和游戏构成了打开电脑病毒这个潘多拉匣子的两个关键元素。

  也许没人会相信下面这样一种观点:电脑病毒的历史要早于电脑的出现,然而这却是事实。在距离第一台电脑的雏形ENIAC诞生还有半年时间的1945年,现代电脑理论的奠基者,德国人约翰·冯·诺伊曼在《复杂自动装置的理论及组织的进行》一文中就提出了电脑病毒程序的构想。诺伊曼这种过于先驱的理论在当时看来几乎是不可思议的,根本没有引起人们的重视。

  20世纪60年代,电脑远远没有今天这样普及,而当时还属于美国电话电报公司(AT&T)的贝尔实验室却拥有大量先进的电脑,同样那里聚集了一大批电脑天才。道格拉斯·麦耀莱、维特·维索斯基以及罗伯特·T·莫里斯就是其中的佼佼者。

  诸位是不是觉得“莫里斯”这个名字有点眼熟?没错,罗伯特·T·莫里斯就是著名黑客罗伯特·莫里斯──20世纪80年代那个用“Worm(蠕虫)”病毒将美国Arpanet网搞得天翻地覆的康奈尔大学研究生──的父亲。具有讽刺意味的是,当时罗伯特·T·莫里斯本人正是负责Arpanet网络安全的。

  千万不要以为只有今天的电脑程序员才有工作枯燥乏味的感觉,从电脑程序员这个职业出现开始,单调枯燥就成为他们工作的“主旋律”,否则麦耀莱他们也不会开发出一种名叫《磁芯大战》(Core War)的电脑游戏来打发时间。

  《磁芯大战》的玩法其实非常简单:两方各写一套程序,这两套程序在电脑内互相追杀,有时它们进行破坏;当被困时也可以把自己复制一次,逃离险境。

  你是否从这个游戏看出了点什么?是的,《磁芯大战》已经具备了当今电脑病毒的一切基本特征:破坏、自我复制、迅速传播和普通手段无法干涉。如果不是因为当时这个电脑游戏还局限在贝尔实验室内部,它几乎称得上最早的电脑病毒了。

  贝尔实验室的科学家和程序员们对这个游戏兴趣盎然,一些思维敏锐的程序员很快发现这不仅仅是一个简单的游戏,在它工作原理背后,隐藏着一个让人难以想象的可怕事实。1962年夏天在一次例行测试中,由于意外打开了维索斯基开发的另一个游戏程序《达尔文》,短短两分钟之内,实验室内几乎所有相互连接的电脑都陷入了瘫痪,导致整个测试完全失败。这次意外发生后,贝尔实验室所有的程序员都开始遵守一条不成文的规定:不对社会公众公开这些可怕电脑程序的内容,以免这些看似简单的机器代码演变成一场史无前例的电脑瘟疫。

  传播不可避免

  1975年,担任UNIVAC(通用自动计算机)系统设计师的约翰·沃克尔推出了一个名为《动物》的游戏的改良程序Pervade,此程序可搭新版《动物》游戏的便车。每回玩家玩《动物》游戏时,Pervade就会自动执行目录复制。沃克尔确定自己程序不会造成破坏后就将它发布出去。

  一周之内,众多企业的UNIVAC管理人员发现电脑上出现了《动物》游戏,而且在不断复制,数目迅速增多。后来UNIVAC发布新版操作系统,改变了目录结构,Pervade程序随即停止运作。这恐怕是电脑历史上第一次系统安全攻防战。而Pervade的传播模式被几乎所有早期电脑病毒采用。这个沃克尔在80年代创立了著名的Autodesk,至今还是该公司的最大股东。

  1983年,肯·汤普逊(Unix操作系统的开发者之一)获得了一项电脑大奖。在颁奖典礼上,他做出了一个让人震惊的举动:不但公开证实了计算机病毒的存在,还告诉所有听众如何去开发一个完整的病毒程序。

  “当时几乎所有的人都被他的这番演讲吓得目瞪口呆,尤其是贝尔实验室的同事们恨不得将他从演讲台上揪下来。”16年后的1999年,参加了这个颁奖典礼的丹尼斯·瑞奇(贝尔实验室MULTICS项目程序员)对《大众科学》的记者回忆起了当时的情景。

  更不可思议的是,《科学美国人》月刊的专栏作家杜特尼在一篇讨论《磁芯大战》的文章中公开表示,只要寄上两美金,任何读者都可以收到这个程序的编写资料,在自己家中的计算机中开辟战场。

  电脑病毒正式出现

  1983年11月6日对于电脑工业来说具有纪念意义,只不过这种纪念更多带有一种悲哀。在这一天,南加州大学博士研究生弗里德·科恩根据在圈内流传已久的破坏程序代码编写了一个攻击程序,他将程序加载到了一个名为VD的图形软件中进行传播,他发现自己的病毒可在不到一个小时内传播到系统的各个部分。接着该程序在VAX/11机上进行的攻击试验获得了成功。由此世界上第一个真正意义上的电脑病毒诞生了,电脑工业迎来了一个至今仍未摆脱的噩梦。

  科恩的导师安德莱曼(公钥加密技术发明者之一)当时说,这种程序类似数字版病毒。在5天后的一个电脑安全研讨会上,科恩首次在自己的论文中提出了“病毒”(virus)这个概念,他还充满预见性地指出:“病毒将给许多系统带来广泛和迅速的威胁。”

  两年后的《科学美国人》杂志采用科恩的说法,刊发了大量讨论“电脑病毒”的文章。那个靠出售破坏程序赚钱的专栏作家杜特尼也不得不承认:“当年5月有关《磁芯大战》的文章印出来时,我并没有想过我所谈论的是那么严重的题目──病毒。在今天看来,这些程序并不简单。”

  是的,的确不简单,因为噩梦才刚刚开始。