第六章 黑客帝国:连接产生的危机
网络的设计、运行和管控,有助于甚至决定了现实世界。如果在某种程度上整个网络满是漏洞,那么对现实世界来说这意味着什么?我们要等到世界被破解入侵后才了解他们建立的系统吗?我希望不是。
“第七感揭示了连接中一个秘密且危险的架构”
1.
在我第二次出国旅行时,飞机飞到欧洲上空,我在破晓的光亮中渐渐醒来,我们开始在阿姆斯特丹降落。我给随身听里的磁带换了个面,当时听的是彼得·盖布瑞尔(Peter Gabriel)的歌,飞机上听些比较欢快的歌曲似乎更合适。那时是1993年的8月。
那年春天,我听说一场大型的电脑黑客夏季大会将在阿姆斯特丹的郊外举行,主题是“黑到宇宙的尽头”(Hacking at the End of the Universe),我立马被吸引住了。当时我刚刚搬到纽约,刚刚接触到这个城市的黑客文化。这种“文化”与其说是高大上的活动,不如说是一群电脑菜鸟、半吊子爱好者和早期IT(信息技术)系统工程师,在工作之余聚集在位于列克星敦林荫大道和53大街的交叉口的花旗集团中心的肮脏的地下室里,讨论如何骗过各种数字系统的技术问题。当时,黑客行为并没有邪恶的内涵,爱好研究技术的人们把它视作对电脑兴趣的自然延伸。互联网当时拥有1500万用户。20年后,将会有30亿人加入互联网,当年聚集在地下室的某些人将会挣得上千万美元,这些想法,在当时确实是想都不敢想的。
这个群体的圣经是一本薄薄的、装订不太规整的影印杂志,是某个人以艾曼纽尔·戈尔茨坦(Emmanuel Goldstein,乔治·奥威尔的小说《1984》中主人公的名字)为名在长岛出版的。这本杂志的名字是《2600:黑客季刊》(2600: The Hacker Quarterly ),其中收集了如何摆弄各种系统的奇思妙想,从雅达利 [1] 游戏操纵杆谈到门锁。杂志的名字源自最早的一个伎俩,是那个小群体里的每个人都知道的。20世纪70年代,一个著名的黑客技术使用了一个音频,频率恰好是2600赫兹(大概是卡车的倒车警告声),可以迫使美国电话电报公司电话系统的主干路由交换器放弃进入“操作员模式”,使得电话黑客们能免费打各种电话,他们也被称为“飞客”(phreakers)。然而,这次行为并没有实质性的愉悦,只是让你有机会免费打电话到世界各地。一旦掌握了这个技巧,你很快就会发现,并没有什么用,你也不会想打给孟买的哪个人。
真正具有吸引力的是这场游戏更深层的乐趣,这是大不相同的。欺骗电话系统,听着系统的滴答声,有一种秘密通道的感觉,一种似乎控制着地球上最大网络的感觉。有一次,一位名为约翰·德雷珀(John Draper)的飞客发现,“嘎嘣脆船长”(Cap’n Crunch)麦片的盒子中有一个小小的塑料玩具口哨,吹出来的声音几乎就是2600赫兹。这一发现使他成为传奇,后来也因此被称为“嘎嘣脆船长”。1971年,《时尚先生》(Esquire )刊登的一篇关于德雷珀的文章启发了两位青少年,分别是史蒂夫·乔布斯和史蒂夫·沃兹尼亚克(Steve Wozniak)。他们创立的第一家公司准备生产并销售控制电话系统的小蓝盒子。沃兹后来回忆起当时在加州与“船长”的紧张会面。他是一个奇怪的流浪工程师,身上有点儿臭味,精神极度紧张。《时尚先生》那篇文章的作者想不明白,为什么一个成年人会觉得向电话吹口哨是件有趣的事儿,“船长”向他怒喝道:“我做这件事只有一个原因:我学的就是系统。电话公司是一个系统,电脑也是一个系统。你明白吗?如果我做了什么,那也只是为了研究系统。电脑、系统,这都是我喜欢的东西。”他说:“对我而言,电话公司也只是一个电脑而已。”
我在这个2600黑客圈子里听说了这次阿姆斯特丹大会将会讨论哪种电路板和哪个公司最适合提供最新的电子邮件服务。这场聚会由荷兰的一群电脑极客组织起来,他们已经出版了自己的杂志Hack-Tic。我向承办方发了一封邮件。其中的一个人,有着很奇怪的名字(看起来不像是真的)罗普·宫格里普(Rop Gonggrijp),他给我写了一封极为诱人的回信:“8月4、5、6日,我们将会举办一场为期三天的大会,聚集了各种技术宅,包括黑客、电话飞客、程序员、电脑仇视者(computer haters)、数据访问者(data travelers)、电子巫师(electro-wizards)、网络人(networkers)、硬件怪胎(hardware freaks)、无政府主义技术咖(techno-anarchists)、通信毒贩子(communications junkies)、网络朋克(cyberpunks)、系统管理员、菜鸟用户、偏执机器人(paranoid androids)、Unix专家(Unix gurus)、神童、软件破解者(warez dudes)、执法人员(要求穿着合适的便衣)、游击大热工程师(guerrilla heating engineers),还有其他杂七杂八的长发飘飘、胡子拉碴的渣滓。”那封邀请信的开头,数据访问者?电子巫师?软件破解者?那我必须去了。“同时也有,”邮件继续道,“灵感与汗水在此交融,淋浴比较少(但有湖可以游泳),有好天气(上帝保佑)、篝火、大片空旷的场地和清新空气。”
在互联网发展早期,只有最露骨的商业直觉才能行得通。而《2600:黑客季刊》和Hack-Tic的大多数读者骄傲地反对商业性。他们是业余爱好者,通过《龙与地下城》(Dungeons and Dragons )之类的角色扮演游戏入门,他们鼓掌欢呼的通常是不可靠的电子武器。所以许多公司,例如苹果,都是从这些下班后的极客聚会中产生,这绝不是巧合。这些聚会取的名字,如自酿电脑俱乐部(Homebrew Computer Club),通常是自我定义,带有嬉皮士精神。你在这个世界中所遇到的每个人都非常符合罗普·宫格里普在邮件中所列的“没有最怪只有更怪”的人群。他们放松的又笨得无聊的气质反映在互联网的设计中则变成了开放、慷慨、容易操作,他们有时在协议和自由等话题的争论中又很情绪化。网络设计也是对类似美国电话电报公司系统的反抗,因为它们封闭、吝啬、操控困难(不过能操控它们的时候也更令人愉悦)。
乔恩·波斯特尔(Jon Postel),美国工程学及编程天才,曾经参与编写互联网的原始协议,他在1980年曾描述过互联网架构的特点,总结出一句名言:“稳健做事,开放待物。”(Be conservative in what you do, be liberal in what you accept.)”波斯特尔的这句名言成了著名的“稳健性原则”,规定了网上的交换机和节点该如何工作。波斯特尔认为,它们应该小心,不要在网络上传播不标准的无用输出,这也比保罗·巴兰发明的阿帕网络更先进。阿帕网络独立工作时运行得相当好,可以自由穿梭发送发射核弹的代码,但当它需要跟其他网络一起工作时,效果并不好——它不能共享。而波斯特尔等人设计的互联网的适用范围比阿帕网络大得多,因此,拥有与陌生计算机对话及相互理解的能力很重要。就像筹建一个机场,你肯定希望能有许多不同的飞机在此着陆。但如果有人在跑道上扔高尔夫球、果冻、汽油等,机场就会有问题,整个系统的运行就会慢下来。波斯特尔想告诉工程师们的是:你们在系统中所做的事及放入的东西,要格外小心。要对自己的终端负责。创建一些可以共享的事物,让其他人也可使用。
开放待物。小镇莱利斯塔德位于阿姆斯特丹的郊外,那场“黑到宇宙尽头”的盛会就是在此举行。踏上莱利斯塔德这片草地的第一秒我就发现,这主意带来了炸裂的多样性,是一件令人惊讶而又令人欣喜的事情。罗普邮件中提到可能会来的一个庞大而怪异的群体真的来了,他们就在树下,开心地将电线从帐篷接到娱乐车上,将相互连接的路由器用汽油发电机启动。当时,大家对数据传输的速度感到惊讶,而这种速度其实我们现在在某个只有简陋连接的地下车库用电话就能做到。为期两天的室外盛会是一个人类互通性的例子。波斯特尔的法则在此苏醒了。人们互不相识,而且几乎每个人都不是很善于交际。但几乎到处都是交流、讨论和桌面游戏,到处充满了坦诚的交互,甚于此前我所见过的场合。这是未来20年即将来临的数据交互连接时代的前兆。
在黑客大会上所有人中,包括系统管理员、Unix专家和暖气系统游击队(各有所爱嘛),最让人感兴趣的是软件破解者,吸引了与会者和周围巡逻的白色面包车,据说车上都是好奇的荷兰警察。他们的绰号来自他们能接触到的“商品”,而这些商品通常是各种商业软件的破解版,可以在私人的公告栏系统上分享、分配和操作。这些软件破解者是强盗。他们像强盗一样,游走于法律边缘,对金钱有着敏锐的嗅觉,能发现它们的必经之路。早期,如果黑客文化是边缘社会而且还落得一个忧伤的结果:缺少单身女性,那么这些人是生活在离荒野最远的边缘。他们总是拥有令人惊奇的技能和黑客控制的感知,同时还有罪犯般对盈利的渴望。
最早的电脑病毒和蠕虫病毒就是他们所售之物。这些东西最早出现在80年代,大多数是古怪的智力游戏。电脑工程师们有种科学层面的渴望,渴望看到在他们所创建的系统上能发生什么。这与向电话吹口哨的声调曾让“嘎嘣脆船长”、史蒂夫·乔布斯和沃兹无比着迷并无二致。你能让一台房间那么大的机器以一种前所未见的方式抽动起来吗?这种活动贯穿着一种绝对的、不可否认的紧张感。我现在还记得,90年代的某一天,我带着一个密封的塑料袋回到办公室,袋子里装着一张软盘,上面印着“病毒”(Viruses),我迅速用这张软盘将我的电脑彻底破坏,使其必须重新格式化。这事我干了两次。不过这些冒险也造就了许多出色的程序员。因为即使是现在,将病毒程序写进早期的系统中,也需要对这些规定了电学操作的代码有着超乎寻常的熟悉度。(电脑程序称为代码,写代码并做测试的人称为编码员。)
但是,早期漏洞背后的秘密很少能长存。《2600》这种合订版杂志的非正式文化会告诉你,对这一文化需要知道的事情:这群人喜欢分享、吹牛,还喜欢沉浸在他们曾黑过哪些系统的故事中,对谁会看到、谁会关心还有点儿轻微的偏执症。计算机、系统是我喜欢的东西。当你与其他人一起冒险的时候,你还能感受到肾上腺素激增。当我们第一次玩《龙与地下城》游戏或第一次看《沙丘》(Dune )小说时,那种急于与人分享的感觉在数码世界里也同样存在。这种开放的、友好的氛围让在阿姆斯特丹那片草地上的人都异常活跃,大家都跳进湖里,而不去室内淋浴。程序员毫不掩饰地为之着迷,讨论着如何制造机器,甚至无意识地进行深入交谈。我们是无恶意的。然而,软件破解者就不一样了,他们的着迷是一种贪婪的、肮脏的痴迷。
2.
使用内部连接的计算机系统的业务正在发生变化,那年夏天我们坐在阿姆斯特丹的草地上也是这么想的。而这种变化揭示了对我们今天来说很重要的事情。我曾说这本书是关于网络的一切,但连接时代的困境比信息技术系统内部存在的问题更明显可见。毕竟,前者是网络兴起的地方,就像原子时代始于新墨西哥的沙漠中一样。这些网络的不稳定性是我们理解某些基本原则的重要标志。我想花几页的篇幅来仔细考量电脑被破解的方式,不是因为我们需要知道如何弥补软件漏洞(不过这也是个好主意),而是因为电脑安全是一个象征。我们仔细考虑一下,探索破坏网络和控制机器的故事,其实也是探索任何一种连接系统控制的故事。我指的是市场、选举、研究和线上学习。当我们接受了恐怖分子或政治党派最终就是网络这个观念后,我们会明白,他们可以破坏的地方与他们强大的地方一样重要。正如奥威尔的《动物庄园》(Animal Farm )讲的不是关于猪舍的故事,那么黑客与反黑客之间的对抗故事也不仅仅是关于电脑网络的童话。软件破解者、美国国家安全局或自由“开发工程师”们的故事有着更深层的寓意,这便是关于力量的故事。
持续连接意味着脆弱,除非我们特意防范。我想在这里说明的是,我们今天深深依赖的系统——不仅是数据系统,也包括政治系统和金融系统,它们不是为了令人恐惧的需求而创建的。它们容易被操纵,意味着我们也容易被操纵。这些网络为历史性的、无人监督的控制提供了可能性,可能控制着你我、我们所连接的市场和我们所需的数据。我不是说有人可以黑进投票机器篡改我们的选举投票。我的意思是,有人可以黑了新闻和信息,从而左右我们的投票决定。通过所有的连接,我们可能已经暴露在秘密监视和控制中——不只是政府,还有其他潜伏中的人。这在IT界越来越明显了,但反映了我们所在脆弱世界的大背景。例如2014年,安保人员发现了价值50美元的家用摄像系统每几分钟就会将拍下的照片传送到一个神秘的海外邮箱,他们同时发现的还有社会信任基石的裂缝。而信任是社会赖以运转的东西。当你发现自己生活在信任大危机的边缘时,当机器和人心都可以被操纵时,你的政治和经济生活的本质就会改变,应该会改变。你该担心,该追问:我该怎么办?别忘了《动物庄园》中致命的那一刻——庄园最初的戒律“所有动物皆平等”被恶意地调整为“所有动物皆平等,但有些动物比其他的更平等。”本章讲述的是网络上各方力量的故事,有人渴望比其他人更平等,还有几分焦虑。
1993年夏天,这种变化变得更加明显。黑客行为由最初单纯的几个狂热爱好者和系统管理员的杰作开始滑向有些险恶的境地。“恶意软件”这个词就是在那时开始流行,用来形容那些利用波斯特尔的“开放”原则,刻意摧毁那些不太设防的连接系统的软件。这种破坏那么容易达成,不仅因为早期的网络或电脑系统设计得不够严密,还因为网络和机器本身带着无摩擦的动力,滑向更高的复杂性。这意味着,流行的程序总是向用户带去会引来拦截攻击的错误或者编程监管。例如,阿姆斯特丹会议的前一年,有一个变态的程序叫“米开朗琪罗”(Michelangelo),它可以将硬盘上的数据改写成无意义的0和1,这个程序会蔓延到成百上千万台电脑。一旦一台机器被感染,这个改写命令就会在每年的3月6日时被激活——这是对这位伟大的艺术家生日的一种扭曲的庆祝。但因为这个程序是在基础输入/输出系统(BIOS)水平上进行操作,即早期机器的基础输入/输出核心。从某种程度上来说,它们就像爬虫大脑一样,几乎不可能根除。计算机安全公司,很快被变为计算机“不安全”公司,因为它们总是落后一步,而它们却对此提出了一个苍白无力的建议:“3月5日关了电脑,3月7日再打开。”
随着科技进步,恶意软件也进步了,面对新机会,它们适应了,也进化了。想想看,相比几年前,我们现在的电脑体验发生了多大的变化。黑客行为也成长得这么快,也许还会更快。早期的攻击是针对基本没什么抵御能力的电脑。像“米开朗琪罗”这样的程序是像流感或者食物中毒一样具有感染性。它们使没有免疫系统的个人电脑和设备被削弱,进而被控制。黑客的挑战在于如何偷偷将这些数字化病毒放入电脑,不过他们最后总能找到漏洞。他们将病毒藏在磁盘、文件或电子表格等那些表现看起来很安全的东西。情报局已声名狼藉,因为他们要么在大会上分发“免费磁盘”,要么在防御承包人的停车场乱丢被感染的U盘,等着哪位不起疑心的员工随便插上电脑,无意间便激活了小心安装并隐藏好的恶意软件。在一个名为“了解你的目标”的案例中,黑客将恶意软件隐藏在某些暴力电脑游戏的代码中,绝对会被某位已经无聊了好几个小时的系统管理员为了寻求刺激而打开。
要是将计算机拉入互联网中呢?这种区别就像一位生活在小镇上的人,走进70年代的纽约街道的感觉。在某个地方,你会邂逅一些人,他们通常是面带微笑,亲近而无害。而在其他地方呢?你会面对无尽的人流,都是陌生的、不正当的和意想不到的人。每一次握手都可能是一次冒险。这就是手机、银行和军队每天的生活——无休止的袭击,通常是来自未曾见过的武器。罗伯特·莫里斯(Robert Morris)是密码与安全方面的天才,20世纪的几十年间,他多次破解美国国家安全局的密码破译程序,他黑进电脑的人生经历可以压缩成以下三条计算机安全的黄金法则:
一、不要有计算机。
二、不要打开电源。
三、不要使用它。
当然,他还可以加上第四条:不要把计算机连上任何东西。
3.
今时今日,我们时时刻刻都热心而狂暴地违反这四条法则。其实,我们整个经济社会的幻境都建立在打破这些法则的基础上。我们想拥有最好的设备,我们想让它永远开着,我们想一直使用它。“实效”现在几乎就等同于“连接”了。不联网的手机,汽车,或市场?那全是无用之物。但是,每个人都连接的网络,却可以在未曾察觉的时候被操控。安全研究学者谢尔盖·布拉图斯(Sergey Bratus)领导的团队曾说过:“‘开发工程师’(礼貌的技术术语,指代黑客)会让你看到系统功能非计划性的极限。”黑客解开了新世界的危险漏洞,同时向我们展示了网络应该如何运行,并以迅雷不及掩耳之势揭露你家警报系统的局限。但坏消息是,最恶意的黑客(通常也是技术最好的、最娴熟的)为了证明自己技术娴熟,他会横扫了你的数据、存款,最后打乱了你内心的平静。他们的财运、安全与好奇心——三者交织在一起,促使他们渴望接触、挑动、破坏网络的阵脚。在连接广泛的世界里,他们比以往更强大,也更危险。因此,波斯特尔名言的对立面是:连接越多,风险越大。随着银行存款、喷气发动机设计和其他无价的数字数据的产生并流向连接的机器上,黑进这些系统所得的回报也增长了,增长速度大大快于破解的速度。
“越来越明显了,”安全专家菲利克斯·林德纳(FX Lindner)和桑德罗·盖肯(Sandro Gaycken)说,“‘计算机网络防御’的水平比其对手‘计算机网络进攻’的水平落后了10年以上。情报组织和军事组织一向被认为在防御基础设施方面做得最好,尽管如此,它们也是奋力抵御不同动机、技巧和资源的持续性猛攻。”美国政府安全方面的败笔不在少数,这些失败有着一个奇怪的数字逻辑:越重要的东西,政府越想保密,却越做不到。世界各国的政府发现,近年间,在要求获得市民隐私时,他们处于一个尴尬的位置,因为他们连自己的秘密都不能保守。2014年美国人事管理局被黑客入侵之后不久,政府行政主管向所有公务员发出了一封紧急信:请勿点开任何陌生邮件!而许多收件人从未打开这封信函,因为他们坚信这也是一种网络攻击。落后10年?那是翻盖手机和iPhone之间的差距。在科技高速发展的世界,这就像拿着激光武器和古代装甲步兵之间的战斗。这场逐渐输掉的比赛很容易落入唐纳德·拉姆斯菲尔德关于领先者与落后者的逻辑。我们会问:我们在更多计算机上安装的层、软件和应用是否超出了我们能保护的范围?我们制造的漏洞是否多过我们打的补丁?(答案都是:是的。)“攻击者不像自然界的灾害,”林德纳和盖肯写道,“他们能分析攻击目标。”
谢尔盖·布拉图斯是一位数学天才,出于兴趣转而研究计算机科学,现在任教于达特茅斯学院。他曾花费相当长的一段时间研究,当计算机或网络被黑客入侵时,究竟发生了什么。用软件破解者调侃的话来说,就是被“玩弄”(pwned)了。这个词的意思是,控制或“拥有”一个系统。这是一个误造词,是电脑游戏中杀死对手时幸灾乐祸的用语,源于一位玩家杀死另一位玩家时,急于庆祝他的胜利而打出想“I pwned you”的字样,然后这种笔误被沿用至今:信息安全方面的最高奖项就被称为“玩手”(Pwnie)。布拉图斯将被入侵的设备称为“中毒的机器”:计算机、传感器、无人机默默地被控制去做非原先所计划的事件,这变得很奇怪。
黑客行为其实是一种不合法的编程,包括潜入机器内部,给出其设计者未曾料想到它会接收的指令,从而驱使它去做原本不会做的事。布拉图斯发现,开发利用计算机的漏洞与最复杂的软件研究并没什么不同。黑客极其谨慎。他们中的高手构想了整个系统,就像最细致的数据架构师所构想的一样。这些黑客寻找特别的设计,他们善于将代码武装起来,并在总控之下坚持不懈地攻击。正如美国国家安全局数字情报部门负责人罗伯特·乔伊斯(Robert Joyce)在某次公共演讲中说道:“我们成功,是因为我们投入时间去了解网络。我们投入了时间,对网络的了解甚至比设计网络的人还多。”正常的机器只按你的指令做,但中毒的机器则按其他人的命令去做。
这种系统是如何产生的?导致中毒机器的软件漏洞,就像计算机安全编码失败一样简单,有点像离开家时随手关门一样,或从编程的角度看,就是这台机器不能处理意料之外的输入。例如“模糊化处理”技术,是使一台正常的机器中毒的有效方法。无论何时,当我们输入用户名和密码进入一个封闭式的数字系统时——假设我们在登录银行或办公邮箱,计算机获取这些信息,并将其与储存在内部受保护的数据库里的数据相匹配,这就等于向机器给出所有的拼图碎片来拼出你的图像。计算机有一个程序可以将所有拼图碎片拼在一起,如果拼出的图像确实是你,它就会让你进入。模糊化攻击会向机器输送某些它未曾预料到的东西。例如,多一块拼图,或者输送填字游戏而不是拼图。如果你在用户名栏输入“joe@user.com!@@”而不是正常的机器可以识别的电邮地址“joe@ user.com”,那么后面的“!@@”会把机器迷惑住,就像它正在拼图然后发现多了一块。如果你有一个程序可以同时从两个不同的地方向机器输送拼图,那么你会导致很多计算机发生故障、系统崩溃。机器会想:“他怎么可以同时出现在两个地方呢?”它们“迷糊”了。而在它们迷惑的时候,它们可能瘫痪,或进入一个死循环,或思考:“反正我解不开这个问题,所以我就开门吧。”现代黑客可以很容易使机器出现以下情况:本应是拼图却让填字游戏通过;允许你出现在两个或20个不同的地方。而这种错误会在一秒钟之内发生几千次。因此,对于一个恶意的黑客来说,这种局限性是诱人的:计算机仍然需要人来告诉它们该做什么,不该做什么。如果你走到银行柜员面前喊道:“Glookie!”她一定会以为你疯了。但如果你对电子银行系统这么做,因为机器未被告知如果有人喊“Glookie”的时候该怎么办,那它很有可能就这么让你进入保险箱了。
近年来的设计者将系统设计得越来越复杂,用以防止出现这类问题,但这类问题的出现也是由他们自己代码里的这类漏洞导致的,这种花费不菲的后果使其饱受诟病。“你不能完全了解你的程序如何工作,直到它被破解。”布拉图斯说过,这种情绪是很多程序员和他们突然受害的用户都曾体会过的。你不了解自己,直到自己被“玩弄”了。这些无尽的小故障能完全被修复的概率是零。黑客们会继续使用经典的破解手法,例如模糊化、后门程式和Rootkit隐藏软件,同时黑客会开发新的复杂手段盗取计算机的正常思维。这场掌控权争夺赛是一场短跑冲刺,但又不是不需动脑的。黑客越靠近计算机程序或网络的核心,就会掌握越多的控制权。掌握系统核心意味着掌控系统接收的所有信息及其如何决策。这种黑客行为就像一位外国间谍当选了美国总统,将整个美国政府变成中毒的机器。这种即时的、高级别的、完全受信任的准入权是软件破解者的黄金准则。
这些最危险的、同时也是价值诱人的攻击被称为“零日攻击”(zero-day exploits)。当“零日攻击”被发布并在某些倒霉的网络或机器上疯狂衍生的时候,它们带来的危险才会变得明显。初次意识到这个安全漏洞时就像被诊断为癌症的第一天,然后变成了寻找治愈疗法的速度比赛。这种脆弱性代表着计算机防火墙上的裂痕,这是制造商、系统工程师和安全专家经常无法注意到的。黑客、间谍、软件破解者的梦想就是这种被称为“高级持续性威胁”的把戏:机器中隐藏的后门程序,可以在更新升级、安全监测和系统清理中保存好几年,迫使已经中毒的计算机去做用户不知道的事情。例如,将每一次击键的副本发送到另一台机器上,自动向其他机器发动攻击,同时表现得像一台完全正常的机器一样。
最厉害的“零日攻击”不是把恶意软件偷偷放入计算机中,而是利用已有的、受信任的代码,找出其中微小的漏洞,将之扩大为巨大的通道,从中盗取数据。这种攻击依赖偶然遗留在计算机系统里的错误,或看起来无害但可能变得很危险的某些特性。所有的计算机工程师和软件设计师知道他们的系统很脆弱。数学家们证明了,人们永远无法完全肯定一台联网的计算机是安全的。例如,一部手机包含了超过1000万行的代码。系统运行着大量的云计算空间(而谷歌或亚马逊云计算空间更大),每天更新并解决超高速运转的数据海啸。就算是最好的程序员也会在100万行代码中遗留四五个错误。
软件和硬件制造商往往疲于将这种漏洞进行保密,直到他们研究出修正方法,但这通常都不管用,秘密还是泄露了。就算补丁开发出来,也需要好几周甚至好几个月的时间才能广泛安装,这种情况并不少见。因此,在宣布新发现的漏洞后的几小时内,利用这个漏洞进行攻击便会在全网爆发。成千上万的黑客企图利用这一薄弱之处攻击系统的防火墙,将它们列入修补或重启的名单;或只是削弱它们,然后留给智商不够用的系统管理者,但他们还不知道这串特别的代码将使其成为开放捕食的目标。“心脏流血”(Heartbleed)是一种零日软件,允许黑客通过网络浏览器的漏洞溜进你的计算机。2014年4月7日,它向世界揭开面纱,而那时距离它因编程错误而被放入系统中已过去了两年多。因为偶然,工程师过度疲劳,还是故意?因为某位国家安全特工?没人知道(或者没人表态)。“心脏流血”漏洞发布后的两天内,在所有计算机完全安装上补丁之前,各种攻击还是将漏洞从每小时几十个蔓延至每小时几百万个的程度,因为黑客们拼命地从不安全的网络上吸取数据。
4.
近年来,黑客的行为路径越来越深,超过了软件和USB(通用串行总线)驱动的水平,开始进入了计算机的原子能层面,即组成比特和字节的电子流动的地方。这种微观层面的入侵手法堪称艺术,非常惊人。这种入侵相对于“嘎嘣脆船长”那简单的让机器中毒的口哨来说就像瓦格纳风格的歌剧。最近就有一项突破性的黑客行为利用磁荷入侵。发出或撤回的电子信号有一个磁元素,而随着像英特尔和超威半导体(AMD)这样的公司开始将越来越多的记忆细胞打包在硅片上,他们意识到,磁干扰在芯片的表面上像水波一样浮动。换言之,这一大堆的微小数字细胞像一碗磁铁一样。2014年,从业于谷歌公司的安全专家马克·西伯恩(Mark Seaborn)和托马斯·杜林(Thomas Dullien)发现,利用电磁振动可以在相互平行的两列记忆芯片上震出第三列电子记忆,就像将一块磁铁放在桌子下面移动纸上的回形针,而这种方式系统可能从未注意到。这样一来,他们就可以达到计算机记忆的超限区域为所欲为了。西伯恩和杜林将之称为“rowhammer”,指的是一种理想的、极其不稳定的漏洞,将会影响近5年的几乎每一块小芯片装置。他们马上公布了这一成果,以给那些可能的受害者一个警示,但是这种漏洞针对的是系统的基础层面,几乎没有可能完成修补,这就像试图修补整个物理界。
计算机研究者纳撒内尔·赫斯特德(Nathaniel Husted)曾将世界描述为充满了“紧急的缺陷”(emergent vulnerabilities),意思是软件或硬件、通信或金融上的虫洞自动在相互联系的宇宙中跳出来。“紧急缺陷和攻击的基础,”赫斯特德写道,“开始时都是良性的,直到遇到特定的临界状态时,它们就会变成恶性的。”连接中我们不想要的风险与我们想要的一切并肩而行。其实它们也是我们想从连接中得到的东西,后来却步入危险的歧途,这也是赫斯特德的观点。
保罗·巴兰如果能看到自己的预言有多正确,肯定会有很多感慨,他会看到现在人们之间的联系就像不可抵抗的重力拉扯一样,而重力通常都是赢家。例如,2015年,以色列安全研究者开发出一种令人震惊的黑客入侵证明了巴兰的精神预言:所有事物都可以通过某种联系相互连接,同时验证了这种狡猾的攻击可以攻破看起来最安全的防御。“现在已经普遍认为物理隔离的计算机(有空隙)在安全方面最可靠。”莫迪凯·古里(Mordechai Guri)和他的团队在一篇论文中描述了他们如何利用一台孤立的机器去影响另一台机器。事实上,物理隔离是安全计算的一条基本原理,是罗伯特·莫里斯关于网络安全的“不要连接”规则的一条论点:不在同一网络连接的两台机器应该无法相互影响。试想,将一个感冒的孩子放在一个教室里,再将另一个孩子放在另一栋楼里,那么第二个孩子应该不会被传染。
这个来自特拉维夫的研究团队想挑战这一原理。首先,他们将两台计算机并排放在桌子上,相互之间不连接电线或连通网络。其中一台计算机连上互联网,另一台完全与外界隔离——在计算机安全术语里,叫“隔空”(air gapped),就像隔离在另一栋楼里的健康小孩。然后,研究者们就开始像胡迪尼 [2] 一样变魔术了——看吧!看我们如何破坏这台完全无连接的机器!这个团队在那台联网的机器上运行了一系列程序后,使处理器板发热,就像快速运转汽车引擎一样,最终使它的温度高到一定程度,从而可以被几英寸外的那台声称坚不可摧的安全计算机里的传感器探测到。热量波触发了那台机器里的风扇系统,激活了预先安装的一个恶意软件,从而允许那台发热的机器通过温度变化“玩弄”了那台“隔空”的机器。在这一破解过程的录像中,你可以看到,产生影响作用的机器达到更高温时,放热产生“热收缩效应”(thermal pings),然后感染了旁边那台安全的、“无连接”的机器。热传递告诉我们一个简单的道理:没有什么是安全的。
为什么值得深度挖掘的物理问题,却用作偷偷潜入手机或计算机中不被发现的一种手段呢?对于西伯恩和杜林来说,其动力就是“发现并发布”,以入侵后整个系统不受侵害。自己入侵后发现漏洞,开始设置补丁,总好过被别人确保还发现不了。但善良的人要对抗的是复杂团队的有着恶意企图的人。“零日攻击”漏洞的开发和销售,毕竟是生意。“嘎嘣脆船长”口哨的现代版可以攻破世界上一些极其重要的经济、政治、安全数据库。随着被攻击对象价值的提升,破解的价格也被抬高了。公开的“零日攻击”市场上,给发现系统漏洞的研究者支付的费用达成千上万美元。大家普遍的想法是,还不如自己先找到漏洞,尽管这也不能总是避免那些尖锐的尴尬时刻。例如,2015年,在一场受到严格监督的公开黑客比赛上,一位瘦瘦的、面带笑容的韩国人李政勋(Jung Hoon Lee)赢得了22.5万美元的奖金,他在比赛中入侵了世界上许多最重要的程序,包括苹果公司的Safari和谷歌公司的网页浏览器Chrome。这些系统是花费了上亿美元,由世界上顶尖的计算机科学博士们构建起来的(不过显然在安全特性方面还投资不够)。李政勋不到一分钟就突破了它们的重重防守。
像李政勋这样的速度,跟顶尖的黑客相比还差得远。这些黑客不会在公共场合工作或在酒店舞厅中比赛,也不自夸。而他们想出来的主意价值不菲,那22.5万美元的奖金几乎可以忽略不计。这些软件破解者的继任者为网络犯罪的亿万富翁工作,为情报局特工工作,甚至经常只是为了自己工作。他们协助发现并部署那些很深层的系统漏洞,帮助厚颜无耻的网络盗贼盗取成百上千万条个人信息,或者发起攻击,像“超级工厂病毒”(Stuxnet)就导致成千上万的伊朗核离心机自动震碎。而他们所做的还不止如此:我们目前所讨论的攻击都是发生在已安装的、运行的箱子中。然而,生产那些箱子的公司已经将目光放在了设计、测试、制造和安装的整改过程。一些破解团队花费了10亿美元的预算,在这一路上留下了看不见的缺陷,以便日后可以利用。从偷偷潜入早期的代码库到在路由器销往海外的过程中将其截获并进行改写,酝酿过程中的每一步现在都是一个秘密控制的机会。这也是意料之外的风险和“突现不良行为”的机会,它们解开了简单的防范措施,合并成线路故障的机器,运进加利福尼亚州。不出意料,黑客们已经仿制了他们想盗取的技术公司的设计。
以前由一位软件破解者完成的工作,现在通常有了劳动力的分工,分为技术专家、集中的预攻击研究。“正义的恶意软件”的每一次创新,都迅速地被复制并被改造为攻击工具。例如,罪犯们验证了“超级工厂病毒”的模块化设计,几年之后,在对银行、信用卡公司和健康保险公司的攻击中就会发现相似的特性。“我们不是军事历史、教义或哲学方面的专家,”网络安全研究者史蒂芬·科布(Stephen Cobb)和安德鲁·李(Andrew Lee)写道,“因此我们不能意识到形容以下类型武器的确切词语:那些经你的手运送给你的敌人的、可反复利用的东西。”确切的形容词是可怕的。“正义的恶意软件是特别的,”科布和李总结道,“因为你在使用它们的同时,就在泄露你的武器、策略和设计。”
当然,不仅是美国情报部门如美国国家安全局,才搜寻并使用这种后门密钥和攻坚工具。计算机鉴证专家介绍,打开一个粗心的出差者的手提电脑,你会发现它已被恶意软件和其他技术“癌症”从内部破坏了,这些都是六七个情报机构和犯罪组织小心翼翼地布下的。这就像在家里发现了一整柜子的间谍,为了窃听你的生活,他们每一个人都小心地踩在别人的脚面上。为什么我的电脑这么慢?一位欧亚国家首都的政府官员也许会这么问。这是因为他的电脑可能被美国人、俄罗斯人、以色列人、可能还有当地的黑手党成员同时入侵,而这些代码运行得可能并不顺畅。
随便抓取身边最近的5种电子设备,可以确定,每一个都是脆弱的,这意味着你也是脆弱的。不仅有可能泄露秘密,还可能被曲解和控制。这是一个冰冷的事实:20年前在阿姆斯特丹草地上传播的古老的黑客精神,那种“开放待物”的边缘社会精神已经灭亡。中毒的机器和正常的机器,中毒的网络和正常的网络,被技术操纵搞疯的人和尚未如此的人将一起生活。而问题是,你知不知道自己是哪一边的?
5.
今天,我们周围的强大力量在某些不可替代的核心中积累。巨大的搜索引擎,某些算法、数据库或通信协议压倒了我们。想象一下没有搜索的生活,或没有朋友的连接。都市学者经常提出这个问题:是什么成就了一座城市?我们则会想:是什么成就了网络权力的平台?这两个问题的答案是一样的:密度。如果最早的城市,如阿兹特克或美索不达米亚文明,与之前的部落集群的区别就在于它们的密度的话,那么最早的平台与即时连接也一样。Facebook比美国在线(AOL) [3] 更密集,有更多用户、更多数据和更密集的连接。未来的平台将会比现在还要密集。如果城市人口过分饱和,可能会引发瘟疫和革命产生,而我们密集的集群连接也有同样的风险。试想,如果你知道政府会随时掩人耳目地转向恶意的一面时,或者一个国家相互连接的市民充满了民族主义和怨恨。这些可能性存在于连接的系统中,因为当所有人连接到一个核心时,这个核心便连接着所有人,就像一个国家只有一个机场。每一种邪恶之物都有打进这些中心节点的潜能:通过奇怪的渠道,黑客或意图不轨的管理员可以控制你对世界的认知,篡改你的选票和钱财存放地,通过存储的照片、声音或日程表改变你的记忆,决定医生什么时候发现(或不发现)你的DNA中的“活结”。
“反复阅读亚历山大大帝、汉尼拔、恺撒、古斯塔夫斯(Gustavus)、蒂雷纳(Turenne)、尤金(Eugene)和费德里克(Frederick)的战斗,”拿破仑曾写道,“将他们作为自己的榜样,这是成为一位好将军,掌握战争艺术的秘密的唯一办法。”读完“零日攻击”、精妙的黑客入侵案例,如rowhammer和特拉维夫热量入侵的故事后,我们提取出一个原则来破坏曾经安全的系统,这条基本原则是黑客们通常无情地突袭整个网络的中央核心,他们的目的是鉴别网络中的信任关系,然后寻找最弱的受信任点,使其错乱。
网络影响并不仅仅来自每天1000万台设备传播的全球连接,它还来自我们所依赖的某些系统当中的惊人的权力集中点。控制我们世界的这些枢纽和根源可以影响一切,很少人会发现他们是多么诱人的目标。
如果你能触及系统的核心,你会发现它们真的非常脆弱了,这种感知恰恰是深深吸引投机分子的诱饵,引诱他们深入中心程序枢纽——核心程序(kernels),那个枢纽保留着最基本的指令。黑客可以利用设备自身的代码使其中毒,内部相悖,就像某种自身免疫病,但这只是我们面对的问题中极其邪恶的一部分。安全研究者将此类漏洞称为系统“缺陷”,但它们当然不只是薄弱的点而已,还是潜在的致命点。大家趋之若鹜地去触碰、玩弄并恶意利用这些已经存在的顽疾,在某种程度上揭示了软件破解者本质上的第七感秘密:连接确实使事物变脆弱,但同时也揭开了整体控制的可能性。阿克顿勋爵(Lord Acton)的名言“绝对的权力趋向绝对的腐化”在这个时代被改成“绝对的通道趋向绝对被破坏”。连接带来了全面开发和全面控制的可能。“你相信谁”与“你和谁相连接”是一样的问题。
“对一项技术的依赖性越大,研究和揭露其内部运行结构的需求就越大。”一群激进的数字活动分子在“关键工程学宣言”中发表了这一看法。当我们将自身安全、自由和健康交给全世界的设备及其制造者时,我们必须知道在那些系统的核心发生了什么。现在所有东西已不仅仅是连接的,它们也受监控,记忆和研究。而对于驱动连接时代的代码、算计和算法,我们必须小心。就像把恐怖主义标记成一个简单现象是一个错误一样,所有软件或代码也是这样的简单现象。那种可恶的代码可以摧毁整个市场。代码与书写代码的人与运行代码的机器不同。代码是多样化的,令人吃惊,充满了错误和缺陷,并在很大程度上决定了系统应该如何工作。为了更接近核心,软件破解者或是原子级别的黑客都能让我们知道,在这些信息累积的节点上有多少能量是被锁住的。2600赫兹的口哨似乎只是一系列无休止的战争的开端,这是关于控制现代权力的根源和主干线的战争。“就像每一场纵酒狂欢最终都以伏特加收尾一样,每一次黑客大会都以‘kernel.org’结尾。”托马斯·杜林曾评论道。他是一位数学家,同时是一名获得“2015年终身安全成就奖”的称职黑客。例如,一个连接的系统中的很多能量都处于它的基础:kernel.org,这是Linux计算机代码的一个参照副本,而这个代码推动了世界上大多数数字机器,有点像网络的原始DNA。运行Linux的每个人——从数据中心到Wi-Fi路由器再到智能手机,都相信机器里的代码。为了操控“kernel.org”将会触及互联网的本质。如果目的是控制,那么kernel.org及系统中的等价物便是最终的目标。黑客可能从啤酒(你的手机)或几杯红酒(你的办公邮件系统)开始,但他们最终想要的是伏特加(kernel.org)。这种中央信任的节点在任何相连的系统中都存在。它们一开始代表的是我们最专横的系统设计师的伟大成就,代表着某些点指向其他同样专横的点,指引着它们进行最残酷的攻击。
杜林在思考黑客所作所为时,看到了更多东西。将破坏系统与喝酒相比,对他来说并不是什么好玩的事儿。黑客行为几乎是一种瘾,是为了追逐更大的刺激,对计算机行业来说,这就是一场比谁征服的计算机更多的比赛。急剧升级、失去自控、逐渐膨胀的欲望——这些都是遍布最广的攻击的印记,这也是为什么盗取源代码、计算机程序的原始指令是对软件破解者的一种奖赏。源代码是我们周围的计算机和网络的原文,是指引计算机网络运算的基础程序。因此,如果方法正确的话,可以用它悄悄潜入任何设备或任何网络,然后,可以再偷更多的源代码。这在杜林看来,比上瘾更可怕。
而这并不仅是单身的青少年黑客为了寻求多巴胺激增而像瘾君子般地盲目追逐、入侵电脑,政府也在这么做。“斯诺登泄密事件使我们有了吃惊的发现(至少对我来说是吃惊的)。”杜林说,“黑客入侵非常容易让人上瘾,所以整个机构会像瘾君子一样,做出上瘾般的行为。”
6.
多年以来,随着黑客入侵的利益越来越高,新的压力突然降临在那些以前在Hack-Tic时代生活轻松的程序员身上。波斯特尔的名言“开放待物”对很多人来说已经成为一句格言,它使网络以一个令人难以置信的速度发展起来,但付出了容易受攻击的代价。现在,几乎每个人都有某些东西要保护。没有人能非常开放地对待所接收的东西——实际上恰恰相反。对这种能量野蛮的、不容争辩的、有利可图的需求,破坏了Hack-Tic时代独特的社交网络。我们热爱的这种开放性存在于生活的许多领域,从思想到市场,开始成为一种责任。爱德华·斯诺登曾说:“我记得互联网在未受监控之前的样子,在人类历史上还从未有其他东西是可与之比肩的。”怀念以前见过的数据景象,但他在美国国家安全局期间,这种景象渐渐消融。新一代的年轻程序员,从不知道像Hack-Tic等出版物最初的精神气质。这是数字时代的主力军,他们在技术层面的熟练操作,超越了20年前聚集在花旗集团中心地下室的人们的所有想象。他们会面临无尽的恶战,然后成功侵入、破坏系统,使网络能量的核心中毒。他们将了解、设计并管理用于保卫系统的门。他们的本能是为了遮掩和管控,而非开放及慷慨。这种转变一定会影响新一代对系统的设计,而这反过来也会影响我们。
我想起了中国历史的一道古老的难题:历史上最强大的朝代——汉朝、明朝、唐朝为什么总是遭遇组织有序、最致命的叛乱呢?答案源于各个方面的发展。一个王朝越依赖农民、商贸或者每年的粮食收成,那么叛乱会越有计划性,步调一致且强大。如果可以轻易搞定农民,那么叛乱也不需要组织有序了。他们可以在一个下午毫无防备地将一年收成抢走。他们还可以偷懒。但如果不能轻易做到,那么叛乱就需要改革和改进了。1993年,在阿姆斯特丹的黑客营地,我们就像一群独行的、毫无准备的农民。
我们最重要的系统容易受到失控的伤害,这一点让人不寒而栗。这是个警示,提醒人们这群人的能力,他们知道如何破坏、操纵或者建立,这是我们世界的一部分,而我们大多数人却对它都不甚了解。这种感觉就像发现某人能接管你的肺和心脏似的。而我们还不能真正辨别好与坏的连接。很多时候它们看起来差不多。就像奥威尔的《动物庄园》里描述的那样:最后,猪可以像人一样双脚直立走路,而没有人可以发现它们与人的分别。我们大多数人都不了解网络,但我们完全依赖它们。有些黑客因为技术魅力而玩起恶作剧;有些闯入系统,对系统的核心进行粉碎性的一击;有些则因为贪欲、爱国之情,或痴迷于这种秘密、热烈却非法的行为。但是,这个技术顶尖的群体共有的,是一种为了更接近核心程序的迫切欲望,因为核心程序发出看不见的代码指令,打印出数字DNA,从某种程度上,掌控了它就可能掌控了系统的二进制核心。“嘎嘣脆船长”式的兴奋,通过口哨控制网络密集而无助的主干——仍然是一个梦。请记住康威定律:网络的设计、运行和管控,有助于甚至决定了现实世界。如果在某种程度上整个网络满是漏洞,如果它原本就存在感染中毒的可能性,那么对现实世界来说这意味着什么?
我们依赖的所有系统,那些我们自认为在掌控之中的系统——金融、政治或数字系统,都可能中毒,或被我们看不见的和挣扎着想阻止的势力入侵。我指的是你每天都会用到的系统,如社交网络、股票市场等。我的意思是,要非常小心对待你所连接的事物,不只因为有黑客。总统竞选可以通过数据精确筛选目标市民,从而操纵票选结果。金融集团可以有借口除去市场中公平竞争的环境,因为他们拥有巨大的数据访问渠道。网络不再能被看作无害的了。布拉图斯是对的,我们并不完全了解任何系统,直到它被破解。我们要等到世界都被破解入侵后才了解他们建立的系统吗?我希望不是。这就是本书成书的目的。
[1] 雅达利,美国游戏开发商,主产街机游戏。——译者注
[2] 胡迪尼,电影特效魔术师,善于逃脱魔术。——译者注
[3] 美国在线(AOL),是美国时代华纳的子公司,著名的互联网服务提供商。——编者注
