“技术宅”们为什么要鼓捣出计算机病毒?

大计算机和小恶作剧
早在电子计算机发明以前 , “计算机之父”约翰·冯·诺依曼(John Von Neumann)就在一篇名为《复杂自动装置理论及组识的进行》的论文里提出了可自我复制程序的概念 , 可以说 , 创造病毒的条件之一这时在理论上已经具备了 。
但是实际情况有些滞后 , 一直到1974年以前 , 计算机大都是些巨大、昂贵而笨重的设备 , 只有大公司、大学、研究机构能买得起 。 这些计算机的速度慢得可怕 , 指令复杂得惊人 , 只有少数人能够掌握 。
【“技术宅”们为什么要鼓捣出计算机病毒?】在20世纪60年代初 , 美国贝尔实验室 , 3个年轻人维克多·A·维索特斯克(Victor A. Vysottsky)、马尔科姆·道格拉斯·迈克尔罗伊(Malcolm Douglas Mcllroy)和罗伯特·H·莫里斯(RobertH. Morris)在设计和开发UNIX操作系统之余 , 开发了一个叫做“达尔文”(Darwin)的游戏 , 在一台IBM 7090计算机上运行 。
他们这个游戏应用了冯·诺依曼提到的“程序自我复制理论” , 获得竞争优势的“个体”可以发展壮大 , 后来这个程序也被称为“磁芯大战”(Core War) 。
和现在的游戏比起来 , 它的玩法复杂得出奇 , 每个玩家都要自己撰写程序来和别人争夺地盘 , 并且争取找到对方的弱点从而消灭对方的程序 。 他们使用的编程语言“Redcode”同样是老古董 。
这个游戏在很长一段时间都不为人知 。 直到1983年亚历克山大·杜特尼(Alexander Keewatin Dewdney)在《科学美国人》杂志上发表了一篇名为《计算机娱乐》(Computer Recreations)的文章 , 才把这种游戏介绍给大众 。
由于这种游戏只在指定程序下运行 , 所以它虽然具备自我复制能力 , 但还不能称为病毒 。 实际上在杜特尼发表这篇文章的时候 , “计算机病毒”这个名词还没有被发明出来 。
1983年 , 弗雷德·科恩(Fred Cohen)正在南加州大学攻读博士学位 , 他写出了有可自我复制及感染能力的程序 , 这个程序能够在一个小时内传遍整个电脑系统 。 科恩的导师艾德勒曼(Len Adleman)将这一类型的程序命名为计算机病毒 , 这是这个名词第一次出现 。
1982年初 , 黎巴嫩山高中九年级学生理查德·斯克伦塔(Richard Skrenta)在苹果II型计算机上写出了一个叫做“Elk Cloner”的程序 , 并且把它拷贝到游戏软盘中去 。
当写入了该程序的软盘运行时 , 它就自我复制一份在计算机内存里 , 一旦有人将一张干净软盘插入计算机并查看文件时 , “Elk Cloner”就会自我复制入其中 。 当第50次启动被感染的软盘时 , 将会出现斯克伦塔写的一首打油诗 。
这个恶作剧的影响超出了斯克伦塔的想象 。 直到10年后 , 一个水兵在海湾战争期间还曾遭遇过这个恶作剧 。 而这时斯克伦塔已经从西北大学毕业好几年了 。
“战国时代”的古老病毒
20世纪70年代末到80年代初是计算机的战国时代 。 20世纪70年代初 , 英特尔创造性地把计算机的运算器部分全部做在了一个小小的硅芯片上 , 推出了8008芯片 。 第二年 , 他们推出了8080 , 速度是8008的10倍 。
微软公司的创始人比尔·盖茨(Bill Gates)和保罗·艾伦(Paul Gardner Allen)在1975年1月的《大众电子学》杂志封面看到了真正的微型计算机的广告 , 那是一台由微仪表和自动系统公司(MITS)设计和制造的叫做“牵牛星8800”的家伙 , 没有屏幕 , 通过发光二极管的点亮或者熄灭来表示信息 。

就是这样一个方盒子促使他们创建了微软公司 。 而苹果公司要到次年的愚人节才成立 , 迈克尔·戴尔(Michael Dell)——未来戴尔公司的创始人才10岁 , 还没开始做他的邮票生意呢 。

推荐阅读