《杜鹃蛋》

下载本书

添加书签

杜鹃蛋- 第5部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
小杜鹃鸟的生存依赖于其他鸟类的无知。
我们的神秘客人在我们的计算机里放了一个象杜鹃蛋一样的程序,让这个系统把它孵出来,
给予它特权。
那天早晨,这个黑客写了一个简短程序在掠取特权。通常,尤尼克斯不会让这样的程序工
作,因为除了给予一个用户的权利以外,这个系统决不会给予其他特权。但是通过一个特许帐
户使用这个程序。他就会成为一个享有特权的帐户。他的问题是要把这种特殊程序——杜鹃蛋
——伪装起来,以使这个系统能把它孵出来。
每隔5分钟,尤尼克斯系统执行它自己的名叫“Atrun”的程序。而Atrun还得安排其他工作,
并做例行的清除任务。这种程序以特权的方式工作,得到操作系统的全权和信任的支持。如果
用一个伪造的Atrun程序代替,它就会在5分钟内得到执行并享有本系统的全部特权。因此,Atrun
放在这个系统的保护区内,只有系统管理人才能使用。除了系统管理人,谁也不准改动Atrun。
这正是杜鹃的巢穴:在5分钟里,他将用他的蛋交换这个系统的Atrun程序。
为了进行这种侵袭,他需要设法把他的杜鹃蛋程序移入受保护的系统巢穴里。所以设置这
个操作系统屏障的具体目的就是为了防止这一点。普通的复制程序不能绕过这些屏障;你无法
发出指令让系统“把我的程序复制在系统空间里”。
但是有一个我们从来没有注意到的未知的因素。一个自由职业的计算机程序编制人员里查
德·斯托尔曼大声疾呼;信息应当自由。他的软件是免费提供的,设想得很出色,编写得很精
致。
在过去10年里,斯托尔曼创造了一种效力很强的编辑程序称为“Gnu…Emacs”。但是Gnu远
不只是一个文字编辑程序。它很容易按照你个人的爱好加以特制。其他程序可以在这个基础上
编制。甚至可把它自己的信箱也编在里面。自然,我们的物理学家们要求使用Gnu程序;为了多
出售一些计算周期,我们欣然采用了这种程序。
只有一个问题:在这种软件里有一个故障。
根据它安装在我们的尤尼克斯计算机里的情况,Gnu…Emacs编辑程序让你可以从你自己的通
信目录里提出一个邮递文件,以异常的方式发给其他任何人。它并不检查接受这封信的人是谁,
或甚至他们是否想要这个文件。它只是给这份文件重新取名,改变它的所有权标签。这样你就
把这个文件的所有权从你手里转移给我了。
把一份文件从你的地区送到我的地区不会有什么问题。但是你最好不要把一个文件移入受保
护的系统地区:只有系统管理人才允许进入那里。斯托尔曼的软件最好能确保不会发生这种事。
Gnu程序并不进行核查。它让任何人都可以把文件移入保护系统空间。这个黑客知道这一点,
而我们却不知道。
这个黑客利用Gnu程序以他的特殊Atrun文件换取了这个系统的合法Atrun文件。 5分钟以
后,这个系统孵出了他的蛋,这样他便控制了我的计算机。
他曾利用这一技术从计算机骗取了权力。他把他的伪造的程序安置在这个系统内。尤尼克
斯系统一执行他伪造的Atrun程序,他就成了超级用户。这整个操作取决于他是否能把一份文件
随心所欲地移到任何地方去。
Gnu是我们系统在安全方面的漏洞。一些流行的软件的一个不引人注目部分存在一个难以捉
摸的故障。我们的系统程序编制人盲目地安装了这个程序,我们从来没有想过它可能破坏我们
整个系统的安全。
现在我明白了。我们的朋友一定是进入一个客户的帐户,利用Gnu的漏洞取得了他的特权。
在我面前,头几英尺打印纸表明,这只杜鹃在准备巢穴下蛋,并且等待别的鸟把它孵出来。
以后70英尺打印纸表明,刚会飞的杜鹃在拍动翅膀试飞了。
作为超级用户,他控制了我们的系统。他做的第一件事是抹去他的足迹:他把Atrun的适当
复制品转回到原来所在的地方。然后他把我们的全部用户的电子邮件、书面新闻、闲话和情书
列入清单。他了解过去一个月的计算机改变、赠款建议和新的租用情况。他寻找系统管理人文
件里的改变,他发现,我刚刚开始工作。他核查了我的薪金和个人简历。更加令人不安的是,
他认识到我是系统管理人,并且了解我的帐户名称。
为什么会找到我头上来呢?不管怎样,从现在起,我最好使用不同的名字。
每隔10分钟,这个黑客就发一次指令,询问“谁”,以便把每个与这台计算机联机的人都
列入清单。很明显,他担心有人可能看见他联机,也许正在注视着他呢。后来他查找了操作系
统的任何变化——如果我象起初打算做的那样,修改了‘守护神”软件,以记录他的对话,他
一定会发现的。我觉得象是一个玩捉迷藏的孩子,寻找的人就在离他躲藏的地方几英寸处走过。
在头一个小时内,他编写了一个程序来审阅每个人的邮件,查找有无提到他的活动。他寻
找“黑客”和“安全”的字样。
一位科学家已开始实行一项程序,把周末的一项实验的数据汇编起来。这项计划用“收集”
这个名字,它每隔几分钟就搜集一次信息,并把它记录下来送给一个文件存储器。这个黑客看
见了这个程序,花了10分钟设法了解它所做的一切,然后把它毁掉了。
哟!这里有人在每隔几分钟往后面察看一次,查看周围是否有什么人。他破坏了他认为可能
是监视他的任何工作。他拆看我的邮件,查看是否有什么人写了关于黑客的事。韦恩是对的:
如果你站在明处.他会知道你在注视他。从现在起,我必须让人难以捉摸,不露行迹。
这个黑客不往后看时,他是在阅读文件。他通过研究几位科学家的指令文件和手稿,发现
了进入其他实验所计算机的道路。每天晚上,我们的计算机自动地呼叫另外20台计算机,以互
换邮件和网络新闻。当这个黑客看了这些电话号码以后,他了解了20个新的目标。
下面是来自一个工程师的邮递文件:
“嗨,埃德尔
我将在今后几个星期去度假。如果你需要使用我的什么数据,只要请求跟瓦克斯计算机上
我的帐户联系就行了。帐户的名字是威尔逊,口令是马里安(这是我妻子的名字)。有趣!”
这位黑客感到有趣,即使埃德尔不觉得有趣。他通过我们本地区网络与那个瓦克斯联系,
他登记使用威尔逊的帐户,毫未遇到问题。威尔逊不会注意到这个黑客读他的文件,而且很可
能也不在乎。这些文件中有数字数据,除了对别的核物理学家以外,对任何人都没有什么意义。
我们这位不速之客知道我们实验所内部网络的情况。我们的12台大型计算机同l00台使用电
磁波网络、串行线等的实验所计算机相连接。当物理学家们想要把回旋加速器使用的一台计算
机的数据输入我们的大型计算机时,他们将使用任何端口、任何线路、任何网络。几年来,技
术人员在实验所安装了一个电缆网络,把实验所的大多数计算机同似乎可以工作的一切装置相
互连接起来。这个局部区域网络伸展到每个办公室,把个人计算机、麦金托什计算机和终端机
与我们的主机连接起来。
这些形成网络的计算机根据安排往往是相互依赖的。如果你批准了那一台计算机,那么你
也等于批准了这台计算机。这样可以节省一点时间:人们在使用几台计算机时,不需要发出一
个以上的口令。
黑客利用了这种依赖关系进入了6台计算机。他作为我们的尤尼克斯主计算机的超级用户,
用别人的帐户名字掩护自己。然后他只要敲敲网络内另一台计算机的大门,就被让进去,甚至
连口令都不用说。我们这个客人不可能知道这些系统是用来做什么的;可是他在网络内摸索着
到处试探,寻找进入未探索过的计算机的连接线。
到这次对话终止时,打印机的墨带用完了油墨。用一支铅笔在纸上轻轻擦一下,我就能看
出打印键头留下的印记:“黑客”已经复印了我们的口令文件,然后就中止联机了。
一个吉他的低音曲调转移了我对“黑客”踪迹的注意。
“感激的死者”乐团当时正在伯克利希腊剧场露天演出,剧场在山下离实验所仅百码。山
上的群众坐在旷野里,居高临下欢赏这场音乐会,警察阻拦不了,于是我也溜到那里去了。
5
星期一上午是我担任这个工作的第二周。我是个很不自在的计算机操作人员:周围是些劳
累过度的专家,然而我却不知道我应当做什么。与此同时,也会出现一些有趣的事,我最好还
是把追踪黑客的计划完成。
象物理实验室里的一个新手一样,我在一本记事簿里写下了周末活动的情况。这倒不是我
打算使用这本记事簿:这是学习我的麦金托什计算机上一台文字处理机的机会。天文学家有句
经验之谈;如果你不把事情写下来,这件事情就没有发生。我把记下的结果留给下一个班组,
希望谁也不会注意到我头天晚上在机房睡觉。
上司一到办公室,立即要见我。
我以为他可能对我占用了所有那些终端机大发雷霆。也许管理制度本来就松驰,但是计算
机操作人员按理不能不跟任何人打招呼就借来大堆计算机设备。
可是罗伊连谈都没有谈终端的事。他想要知道这个黑客的情况。
“他是什么时候露面的?”
“星期日清晨5点,呆了三小时。”
“擦掉了什么文件吗?”
“毁掉了一个他以为是监视他的程序。”
“我们有危险吗?”
“他是超级用户,他能把我们的文件全部抹掉。”
“我们能制止他进来吗?”
“大概可以。我们知道这个漏洞,这是一个快速插入码。”
“你认为这能制止他吗!”
我能明白他的思路是什么。罗伊并不关心把门关紧。他知道我们很容易撤销被盗用的斯文
特克的帐户。既然我们弄明白了,修补Gnu—Emacs的漏洞并不困难:只要加上几行代码检查那
个目标目录就行了。
我们是该把门关紧呢,还是让它开着?对付的办法显然是歇业。我们知道这个黑客是怎样进
入我们的系统的,也知道怎样能把他踢出去。
但是还有什么别的问题吗?我们的神秘客人还给我们留下什么别的“礼物”吗?他接触了其
他多少帐户?他还闯入了其他什么计算机?
还有叫人担忧之处。从打印输出的记录纸上可以看出,这个黑客是个有能力的系统程序编
制人,能够利用一些我们以前从未发现过的不显眼的故障。他还干了别的什么事呢?
如果你是超级用户,你能修改该系统内的任何文件。难道这个黑客为了打开一个后门入口
而修改了一个系统程序吗?他是否修补了我们的系统,以识别一个不可思议的口令呢?
他有没有偷偷放进一个计算机病毒呢?在家用计算机上,病毒是通过在其他软件内自我复制
而传播的。当你把受感染的软件交给别人时,病毒就在其他软件里复制,从一个磁盘传插到另
一个磁盘。
如果这种病毒是良性的,它就难以发现,而且很可能不会造成很大损害。但是制造恶性病
毒是容易的,这些病毒自我复制,然后就把数据文件抹掉了。制造一种病毒,让它潜伏几个月,
然后在将来某一天突然爆发起来.这同样也是容易的。
病毒的阴影经常困扰着程序编制人员,使他们一想起病毒就会毛骨悚然。
这个黑客作为一个超级用户,能以一种几乎不可消除的方式影响我们的系统。如果他放入
病毒,那么这个病毒可在我们的系统软件里复制,并且隐藏在计算机的不显眼的地方。他在一
个接一个的程序里自我复制,我们为抹去它所做的努力等于白费。
在家用计算机里,你可以从头开始重建操作系统,与此不同,我们是广泛修改我们的操作
系统。我们不能去找生产厂家,说:“给我们一套原装的操作系统吧。”一旦感染了病毒,我
们只能用后备磁带重建我们的系统。如果他在6个月前就放进了病毒,我们的后备磁带也会被感
染了。
也许,他放置了一颗“逻辑炸弹”——一种预定在将来某个时候爆破的程序。也许这个入
侵者只是偷走了我们的文件,毁掉了几项作业,破坏了我们的会计制度。但是要是他干了更坏
得多的事情,我们怎么能知道呢?有一个星期,我们的计算机是向这个黑客开放的。我们能证明
他投有窜改我们的数据库吗?
我们怎么能再信任我们的程序和数据呢?
我们不能信任。设法把他赶出去的办法行不通,因为他会找到另一条道路进来。我们需要
弄清他干了什么事,以及他正在干什么。
尤其是我们需要知道谁在这条线路的另
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架