有关黑客的一切
黑客是对英语hacker的翻译,hacker原意是指用斧头砍材的工人,最早被引进计算机圈则可追溯自1960年代。他们破解系统或者网络基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要。
加州柏克莱大学计算机教授Brian Harvey在考证此字时曾写到,当时在麻省理工学院中(MIT)的学生通常分成两派,一是tool,意指乖乖牌学生,成绩都拿甲等;另一则是所谓的hacker,也就是常逃课,上课爱睡觉,但晚上却又精力充沛喜欢搞课外活动的学生。 这跟计算机有什么关系?一开始并没有。不过当时hacker也有区分等级,就如同tool用成绩比高下一样。真正一流hacker并非整天不学无术,而是会热衷追求某种特殊嗜好,比如研究电话、铁道(模型或者真的)、科幻小说,无线电,或者是计算机。也因此后来才有所谓的computer hacker出现,意指计算机高手。
有些人很强调黑客和骇客的区别,根据开放原始码计划创始人Eric Raymond(他本人也是个著名的hacker)对此字的解释,hacker与cracker(一般译为骇客,有时也叫“黑帽黑客”。 )是分属两个不同世界的族群,基本差异在于,黑客是有建设性的,而骇客则专门搞破坏。 对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切。对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节。还有一种情况是试图破解某系统或网络以提醒该系统所有者的系统安全漏洞,这群人往往被称做“白帽黑客”或“匿名客”(sneaker)或红客。许多这样的人是电脑安全公司的雇员,并在完全合法的情况下攻击某系统。
但到了今天,在知识贫乏的记者写的媒报道中,黑客一词已被用于泛指黑客和骇客,因此也影响了大众对黑客的理解。 这个背景下,就出现了重新定义黑客内涵的努力,试图把黑客的活动范围限定为不为经济利益、而是出于好奇心做出技术探索和挑战。
黑客文化简史
本篇原作者为Eric S. Raymond esr@snark.thyrsus.com,他是一位大哥级的 Hacker,写了很多自由软件,知名著作有Jargon File等,近年来发表“大教堂与集市”论文为Opensource software努力,Netscape 愿意公开Navigator的原始码,与这篇文章有很大的关系。
序曲: Real Programmer
故事一开始,我要介绍的是所谓的Real Programmer。
他们从不自称是Real Programmer、Hacker或任何特殊的称号;`Real Programmer' 这个名词是在1980年代才出现,但早自1945年起,电脑科学便不断地吸引世界上头脑最顶尖、想像力最丰富的人投入其中。从Eckert Mauchly发明ENIAC后,便不断有狂热的programmer投入其中,他们以撰写软件与玩弄各种程式设计技巧为乐,逐渐形成具有自我意识的一套科技文化。当时这批Real Programmers主要来自工程界与物理界,他们戴著厚厚的眼镜, 穿聚酯纤维T恤与纯白袜子,用机器语言、汇编语言、FORTRAN及很多古老的 语言写程式。他们是Hacker时代的先驱者,默默贡献,却鲜为人知。
从二次大战结束后到1970早期,是打卡计算机与所谓"大铁块"的mainframes 流行的年代,由Real Programmer主宰电脑文化。Hacker传奇故事如有名的 Mel (收录在Jargon File中)、Murphy's Law的各种版本、mock- German`Blinke_nlight' 文章都是流传久远的老掉牙笑话了。
※译者:Jargon File亦是本文原作者所编写的,里面收录了很多Hacker用语、缩写意义、传奇故事等等。Jargon File有出版成一本书:The New Hacker's Dictionary,MIT PRESS出版。也有Online版本: http://www.ccil.org/jargon
※译者:莫非定律是:当有两条路让你抉择,若其中一条会导致失败,你一定会选到它。 它有很多衍生说法: 比如一个程式在demo前测试几千几万次都正确无误,但demo 那一天偏偏就会出bug。
一些Real Programmer仍在世且十分活跃 (本文写在1996年)。超级电脑Cray 的设计者Seymour Cray, 据说亲手设计Cray全部的硬体与其操作系统,作业系统是他用机器码硬干出来的,没有出过任何bug或error。Real Programmer 真是超强!
举个比较不那么夸张的例子:Stan Kelly-Bootle,The Devil's DP Dictionary 一书的作者(McGraw-Hill, 1981年初版,ISBN 0-07-034022-6)与Hacker 传奇专家,当年在一台Manchester Mark I开发程式。 他现在是电脑杂志的专栏作家,写一些科学幽默小品,文笔生动有趣投今日hackers所好,所以很受欢迎。 其他人像David E. Lundstorm,写了许多关於Real Programmer的小故事,收录在A few Good Men From UNIVAC这本书,1987年出版,ISBN-0- 262-62075-8。
※译:看到这里,大家应该能了解,所谓Real Programmer指的就是用组合语 言或甚至机器码,把程式用打卡机punch出一片片纸卡片,由主机读卡机输入电脑的那种石器时代Programmer。
Real Programmer的时代步入尾声,取而代之的是逐渐盛行的Interactive computing,大学成立电算相关科系及电脑网络。它们催生了另一个持续的工程传统,并最终演化为今天的开放代码黑客文化。
早期的黑客
Hacker时代的滥觞始於1961年MIT出现第一台电脑DEC PDP-1。MIT的Tech Model Railroad Club(简称TMRC)的Power and Signals Group买了这台机器后,把它当成最时髦的科技玩具,各种程式工具与电脑术语开始出现,整个环境与文化一直发展下去至今日。 这在Steven Levy的书`Hackers' 前段有详细的记载(Anchor/Doubleday 公司,1984年出版,ISBN 0-385-19195-2)。
※译:Interactive computing并非指Windows、GUI、WYSIWYG等介面, 当时有terminal、有shell可以下指令就算是Interactive computing了。 最先使用Hacker这个字应该是MIT。1980年代早期学术界人工智慧的权威:MIT 的Artificial Intelligence Laboratory,其核心人物皆来自TMRC。从1969年起,正好是ARPANET建置的第一年,这群人在电脑科学界便不断有重大突破与贡献。
ARPANET是第一个横跨美国的高速网络。由美国国防部所出资兴建,一个实验性 质的数位通讯网络,逐渐成长成联系各大学、国防部承包商及研究机构的大网络。各地研究人员能以史无前例的速度与弹性交流资讯,超高效率的合作模式导致科技的突飞猛进。
ARPANET另一项好处是,资讯高速公路使得全世界的hackers能聚在一起,不再像以前孤立在各地形成一股股的短命文化,网络把他们汇流成一股强大力量。 开始有人感受到Hacker文化的存在,动手整理术语放上网络, 在网上发表讽刺文学与讨论Hacker所应有的道德规范。(Jargon File的第一版出现在1973年,就是一个好例子), Hacker文化在有接上ARPANET的各大学间快速发展,特别是(但不全是)在信息相关科系。
一开始,整个Hacker文化的发展以MIT的AI Lab为中心,但Stanford University 的Artificial Intelligence Laboratory(简称SAIL)与稍后的Carnegie-Mellon University(简称CMU)正快速崛起中。三个都是大型的资讯科学研究中心及人工智慧的权威,聚集著世界各地的精英,不论在技术上或精神层次上,对Hacker文化都有极高的贡献。
为能了解后来的故事,我们得先看看电脑本身的变化;随著科技的进步,主角MIT AI Lab也从红极一时到最后淡出舞台。
从MIT那台PDP-1开始,Hacker们主要程式开发平台都是Digital Equipment Corporation 的PDP迷你电脑序列。DEC率先发展出商业用途为主的interactive computing及time-sharing操作系统,当时许多的大学都是买DEC的机器, 因为它兼具弹性与速度,还很便宜(相对於较快的大型电脑mainframe)。 便宜的分时系统是Hacker文化能快速成长因素之一,在PDP流行的时代, ARPANET上是DEC机器的天下,其中最重要的便属PDP-10,PDP-10受到Hacker们的青睐达十五年;TOPS-10(DEC的操作系统)与MACRO-10(它的组译器),许多怀旧的术语及Hacker传奇中仍常出现这两个字。
MIT像大家一样用PDP-10,但他们不屑用DEC的操作系统。他们偏要自己写一个:传说中赫赫有名的ITS。
ITS全名是`Incompatible Timesharing System',取这个怪名果然符合MIT的搞怪作风——就是要与众不同,他们很臭屁但够本事自己去写一套操作系统。ITS始终不稳,设计古怪,bug也不少,但仍有许多独到的创见,似乎还是分时系统中开机时间最久的纪录保持者。
ITS本身是用汇编语言写的,其他部分由LISP写成。LISP在当时是一个威力强大与极具弹性的程式语言;事实上,二十五年后的今天,它的设计仍优於目前大多数的程式语言。LISP让ITS的Hacker得以尽情发挥想像力与搞怪能力。LISP是MIT AI Lab成功的最大功臣,现在它仍是Hacker们的最爱之一。
很多ITS的产物到现在仍活著;EMACS大概是最有名的一个,而ITS的稗官野史仍为今日的Hacker们所津津乐道,就如同你在Jargon File中所读到的一般。在MIT红得发紫之际,SAIL与CMU也没闲著。SAIL的中坚份子后来成为PC界或图形使用者介面研发的要角。CMU的Hacker则开发出第一个实用的大型专家系统与工业用机器人。
另一个Hacker重镇是XEROX PARC公司的Palo Alto Research Center。从1970初期到1980中期这十几年间,PARC不断出现惊人的突破与发明,不论质或量,软件或硬体方面。如现今的视窗滑鼠介面,雷射印表机与区域网络;其D系列的机器,催生了能与迷你电脑一较长短的强力个人电脑。不幸这群先知先觉者并不受到公司高层的赏识;PARC是家专门提供好点子帮别人赚钱的公司成为众所皆知的大笑话。即使如此,PARC这群人对Hacker文化仍有不可抹灭的贡献。1970年代与PDP-10文化迅速成长茁壮。Mailing list的出现使世界各地的人得以组成许多SIG(Special-interest group),不只在电脑方面,也有社会与娱乐方面的。DARPA对这些非`正当性'活动睁一只眼闭一只眼, 因为靠这些活动会吸引更多的聪明小伙子们投入电脑领域呢。
有名的非电脑技术相关的ARPANET mailing list首推科幻小说迷的,时至今日ARPANET变成Internet,愈来愈多的读者参与讨论。Mailing list逐渐成为一种公众讨论的媒介,导致许多商业化上网服务如CompuServe、Genie与Prodigy的成立。
Unix的兴起
此时在新泽西州的郊外,另一股神秘力量积极入侵Hacker社会,终於席卷整个PDP-10的传统。它诞生在1969年,也就是ARPANET成立的那一年,有个在ATT Bell Labs的年轻小夥子Ken Thompson发明了Unix。
Thomspon曾经参与Multics的开发,Multics是源自ITS的操作系统,用来实做当时一些较新的OS理论,如把操作系统较复杂的内部结构隐藏起来,提供一个介面,使的programmer能不用深入了解操作系统与硬体设备,也能快速开发程式。
※译:那时的programmer写个程式必须彻底了解操作系统内部,或硬体设备。比方说写有IO的程式,对於硬碟的转速,磁轨与磁头数量等等都要搞的一清二楚才行。
在发现继续开发Multics是做白工时,Bell Labs很快的退出了(后来有一家公司Honeywell出售Multics,赔的很惨)。
Ken Thompson很喜欢Multics上的作业环境,於是他在实验室里一台报废的DEC PDP-7上胡乱写了一个操作系统, 该系
统在设计上有从Multics抄来的也有他自己的构想。他将这个操作系统命名Unix,用来反讽Multics。
※译:其实是Ken Thompson写了一个游戏`Star Travel' 没地方跑,就去找一台的报废机器PDP-7来玩。他同事Brian Kernighan嘲笑Ken Thompson说:“你写的系统好逊哦,乾脆叫Unics算了。”(Unics发音与太监的英文eunuches一样),后来才改为Unix。
他的同事Dennis Ritchie,发明了一个新的程式语言C,於是他与Thompson用C把原来用汇编语言写的Unix重写一遍。C的设计原则就是好用,自由与弹性,C与Unix很快地在Bell Labs得到欢迎。1971年Thompson与Ritchie争取到一个办公室自动化系统的专案,Unix开始在Bell Labs中流行。不过Thompson与Ritchie的雄心壮志还不止於此。
那时的传统是,一个操作系统必须完全用汇编语言写成,始能让机器发挥最高的效能。Thompson与Ritchie,是头几位领悟硬体与编译器的技术,已经进步到作业系统可以完全用高阶语言如C来写,仍保有不错的效能。五年后,Unix已经成功地移植到数种机器上。
※译:Ken Thompson与Dennis Ritchie是唯一两位获得Turing Award(电脑界的诺贝尔奖)的工程师(其他都是学者)。
这当时是一件不可思议的事!它意味著,如果Unix可以在各种平台上跑的话,Unix 软件就能移植到各种机器上。再也用不著为特定的机器写软件了,能在Unix上跑最重要,重新发明轮子已经成为过去式了。
除了跨平台的优点外,Unix与C还有许多显著的优势。Unix与C的设计哲学是Keep It Simple, Stupid'。programmer可以轻易掌握整个C的逻辑结构(不像其他之前或以后的程式语言)而不用一天到晚翻手册写程式。而Unix提供许多有用的小工具程式,经过适当的组合(写成Shell script或Perl script),可以发挥强大的威力。
※注:The C Programming Language是所有程式语言书最薄的一本,只有两百多页哦。作者是Brian Kernighan 与Dennis Ritchie,所以这本C语言的圣经又称`KR'。
※注:`Keep It Simple, Stupid' 简称KISS,今日Unix已不follow这个原则,几乎所有Unix 都是要灌一堆有的没的utilities,唯一例外是MINIX。
C与Unix的应用范围之广,出乎原设计者之意料,很多领域的研究要用到电脑时,他们是最佳拍档。尽管缺乏一个正式支援的机构,它们仍在ATT内部中疯狂的散播。到了1980年,已蔓延到大学与研究机构,还有数以千计的hacker想把Unix装在家里的机器上。
当时跑Unix的主力机器是PDP-11、VAX系列的机器。不过由於UNIX的高移植性,它几乎可安装在所有的电脑机型上。一旦新型机器上的UNIX安装好,把软件的C原始码抓来重新编译就一切OK了,谁还要用汇编语言来开发软件?有一套专为UNIX设计的网络——UUCP:一种低速、不稳但成本很低廉的网络。两台UNIX机器用条电话线连起来,就可以使用互传电子邮件。UUCP是内建在UNIX系统中的,不用另外安装。於是UNIX站台连成了专属的一套网络,形成其Hacker文化。在1980第一个USENET站台成立之后,组成了一个特大号的分散式布告栏系统,吸引而来的人数很快地超过了ARPANET。
少数UNIX站台有连上ARPANET。PDP-10与UNIX的Hacker文化开始交流,不过一开始不怎么愉快就是了。PDP-10的Hacker们觉得UNIX的拥护者都是些什么也不懂的新手,比起他们那复杂华丽,令人爱不释手的LISP与ITS,C与UNIX简直原始的令人好笑。『一群穿兽皮拿石斧的野蛮人』他们咕哝著。
在这当时,又有另一股新潮流风行起来。第一部PC出现在1975年;苹果电脑在1977年成立,以飞快的速度成长。微电脑的潜力,立刻吸引了另一批年轻的 Hackers。他们最爱的程式语言是BASIC,由於它过於简陋,PDP-10 的死忠派与UNIX迷们根本不屑用它,更看不起使用它的人。
※译:这群Hacker中有一位大家一定认识,他的名字叫Bill Gates,最初就是他在8080上发展BASIC compiler的。
古老时代的终结
1980年同时有三个Hacker文化在发展,尽管彼此偶有接触与交流,但还是各玩各的。ARPANET/PDP-10文化,玩的是LISP、MACRO、TOPS-10与ITS。UNIX与C的拥护者用电话线把他们的PDP-11与VAX机器串起来玩。还有另一群散乱无秩序的微电脑迷,致力於将电脑科技平民化。
三者中ITS文化(也就是以MIT AI LAB为中心的Hacker文化)可说在此时达到全盛时期,但乌云逐渐笼罩这个实验室。ITS赖以维生的PDP-10逐渐过时,开始有人离开实验室去外面开公司,将人工智慧的科技商业化。MIT AI Lab 的高手挡不住新公司的高薪挖角而纷纷出走,SAIL与CMU也遭遇到同样的问题。
※译:这个情况在GNU宣言中有详细的描述,请参阅:(特别感谢由AKA的chuhaibo翻成中文)http://www.aka.citf.net/Magazine/Gnu/manifesto.html
致命一击终於来临,1983年DEC宣布:为了要集中在PDP-11与VAX生产线,将停止生产PDP-10;ITS没搞头了,因为它无法移植到其他机器上,或说根本没人办的到。而Berkeley Univeristy修改过的UNIX在新型的VAX跑得很顺,是ITS理想的取代品。有远见的人都看得出,在快速成长的微电脑科技下,Unix一统江湖是迟早的事。
差不多在此时Steven Levy完成``Hackers'' 这本书,主要的资料来源是Richard M. Stallman(RMS)的故事,他是MIT AI Lab领袖人物,坚决反对实验室的研究成果商业化。
Stallman接著创办了Free Software Foundation,全力投入写出高品质的自由软件。Levy以哀悼的笔调描述他是the last true hacker',还好事实证明Levy完全错了。
※译:Richard M. Stallman的相关事迹请参考: http://www.aka.citf.net/Magazine/Gnu/cover.htm
Stallman的宏大计划可说是80年代早期Hacker文化的缩影——在1982年他开始建构一个与UNIX 相容但全新的操作系统,以C来写并完全免费。整个ITS的精神与传统,经由RMS的努力,被整合在一个新的,UNIX与VAX机器上的Hacker文化。微电脑与区域网络的科技,开始对Hacker文化产生影响。Motorola 68000 CPU 加Ethernet是个有力的组合,也有几家公司相继成立生产第一代的工作站。1982年,一群Berkeley出来的UNIX Hacker成立了Sun Microsystems,他们的算盘打的是:把UNIX架在以68000为CPU的机器,物美价廉又符合多数应用程式的要求。他们的高瞻远嘱为整个工业界树立了新的里程碑。虽然对个人而言,工作站仍太昂贵,不过在公司与学校眼中,工作站真是比迷你电脑便宜太多了。在这些机构里,工作站(几乎是一人一台)很快地取代了老旧庞大的VAX等timesharing机器。
※译:Sun一开始生产的工作站CPU是用Motorola 68000系列,到1989才推出自行研发的以SPARC系列为CPU的SPARCstation。
私有Unix时代
1984年ATT解散了,UNIX正式成为一个商品。当时的Hacker文化分成两大类,一类集中在Internet与USENET上(主要是跑UNIX的迷你电脑或工作站连上网络),以及另一类PC迷,他们绝大多数没有连上Internet。
※译:台湾在1992年左右连上Internet前,玩家们主要以电话拨接BBS交换资讯,但是有区域性的限制,发展性也大不如USENET。Sun与其他厂商制造的工作站为Hacker们开启了另一个美丽新世界。工作站诉求的是高效能的绘图与网络,1980年代Hacker们致力为工作站撰写软件,不断挑战及突破以求将这些功能发挥到百分之一百零一。Berkeley发展出一套内建支援ARPANET protocols的UNIX,让UNIX能轻松连上网络,Internet也成长的更加迅速。
除了Berkeley让UNIX网络功能大幅提升外,尝试为工作站开发一套图形界面也不少。最有名的要算MIT开发的Xwindow了。Xwindow成功的关键在完全公开原始码,展现出Hacker一贯作风,并散播到Internet上。X 成功的干掉其他商业化的图形界面的例子,对数年后UNIX的发展有著深远的启发与影响。少数ITS死忠派仍在顽抗著,到1990年最后一台ITS也永远关机长眠了;那些死忠派在穷途末路下只有悻悻地投向UNIX的怀抱。
UNIX们此时也分裂为BerkeleyUNIX与ATT两大阵营,也许你看过一些当时的海报,上面画著一台钛翼战机全速飞离一个爆炸中、上面印著ATT的商标的死星。Berkeley UNIX的拥护者自喻为冷酷无情的公司帝国的反抗军。就销售量来说,ATTUNIX始终赶不上BSD/Sun,但它赢了标准制订的战争。到1990年,ATT与BSD版本已难明显区分,因为彼此都有采用对方的新发明。随著90年代的来到,工作站的地位逐渐受到新型廉价的高档PC的威胁,他们主要是用Intel80386系列CPU。第一次Hacker能买一台威力等同於十年前的迷你电脑的机器,上面跑著一个完整的UNIX,且能轻易的连上网络。沉浸在MSDOS世界的井底蛙对这些巨变仍一无所知,从早期只有少数人对微电脑有兴趣,到此时玩DOS与Mac的人数已超过所谓的"网络民族"的文化,但他们始终没成什么气候或搞出什么飞机,虽然聊有佳作光芒乍现,却没有稳定发展出统一的文化传统,术语字典,传奇故事与神话般的历史。它们没有真正的网络,只能聚在小型的BBS 站或一些失败的网络如FIDONET。提供上网服务的公司如CompuServe或Genie生意日益兴隆,事实显示non-UNIX的操作系统因为并没有内附如compiler等程式发展工具,很少有source 在网络上流传,也因此无法形成合作开发软件的风气。Hacker文化的主力,是散布在Internet各地,几乎可说是玩UNIX的文化。他们玩电脑才不在乎什么售后服务之类,他们要的是更好的工具、更多的上网时间、还有一台便宜32-bitPC。
机器有了,可以上网了,但软件去哪找?商业的UNIX贵的要命,一套要好几千大洋($)。90年代早期,开始有公司将ATT与BSDUNIX移植到PC上出售。成功与否不论,价格并没有降下来,更要紧的是没有附原始码,你根本不能也不准修改它,以符合自己的需要或拿去分享给别人。传统的商业软件并没有给Hacker们真正想要的。
即使是FreeSoftwareFoundation(FSF)也没有写出Hacker想要的操作系统,RMS承诺的GNU操作系统——HURD 说了好久了,到1996年都没看到影子(虽然1990年开始,FSF的软件已经可以在所有的UNIX平台执行)。
早期的免费Unix
在这空窗期中,1992年一位芬兰HelsinkiUniversity的学生--LinusTorvalds开始在一台386PC上发展一个自由软件的UNIX kernel,使用FSF的程式开发工具。
他很快的写好简单的版本,丢到网络上分享给大家,吸引了非常多的Hacker来帮忙一起发展Linux-一个功能完整的UNIX,完全免费且附上全部的原始码。Linux最大的特色,不是功能上的先进而是全新的软件开发模式。直到Linux的成功前,人人都认为像操作系统这么复杂的软件,非得要靠一个开发团队密切合作,互相协调与分工才有可能写的出来。商业软件公司与80年代的FreeSoftwareFoundation所采用都是这种发展模式。
Linux则迥异于前者。一开始它就是一大群Hacker在网络上一起涂涂抹抹出来的。没有严格品质控制与高层决策发展方针,靠的是每周发表新版供大家下载测试,测试者再把bug与patch贴到网络上改进下一版。一种全新的物竞天择、去芜存菁的快速发展模式。令大伙傻眼的是,东修西改出来的Linux,跑的顺极了。
1993年底,Linux发展趋於成熟稳定,能与商业的UNIX一分高下,渐渐有商业应用软件移植到Linux上。不过小型UNIX厂商也因为Linux的出现而关门大吉——因为再没有人要买他们的东西。幸存者都是靠提供BSD为基础的UNIX 的完整原始码,有Hacker加入发展才能继续生存。
Hacker文化,一次次被人预测即将毁灭,却在商业软件充斥的世界中,披荆斩棘,筚路蓝缕,开创出另一番自己的天地。
网络大爆炸时代
Linux能快速成长的来自令一个事实:Internet大受欢迎,90年代早期ISP如雨后春笋般的冒出来,World-Wide-Web的出现,使得Internet成长的速度,快到有令人窒息的感觉。
BSD专案在1994正式宣布结束,Hacker们用的主要是免费的UNIX(Linux与一些4.4BSD的衍生版本)。而LinuxCD-ROM销路非常好(好到像卖煎饼般)。近几年来Hacker们主要活跃在Linux与Internet发展上。World-Wide-Web让Internet成为世界最大的传输媒体,很多80年代与90年代早期的Hacker们现在都在经营ISP。
Internet的盛行,Hacker文化受到重视并发挥其政治影响力。94、95年美国政府打算把一些较安全、难解的编码学加以监控,不容许外流与使用。这个称为Clipper proposal的专案引起了Hacker们的群起反对与强烈抗议而半途夭折。96年Hacker又发起了另一项抗议运动对付那取名不当的"Communications DecencyAct",誓言维护Internet上的言论自由。
电脑与Internet在21世纪将是大家不可或缺的生活用品,现代孩子在使用Internet科技迟早会接触到Hacker文化。它的故事传奇与哲学,将吸引更多人投入。未来对Hacker们是充满光明的。
黑客是什么
e中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)
长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。
黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。
另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。
根本的区别是:黑客们建设,而骇客们破坏。
如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。 关于骇客,我只想说这么多。
---黑客的态度
黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。
要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但是如果你想靠培养黑客态度在黑客文化中得到承认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,并给你提供源源不断的活力。同所有有创造性的艺术一样,成为大师的最有效方法就是模仿大师的精神---不是仅从理智上,更要从感情上进行模仿。
So,如果你想做一名黑客,请重复以下事情直到你相信它们:
1 这世界充满待解决的迷人问题
做一名黑客有很多乐趣,但却是些要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从健壮体魄,挑战自我极限中汲取动力。同样,做黑客,你必须
要有从解决问题,磨练技术,锻炼智力中得到基本的热望。如果你还不是这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他诱惑无情地吞噬掉---如金钱、性和社会上的虚名。
(同样你必须对你自己的学习能力建立信心---相信尽管你对某问题所知不多,但如果你一点一点地学习、试探,你最终会掌握并解决它。)
2. 一个问题不应该被解决两次
聪明的脑瓜是宝贵的,有限的资源。当这个世界还充满其他有待解决的有趣问题之时,他们不应该被浪费在重新发明轮子这些事情上。 作为一名黑客,你必须相信其他黑客的思考时间是宝贵的---因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决新问题而不是重复地对付旧问题。
(你不必认为你一定要把你的发明创造公布出去,但这样做的黑客是赢得大家尊敬最多的人。卖些钱来给自己养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只要你别忘记你还是个黑客。)
3. 无聊和乏味的工作是罪恶
黑客们应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情---解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,它们是极大的犯罪。 要想做的象个黑客,你必须完全相信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。
(对此有一个明显的例外。黑客们有时也做一些重复性的枯燥工作以进行“脑力休息”,或是为练熟了某个技巧,或是获得一些除此无法获得的经验。但这是他自己的选择---有脑子的人不应该被迫做无聊的活儿。)
4 自由就是好
黑客们是天生的反权威主义者。任何能向你发命令的人会迫使你停止解决令你着迷的问题,同时,按照权威的一般思路,他通常会给出一些极其愚昧的理由。因此,不论何时何地,任何权威,只要他压迫你或其他黑客,就要和他斗到底。
(这并非说任何权力都不必要。儿童需要监护,罪犯也要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客会同意接受某种形式的权威。但这是一个有限的、特意的交易;权力想要的那种个人服从不是你的给予,而是无条件的服从。)
权力喜爱审查和保密。他们不信任自愿的合作和信息共享---他们只喜欢由他们控制的合作。因此,要想做的象个黑客,你得对审查、保密,以及使用武力或欺骗去压迫人们的做法有一种本能的反感和敌意。
5. 态度不能替代能力
要做一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,就象这并不能使你成为一个运动健将和摇滚明星一样。成为一名黑客需要花费智力,实践,奉献和辛苦。
因此,你必须学会不相信态度,并尊重各种各样的能力。黑客们不会为那些故意装模做样的人浪费时间,但他们却非常尊重能力---尤其是做黑客的能力,不过任何能力总归是好的。具备很少人才能掌握的技术方面的能力尤其为好,而具备那些涉及脑力、技巧和聚精会神的能力为最好。
如果你尊敬能力,你会享受提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐而非贱役。 要想成为一名黑客,这一点非常重要。
---基本黑客技术
黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一套基本的技术你必须掌握。 这套基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去包括使用机器码编程,而知道最近才包括了HTML语言。但现在明显包括以下技术:
1 学习如何编程
这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。
但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。
如果要做一些重要的编程,你将不得不学习C语言,Unix的核心语言。其他对黑客而言比较重要的语言包括Perl和LISP。 Perl很实用,值得一学;它被广泛用于活动网页和系统管理,因此即便你从不用Perl写程序,至少也应该能读懂它。 LISP 值得学习是因为当你最终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP本身。
当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。
这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。
学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简洁和力量。
过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们自然地来到第二个话题...
2 得到一个开放源码的Unix并学会使用、运行它
我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福 :-) )。新手们最基本的一步就是得到一份Linux或BSD-Unix,安装在个人计算机上,并运行它。
当然,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学跳舞。
除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此很不高兴,但Unix和Internet之间的共生关系已是如此之强,甚至连微软也无可奈何)
So,装一个Unix---我个人喜欢Linux,不过也有其他选择。(你也可以在同一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修改他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多知识。
关于学习Unix的更多信息,请看 The Loginataka.
要得到Linux,请看: 哪里能得到 Linux.
3 学会如何使用WWW和写HTML
大多黑客文化建造的东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对他人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大而耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的), 你就需要学习如何掌握Web。
这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML,Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先建起自己的主页。
但仅仅建一个主页也不能使你成为一名黑客。 Web里充满了各种网页。多数是无意义的,零信息量垃圾。
要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话题....
---黑客文化中的地位
象大部分不涉及金钱的文化一样,黑客王国的运转靠声誉维护。你设法解决有趣的问题,但它们到底多有趣,你的解法有多好,是要有那些和你具有同样技术水平的人或比你更牛的人去评判的。
相应地,当你在玩黑客游戏时,你知道,你的分数要靠其他黑客对你的技术的评估给出。(这就是为什么只有在其它黑客称你为黑客是,你才算得上是一名黑客)这个事实常会被黑客是一项孤独的工作这一印象所减弱;它也会被另一个黑客文化的禁忌所减弱(此禁忌的效力正在减弱但仍很强大):拒绝承认自我或外部评估是一个人的动力。
特别地,黑客王国被人类学家们称为一种精英文化。在这里你不是凭借你对别人的统治来建立地位和名望,也不是靠美貌,或拥有其他人想要的东西,而是靠你的奉献。尤其是奉献你的时间,你的才智和你的技术成果。
要获得其他黑客的尊敬,你可以做以下五种事情:
1. 写开放源码的软件
第一个(也是最基本和传统的)是写些被其他黑客认为有趣或有用的程序,并把程序的原代码公布给大家共享。
(过去我们称之为“自由软件-free software”,但这却使很多不知free的精确含义的人感到不解。现在我们很多人使用“开放源码-open source”这个词)
黑客王国里最受尊敬的大牛们是那些写了大型的、具有广泛用途的软件,并把它们公布出去,使每人都在使用他的软件的人。
2. 帮助测试并修改开放源码的软件
黑客们也尊敬也那些使用、测试开放源码软件的人。在这个并非完美的世界上,我们不可避免地要花大量软件开发的时间在测试和抓臭虫阶段。 这就是为什么任何开放源码的作者稍加思考后都会告诉你好的beta测试员象红宝石一样珍贵。 (他知道如何清楚描述出错症状,很好地定位错误,能忍受快速发布的软件中的bug,愿意使用一些简单的诊断工具) 甚至他们中的一个能判断出哪个测试阶段是延长的、令人精疲力尽的噩梦,哪个只是一个有益健康的玩意儿。
如果你是个新手,试着找一个赶兴趣的正在开发的程序,作一个好的beta测试员。从帮着测试,到帮着抓臭虫,到最后帮着改程序,你会不断进步。以后你写程序时,会有别人来帮你,你就得到了你当初善举的回报。
3. 公布有用的信息
另一个好事是收集整理网页上有用有趣的信息或文档如FAQ。许多主要FAQ的维护者和其他开放源码的作者一样受到大家的尊敬。
4. 帮助维护基础设施的运转
黑客文化是靠自愿者运转的。要使Internet能正常工作,就要有大量枯燥的工作不得不去完成----管理mail list,newsgroup,维护大量文档,开发RFC和其它技术标准等等。做这类事情的人会得到很多人的尊敬,因为每人都知道这些事情是耗时耗力的苦役,不象编码那样好玩。做这些事情需要毅力。
5. 为黑客文化本身服务
最后,你可以为这个文化本身服务(例如象我这样,写一个“如何成为黑客”的初级教程 :-) )(hehe,象我这样把它翻成中文 :-) ) 这并非一定要在你已经在这里呆了很久,精通所有以上4点,获得一定声誉后后才能去做。
黑客文化没有领袖。精确地说,它确实有些文化英雄和部落长者和历史学家和发言人。若你在这圈内呆的够长,你或许成为其中之一。
记住:黑客们不相信他们的部落长者的自夸的炫耀,因此很明显地去追求这种名誉是危险的。你必须具备基本的谦虚和优雅。
---黑客和怪人(Nerd)的联系
同流行的传说相反,做一名黑客并不一定要你是个怪人。然而,很多黑客都是怪人。做一个出世者有助于你集中精力进行更重要的事情,如思考和编程。
因此,很多黑客都愿意接受“怪人”这个标签,更有甚者愿意使用“傻子(geek)”一词并自以为豪---这是宣布他们与主流社会不合作的声明。
如果你能集中足够的精力来做好黑客同时还能有正常的生活,这很好。今天作到这一点比我在1970年代是个新手是要容易的多。今天主流文化对技术怪人要友善的多。甚至有更多的人意识到黑客通常更富爱心,是块很好的做恋人和配偶的材料。 更多信息见 Girl's Guide to Geek Guys.
如果你因为生活上不如意而为做黑客而吸引,那也没什么---至少你不会分神了。或许以后你会找到自己的另一半。
---风格的意义
重申一下,做一名黑客,你必须进入黑客精神之中。当你不在计算机边上时,你仍然有很多事情可做。它们并不能替代真正的编程(没有什么能替代编程),但很多黑客都那么做,并感到它们与黑客精神存在一种本质的关联。
阅读科幻小说。参加科幻小说讨论会。(一个很好的寻找黑客的场合)
研究禅宗,或练功习武。
练就一双精确的耳朵,学会鉴赏特别的音乐。学会玩某种乐器,或唱歌。
提高对双关语的鉴赏。
学会流畅地用母语写作。(令人惊讶的时,我所知道的所有最棒的黑客,都是很不错的作家)
这些事情,你做的越多,你就越适合做黑客。至于为什么偏偏是这些事情,原因并不很清楚,但它们都涉及到了左-右脑的综合技巧,这似乎是关键所在。(黑客们既需要清晰的逻辑思维,有时也需要强烈的跳出逻辑之外的直觉)
最后,还有一些不要去做的事情。
不要使用愚蠢的,过于哗众取宠的ID
不要自称为网络崩客(punk) ,也不要对那些人浪费时间
不要寄出充满拼写和语法错误的email,或张贴错误百出的文章
做以上的事情,会使大大损害你的声誉。黑客们个个记忆超群---你将需要数年的时间让他们忘记你的愚蠢。
---其它资源
Peter Seebach为那些不知如何同黑客打交道的经理们维护了一个非常精彩的黑客FAQ。
The Loginataka 有许多关于如何正确培养一个Unix黑客的态度的材料。
我也曾写过一篇“黑客文化简史”。
我还写过另一篇文章,“大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“开拓智域”一文中有更直接的论述。
---FAQ(常问问题解答)
问:你会教我如何做黑客吗?
自从第一次发布此页,我每周都会得到一些请求,要我“教会他如何做黑客”;遗憾的是,我没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。
甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现即使真正的黑客想帮助你,如果你乞求他们填鸭一样教你的话,你不会赢得他们的尊敬。
首先去学习。显示你在尝试,你能靠自己去学习。然后再去向黑客们请教问题。
问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?
No. 任何在读完FAQ后还问此问题人,都是愚不可及的家伙,即使有时间我也不会理睬。 任何发给我的此类mail都会被忽略或被痛斥。
问:哪里能找到真正的可以与之交流的黑客?
最佳办法是就近参加一个Unix或Linux的用户组,参加他们的会议。
问:我该先学哪种语言?
HTML, 如果你还不会的话.
但它不是一个真正的编程语言。当你准备编程时,我建议你从 Python开始. 会有很多人向你推荐Perl,它比Python还受欢迎,但却难学一些。
C 是非常重要的,但它却是最难学的。不要一开始就尝试学C。
问:开放源码的自由软件不会使程序员饿肚子吗?
这似乎不大可能---到目前,开放源码软件产业创造了而不是消灭了大量工作机会。
如果写一个程序比不写一个程序只是个纯粹经济上的收益的话,无论它是否免费,只要它被完成,程序员都会从中得到回报。而且,无论软件是由多么的free的方法开发的,对更新的软件应用的需求总是会有的。
问:我从何学起?哪里有免费的Unix?
本页的其他地方指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教育的能力。
参考资料:国内著名安全站点:
请问什么是黑客
一名黑客(hacker)是一个喜欢用智力通过创造性方法来挑战脑力极限的人,特别是他们所感兴趣的领域,例如电脑编程或电器工程。
黑客最早源自英文hacker,早期在美国的电脑界是带有褒义的。但在媒体报导中,黑客一词往往指那些“软件骇客”(software cracker)。
黑客一词,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。
但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
黑客和骇客根本的区别是:黑客们建设,而骇客们破坏。
也有人叫黑客做Hacker。
黑客一词一般有以下四种意义:
一个对(某领域内的)编程语言有足够了解,可以不经长时间思考就能创造出有用的软件的人。
一个恶意(一般是非法地)试图破解或破坏某个程序、系统及网络安全的人。这个意义常常对那些符合条件(1)的黑客造成严重困扰,他们建议媒体将这群人称为“骇客”(cracker)。有时这群人也被叫做“黑帽黑客”。
像国内著名的黑客 “教主”则是一个专业的黑帽黑客,利用系统的漏洞来达到入侵和渗透的目的。
一个试图破解某系统或网络以提醒该系统所有者的系统安全漏洞。这群人往往被称做“白帽黑客”或“匿名客”(sneaker)或红客。许多这样的人是电脑安全公司的雇员,并在完全合法的情况下攻击某系统。
一个通过知识或猜测而对某段程序做出(往往是好的)修改,并改变(或增强)该程序用途的人。
“脚本小孩”则指那些完全没有或仅有一点点骇客技巧,而只是按照指示或运行某种骇客程序来达到破解目的的人
一.什么是黑客
在力求当一个黑客前,我们要先了解什么是黑客
Hacker -- 黑客
热衷研究、撰写程序的专才,且必须具备乐于追根究底、穷究问题的特质。
在黑客圈中,hacker一词无疑是带有正面的意义,例如system hacker熟悉操作系统的设计与维护;password hacker精于找出使用者的密码,若是computer hacker则是通晓计算机,可让计算机乖乖听话的高手。
黑客基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要。
根据开放原始码计划创始人Eric Raymond对此字的解释,hacker与cracker是分属两个不同世界的族群,基本差异在于,hacker是有建设性的,而cracker则专门搞破坏。
二.hacker原意是指用斧头砍材的工人,最早被引进计算机圈则可追溯自1960年代. 加州柏克莱大学计算机教授Brian Harvey在考证此字时曾写到,当时在麻省理工学院中(MIT)的学生通常分成两派,一是tool,意指乖乖牌学生,成绩都拿甲等;另一则是所谓的 hacker,也就是常逃课,上课爱睡觉,但晚上却又精力充沛喜欢搞课外活动的学生。
三. 这跟计算机有什么关系?一开始并没有。不过当时hacker也有区分等级,就如同tool用成绩比高下一样。真正一流hacker并非整天不学无术,而是会热衷追求某种特殊嗜好,比如研究电话、铁道(模型或者真的)、科幻小说,无线电,或者是计算机。也因此后来才有所谓的computer hacker出现,意指计算机高手。
对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切!
对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节.
四. 黑客一词在圈外或媒体上通常被定义为:专门入侵他人系统进行不法行为的计算机高手。不过
这类人士在hacker眼中是属于层次较低的cracker(骇客)。如果黑客是炸弹制造专家,那么CRACKER就是恐怖分子.
现在,网络上出现了越来越多的Cracker,他们只会入侵,使用扫描器到处乱扫,用IP炸弹炸人家,毫无目的地入侵,破坏着,他们并无益于电脑技术的发展,反而有害于网络的安全和造成网络瘫痪,给人们带来巨大的经济和精神损失.
1.黑客的兴起
黑客最早始于20世纪50年代,最早的计算机1946年在宾夕法尼亚大学出现,而最早的黑客出现于麻省理式学院,贝尔实验室也有。最初的黑客一般都是一些高级的技术人员,他们热衷于挑战、崇尚自由并主张信息的共享。
1994年以来,因特网在全球的迅猛发展为人们提代了方便、自由和无限的财富,政治、军事、经济、科技、教育、文化等各个方面都越来越网络化,并且逐渐成为人们生活、娱乐的一部分。可以说,信息时代已经到来,信息已成为物质和能量以外维持人类社会的第三资之出源,它是未来生活中的重要介质。随着计算机的普及和因特网技术的迅速发展,黑客也随之出现了。
2.黑客的定义与特征
“黑客”一词是由英语Hacker英译出来的,是指专门研究、发现计算机和网络漏洞的计算机爱好者。他们伴随着计算机和网络的发展而产生成长。黑客对计算机有着狂热的兴趣和执着的追求,他们不断地研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法。
黑客不干涉政治,不受政治利用,他们的出现推动了计算机和网络的发展与完善。黑客所做的不是恶意破坏,他们是一群纵横与网络上的大侠,追求共享、免费,提倡自由、平等。黑客的存在是由于计算机技术的不健全,从某中意义上来讲,计算机的安全需要更多黑客去维护。借用myhk的一句话“黑客存在的意义就是使网络变的日益安全完善”。
但是到了今天,黑客一词已经被用于那些专门利用计算机进行破坏或入侵他人的代言词,对这些人正确的叫法应该是cracker,有人也翻译成“骇客”,也正是由于这些人的出现玷污了“黑客”一词,使人们把黑客和骇客混为一体,黑客被人们认为是在网络上进行破坏的人。
一个黑客即使从意识和技术水平上已经达到黑客水平,也决不会声称自己是一名黑客,因为黑客只有大家推认的,没有自封的,他们重视技术,更重视思想和品质。
3.黑客的态度
Hacker 们解决了问题并创造新东西, 他们相信自由并自愿的互相帮助. 想要被别人接受成为一位 hacker, 你必须发自内心的表现出这种态度. 为了要很自发的表现出这种态度, 你就必须先完全认同这些态度.
如果你只是把学习 hacker 态度这件事当作一种能在这个文化赢得认同的途径,那么你已经忽略了真正的重点. 由衷的接受这些态度是很这要的, 这能帮助你学习并维持你的动机. 就像那些具创造性的艺术一样, 成为一位大师的最有效方法是学习大师们的精神; 并不只是学习知识和情绪而已.所以, 如果你想要成为一位 hacker, 请反复的做下面的事情, 直到你完全领会它们:
黑客守则
如下:
1。不恶意破坏任何的系统,这样只会给你带来麻烦。恶意破坏他人的软体将导致法律责任,如果你只是使用电脑,那仅为非法使用!!注意:千万不要破坏别人的软体或资料!!,
2。不修改任何的系统档,如果你是为了要进入系统而修改它,请在达到目的后将它改回原状。
3。不要轻易的将你要hack的站台告诉你不信任的朋友。
4。不要在bbs上谈论你hack的任何事情。
5。在post文章的时候不要使用真名。
6。正在入侵的时候,不要随意离开你的电脑。
7。不要侵入或破坏政府机关的主机。
8。不要在电话中谈论你hack的任何事情。
9。将你的笔记放在安全的地方。
10。想要成为hacker就要真正的hacking,读遍所有有关系统安全或系统漏洞的文件(英文快点学好)!
11。已侵入电脑中的帐号不得清除或涂改。
12。不得修改系统档案,如果为了隐藏自己的侵入而做的修改则不在此限,但仍须维持原来系统的安全性,不得因得到系统的控制权而将门户大开!!
13。不将你已破解的帐号分享于你的朋友。
自觉遵守吧,黑客们~~~~
黑客的归宿
我们以前提到了黑客组成的主要群体是年轻人,事实上也是如此。现在在网络上很难见到三十岁以上的老黑客了,许多黑客一般在成家以后都慢慢的在网络上“消失”了。这些人到什么地方去了呢?他们为什么要走?其实这些很容易理解,随着年龄的增长、心智的成熟,年轻时候的好奇心逐渐的脱离了他们,他们开始步入稳重期,生理上的体力和精力也开始下降,不象以前那样怎么熬夜,怎么做都不知道累的时候了。比如开始有了家庭的负担,要为生计和事业奔波。因为黑客这个行业,只有及少数是职业黑客,有很多还是业余的,他们做事等花大量的时间和精力是没有报酬的。所以当他们上些年纪以后“退出江湖”是理所当然的。当然有很多人对他们的黑客事业的兴趣也会执着一生。黑客在退隐以后一部分可能会去做安全行业,成为安全专家、反黑客专家,继续研究技术。也有一部分人会去做一些与黑客毫无关系的事业。
数码罪犯 历史上五大最著名的黑帽黑客
1. Kevin Mitnick
2. Adrian Lamo
3. Jonathan James
4. Robert Tappan Morrisgeek.
5. Kevin Poulsen
Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)
长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。
黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。
另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。
根本的区别是:黑客们建设,而骇客们破坏。
如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。 关于骇客,我只想说这么多。
[编辑本段]两类黑客的四大主要行为
“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客所从事的事情违背了《黑客守则》,所以他们真正的名字叫“骇客”(Cracker)而非“黑客”(Hacker),也就是平时经常听说的“骇客”(Cacker)和“红客”(Honker)。
无论那类黑客,他们最初的学习内容都将是本部分所涉及的内容,而且掌握的基本技能也都是一样的。即便日后他们各自走上了不同的道路,但是所做的事情也差不多,只不过出发点和目的不一样而已。
黑客的行为主要有以下几种:
一、学习技术
互联网上的新技术一旦出现,黑客就必须立刻学习,并用最短的时间掌握这项技术,这里所说的掌握并不是一般的了解,而是阅读有关的“协议”(rfc)、深入了解此技术的机理,否则一旦停止学习,那么依*他以前掌握的内容,并不能维持他的“黑客身份”超过一年。
初级黑客要学习的知识是比较困难的,因为他们没有基础,所以学习起来要接触非常多的基本内容,然而今天的互联网给读者带来了很多的信息,这就需要初级学习者进行选择:太深的内容可能会给学习带来困难;太“花哨”的内容又对学习黑客没有用处。所以初学者不能贪多,应该尽量寻找一本书和自己的完整教材、循序渐进的进行学习。
二、伪装自己
黑客的一举一动都会被服务器记录下来,所以黑客必须伪装自己使得对方无法辨别其真实身份,这需要有熟练的技巧,用来伪装自己的IP地址、使用跳板逃避跟踪、清理记录扰乱对方线索、巧妙躲开防火墙等。
伪装是需要非常过硬的基本功才能实现的,这对于初学者来说成的上“大成境界”了,也就是说初学者不可能用短时间学会伪装,所以我并不鼓励初学者利用自己学习的知识对网络进行攻击,否则一旦自己的行迹败露,最终害的害是自己。
如果有朝一日你成为了真正的黑客,我也同样不赞成你对网络进行攻击,毕竟黑客的成长是一种学习,而不是一种犯罪。
三、发现漏洞
漏洞对黑客来说是最重要的信息,黑客要经常学习别人发现的漏洞,并努力自己寻找未知漏洞,并从海量的漏洞中寻找有价值的、可被利用的漏洞进行试验,当然他们最终的目的是通过漏洞进行破坏或着修补上这个漏洞。
黑客对寻找漏洞的执著是常人难以想象的,他们的口号说“打破权威”,从一次又一次的黑客实践中,黑客也用自己的实际行动向世人印证了这一点——世界上没有“不存在漏洞”的程序。在黑客眼中,所谓的“天衣无缝”不过是“没有找到”而已。
四、利用漏洞
对于正派黑客来说,漏洞要被修补;对于邪派黑客来说,漏洞要用来搞破坏。而他们的基本前提是“利用漏洞”,黑客利用漏洞可以做下面的事情:
1、获得系统信息:有些漏洞可以泄漏系统信息,暴露敏感资料,从而进一步入侵系统;
2、入侵系统:通过漏洞进入系统内部,或取得服务器上的内部资料、或完全掌管服务器;
3、寻找下一个目标:一个胜利意味着下一个目标的出现,黑客应该充分利用自己已经掌管的服务器作为工具,寻找并入侵下一个系统;
4、做一些好事:正派黑客在完成上面的工作后,就会修复漏洞或者通知系统管理员,做出一些维护网络安全的事情;
5、做一些坏事:邪派黑客在完成上面的工作后,会判断服务器是否还有利用价值。如果有利用价值,他们会在服务器上植入木马或者后门,便于下一次来访;而对没有利用价值的服务器他们决不留情,系统崩溃会让他们感到无限的快感.
历史上著名的黑客事件
1983年,凯文·米特尼克因被发现使用一台大学里的电脑擅自进入今日互联网的前身ARPA网,并通过该网进入了美国五角大楼的的电脑,而被判在加州的青年管教所管教了6个月。
1988年,凯文·米特尼克被执法当局逮捕,原因是:DEC指控他从公司网络上盗取了价值100万美元的软件,并造成了400万美元损失。
1993年,自称为“骗局大师”的组织将目标锁定美国电话系统,这个组织成功入侵美国国家安全局和美立坚银行,他们建立了一个能绕过长途电话呼叫系统而侵入专线的系统。
1995年,来自俄罗斯的黑客弗拉季米尔·列宁在互联网上上演了精彩的偷天换日,他是历史上第一个通过入侵银行电脑系统来获利的黑客,1995年,他侵入美国花旗银行并盗走一千万,他于1995年在英国被国际刑警逮捕,之后,他把帐户里的钱转移至美国、芬兰、荷兰、德国、爱尔兰等地。
1999年,梅利莎病毒 (Melissa)使世界上300多家公司的电脑系统崩溃,该病毒造成的损失接近4亿美金,它是首个具有全球破坏力的病毒,该病毒的编写者戴维·斯密斯在编写此病毒的时候年仅30岁。戴维·斯密斯被判处5年徒刑。
2000年,年仅15岁,绰号黑手党男孩的黑客在2000年2月6日到2月14日情人节期间成功侵入包括雅虎、eBay和Amazon在内的大型网站服务器,他成功阻止服务器向用户提供服务,他于2000年被捕。
2000年,日本右翼势力在大阪集会,称南京大屠杀是“20世纪最大谎言”,公然为南京大屠杀翻案,在中国政府和南京等地的人民抗议的同时,内地网虫和海外华人黑客也没有闲着,他们多次进攻日本网站,用实际行动回击日本右翼的丑行,据日本媒体报道,日本总务厅和科技厅的网站被迫关闭,日本政要对袭击浪潮表示遗憾。
2001年5月,中美黑客网络大站,中美撞机事件发生后,中美黑客之间发生的网络大战愈演愈烈。自4月4日以来,美国黑客组织PoizonBOx不断袭击中国网站。对此,我国的网络安全人员积极防备美方黑客的攻击。中国一些黑客组织则在“五一”期间打响了“黑客反击战”!
2002年11月,伦敦某黑客在英国被指控侵入美国军方90多个电脑系统。
2006年10月16日,中国骇客whboy(李俊)发布熊猫烧香木马.并在短短时间内,致使中国数百万用户受到感染,并波及到周边国家,比如日本。他于2007年2月12日被捕。
2007年,4月27日爱沙尼亚拆除苏军纪念碑以来,该国总统和议会的官方网站、政府各大部门网站、政党网站的访问量就突然激增,服务器由于过于拥挤而陷于瘫痪。全国6大新闻机构中有3家遭到攻击,此外还有两家全国最大的银行和多家从事通讯业务的公司网站纷纷中招。爱沙尼亚的网络安全专家表示,根据网址来判断,虽然火力点分布在世界各地,但大部分来自俄罗斯,甚至有些来自俄政府机构,这在初期表现尤为显著。其中一名组织进攻的黑客高手甚至可能与俄罗斯安全机构有关联。《卫报》指出,如果俄罗斯当局被证实在幕后策划了这次黑客攻击,那将是第一起国家对国家的“网络战”。俄罗斯驻布鲁塞尔大使奇若夫表示:“假如有人暗示攻击来自俄罗斯或俄政府,这是一项非常严重的指控,必须拿出证据。”
2007年,中国一名网名为The Silent's(折羽鸿鹄)的黑客成功入侵微软中国的服务器,并在6月至11月成功侵入包括CCTV、163、TOM等中国大型门户服务器。
2007年,俄罗斯黑客成功劫持Windows Update下载器。根据Symantec研究人员的消息, 他们发现已经有黑客劫持了BITS, 可以自由控制用户下载更新的内容, 而BITS是完全被操作系统安全机制信任的服务, 连防火墙都没有任何警觉。这意味着利用BITS,黑客可以很轻松地把恶意内容以合法的手段下载到用户的电脑并执行。 Symantec的研究人员同时也表示, 目前他们发现的黑客正在尝试劫持, 但并没有将恶意代码写入, 也没有准备好提供给用户的“货”, 但提醒用户要提高警觉。
2008年,一个全球性的黑客组织,利用ATM 欺诈程序在一夜之间从世界49个城市的银行中盗走了900w美元。黑客们攻破的是一种名为RBS WorldPay 的银行系统,用各种奇技淫巧取得了数据库内的银行卡信息,并在11月8日午夜,利用团伙作案从世界49个城市总计超过130台ATM机上提取了900w美元。最关键的是,目前FBI 还没破案,甚至据说连一个嫌疑人还没找到。
2008年11月,中国黑客往事如烟入侵腾讯分站,另外成功拿下国内大型游戏门户17173和大型网络门户21CN,163等分站的服务器。检测多家大型网络公司免费给予提示漏洞并修补漏洞,国客的组织人,发起者。4月18日攻击CNN的组织者之一。现在国客已经解散
什么是“黑客”?
1988年,美国芝加哥银行的网络系统就曾受到一名“黑客”的袭击,这名“黑客”通过电脑网络,涂改了银行账目,把7000万美元的巨款转往国外,从而给该银行造成巨大损失。无独有偶,1995年8月,俄罗斯圣彼得堡的花旗银行遭受了同样的厄运,一名“黑客”使用同样的手法从该银行偷走了40万美元。前不久,英国也发生了一起轰动整个大不列颠岛的重大泄密事件。一位电信公司的电脑操作员,通过公司内部的数据库,窃走了英国情报机构、核地下掩体、军事指挥部及控制中心的电话号码。据说,连梅杰首相的私人电话号码也未能幸免。一波未平,一波又起,一位21岁的阿根廷男青年,利用家里的电脑,通过国际互联网络线路,进入到美军及其部署在其他国家机构的电脑系统中漫游了长达9个月的时间。这名青年说:“我可以进入美国军方电脑网……,可以到任何一个地方去漫游,也可以删除任何属性的信息。”直到1996年3月,这位“黑客”才被有关部门查获。在众多引起轰动的网络“黑客”案中,还有一起令美国人至今心有余悸的事件。那是在民主德国和联邦德国合并之前,前联邦德国的几名学生利用电脑网络,破解了美军密码,并将窃取的美国军事机密卖给了前苏联的克格勃,此事曾令美国军方震惊不已。上面这些事件说明,随着全球互联网络的迅猛发展,一个国家的指挥系统、金融系统、空中交通管制系统、贸易系统和医疗系统等都将会变得更易受敌对国和可能的“黑客”——比如说,精于计算机操作的十几岁的年轻人的袭击,特别是有关国家安全的国防系统更是如此。据统计,仅1995年一年,美国空军的计算机网络就曾受到至少500次以上的袭击,平均每天达1.4次以上;而作为拥有1.2万个计算机系统的美国军事中心五角大楼,则在目前以至未来所面临的威胁将会更大。
1998年2月26日,有人突入美国国防部——五角大楼的计算机网络,浏览了里面的一些非绝密信息。联合国秘书长安南出使巴格达斡旋成功使美国的“沙漠惊雷”没能炸响,而一场对付“黑客”的战争已经在美国打响。
同年,2月25日,美国国防部副部长哈姆雷向新闻界公布,在过去的两星期里,五角大楼的军事情报网络连续遭到计算机“黑客”系统入侵。这次“黑客”入侵正值敏感时期,这条消息立即成为第二天美国各大媒体的头条新闻。
哈姆雷说,“黑客”光顾了11个非保密军事网络,其中包括4个海军计算机网络和7个空军计算机网络,网上有后勤、行政和财务方面的信息。“黑客”们浏览了这些信息后,在网络里安插了一个名为“陷井盖儿”的程序。安插了这个程序,他们以后就可以神不知鬼不觉地自由进出这些网络。五角大楼的计算机系统遭到“黑客”的袭击已经发生过不止一次,但这次不同于往常。“黑客”们似乎在打擂台,通过入侵这些系统比试高低。哈姆雷说,这是五角大楼迄今发现最有组织和有系统的网络入侵事件,它“向我们敲响了警钟”。美国国防部和联邦调查局发誓,不挖出“黑客”誓不罢休。
美国加州有一叫圣罗莎的小镇,镇上有一个名叫Netdex的因特网接入服务公司。它规模不大,只有3000用户。“黑客”们就是在这儿露出了狐狸尾巴。
1998年1月中旬,Netdex公司所有人兼总经理比尔·赞恩发现服务操作系统被“黑客”更改了,立即报告美国联邦调查局和匹茨堡卡内基一梅隆大学计算机紧急反应小组(CERT)。
联邦调查局特工和CERT网络人员经过几星期跟踪调查,找到了“黑客”的下落。他们本来可以堵上操作系统中的漏洞,但为了放长线钓大鱼,他们没有这么做,而是决定冒一次险,把门继续敞开“一会儿”。这一敞就是6个星期。
在这6个星期里,来自美国东海岸和旧金山本地的20多名联邦调查局特工一天24小时密切监视着入侵者在网上留下的“脚印”。这些脚印清晰地指向美国政府、军队、国家图书馆、实验室和大学的网址。起初联邦调查局认为,这些入侵者可能是潜在的恐怖分子。
经过一段时间的侦查,联邦调查局摸清了“黑客”的行踪。2月25日,联邦调查局计算机犯罪侦查小组带着两张搜查证,分乘6辆小汽车,向旧金山以北120公里、仅有5500人的小镇——克洛弗代尔进发。
晚上8时30分左右,一干人马抵达这个青山环抱的小镇。在当地警察的支援下,他们立即包围了一座平房住宅。他们冲进屋内,发现一个十五六岁的男孩正忙着入侵五角大楼的非保密计算机网络!
在搜查过程中,镇上的警察封锁了镇中心南边的一条街道。对这座平房的搜查持续了2个小时。随后,他们又搜查了另一座房子,这家一个十几岁的男孩也被怀疑参与了入侵五角大楼的网络系统。由于这两个男孩的年龄太小,联邦调查局没有逮捕他们,但收缴了他们的计算机、软件和打印机。
去年,这两个男孩一道参加了计算机学习班。他们的计算机水平连计算机专家也感到吃惊。赞恩说,“我们实际上是同他们进行在线战争。我们监视他们,他们也知道我们在监视他们。他们使劲恢复他们的软件文档,快到我们来不及消除这些文档。”
但联邦调查局追捕“黑客”的行动并没有就此结束。一切迹象表明,这些少年“黑客”的后面还有一只“黑手”。
赞恩说,他通过分析注意到几种不同的“黑客”行动方式。这一案件最有趣的方面之一是入侵技术惊人的高超,而又有大量业余者才会犯的错误。这就是说,有更高级的专家向这些孩子提供入侵计算机网络的工具。他说,“黑客”并不是在键盘上猜你口令的人。他们编写并使用别人计算机的程序。另外,赞思曾收到大量电子邮件垃圾。他说,“这些人行事有条不紊,很有次序。如果说这事(入侵五角大楼的网络)仅仅是几个毛孩子干的,我会感到非常吃惊。肯定还有人,这些孩子只是被人利用而已。”
联邦调查局特工正在积极展开调查,希望找到进一步的线索,揪出那只“黑手”。
在不到一个月之后,以色列警方于3月18日逮捕了一名入侵美国国防部及以色列议会电脑系统的超级电脑“黑客”。
这名以色列超级电脑“黑客”现年18岁,其网上用户名为“分析家”。以色列警方发言人琳达·梅纽因说,警方同时还逮捕了另两名18岁的同谋。
“黑客”被捕后,美国司法部发表声明透露,“分析家”真名为埃胡德·特纳勃。美国司法部长雷诺说,“分析家”的被捕是对所有试图入侵美国电脑系统的“黑客”发出的警告。美国对此类电脑袭击事件十分重视。在过去的几个星期里,美国中央情报局对这个超级电脑“黑客”展开了调查,并向以方提供情报,最终协助以方逮捕了“分析家”。
人们估计“分析家”很可能是美国中央情报局日前逮捕的两名加利福尼亚少年的网上导师。美国五角大楼说,这批电脑“黑客”侵袭的对象是美国国防部、美国海军军事中心、美国航空航天局及一些大学电脑系统的非机密人员名单及工资表。加州索诺马镇被捕的两名少年中一个称,他已进入了200个美国学院电脑系统。
由于同一系统资源共享,侵袭非机密系统也可能调出机密资料,因此以“分析家”为首的这批“黑客”的存在令美国国防部大为不安。美国国防部副部长约翰·汉姆莱说,这是至今五角大楼发现的“最有组织和有系统的”电脑入侵案。
美国电脑专家丹·贾斯帕与加州圣罗萨的一个网络服务商首先发现了这个网上“黑客”——“分析家”的存在。正是贾斯帕协助美国中央情报局查获了据称是“分析家”指导下的两个加州“黑客”。
被捕后,“分析家”及其同伙被拘押在特拉维夫南郊的贝特亚姆警察局。警方没收了他们的护照。
“黑客”——“分析家”在被捕前接受一家网上杂志的采访时称,他入侵电脑系统并不犯法,甚至对侵袭对象“有益无害”。“分析家”说,他经常帮助他侵袭的服务器修补漏洞,他暗示“一个有恶意的‘黑客’所做的则远胜于此。”
至此,海湾战争期间对美国五角大楼的“黑客”入侵追捕告一段落。
“黑客”的出现,使人们对网络系统安全的信心产生了动摇。专门开发对付病毒方法的S&S国际公司的艾伦·所罗门认为:“不论你上多少道锁,总会有人找到办法进去。”美国众院议长纽特·金里奇也曾在一次会议上指出:“网络空间是一个人人都可进入的自由流动区——我们最好做好准备,以便应付我们做梦也想不到的对手在各个领域的发明创造力。”这说明,在未来信息领域的斗争中,网络“黑客”将是最可怕、最难对付的敌手之一。
有矛就有盾,难对付也要想办法对付。目前世界各国最常用的方法就是加装密码软件。这种软件是一种由40位信息量组成的程序,可分别为文本、图像、视频、音频等加密,使用简便,安全性强。但“道”高,“魔”更高。自1995年8月以来,这种密码软件接二连三地数次被破译,甚至是新推出的更加安全的新一代软件,也仍被两名对密码学感兴趣的加州伯克利大学的研究生发现了其中的漏洞。目前,计算机网络的使用者们已经把对网络安全问题的关心提到了首位,迫切希望计算机硬件和软件公司能够开发出更加安全可靠的“密钥”,以使人们对网络的安全性达到信赖的程度。
进入90年代,随着网络“黑客”袭击案例的增多,美军在加强电脑网络防护能力、防止外来“黑客”入侵的同时,又在积极筹建“主动式黑客”部队,即组建一支类似“黑客”的“第一代电子计算机网络战士”,这些“网络战士”将以计算机为武器,用键盘来瘫痪敌人,操纵敌人的媒体,破坏敌人的财源,从而达到“不战而屈人之兵”的战争目的。
除美国外,目前其他发达国家也在积极加强网络的安全性建设。1995年夏天,北约从联合国维和部队手中接管了波黑的维和行动权,它进驻波黑后的首项任务就是安装了一个巨大的通信网络。这个网络在对波黑塞族实施空中打击行动中,发挥了巨大作用,许多作战计划就是通过这个网络来传送的。但是,随着联网的军用网络节点的日益增多,网络安全性问题也就变得日益突出。为此,参战的北约各国又加紧给这套网络系统加装了“防火墙”和其他数据安全措施。
可以预见,在未来的战争中,如何利用计算机网络——这柄锋利的双刃剑,将是决定战争胜负的重要因素之一。
关于黑客的攻防
黑客惯用手法揭秘
电脑网络就像一个潘多拉魔盒,光怪陆离、无所不有。但它在给人们的生活增添无穷乐趣的同时,也充斥着太多的骗局和陷阱,不时地令冲浪者防不胜防,这个无法回避的事实告诫人们在网上要时刻保持足够的警惕,那么,如何做呢?
网络上的诈骗大都来自于“黑客”。其实,“黑客”也并不是什么不食人间烟火的怪物,而是像你我一样活生生的普通人,许多被发现的“黑客”只不过是十几岁的中小学生。如果你掌握一些必要的网络知识,那么只要你愿意,完全也可以“黑”人家一把。当然,我并不是鼓励你这么去做,而是想说明:“黑客”并不神秘,所以,只要有心,我们完全能对付!
最“笨”的“黑客”采取的手段看起来很拙劣,他们的策略完全是“姜太公式的”,这类“黑客”往往在自己的主页上制造种种借口,或以大奖作诱饵,要求访问者留下自己的Internet用户名、账号、密码、信用卡密码等个人敏感信息,碰到这种情况,你千万千万要记住:不要一时冲动,将自己的资料和盘托出!不管对方吹得如何天花乱坠,只要做到心明眼亮,对方就只能徒呼奈何。
当然,“黑客”不都是如此“弱智”的,他们总是会绞尽脑汁地不断变换“作案”手法,千方百计地要攻破别人的城池。典型的做法是:“黑客”通过电子邮件,或在你下载软件的时候,神不知鬼不觉地将一些“神秘”的小程序悄悄地移植到你的机器上,这些小程序会潜伏下来,自动地修改操作系统的核心、开辟数据通道,留下一个危险的后门,当你的机器再一次联上网络时,它们就像“特洛伊木马”一样,将你的账号口令等信息传送给坐享其成的“黑客”。
因为这种“间谍”程序像正常软件一样,也在不断“升级”,所以要防范它们难免有挂一漏万的情况。但原则的做法是不变的,那就是:对电子邮件中的附件或邮件列表保持警觉,不要一收到信箱中就马上打开,只有待杀毒软件对它们验明正身后才可以放行;下载软件时尽量不要光顾那些不知底细的个人网站,而应去专业的下载站点,主要是为了安全,而且速度也有保证。另外,经常性地变换自己的账号口令也是必要的和明智的做法。
以上涉及的都是个人如何防备“黑客”的问题,与个人比较起来,企业网络的安全无疑要重要得多,无论是学校的机房,还是银行、商业机构甚至ISP,它们组建的网络一旦被侵犯,后果往往是不堪设想的。所以对于他们来说,“扎紧篱笆”、堵住“后门”就格外显得紧迫,而“专业”的“黑客”也往往以这类目标作为攻击对象。下面从黑客常用的攻击手段中撷取几种,让大家见识一下。
1�真假李逵
在登录一些站点特别是那些提供个人服务(比如股票、银行)的站点时,站点往往会首先要访问者填写一些密码之类的个人信息后才能进入。一些“高明”的“黑客”正是利用了这个过程,精心伪造一个登录页面,抢在真正的登录页面之前出现,待你“认真”地写下登录信息并发送后,真正的登录页面才姗姗来迟,而这时你的秘密已被窃取了。今年9月份台湾发生的一宗网络银行诈骗案,狡猾的犯罪分子用的就是这种伎俩。对付此种“黑客”,最佳的解决之道就是防患于未然,经常查看服务器的运作日志,若发现疑点要坚决及早处理,将隐患消灭在萌芽状态之中。
2�声东击西
一些“黑客”利用某些防火墙的漏洞,巧妙地将自己的IP请求设置成指向防火墙的路径,而不是受防火墙保护的主机,所以他们可以畅通无阻地接近防火墙,这时“黑客”已经达到了目的。因为此时他们完全可以虚晃一枪,利用防火墙作跳板,轻松地长驱直入,直捣主机!如果有这种情况发生,那就得考虑是否要更换防火墙了,或者升级原来的防火墙,为它打上补丁。
3�一针见血
能够“修炼”到这种境界的一般都是“黑客”中的高手。他们凭借自己高超的技术,通过分析DNS(域名管理系统)而直接获取Web服务器等主机的IP地址,从而为打入“敌阵”彻底扫除障碍。对付这种“黑客”,几乎没有更好的办法,也许尽量不要接受免费域名服务是一个有点儿价值的措施,因为正规的注册域名服务一般都会有有效的安全手段,可以保证少受攻击或不受攻击。
4�旁敲侧击
电子邮件其实是一种很脆弱的通讯手段,一方面,它的安全性很差,传送的资料很有可能丢失或被中途拦截;另一方面,“特洛伊木马”等“黑客程序”大都通过电子邮件这个途径进驻用户的机器。而电子邮件恰恰是网络上用得最多的东西,许多公众网站和大公司局域网,出于吸引访问者或工作的需要,提供免费邮件或内部邮件的服务,而邮件服务器就成了“黑客”们攻击的对象。大名鼎鼎的微软甚至也深受“黑客”之害,而被迫将邮件服务器关闭了一天。当然,防范这些“黑客”,可采用以下措施:如邮件服务器专设专用,不与内部局域网发生关系;开启防火墙的邮件中转功能,让中转站过滤所有出入邮件等等。
以上所述的只不过是有关网络安全的一小部分,还有许多现象没有谈及。其实,谈得再多也不能使我们完全看清网络上的所有“猫腻”,因为网络的开放性决定了它的复杂性和多样性。随着技术的不断进步,各种各样高明的“黑客”会不断诞生,同时,他们使用的手段也会越来越先进,要斩断他们的黑手是不可能的。我们唯有不断加强防火墙等的研究力度,加上平时必要的警惕,相信“黑客”们的舞台将会越来越小。
攻击的各种级别
本章阐述各种级别的攻击。“攻击”是指任何的非授权行为。这种行为的目的在于干扰、破坏、摧毁你服务器的安全。攻击的范围从简单地使某服务无效到完全破坏你的服务器。在你网络上成功实施的攻击的级别依赖于你采用的安全措施。
⒈攻击会发生在何时?
大部分的攻击(或至少是商业攻击时间一般是服务器所在地的深夜。换句话说,如果你在洛杉矶而入侵者在伦敦,那么攻击可能会发生在洛杉矶的深夜到早晨之间的几个小时中。你也许认为入侵者会在白天(目标所在地的时间)发起攻击,因为大量的数据传输能掩饰他们的行为。有以下几个原因说明为什么入侵者避免大白天进行攻击:
■客观原因。在白天,大多数入侵者要工作,上学或在其他环境中花费时间,以至没空进行攻击。换句话就,这些人不能在整天坐在计算机前面。这和以前有所不同,以前的入侵者是一些坐中家中无所事事的人。
■速度原因。网络正变得越来越拥挤,因此最佳的工作时间是在网络能提供高传输速度的时间速率的时间。最佳的时间段会根据目标机所在地的不同而不同。
■保密原因。假设在某时某入侵者发现了一个漏洞,就假定这个时间是早上11点,并且此时有三个系统管理员正登录在网上。此时,此入侵者能有何举动?恐怕很少,因为系统管理员一旦发现有异常行为。他们便会跟踪而来。
入侵者总是喜欢攻击那些没有使用的机器。有一次我利用在日本的一台工作台从事攻击行为,因为看上去没有人在此机器上登录过。随后,我便用那台机器远程登录回美国。在罗马我发现了一个新的ISP也出现类似的情况。对于这类计算机,你可以暂控制它,可按你的特殊要求对它进行设置,而且你有充足的时间来改变日志。值得注意的是,绝大部分的这种攻击行为都发生在晚上(被攻击对象的当地时间)。
提示:如果你一直在进行着大量的日志工作,并且只有有限的时间和资源来对这些日志进行分析,我建议你将主要精力集中在记录昨夜的连接请求的日志。这部分日志毫无疑问会提供令人感兴趣的、异常的信息。
⒉入侵者使用何种操作系统?
入侵者使用的操作系统各不相同。UNIX是使用得最多的平台,其中包括FreeBSD和Linux。
⑴Sun
入侵者将SolarisX86 或SCO作为使用平台的现象相当常见。因为即使这些产品是需要许可证,它们也易获得。一般而言,使用这些平台的入侵者都是学生,因为他们可利用软件产品卖给教育部门和学生时可打很大的折扣这一优势。再者,由于这些操作系统运行在PC机上,所以这些操作系统是更经济的选择。
⑵UNIX
UNIX平台受欢迎的原因之一是它只耗费系统一小部分资源。
⑶Microsoft
Microsoft平台支持许多合法的安全工具,而这些工具可被用于攻击远程主机。因此,越来越多的入侵者正在使用Windows NT。Windows Nt的性能远远超过Windows 95并有许多用于网络的先进工具;而且NT正变得越来越流行,因为入侵者知道他们必须精通此平台。由于NT成为更流行的Internet服务器的操作平台,入侵者有必要知道如何入侵这些机器。而且安全人员将会开发工具来测试NT的内部安全性。这样,你将看到利用NT作为入侵平台的人会极剧增加。
⒊攻击的源头
数年前,许多攻击来源于大学,因为从那里能对Internet进行访问。大多数入侵者是年青人,没有其他的地方比在大学更容易上Internet了。自然地,这不仅影响了攻击的起源地而且影响着攻击发生的时间。同时,使用TCP/IP不像今天这样简单。
如今形势发生了巨大的变化,入侵者可在他们的家里、办公室或车中入侵你的网络。然而,这里也有一些规律。
⒋典型入侵者的特点
典型的入侵者至少具备下述几个特点:
■能用C、C++或Perl进行编码。因为许多基本的安全工具是用这些语言的某一种编写的。至少入侵者能正确地解释、编译和执行这些程序。更厉害的入侵者能把不专门为某特定某平台开发的工具移植到他用的平台上。同时他们还可能开发出可扩展的工具来,如SATAN 和SAFESuite(这些工具允许用户开发的工具附加它们上)。
■对TCP/IP有透彻的了解,这是任何一个有能力的入侵者所必备的素质。至少一个入侵者必须知道Internet如何运转的。
■每月至少花50小时上Internet。经验不可替代的,入侵者必须要有丰富的经验。一些入侵者是Internet的痴迷者,常忍受着失眠的痛苦。
■有一份和计算机相关的工作。并不是每个入侵者都是把一天中的大部分时间投入到入侵行为中。其中一些从事着系统管理或系统开发的工作。
■收集老的、过时的但经典的计算机硬件或软件。
⒌典型目标的特征
很难说什么才是典型目标,因为不同入侵者会因不同的原因而攻击不同类型的网络。然而一种常见的攻击是小型的私有网。因为:
■网络的拥有者们对Internet的使用还处于入门阶段
■其系统管理员更熟悉局域网,而不是TCP/IP
■其设备和软件都很陈旧(可能是过时的)
另一话题是熟悉性。绝大多数入侵者从使用的角度而言能熟知两个或多个操作系统,但从入侵的角度来看,他们通常仅了解某一个操作系统。很少的入侵者知道如何入侵多种平台。
大学是主要的攻击对象,部分原因是因为他们拥有极强的运算处理能力。
另个原因是网络用户过多。甚至在一个相对小的网段上就有几百个用户。管理这种大型网络是一件困难的任务,极有可能从如此的帐号中获得一个入侵帐号。其他常被攻击的对象是政府网站。
⒍入侵者入侵的原因
■怨恨
■挑战
■愚蠢
■好奇
■政治目的
所有的这些原因都是不道德的行为,此行为过头后便触犯了法律。触犯法律可带来一些令人激动的感受,这种感受又能消极地影响你的原因。
⒎攻击
攻击的法律定义是指:攻击仅仅发生在入侵行为完全完成且入侵者已在目标网络内。但我的观点是可能使一个网络受到破坏的所有行为都应称为“攻击”。即从一个入侵者开始在目标机上工作的那个时间起,攻击就开始。
可通过下面的文章了解入侵的事例:
ftp://research.att.com/dist/internet_security/berferd.ps
http://www.takedown.com/evidence/anklebiters/mlf/index.html
http//www.alw.nih.gov/security/first/papers/general/holland.ps
http://www.alw.nih.gov/security/first/papers/general/fuat.ps
http://www.alw.nih.gov/security/first/papers/general/hacker.txt
⒏入侵层次索引
■邮件炸弹攻击
■简单拒绝服务
■本地用户获得非授权读访问
■本地用户获得他们本不应拥有的文件的写权限
■远程用户获得了非授权的帐号
■远程用户获得了特权文件的读权限
■远程用户获得了特权文件的写权限
■远程用户拥有了根权限(他们已经攻克了你的系统)
本文通过七步设置介绍了针对Windows 2000和Windows XP操作系统如何防范非法用户入侵的“七招”。
第一招:屏幕保护
在Windows中启用了屏幕保护之后,只要我们离开计算机(或者不操作计算机)的时间达到预设的时间,系统就会自动启动屏幕保护程序,而当用户移动鼠标或敲击键盘想返回正常工作状态时,系统就会打开一个密码确认框,只有输入正确的密码之后才能返回系统,不知道密码的用户将无法进入工作状态,从而保护了数据的安全。
提示:部分设计不完善的屏幕保护程序没有屏蔽系统的“Ctrl+Alt+Del”的组合键,因此需要设置完成之后测试一下程序是否存在这个重大Bug。
不过,屏幕保护最快只能在用户离开1分钟之后自动启动,难道我们必须坐在计算机旁等待N分钟看到屏幕保护激活之后才能再离开吗?其实我们只要打开Windows安装目录里面的system子目录,然后找到相应的屏幕保护程序(扩展名是SCR),按住鼠标右键将它们拖曳到桌面上,选择弹出菜单中的“在当前位置创建快捷方式”命令,在桌面上为这些屏幕保护程序建立一个快捷方式。
此后,我们在离开计算机时双击这个快捷方式即可快速启动屏幕保护。
第二招:巧妙隐藏硬盘
在“按Web页”查看方式下,进入Windows目录时都会弹出一句警告信息,告诉你这是系统文件夹如果“修改该文件夹的内容可能导致程序运行不正常,要查看该文件夹的内容,请单击显示文件”,这时单击“显示文件”就可以进入该目录了。
原因是在Windows根目录下有desktop.ini和folder.htt两个文件作祟。将这两个文件拷贝到某个驱动器的根目录下(由于这两个文件是隐藏文件,之前必须在文件夹选项中单击“查看”标签,选择“显示所有文件”,这样就可以看见这两个文件了)。再按“F5”键刷新一下,看看发生了什么,是不是和进入Windows目录时一样。
接下来我们用“记事本”打开folder.htt,这是用HTML语言编写的一个文件,发挥你的想像力尽情地修改吧。
如果你不懂HTML语言也没关系,先找到“显示文件”将其删除,找到“修改该文件夹的内可能导致程序运行不正常,要查看该文件夹的内容,请单击显示文件”,将其改为自己喜欢的文字,例如“安全重地,闲杂人等请速离开”。
将“要查看该文件夹的内容,请单击”改为“否则,后果自负!”,接着向下拖动滑块到倒数第9行,找到“(file://%TEMPLATEDIR%\wvlogo.gif)”这是显示警告信息时窗口右下角齿轮图片的路径,将其改为自己图片的路径,例如用“d:\tupian\tupian1.jpg”替换“//”后面的内容,记住这里必须将图片的后缀名打出,否则将显示不出图片。当然,你还可以用像Dreamweaver、FrontPage这样的网页工具做出更好的效果,然后只要将原文件拷贝到下面这段文字的后面,覆盖掉原文件中“~”之间的内容就可以了。
*This file was automatically generated by Microsoft Internet EXPlorer 5.0
*using the file %THISDIRPATH%\folder.htt.
保存并退出,按“F5”键刷新一下,是不是很有个性?接下来要作的就是用“超级兔子”将你所要的驱动器隐藏起来,不用重新启动就可以欣赏自己的作品了。最后告诉大家一招更绝的,就是干脆将folder.htt原文件中“~”之间的内容全部删除,这样就会给打开你的驱动器的人造成一种这是一个空驱动器的假象,使其中的文件更安全。
第三招:禁用“开始”菜单命令
在Windows 2000/XP中都集成了组策略的功能,通过组策略可以设置各种软件、计算机和用户策略在某种方面增强系统的安全性。运行“开始→运行”命令,在“运行”对话框的“打开”栏中输入“gpedit.msc”,然后单击“确定”按钮即可启动Windows XP组策略编辑器。
在“本地计算机策略”中,逐级展开“用户配置→管理模板→任务栏和开始菜单”分支,在右侧窗口中提供了“任务栏”和“开始菜单”的有关策略。
在禁用“开始”菜单命令的时候,在右侧窗口中,提供了删除“开始”菜单中的公用程序组、“我的文档”图标、“文档”菜单、“网上邻居”图标等策略。清理“开始”菜单的时候只要将不需要的菜单项所对应的策略启用即可,比如以删除“我的文档”图标为例,具体操作步骤为:
1)在策略列表窗口中用鼠标双击“从开始菜单中删除我的文档图标”选项。
2)在弹出窗口的“设置”标签中,选择“已启用”单选按钮,然后单击“确定”即可。
第四招:桌面相关选项的禁用
Windows XP的桌面就像你的办公桌一样,有时需要进行整理和清洁。有了组策略编辑器之后,这项工作将变得易如反掌,只要在“本地计算机策略”中展开“用户配置→管理模板→桌面”分支,即可在右侧窗口中显示相应的策略选项。
1)隐藏桌面的系统图标
倘若隐藏桌面上的系统图标,传统的方法是通过采用修改注册表的方式来实现,这势必造成一定的风险性,采用组策略编辑器,即可方便快捷地达到此目的。若要隐藏桌面上的“网上邻居”和“Internet EXPlorer”图标,只要在右侧窗口中将“隐藏桌面上网上邻居图标”和“隐藏桌面上的Internet EXPlorer图标”两个策略选项启用即可。如果隐藏桌面上的所有图标,只要将“隐藏和禁用桌面上的所有项目”启用即可。
当启用了“删除桌面上的我的文档图标”和“删除桌面上的我的电脑图标”两个选项以后,“我的电脑”和“我的文档”图标将从你的电脑桌面上消失了。如果在桌面上你不再喜欢“回收站”这个图标,那么也可以把它给删除,具体方法是将“从桌面删除回收站”策略项启用。
2)禁止对桌面的某些更改
如果你不希望别人随意改变计算机桌面的设置,请在右侧窗口中将“退出时不保存设置”这个策略选项启用。当你启用这个了设置以后,其他用户可以对桌面做某些更改,但有些更改,诸如图标和打开窗口的位置、任务栏的位置及大小在用户注销后都无法保存。
第五招:禁止访问“控制面板”
如果你不希望其他用户访问计算机的控制面板,你只要运行组策略编辑器,并在左侧窗口中展开“本地计算机策略→用户配置→管理模板→控制面板”分支,然后将右侧窗口的“禁止访问控制面板”策略启用即可。
此项设置可以防止控制面板程序文件的启动,其结果是他人将无法启动控制面板或运行任何控制面板项目。另外,这个设置将从“开始”菜单中删除控制面板,同时这个设置还从Windows资源管理器中删除控制面板文件夹。
提示:如果你想从上下文菜单的属性项目中选择一个“控制面板”项目,会出现一个消息,说明该设置防止这个操作。
第六招:设置用户权限
当多人共用一台计算机时,在Windows XP中设置用户权限,可以按照以下步骤进行:
1)运行组策略编辑器程序。
2)在编辑器窗口的左侧窗口中逐级展开“计算机配置→Windows设置→安全设置→本地策略→用户权限指派”分支。3)双击需要改变的用户权限,单击“添加用户或组”按钮,然后双击想指派给权限的用户账号,最后单击“确定”按钮退出。
第七招:文件夹设置审核
Windows XP可以使用审核跟踪用于访问文件或其他对象的用户账户、登录尝试、系统关闭或重新启动以及类似的事件,而审核文件和NTFS分区下的文件夹可以保证文件和文件夹的安全。为文件和文件夹设置审核的步骤如下:
1)在组策略窗口中,逐级展开右侧窗口中的“计算机配置→Windows设置→安全设置→本地策略”分支,然后在该分支下选择“审核策略”选项。
2)在右侧窗口中用鼠标双击“审核对象访问”选项,在弹出的“本地安全策略设置”窗口中将“本地策略设置”框内的“成功”和“失败”复选框都打上勾选标记,然后单击“确定”按钮。
3)用鼠标右键单击想要审核的文件或文件夹,选择弹出菜单的“属性”命令,接着在弹出的窗口中选择“安全”标签。
4)单击“高级”按钮,然后选择“审核”标签。
5)根据具体情况选择你的操作:
倘若对一个新组或用户设置审核,可以单击“添加”按钮,并且在“名称”框中键入新用户名,然后单击“确定”按钮打开“审核项目”对话框。
要查看或更改原有的组或用户审核,可以选择用户名,然后单击“查看/编辑”按钮。
要删除原有的组或用户审核,可以选择用户名,然后单击“删除”按钮即可。
6)如有必要的话,在“审核项目”对话框中的“应用到”列表中选取你希望审核的地方。
7)如果想禁止目录树中的文件和子文件夹继承这些审核项目,选择“仅对此容器内的对象和/或容器应用这些审核项”复选框。
注意:必须是管理员组成员或在组策略中被授权有“管理审核和安全日志”权限的用户可以审核文件或文件夹。在Windows XP审核文件、文件夹之前,你必须启用组策略中“审核策略”的“审核对象访问”。否则,当你设置完文件、文件夹审核时会返回一个错误消息,并且文件、文件夹都没有被审核。