SCO UNIX 如此容易欺骗(上)


我离开那个公司已经两年了。


那年4月,我第一次站到那公司开发部的门口,有点发愣。这是我第一次看到大规模的软件团体协作。大楼的一层就是一个大厅,上百个和我头衔一样的"软件工程师"就在这里埋头苦干。总共有4台奔腾二运行着SCO系统,每台带动20-50个哑终端。于是我就做在一个哑终端前开始工作了。

新员工培训的前两个星期就是自己学习UNIX的使用。第一个星期学会了cd进入目录和ls查看文件属性,第二个星期学会了man查看帮助,vi编辑文档和grep查找字符。就在别人的目录中走来走去,美其名曰 "查看他们后门的稳固性",发现他们有一半的人的目录中都有英汉词典,但是有的大,有的小,其中一个竟然有17M,顺手就把它拷回来了。
这时候,我发现了这个UNIX的一个漏洞:没有内部命令,所有的命令,包括cd,ls,cat都是在\bin目录下的可执行文件。

记得初学DOS时,我们就编过一个小程序,起名字为dor.exe,当别人打算敲dir列目录而敲错了,就执行了我的程序:可能会把硬盘格式化!能不能把名字改为dir.exe呢?不行,因为dir是DOS的内部命令,在command.com中定义,输入"dir"命令时就有command.com执行。而这个UNIX居然会没有内部命令的机制?看一下path:\bin在前面,我的目录squirrel在后面。改一下!输入path= squirrel;\bin;.....,然后在自己的目录上成立一个ls的执行文件,敲入:ls回车。果然!执行了我的程序,而非原来系统的列目录。这就比较好玩了。

于是就有了一丝欲望,虽然当时我还不确切知道我想要做什么。动手了:把词典放到squirrel\work目录下,打开vi做了一个小程序lookup,大意是输入"lookup net"我就在这个大词典中找到所有有net的解释输出来。最后加了一点东西,把使用者的用户名、所查的词记录到record.txt文件中,也就是现在所流行的记录访问者IP地址的意思。再设置一下
目录属性:别人可进入,不可列表;
lookup文件属性:可执行,不可查看,不可写;
record.txt文件属性:不可执行,不可查看,可写。

测试了几把,就news(发布新闻)说,我新做了一个用于查字典的东西,大家有什么中文、英文的单词都可以使用,只要你把squirrel\work 加入到你的path中,你就可以随时使用"lookup 生词"来得到答案。 "For example: Input path=squirrel\work\;\bin;..."看到了吗?我有意识地误导他们,把我的目录放在前面。

当天下午,record.txt里就有了一些记录,大概是他们测试一下吧。第二天在公司食堂里就有人问了: "嘿,你就是那个squirrel吗?你的词典不错。"如果我在这个lookup里加入恶意的代码,他们就死定了。但是,软件的使用本身就是建立在相互信任的基础上的 ,如果如此滥用别人的信任,这个世界已经完蛋了。例如,我们为了聊天,从网上下载,或者用软盘拷了oicq并执行,但是你怎么知道这个软件里没有一个代码准备格式化你的硬盘呢?甚至,微软的windows除了将你的注册信息发给微软公司之外,是否还把你硬盘里的秘密发送出去了呢?如果对网络的东西毫无防范,你死了都不知道怎么回事;但是如果完全基于不信任主义,我们就只能使用自己编制的软件。我们只能在这中间找一个平衡。网络将大家联在一起,需要大家的支持。如果有人破坏这种信任,一个很流行的软件,举个例子说winzip,如果竟然偷偷做了它不应该做的事情,被人发现后,就会把这个平衡破坏,人们的信任感消失,真的就到了"只能使用自己编制的软件"的时代了。网络蚂蚁被发现向广告公司发送信息时闹得纷纷扬扬,也就是因为这个原因。在lookup里放恶意代码不是我的目的,我的目的是找到谁真的输入了path= squirrel\work\;\bin;...,把他的生命完全交到我的手中。

松鼠说:
1,我上面提了一些软件和公司,并非指他们的质量如何,只是假设而已,请勿对号入坐。
2,松鼠之家(http://www.fadshop.net/squirrel/)上的松鼠编制的软件绝无有意的恶意代码,而且我承诺绝大多数的软件在推出新版本时都会公布旧版本的源程序,以求与朋友交流。


第三天,我正忙着做正事,还没有来得及黑别人,我自己反而被黑了。
(请看下集)
Copyright 1998-2002 Fadshop.net, Inc. All rights reserved. jhj123@163.net