按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
“销掉系统里所有的材料。”
病毒必须找到传播途径。只感染一台计算机的程序只能给一个人造成损害。恶毒的病毒制
造者希望病毒传染给成百上千的系统。那么怎么能把一个程序传给其他成百上千的系统呢?
人们常常互换磁盘上的软件。只要传染给一个磁盘上的一个程序,就会传染给使用这个程
序的每一个系统。随着磁盘从一个办公室传到另一个办公室,几十台计算机可能被传染,也许
里面的文件也会被统统消灭。
公告牌也能交换软件。这些通过拨号就可连接的计算机由业余爱好者、学校和少数公司经
营。你拨以下他们的号码,把公告牌上的程序复制到你家里的计算机里。把你家里系统的程序
复制到公告牌上也一样容易。你的程序留在那里,一直等到有什么人要它。如果你的程序里隐
藏着病毒,等你发现时,为时已晚。
计算机病毒通过交换程序而扩散。一个人带了一个被传染的程序——一个有意思的游戏
——来工作,把它输入办公室的计算机。病毒复制到字词处理程序内。然后她把字词磁盘交给
一个朋友。朋友的系统受到传染。每个程序看来工作正常,但是到2 月13 日??
防止病毒的一个显而易见的办法是不要交换程序。不要拿陌生人的糖——不要接受不可靠
的程序。把你的计算机与其他计算机隔离开,就不会有病毒传染。
病毒和逻辑炸弹也毒化了这个公共领域。人们不再信任公共软件,这样公共软件的来源最
终会枯竭。
但是病毒还有一种传送途径;通过网络直接传送。
我们的ARPANET 网络把全国8 万台计算机互相连接在一起。你可以通过网络给这些计算机
上的任何人发信,发送或接受材料,或者如马库斯·黑斯所做的那样,与接通网络的计算机互
相连接。
病毒能在ARPANET 系统上传送吗?一个程序可在一台计算机里自我复制,然后从网络上出
来,进入另一台计算机??
我以前想到这一点,但总认为不可能。ARPANET 计算机有防止病毒的保护系统:你要有口
令才能进入。黑斯因为猜出口令才得以打入网络计算机。病毒能猜出口令吗?
凌晨3 点30 分,我在家里的麦金托什计算机前冷得直发抖。我接通我在观象台的计算机。
那是太阳公司的工作站,使用流行的伯克利式尤尼克斯计算机。所有数百个作业仍在进行??
我的系统严重超载。没有黑客联机进入,只有我自己。
同劳伦斯—伯克利实验所的症状一样,也同航天局的埃姆斯系统一样,象是有了病毒。
我给劳伦斯—伯克利实验所的达伦·格里菲斯打电话。“这是病毒,”他证实了。“我可以看
到它复制。设法把作业销毁。它们马上就回来。”
“从哪里来?”
“我同5 个地方联系:斯坦福、罗切斯特大学、航空空间公司、伯克利分校和一个叫作BRL
的地方。”
“那是陆军的弹道研究实验所,”我说。我想起了同弹道研究实验所的迈克·米斯的谈话。
“病毒是怎样进入你的系统的?”
“我说不清,克利夫。所有联系都来自ARPANET,但是这次不象以往那样注册进入系统。
看上去象是病毒通过邮件传送系统的漏洞突破的。”
某个人利用尤尼克斯系统的安全漏洞制造了一种病毒。漏洞在邮件传送系统,病毒扩散到
整个网络。病毒在干什么?仅仅自我复制,还是内藏定时炸弹?
清晨4 点。怎么办呢?最好给ARPANET 的控制人员打电话,向他们发出警告。网络运转中
心24 小时有人值班,观察网络的情况。今天早上,他们还没有听说有这种病毒。“最好马上打
电话,因为到上午9 点钟,病毒将扩散到所有地方。”
网络运转中心没有听说这件事。病毒刚产生几个小时。我看着病毒从其他十几个地方过来。
有毒。到上午,它将扩散到几十个甚至几百个系统。我们碰到了问题,这是一个大问题。
我们必须认识这种病毒并互相转告。在后来的36 小时中,我忙得一塌糊涂,设法认识并击
败这种玩意。我知道我不是单枪匹马的。在此期间,伯克利、马萨诸塞理工学院和珀杜大学的
人已经在机上紧张地干起来了。
这里我只是描述一下我所见到的情况,但是,同尤尼克斯系统的杰出人物在全国所干的工
作相比,我的斗争微不足道。程序编制者一个个作出反应,象基思·博斯蒂克、彼得·伊吉恩·斯
帕福德、乔恩·罗克利斯、马克·艾钦、康·西利、埃德·王和迈克·米斯这样的专家。对这
场灾难进行了一场无人组织但是全力以赴的斗争,我做的只是其中的一小部分。
我检查了我在坎布里奇的系统的代码,马上就看到两种病毒。一种是为使用尤尼克斯操作
系统的瓦克斯计算机制造的。另一种是为太阳公司的工作站制造的。每一个文件都有45000 个
字节。如果是英文,那大约有30 页。但是这不是什么有意义的文本——我进行了转存,发现它
就象胡言乱语。它看上去甚至连机器代码都不象。
这一点没有什么意义。计算机程序看上去象机器代码。这个程序不象。没有标题块的信息,
只有几个指令是我认识的,其他都是乱七八糟的东西。
我耐心地设法理解那几个指令。假设我是太阳公司的工作站,有人给我输入那种指令,我
怎么反应?我拿出一叠纸、袖珍计算机器和一本机器说明书,开始破译病毒的代码。
头几个指令只是去掉病毒其他部分的一些代码,所以病毒看上去很奇怪。实际指令有意搞
得含糊不清。
制造病毒的人隐藏了他的病毒:他试图不让其他程序编制人员理解他的代码,在路上遍置
了钉子,以降低追击者的速度。
阴险毒辣!
又该给达伦打电话了。现在是清晨5 点,我们互对笔记——他发现了同样的情况并且还要
多一些。“我破译了部分病毒。我可以看出它是通过邮件传送系统进来的,然后它利用指定程序
和TELNET 网络扩散到其他计算机。它靠猜想破译了口令。”
我们俩人一起在电话里解开了这个程序的谜。它的全部目的似乎是自我复制,然后进入其
他计算机。它寻找网络联系——附近的计算机,遥远的系统,它能达到的任何地方的计算机。
每当病毒的程序发现网络上的一个计算机,它就设法利用尤尼克斯操作系统的几个模糊不
清的漏洞打进去。
是尤尼克斯系统的漏洞吗?是的。
当你把信件从尤尼克斯网络的一台计算机发往另一台计算机时,尤尼克斯的“邮件发送”
程序就处理这种传送活动。信件从网络上传送过来,邮件发送程序把它送到收信人那里。这是
分捡邮件的电子邮局。
邮件发送系统有一个漏洞。在正常情况下,如果外边的计算机把信送入这个程序,大家都
感到高兴。但是,如果出现问题,你可以让发送程序进入故障排除状态。
在故障排除状态,邮件发送程序允许外来计算机发布普通的尤尼克斯指令,象“执行下面
的程序”这类指令。
病毒就是这样繁殖复制的。它把复制的病毒送到其他计算机,让它们执行病毒程序。
病毒程序开始后,就寻找可以传染的其他计算机,把信息送给它们。
在某些系统,邮件发送程序是固定的。如果是这样的话,病毒就设法钻另一个空子:指定
显示程序。
如果你想知道我是不是一直在用尤尼克斯系统,你可以发出“指定克利夫”的指令。如果
我接在网络上,尤尼克斯会告诉你我的姓名、电话号码以及我在干什么。这在网络上效果很好,
我常常先指定一个人,然后再给他打电话。
病毒通过处理指令要求的程序打进去。指定显示程序可容纳512 个字符的资料,病毒送入
536 个字符。那多余的24 个字符怎么办呢?它们作为给尤尼克斯的指令来执行。
通过向指定程序“守门神”发出过多的信息,病毒发现了执行指令的第二个途径:在他人
的计算机上“执行下面的程序”。
如果这还不够,病毒内部还有口令猜测程序。它试图用几百个普通的口令,进入附近可靠
的计算机。如果猜中了,它就在计算机内自我复制,整个过程又从头开始。
这几种途径,哪一种都能在许多计算机里繁殖。它们结合在一起,形成一种能量极大的病
毒。
病毒程序就象行妖术的巫师的弟子,在一个个计算机里繁殖复制。销掉一个程序,新程序
取而代之。堵住一个漏洞,病毒则设法钻另一个漏洞。
我说的是病毒吗?
“你知道,克利夫,病毒在活动过程中修改其他程序,而这些东西不改变其他程序,只是
自我复制,”达伦解释说,“实际上,它并不是病毒,而是网络的蛀虫。”
病毒自我复制,进入其他程序,改变程序本身。蛀虫从一台计算机复制到另一台计算机。
它们都传染,哪一种都能使破坏作用扩散。
病毒通常传染个人计算机,通过软盘和复制程序传染。蛀虫袭击网络,通过用于电子邮件
和通信的联系线路扩散。
但是,在清晨5 点,我所知道的只是我的计算机出了毛病,这是这种自我复制程序造成的。
这是一只杜鹃,把蛋生在别的鸟的窝里。
蛀虫也好,病毒也好,不管谁制造它,都有意设下障碍,不让人理解它。把代码编成密码,
以隐藏内部的表格。它销掉母虫的证据。她表面上似乎是向伯克利的一台计算机发送信息,而
实际上什么也没有送——只是试图转移人们对程序真正来源的注意。
到星期四早上6 点,我开始考虑这种蛀虫的影响:酿成灾难。需要通知什么人呢?
我给ARPANET 网络运转中心打电话。他们无能为力——尽管他们关了整个网络,蛀虫还在
繁殖,在当地网络上移动。最好打电话给全国计算机安全中心。那里我认识谁呢?鲍勃·莫里
斯——他们的首席科学家。
我知道鲍勃·莫里斯星期四早上6 点30 分在计算机旁