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