第8章 黑客全解析——全面认识神秘的黑客(1)
提起黑客,总是显得那么神秘莫测。在人们眼中,黑客是一群聪明绝顶、精力旺盛的年轻人,他们一门心思地破译各种密码,以便偷偷地、未经允许地打入政府、企业或他人的计算机系统,窥视他人的隐私……
真是这样吗?其实,黑客文化包含范围很大的个人群体,从热衷于玩闹的孩子到极度勤勉的大人,从顽固的刑事犯罪分子到辛勤的探索者和思想者,从玩世不恭者到极端分子……黑客来自于各个经济和社会阶层——从非常贫穷到非常富有的人,从最好的到最差的家庭,所有的道德文化和民族背景的人在黑客中都有代表分子。
一、天才少年黑客——艾伦与盖茨
电脑黑客这个词是在上世纪60年代中期首次出现的。黑客一般是那些忙忙碌碌写代码的程序员。黑客们是些理想家,他们总能找到使用电脑的新方法、总能编出别人做不出来的程序。他们是计算机业界的精英,从应用程序到操作系统他们都能开发。按照这个定义的话,比尔·盖茨、史蒂夫·乔布斯、史蒂夫·沃兹尼亚克都算是黑客了——他们都看到了计算机的潜能,并创造性地实现了这些潜能。
这些黑客的一个统一特征就是:他们有强烈的好奇心,有时候甚至是有些偏执。
在1960年代末的西雅图,一群十几岁的孩子每天下午都在湖畔中学外面会合,他们都是这所私立中学的学生。会合后,他们会蹬上自行车,赶往一家叫做“计算机中心公司”的当地公司。尽管公司已经下班,但是孩子们却刚刚开始上班。他们觉得自己颇像一群夜班工人,每天晚上都干得很晚,一边在公司的DEC计算机上敲敲打打,一边吃着比萨饼,喝着可乐。
这群孩子的领袖是两个不同寻常的学生。他们比所有的同伴对计算机都更为着迷,事实上,同学们把他俩称作“计算机疯子”。15岁的保罗·艾伦和13岁的比尔·盖茨都擅长数学,格外喜欢编程。
艾伦、盖茨及其他孩子被这家公司雇来寻找计算机程序中的错误。更好的说法也许是公司“允许”他们使用计算机,因为孩子们不要报酬,纯粹是为了好玩。CCubed愿意这样做,因为它与DEC公司签有合同,只要CCubed能找出DEC软件中的“臭虫”,就不必为使用DEC计算机而付费。
DEC的软件程序是新开发出来的,很复杂,难免存在不少错误。DEC公司与CCubed签这种合同是软件公司的一种常见做法,意在发现软件中最细微的缺陷。半年下来,孩子们收获甚丰,盖茨的成绩尤为突出。他们根据自己的工作编撰的《问题报告书》,长达300页。之后DEC中止了与CCubed的合同,盖茨后来回忆说:“DEC发现,这帮家伙总能挑出毛病。”
在挑错的过程中,艾伦与盖茨的计算机技能与日俱增;很快,他们就开始往程序中加入自己的东西,以便让其运行得更好。盖茨会批评DEC的个别编程人员说:“看啦,XXX又犯了同样的错误。”
也许盖茨变得过于傲慢了。软件似乎是一种可以令他随心所欲的东西。例如,他在CCubed为湖畔中学编写学生座次排序软件时,偷偷地加进了一些指令,使自己成为班上几乎唯一一个周围坐满了女生的男孩。如同他在自述这段经历时所说:“很难把我同一台能如此明确无误地展示我的成功的机器分开,我已经深深陷进去了。”他陶醉于由于控制那些巨大的计算机而产生的权力感之中,开始摆弄计算机安全系统。
盖茨很快成为计算机安全的行家,不费吹灰之力就能够进入各种计算机系统。他成了一名黑客。外人很难想象,这个长着一副娃娃脸的中学生,只需在一部终端上敲出14个字母,便可以令DEC计算机系统俯首称臣。盖茨开始搞各种各样的电子恶作剧。
同电脑系统捣乱给盖茨在某些圈子里带来了声誉,但也招致了麻烦。在学会应付DEC系统后,盖茨转而寻求更大的刺激。当时与IBM一起从事大型机生产的控制数据公司(CDC)建有一家全国计算机网Cybernet,CDC声称此网无论何种情况下都是安全可靠的。但这个牛皮在盖茨看来吹得太大了。
华盛顿大学的一部CDC计算机与Cybernet相连。盖茨开始研究这部机器及其运行的软件,他逐字逐句地琢磨网络的技术规范,仿佛在迎接一场大考一样。他对艾伦说,网络中有一些外围处理器,只要能控制其中的一台,就可以利用这台机器控制主机。这种“逐渐攻入系统”的办法,就好像打扮成一只工蜂而进入蜂巢。系统管理员会注意到外围处理器的活动,但这些活动都是通过终端讯息的形式显示出来的,盖茨控制了外围处理器送出的所有讯息。
他希望在他悄悄撬开系统之门时,保留一切正常的假象以骗过管理员。
这一招果然奏效。盖茨控制了一台外围处理器,在系统管理员的眼皮底下溜进系统,并在系统内所有的计算机上安装了同样的“特别程序”。他的恶作剧导致所有的计算机同时中断了工作。盖茨为此窃笑了好几天,然而CDC却不觉得此事有什么好笑。不幸的是,盖茨的作案手法还不够高明。CDC抓住了他,为此盖茨不得不远离计算机一年。
在这一年中,盖茨试图过正常的生活。这时他在中学读九年级。几年后,当盖茨试图在圈内树立自己的地位时,他无须出示自己编写的漂亮软件,只要说:“我攻破过DEC和CDC计算机系统。”就足够了。守法的黑客开始缓慢地被少年冒险者所取代。
当英特尔推出8008芯片时,保罗·艾伦敏锐地意识到,尽管这第一个微处理器的真正作用是用于微电脑。但那时计算机行业还没想到利用微处理器制造一台真正的计算机。8008被描述成适合于“任何计算、控制和决策系统,有如一个灵巧的终端”。当时,微处理器速度缓慢,能够处理的信息量有限。没有一种程序员所熟悉的语言能使用于8008,这样一来,要想为它编写一个复杂的程序几乎是不可能的。
艾伦要为英特尔的小芯片写一个专门的BASIC语言,盖茨深表怀疑,因为8008是为计算机而制造的,不够复杂和精密。尽管如此,两人还是花360美元买了一块芯片,动手设计出一块电路板,编起程序来。由于芯片功能太差,他们放弃了BASIC语言,转而用小芯片启动一台机器。该机器可以分析城市道路交通监视器传来的消息。许多市政当局测量交通流量都采用这样的办法:在一条选定的街道上拉一条橡胶软管,当车辆通过软管时,它便会撞击位于软管尾端的金属箱中的带子。盖茨认为可以利用8008处理这些带子,并打印出图形和其他数据。他为自己的新公司取名为交通数据公司(Trove-O-Data),盖茨说:“那时它听起来像诗一样。”
交通数据公司并没有获得成功,也许是因为市政当局不愿意从两个毛头小子手中购买设备。那一年,艾伦19岁,盖茨16岁,不过看起来比实际年龄还要年轻。
在这次商业冒险失败后,艾伦上了大学。一家大公司TRW公司听说艾伦与盖茨在CCubed的成就,主动找上门来为两人提供了一份开发软件的工作。一年能挣3万美金!这样的工作令两个年轻人眼睛发亮。艾伦离开大学,盖茨也从中学请假,两人一起编起软件来了。
他们过了一年半计算机少年的梦幻生活。程序员通常都不愿意与别人共享专业知识,但盖茨却很会利用自己的年轻外表向人请教。毕竟,他还只是一个孩子。两人因此学到了更多的计算机技能,并且发现这些技能可以为自己带来丰厚的收入。盖茨买了一艘快艇,两人常常一同前往附近的湖中兜风。
少年黑客们看到了软件业下面深埋的黄金。但金钱的回报绝不是唯一的诱惑:编写软件是一场公平的游戏,逻辑的清晰与思想的锋利,决定着谁是游戏的胜方。这种游戏对于两个天才少年有着无与伦比的吸引力。
艾伦与盖茨在TRW的工作最终结束了,但对这两个少年黑客来说,它是一段令人难忘的经历。盖茨回忆说:“计算机鼓舞我们沉浸在一种梦想中,总有一天上百万的人都会拥有他们自己的计算机。每过一年,我便愈加坚信计算机和计算机的使用必定会变得越来越廉价和普及。我敢肯定我如此坚决地去帮助开发个人计算机的原因之一就是我自己想要拥有一台。”
二、黑客的定义——只有公认的黑客,没有自封的“黑客”
黑客(Hacker),源于英语动词Hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是:“喜欢探索软件程序奥秘,并从中增长个人才干的人。他们不像绝大多数电脑使用者那样,只规规矩矩地了解别人指定的狭小的部分知识。”
从这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。
黑客的起源
一般认为,黑客起源于1950年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。在六七十年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出巨大贡献。正是这些黑客倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,才打破了以往计算机技术只掌握在少数人手里的局面,开创了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(trojan horse)等,都是在这一时期发明的。
从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。
在1960年代,计算机的使用远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了八九十年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人财产,社会不能再对黑客行为放任不管,必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。
但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展做出贡献。
一个人即使从意识和技术水平上已达到黑客水平,也绝对不会声称自己是一名黑客,因为黑客只有公认的,没有自封的,他们重视技术,更重视思想和品质。
黑客和“骇客”
今天人们常说的“黑客”应被叫做“骇客”。骇客是专门从事破译密码活动的人。他们是一个很神秘的群体,不会轻易向别人说明自己的身份。由于这种神秘性,使得很多人想去了解他们。可是,正如世界上很多事物一样,不了解可能反而安全。这些骇客组织很多都抱有一些非法的目的,他们秘密联络,经常破坏一些合法网站,给网络带来非常多的问题,甚至有的骇客组织居然敢公然利用本身的技术来和政府对抗。这恐怕是黑客和骇客最大、最根本的区别。
骇客并不固定是些什么人,每个人都有可能成为骇客,只要你知道一些网络与计算机知识就可以。所以有人把“黑客”看做是大师级的电脑高手,而把“骇客”看做是初级的“黑客”,只具备一定的攻击能力。
黑客世界中的阶级
心理学家认为,黑客可以划分成新手、网络朋客、程序开发者以及网络恐怖分子这几类。新手就是那些会用黑客工具,但是并不了解计算机以及那些程序工作原理的人。网络朋客们则更老练一些,他们不会像新手那样在袭击某系统的时候被轻易发现,但是他们比较爱吹嘘自己的成绩。程序开发者编写其他黑客使用的程序,有了这些程序那些黑客就可以侵入甚至操控他们的计算机系统。网络恐怖分子是指专业黑客,他们为了利益而入侵系统——有时是给某公司搞破坏或者窃取某企业的知识产权数据等。