找回密码
 立即注册
搜索
查看: 1038|回复: 3

[科技] 互联网考古系列#3 Marcus Hutchins 的自白:那个拯救了互联网的黑客

[复制链接]
发表于 2026-8-30 16:13 | 显示全部楼层 |阅读模式
互联网考古系列#1 世界上最危险的极客
https://stage1st.com/2b/thread-2288389-1-1.html

互联网考古系列#2 发动黑客战争的人
https://stage1st.com/2b/thread-2288436-1-1.html

______________________________________________

连线杂志
Andy Greenberg
2020 年 5 月 12 日 上午 6:00  


2017 年 8 月,一个安静的星期三早晨,大约 7 点,Marcus Hutchins 从拉斯维加斯那栋 Airbnb 豪宅的前门走了出来。过去一个半星期,他一直住在那里参加派对。

Hutchins 当时 23 岁,身高 6 英尺 4 英寸,身材瘦高,一头金棕色卷发炸成一团。他是一名黑客。这时候出来,只是为了从 Uber Eats 外卖员手里取自己点的巨无霸和薯条。

但当他光着脚,只穿着 T 恤和牛仔裤站在豪宅车道上时,Hutchins 注意到街边停着一辆黑色 SUV——看起来非常像一辆 FBI 用来蹲点监视(stakeout)的车。

他茫然地盯着那辆车。睡眠不足让他的脑子仍然昏昏沉沉,而他整晚都在抽内华达州已经合法化的DA MA,这时候还没完全清醒过来。

有那么短短一瞬间,他想:

终于还是来了?

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻


可这个念头刚冒出来,他马上又把它否定了。

FBI 不可能这么明显,他告诉自己。

车道已经被太阳晒得滚烫,他的脚底开始发疼。于是他抓起麦当劳的纸袋,转身回到屋里,穿过豪宅的庭院,走进自己临时拿来当卧室的泳池房。

那辆 SUV 的阴影很快就被他彻底抛到了脑后。

他用剩下的最后一点**又卷了一根DA MA 烟(spliff),一边抽,一边吃汉堡。然后收拾行李准备去机场。他订了一张头等舱机票,准备飞回英国。

Hutchins 刚刚结束了极其疯狂、也极其疲惫的一周。

他参加的是 Defcon 黑客大会(Defcon hacker conference),世界上规模最大的黑客大会之一。而在那里,他几乎被当成英雄一样受到追捧。

不到三个月前,Hutchins 刚刚从当时历史上最严重的一场网络攻击中拯救了互联网。

发动那场攻击的是一款名叫 WannaCry 的恶意软件(malware)。

当这种能够自行传播的软件开始席卷全球、摧毁数十万台电脑上的数据时,正是 Hutchins 找到了隐藏在它代码中的秘密紧急停止开关(kill switch),并触发了它。

WannaCry 对全世界构成的威胁,几乎立刻就被解除。

这个堪称传奇的白帽黑客(whitehat hacking)壮举,基本上让 Hutchins 在 Defcon 圈子里获得了一张“终身免费喝酒券”。

他和同行的一群朋友被邀请参加拉斯维加斯大道(the Strip)上几乎所有的黑客 VIP 派对;记者请他们吃饭;粉丝不断冲上来要求和他自拍。

毕竟,这个故事实在太吸引人了:

一个害羞的极客(geek),坐在英格兰西部偏远地区父母家中的卧室里,仅仅靠着一台电脑,几乎凭一己之力杀死了一个威胁整个数字世界的怪物。

经历了这一整周铺天盖地的赞美之后,Hutchins 仍然有些晕头转向。他根本没有心思认真考虑 FBI 的事情。

哪怕几个小时以后,他再次走出豪宅,又一次看见街对面停着同一辆黑色 SUV,他还是没把它放在心上。

他钻进一辆 Uber 前往机场,脑子依然漂浮在DA MA带来的迷雾里。

后来的法庭文件显示,那辆 SUV 一路跟着他。

事实上,在 Hutchins 待在拉斯维加斯期间,执法部门一直在间歇性追踪他的位置。

到达机场、通过安检时,Hutchins 遇到了一件让他觉得有点奇怪的事。

美国运输安全管理局(Transportation Security Administration,TSA)的工作人员告诉他,不需要像平常那样把背包里的三台笔记本电脑拿出来,直接连包一起送进扫描仪就行。

工作人员挥手让他通过时,他甚至记得自己当时还想:

他们好像还特意不想耽误我。

他悠闲地走进机场休息室,拿了一杯可乐,在一张扶手椅上坐下来。

距离飞回英国的航班还有几个小时,他便拿出手机刷 Twitter 打发时间。他发帖说,等回到家以后,自己很期待重新开始做恶意软件分析。

“已经一个多月没碰调试器(debugger)了。”

他在 Twitter 上写道。

他还半炫耀半自嘲地提到,老板在拉斯维加斯给他买了一双非常昂贵的鞋,又转发了一位粉丝对他逆向工程工作的称赞。

Hutchins 正准备继续写下一条推文时,忽然注意到有三个人朝他走了过来。

中间是一个身材魁梧、留着山羊胡的红发男人,两边跟着两名穿着美国海关与边境保护局制服的人。

“你是 Marcus Hutchins 吗?”

红发男人问。

Hutchins 确认之后,对方用一种很平静、没有任何情绪的语气让他跟他们走,然后带着他穿过一扇门,进入一个封闭的楼梯间。

接着,他们给他戴上了手铐。

Hutchins 完全懵了。

他感觉自己像是突然从身体里抽离出来,站在远处看着这一切发生。

他问:

“这是怎么回事?”

“待会儿会告诉你的。”

那个男人回答。

Hutchins 的脑子飞快转动起来。

他开始把自己过去做过的所有可能引起海关注意的违法事情一件件过一遍。

肯定不可能是那件事吧?

那已经是很多年前的事了。

那件他根本不愿意提起的事。

会不会只是因为包里还残留着一点DA MA?

是不是这几个无聊的探员因为一点小小的毒品持有就反应过度了?

探员们带着他穿过一片布满监视器的安全区域,随后让他坐进一间审讯室,把他一个人留在那里。

红发男人再次回来时,身边多了一名身材娇小的金发女人。

两个人亮出证件。

他们来自:

美国联邦调查局。

接下来的几分钟里,两名探员的语气相当友好。

他们问 Hutchins 的教育经历,也问到他工作的网络安全公司——Kryptos Logic。

有那么几分钟,Hutchins 甚至允许自己相信:

也许他们只是想了解更多关于 WannaCry 的事情。

也许这种近乎强硬的做法,只是为了迫使自己配合 FBI 对那场震动全球的网络攻击展开调查。

直到审讯开始后的第 11 分钟。

其中一名探员问他:

有没有听说过一个叫 Kronos 的程序。

“Kronos。”

Hutchins 说。

“这个名字我知道。”

就在那一刻,一种麻木的感觉慢慢爬了上来。

他终于开始意识到:

自己这次大概真的回不了家了

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻


十四年前,在 Marcus Hutchins 还没有成为任何人眼里的英雄或恶棍之前,他的父母 Janet 和 Desmond 搬进了德文郡(Devon)偏远地区一座养牛场里的石头房子。

那里距离英格兰西海岸只有几分钟路程。

Janet 是一名护士,出生在苏格兰。

Desmond 来自牙买加,是一名社会工作者。他第一次遇见 Janet 时还是一名消防员——那是 1986 年,两人在一家夜总会里认识。

此前,他们住在布拉克内尔(Bracknell),一座距离伦敦约 30 英里的通勤小镇。

他们搬到这里,是想找一个地方,让两个儿子——9 岁的 Marcus 和 7 岁的弟弟——能够在比伦敦周边生活更加单纯的环境里长大。

最开始,农场给他们的,正是他们想要的那种田园生活。

两个男孩整天在牛群之间疯跑,看农场工人挤奶,看母牛产下小牛。

他们用剩下的木料搭树屋,做投石机(trebuchet),还会坐上把房子租给他们的农场主开的拖拉机。

Hutchins 是个聪明、快乐的孩子。

他愿意和别人交朋友,但性格坚忍,而且很“自持(self-contained)”——这是他父亲 Desmond 的说法。

他还有“一种非常强烈的是非观”。

有一次,Hutchins 玩耍时摔断了手腕,却一滴眼泪也没掉,他父亲说。

但后来,农场主不得不杀死一头瘸腿、脑部受损的小牛,那头小牛和 Hutchins 已经建立了感情。

Hutchins 哭得怎么也停不下来。

Hutchins 并不总能融入德文郡乡下的其他孩子。

他比其他男孩都高,而且没有英国男孩子通常都有的那种足球迷恋;相反,他开始更喜欢去离家几英里的地方,在冰冷的海水里冲浪。

他也是学校里仅有的几个混血孩子之一。

而且,他拒绝剪掉自己那头后来成了标志的蓬松卷发。

但最重要的是,真正让 Hutchins 和身边所有人区别开来的,是他对电脑那种近乎异乎寻常的着迷,以及惊人的上手能力。

从 6 岁开始,Hutchins 就看着母亲在家里的戴尔立式台式机上使用 Windows 95。

他的父亲经常很恼火地发现,他不是在拆家里的电脑,就是往里面塞各种奇怪的程序。

等一家人搬到德文郡时,Hutchins 已经开始对自己访问的网站背后那些看不懂的 HTML 字符产生兴趣。

他还开始用 Basic 编写最简单的“你好,世界(Hello world)”脚本。

很快,他开始把编程看成:

“一扇能够让你造出任何自己想要东西的大门。”

按他自己的说法,这比他和弟弟搭木头堡垒、做投石机还要刺激得多。

“没有任何限制。”

他说。

在学校的计算机课上,当同学们还在学习怎么使用文字处理软件时,Hutchins 已经无聊得痛苦不堪。

学校的电脑不允许他安装自己想玩的游戏,比如《反恐精英》和《使命召唤》,同时还限制他们能够访问的网站。

但 Hutchins 发现:

这些限制是可以靠编程绕过去的。

在 Microsoft Word 里,他发现了一个功能,可以让自己用一种叫 Visual Basic 的语言编写脚本。

利用这个脚本功能,他可以运行任何自己想运行的代码,甚至安装学校没有批准的软件。

他用这一招安装了一个代理(proxy),把自己的网络流量先绕到远方的一台服务器上,从而同时绕过了学校对网页访问的过滤和监控。

13 岁生日那天,在为了争夺家里那台越来越老旧的 Dell 电脑使用时间争了多年以后,Hutchins 的父母终于同意给他买一台属于自己的电脑。

更准确地说,是按照他的要求,把零件一个一个买回来,让他自己组装。

没过多久,Hutchins 的母亲说,电脑就变成了她儿子生活中一种:

“彻头彻尾的热爱。”

几乎压过了其他所有东西。

Hutchins 仍然冲浪。

他还开始参加一种叫海浪救生竞技(surf lifesaving)的运动,可以理解为一种竞技化的救生员运动。

他在这项运动上表现很好,后来甚至在全国级别的比赛中拿过几块奖牌。

但只要不在水里,他几乎都会坐在电脑前。

玩电子游戏。

或者连续几个小时打磨自己的编程技术。

Janet Hutchins 开始担心儿子对数字世界的痴迷。

她尤其害怕互联网那些更加阴暗的边缘地带,会对儿子产生什么影响。

她半开玩笑地把那种东西称作:

“互联网妖怪(internet boogeyman)”。

在她看来,Marcus 在英格兰乡村这种环境里长大,其实相当受保护,对外面的世界并没有多少经验。

于是,她试着给 Marcus 的电脑安装家长控制。

Marcus 的反应是:

在电脑启动时,用一个很简单的方法取得管理员权限,然后立刻把家长控制关掉。

她又试着通过家里的路由器限制他的互联网访问。

Marcus 找到了路由器上的硬件重置功能,把路由器恢复成出厂设置。

然后重新配置路由器。

结果反过来:

把他妈踢下了网。

Janet 说:

“那以后,我们认真谈了一次。”

她威胁说,要把整个家里的互联网连接彻底断掉。

最后,两个人达成了停战协议。

“我们说好,如果他恢复我的网络连接,我就换一种方式监督他。”

她说。

“但实际上,根本没有任何办法能监督 Marcus。”

“因为他比我们任何人最终能够达到的程度,都聪明得多。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻



很多母亲对于“互联网妖怪”的恐惧,其实都被夸大了。

Janet Hutchins 的没有。


拥有自己的电脑还不到一年,Hutchins 就开始探索一个初级黑客论坛。这个论坛专门讨论怎样在当时非常流行的即时通讯平台 MSN 上搞破坏。

在那里,他发现了一个由志趣相投的年轻黑客组成的社群,大家不停展示自己做出来的东西。

其中一个人吹嘘自己做出了一种 MSN 蠕虫,它会伪装成一张 JPEG 图片。

一旦有人打开它,这个恶意软件就会立刻、而且完全不被察觉地,把自己发送给受害者 MSN 联系人列表里的所有人。

其中一些人会上当,打开这张“照片”。

随后,程序又会向他们的所有联系人发送新一轮消息。

如此反复。

无限传播。

Hutchins 并不知道这条蠕虫到底是拿来干什么的——是用于网络犯罪,还是单纯只是一个带着垃圾信息性质的恶作剧。

但他被深深震住了。

“我当时就是,哇,原来编程还能做到这种东西。”

他说。

“我也想会做这种东西。”

大约 14 岁的时候,Hutchins 也在论坛上发布了自己的作品。

那是一个很简单的密码窃取器。

只要把它安装到别人的电脑上,它就能从 Internet Explorer 为了方便自动填充(autofill)而保存的数据中,提取受害者各个网站账户的密码。

这些密码是加密过的。

但 Hutchins 也已经找到了浏览器到底把解密密钥(decryption key)藏在哪里。

Hutchins 的第一款恶意软件,在论坛上得到了认可。

那他想象过,究竟会是谁的密码被自己这个程序偷走吗?

“其实没有。”

Hutchins 说。

“我只是觉得:‘这是我做出来的一个很酷的东西。’”



随着 Hutchins 的黑客生涯开始逐渐成形,他的学业却在不断恶化。

晚上从海边回来以后,他会直接钻进自己的房间,在电脑前吃饭,然后假装睡觉。

等父母检查过他的灯已经关了,也回自己房间睡觉以后,他又会重新坐回键盘前。

Janet 说:

“我们完全不知道,他会一直编程编到凌晨。”

第二天早上她去叫儿子起床时:

“他的样子会特别吓人。”

“因为他可能才睡了半个小时。”

有一阵子,Hutchins 的母亲实在搞不明白发生了什么,也担心得厉害,甚至带他去看医生。

最后医生给出的诊断是:

他只是一个严重缺觉的青少年。

Hutchins 大约 15 岁的时候,有一天来到学校,发现自己的网络账户突然被锁掉了。

几个小时以后,他被叫进学校一名管理人员的办公室。

那里的工作人员指控他对学校网络发动了一场网络攻击。

其中一台服务器被破坏得非常严重,最后只能整台更换。

Hutchins 强烈否认自己和这件事有任何关系,并要求学校拿出证据。

按他的说法,管理人员拒绝给他看。

但到了那个时候,Hutchins 因为不断绕过学校的各种安全措施,已经在学校 IT 员工中出了名。

即使到今天,他仍然坚持:

自己只是最方便拿来顶罪的替罪羊。

他母亲也认同这一点。

“Marcus 从来就不是一个会撒谎的人。”

她说。

“而且他其实挺爱炫耀的。”

“如果真是他干的,他一定会说是自己干的。”

Hutchins 被停学两个星期。

而且从此以后:

永久禁止使用学校里的电脑。

从那一刻开始,他的应对方式很简单:

尽可能少去学校。

他彻底变成夜行动物。

白天一直睡到很晚,经常直接逃课。

父母气得不行。

但除了那些被困在母亲车里的时候——比如妈妈开车送他去学校,或者带他去冲浪——他基本上都能躲开父母的训话和惩罚。

Hutchins 说:

“他们又不可能真的把我拖去学校。”

“我块头很大的。”



到 2009 年,Hutchins 一家已经离开农场,搬进了一栋由旧邮局改成的房子。

那是一个很小的村庄。

整个村子只有一家酒吧。

Marcus 住在楼梯最上方的一间房里。

他偶尔才会从卧室里出来一下。

用微波炉热一个冷冻披萨。

或者再给自己冲一杯速溶咖啡,好继续深夜编程。

但绝大多数时候,他都把卧室门紧紧关着,而且锁起来,把父母挡在外面。

与此同时,他越来越深入地进入一个秘密生活。

那个世界里:

没有父母的位置。

差不多也是这个时候,Hutchins 一直泡着的 MSN 论坛关闭了。

于是他转移到了另一个社群:

HackForums。

这里的成员,技术水平比之前那个论坛稍微高一点。

道德界线也稍微更加模糊一点。

那是一群《蝇王》(Lord of the Flies)式的年轻黑客。

他们不断用各种虚无主义式的入侵和利用行为互相炫耀,试图给其他人留下印象。

如果想在 HackForums 那帮人中获得最基本的尊重,最低门槛就是:

拥有一个自己的僵尸网络(botnet)。

所谓僵尸网络,就是由数百、甚至数千台感染恶意软件的电脑组成的一整套机器群。

这些电脑会听从某个黑客的命令。

黑客可以命令它们一起向竞争对手的网站服务器倾泻垃圾流量,把服务器淹没,让对方的网站彻底掉线。

这就是所谓的:

分布式拒绝服务攻击(DDoS)。

到了这时候,Hutchins 那个宁静、近乎田园诗般的英格兰小村庄生活,和他秘密进行的赛博朋克生活之间,已经完全没有交集。

现实世界里,没有任何东西能够给他提供及时的校准。

也没有任何人提醒他:

自己正在进入的地下世界里,那种不讲道德的氛围,并不是正常世界的规则。

于是,仍然只有 15 岁的 Hutchins,很快就在论坛上开始吹嘘:

自己控制着一个由 8,000 多台电脑组成的僵尸网络。

这些机器大多是通过一些很简单的假文件攻陷的。

Hutchins 把这些文件上传到 BitTorrent 网站。

然后诱骗毫无戒心的用户自己把它们运行起来。



Hutchins 甚至还搞起了一门更加有野心的生意。

他开始租服务器。

然后把网站托管服务按月卖给 HackForums 里的其他人。

Hutchins 把这门生意叫:

Gh0sthosting。

它甚至直接在 HackForums 上打广告,明确写着:

“允许所有非法网站。”

在另一篇帖子里,他还建议买家:

可以用他的服务来托管网络钓鱼页面。

也就是伪装成登录页面,用来偷受害者密码的网站。

有一个客户问:

能不能托管“warez”——也就是黑市盗版软件。

Hutchins 立刻回答:

“可以,什么网站都行,儿童色情除外。”

但是 Hutchins 说:

在当时那个青少年的脑子里,他依然认为自己做的这些事情,距离真正的网络犯罪还隔着好几层。

托管一些见不得光的服务器。

偷几个 Facebook 密码。

或者利用被劫持的电脑参加针对其他黑客的 DDoS 攻击。

这些事情怎么看,都不像是那种会真正引起执法机关注意的严重犯罪。

毕竟,Hutchins 又没有搞银行诈骗。

也没有真的从无辜的人手里偷钱。

至少:

他是这么告诉自己的。

他说,在自己那套不断变化、由自己定义的道德准则里:

金融诈骗这条红线——无论它本身多么武断——始终不能碰。

事实上,不到一年以后,Hutchins 就开始厌倦自己的僵尸网络。

他也开始厌倦网站托管业务。

因为那意味着要不断安抚一大群:

“爱抱怨的客户。”

于是,两样东西他都不干了。

他转而把注意力放到一件自己真正喜欢得多的事情上:

完善自己的恶意软件。


⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

很快,Hutchins 开始拆解其他黑客写的根套件(rootkit)——这类程序会修改计算机的操作系统,让自己变得几乎完全无法被发现。

他研究这些程序具备的各种功能,也学会了怎样把自己的代码藏进其他计算机进程里,让自己的文件从机器的文件目录中彻底消失。

有一次,Hutchins 发了一些示例代码,展示自己越来越强的技术。

另一名 HackForums 成员看了以后很感兴趣,于是请 Hutchins 帮忙写一个程序的一部分。

这个程序的用途,是检查某些特定的杀毒软件引擎能不能检测出黑客写的恶意软件。

换句话说,它是一种:

反杀毒检测工具。

完成这项工作后,Hutchins 收到了 200 美元报酬。

对方通过一种早期数字货币 Liberty Reserve 付款。

同一个客户随后又找到 Hutchins,开价 800 美元,想买他写过的一个:

表单抓取器。

这是一个根套件,可以在用户毫无察觉的情况下,偷走他们输入网页表单中的密码和其他数据,然后把这些信息发送给黑客。

Hutchins 很高兴地接受了这笔交易。

他开始逐渐获得一种名声:

一个很有天赋的恶意软件代写者(malware ghostwriter)。

然后,在 Hutchins 16 岁那年,一个更严肃的客户找到了他。

这个人后来一直用一个化名:

Vinny。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Vinny 给 Hutchins 提了一个条件。

他想要一套功能丰富、有人持续维护的根套件,然后拿到比 HackForums 专业得多的黑客市场上出售。

比如:

Exploit.in

以及:

Dark0de。

而且,他不打算一次性付钱买代码。

相反,他会把每一份软件销售利润的一半分给 Hutchins。

他们准备把这个产品叫做:

UPAS Kit。

名字来自爪哇的见血封喉树(upas tree)。

这种树的有毒汁液,传统上曾在东南亚被用来制作毒镖和毒箭。

Vinny 和 Hutchins 过去在黑客地下世界里遇到的那些吹牛者和冒牌货不太一样。

他显得更加专业,也更加谨慎。

即便双方聊天越来越频繁,Vinny 也从来没有透露过任何一点自己的真实个人信息。

Hutchins 说,两个人也都非常小心,从来不保存双方的聊天记录。

因此,《连线》没有他们互动的任何原始记录,只能依据 Hutchins 对这些对话的回忆。

Hutchins 说,自己当时一直很注意隐藏在网上的活动轨迹。

他的互联网连接会经过多个代理服务器(proxy server),再绕过一些位于东欧、已经被攻陷的电脑。

这样做的目的,是让任何试图追踪他的调查人员都难以搞清楚真正的来源。

但对于 Vinny,Hutchins 在保护自己现实生活信息方面远没有这么谨慎。

有一次聊天时,Hutchins 向这个生意伙伴抱怨:

自己住在英格兰乡下一个很偏僻的村子里,根本找不到质量好的DA MA。

Vinny 回答:

他可以从一个刚刚出现的电子商务网站上买一些,然后寄给 Hutchins。

那个网站叫:

丝绸之路(Silk Road)。



那是 2011 年。

丝绸之路还处在早期阶段。

这个后来臭名昭著的暗网毒品市场,当时基本只有互联网地下圈子里的人知道。

普通大众还没有真正发现它。

Hutchins 自己甚至觉得:

这玩意肯定是骗局。

他记得自己当时给 Vinny 发了一句:

“扯淡。”

然后又说:

“证明给我看。”

于是 Vinny 向 Hutchins 要了他的地址。

还要了他的出生日期。

Vinny 说:

想给他寄一份生日礼物。

就在一个后来让 Hutchins 后悔不已的瞬间,他把这两样东西都告诉了 Vinny。

Hutchins 17 岁生日那天,一个包裹寄到了父母家。

打开以后,里面是一堆:

DA MA。

致幻蘑菇。

还有**(ecstasy)。

全都来自这个身份神秘的新合作伙伴。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻



Hutchins 花了将近九个月才写完 UPAS Kit。

2012 年夏天,这套根套件正式开始出售。

Hutchins 没有问 Vinny:

到底是什么人在买。

他主要只是觉得很高兴。

自己终于从一个在 HackForums 上炫耀技术的小孩,升级成了一个真正的职业程序员。

他的作品有人想要。

也有人欣赏。

钱当然也很不错。

Vinny 开始把 UPAS Kit 销售产生的佣金不断打给 Hutchins。

每次都是几千美元。

而且永远用:

比特币(bitcoin)支付。

这是 Hutchins 第一次真正拥有可以随便花的钱。

他升级了电脑。

买了一台 Xbox。

给自己的房间添了一套新的音响系统。

还开始尝试做比特币的日内交易(day trading)。

到这个时候,他已经彻底退学。

冲浪救生教练退休后,他也不再继续那项运动。

Hutchins 告诉父母:

自己正在做一些自由职业编程项目。

这个解释似乎足以让他们放心。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

UPAS Kit 成功以后,Vinny 告诉 Hutchins:

现在该做 UPAS Kit 2.0 了。

他希望新版本加入一些新功能。

包括:

能够记录受害者每一次键盘输入的键盘记录器(keylogger)。

能够直接看到受害者整个屏幕。

而最重要的一项,是能够把假的文字输入框以及其他内容,直接插进受害者正在浏览的网页。

这种技术叫:

网页注入(web inject)。

Vinny 还补充了一件事。

他知道 Hutchins 的真实身份。

也知道 Hutchins 的地址。

如果两人的合作关系结束,也许他会把这些信息告诉 FBI。

Hutchins 说,尤其是最后这项要求,让他产生了非常强烈的不安。

因为在他的理解里:

网页注入有一个非常明确的用途。

银行诈骗。

大多数银行在进行转账时,都会要求进行第二重身份验证(second factor of authentication)。

比如说,银行会向用户手机发送一个验证码,然后要求用户在网页里输入,以再次确认身份。

网页注入可以通过一种障眼法绕过这种安全措施。

黑客先从受害者账户发起一笔银行转账。

然后,当银行要求黑客提供验证码时,黑客会在受害者电脑屏幕上注入一条假的消息。

这条消息会告诉受害者:

系统需要进行一次普通的身份重新确认,请输入手机短信里收到的验证码。

受害者把验证码输进去。

黑客拿到验证码以后,再把它提交给银行。

于是银行确认转账。

钱就这样从受害者账户里被转走。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

短短几年里,Hutchins 已经在网络犯罪那条黑暗隧道中往前走了太多小步。

以至于他经常根本没有意识到:

自己到底跨过了哪些界线。

但 Hutchins 说,在这次和 Vinny 的即时通讯(IM)里,他终于非常清楚地看见:

对方正在要求自己做一件真正错误的事情。

这一次,他将毫无疑问地帮助小偷偷走无辜受害者的钱。

而一旦真正参与金融网络犯罪,他也会以一种过去从未有过的方式,引来执法部门的注意。

在此之前,Hutchins 还可以骗自己说:

自己的程序也许只是被拿去偷 Facebook 账户。

或者被用来组建僵尸网络,在别人的电脑上挖加密货币。

他说:

“以前我从来都不能确定,我的代码到底被拿去做了什么。”

“但是现在已经非常明显了。”

“这会被拿去偷别人的钱。”

“会被拿去把别人的积蓄全部掏空。”

Hutchins 说,他拒绝了 Vinny 的要求。

他记得自己当时写了一句:

“我他妈才不会写银行木马(banking trojan)。”

Vinny 仍然坚持。

而且他又提醒了一遍。

在 Hutchins 听来,那句话一半像玩笑,一半像威胁:

Vinny 知道他的真实身份。

也知道他的地址。

如果双方的合作关系结束:

也许他会把这些信息交给 FBI。

Hutchins 回忆说:

自己当时既害怕,又对自己非常生气。

他居然这么天真,把能够确认自己身份的信息交给了一个现在逐渐显露出冷酷犯罪分子本色的合作伙伴。

但 Hutchins 没有让步。

他威胁说:

自己可以直接退出。

Vinny 知道自己需要 Hutchins 的编程技术,于是似乎终于退了一步。

两个人达成协议:

Hutchins 会继续开发新版 UPAS Kit。

但是:

不做网页注入。

接下来是下一段:从 Hutchins 一边上社区学院、一边开发新版 UPAS Kit 开始,到 Kronos 正式命名并上线销售。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

接下来的几个月里,Hutchins 一边开发这套新一代根套件(rootkit),一边开始去当地一所社区学院上课。

他和其中一位计算机科学教授关系很好。

让 Hutchins 自己都有些意外的是:

他开始真的想把学业完成。

但一边上学,一边开发、维护 Vinny 的恶意软件,很快把他压得喘不过气。

Vinny 现在越来越不耐烦。

他急着让新版根套件尽快完成。

于是不断给 Hutchins 发消息。

不停追问进度。

为了撑下去,Hutchins 又重新找到了丝绸之路。

他开始在暗网上购买**(amphetamine)。

用它替代以前那些为了熬夜写代码而不停灌下去的咖啡。

经过九个月又一个通宵接着一个通宵的编程之后:

第二版 UPAS Kit 终于完成。

可是,Hutchins 刚刚把最终代码交给 Vinny,Vinny 就告诉了他一件完全出乎意料的事。

Vinny 一直在背着他,偷偷雇另外一个程序员。

那个人负责写:

Hutchins 坚决拒绝开发的网页注入(web inject)功能。

现在,只要把两个程序员写的东西合在一起:

Vinny 已经拥有了制造一款完整银行木马(banking trojan)所需要的一切。

Hutchins 说:

自己当时气得几乎说不出话。

但他很快意识到:

自己对 Vinny 已经几乎没有任何制约手段。

恶意软件已经写出来了。

而且其中绝大多数:

就是 Hutchins 自己写的。

就在这一刻,多年以来 Hutchins 一直选择忽略的所有道德担忧,以及可能受到惩罚的恐惧,突然一下全部追了上来。

一种极其清醒、冰冷的现实感猛地压住了他。

他记得自己当时想:

“这件事已经没有办法脱身了。”

“总有一天,FBI 会带着逮捕令出现在我家门口。”

“而这一切,都是因为我相信了这个混蛋。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

但是:

不管 Hutchins 已经被 Vinny 拉进去多深,他仍然还有选择。

Vinny 现在希望他:

把另一个程序员写好的网页注入功能整合进他们的恶意软件。

然后测试整个根套件。

等产品发布以后,再继续负责维护和升级。

Hutchins 说:

他本能地知道,自己现在应该做的事情只有一个。

直接退出。

从此再也不要和 Vinny 联系。

但按照 Hutchins 的说法,Vinny 显然早就为这次谈话做好了准备。

他给 Hutchins 摆出了一套逻辑。

Hutchins 已经在这个项目里投入了将近九个月。

事实上:

他已经基本做出了一套银行根套件。

不管 Hutchins 愿不愿意,它最终都会被卖给客户。

而且还有一件事:

Hutchins 一直是按销售额拿佣金。

如果现在退出:

他将一分钱都拿不到。

风险已经全部承担了。

自己已经卷进这个犯罪里,卷得足够深。

但最后:

却拿不到任何回报。

Hutchins 承认:

尽管他非常愤怒,因为自己落进了 Vinny 设计好的陷阱里,但这套说法最终还是说服了他。

于是,他又给自己青少年时期那条由错误决定组成的漫长链条,加上了新的一环。

他同意:

继续替 Vinny 代写银行恶意软件。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Hutchins 开始工作。

他把网页注入功能一点点接进自己的根套件里。

然后在正式发布之前,对整个程序进行测试。

但到了现在:

他曾经对编程的那种热爱已经消失了。

他会尽可能拖延。

能不写就不写。

一直拖到再也拖不下去以后,才一头扎进去,连续写上一整天代码。

靠**压过自己的恐惧和罪恶感。

2014 年 6 月:

这套根套件终于完成。

Vinny 开始在网络犯罪市场:

Exploit.in

和:

Dark0de

上出售他们的作品。

后来,他又把软件放到了:

AlphaBay。

这是一个暗网市场。

在 FBI 把最初的丝绸之路暗网市场端掉以后,AlphaBay 逐渐取代了它的位置。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

和一些觉得自己受骗的客户发生争吵以后,Vinny 决定重新做品牌。

他不再使用 UPAS 这个名字。

取而代之的是:

一个新名字。

这个名字是在玩一个典故。

灵感来自网络犯罪历史上最臭名昭著的银行木马之一:

宙斯(Zeus)。

Vinny 给自己的恶意软件取了希腊神话里一名残暴巨人的名字。

那个巨人是宙斯的父亲。

也是奥林匹斯山(Mount Olympus)众神中其他那些充满复仇欲望的神祇的父亲。

Vinny 把它叫做:

Kronos。

Kronos 上线之后

Hutchins 19 岁时,一家人又搬了一次。

这一次,他们搬进了德文郡另一处地方——伊尔弗勒科姆(Ilfracombe)。那是一座维多利亚时代的海滨度假小镇。

新家是一栋建于 18 世纪的四层建筑。

Hutchins 住进了地下室。

那里有一间自己的浴室,还有一个过去供这栋房子里的佣人使用的厨房。

这样的布局,让他可以比以前更加彻底地把自己和家人、以及外面的世界隔离开。

他比过去任何时候都更加孤独。

Kronos 在 Exploit.in 上线以后,成绩只能算一般。

那个网站上的黑客大多来自俄罗斯。

他们对 Vinny 持怀疑态度。

Vinny 不会说俄语。

而且他给这款木马定了一个很高的价格:

7,000 美元。

和任何一款新软件一样,Kronos 也存在漏洞,需要不断修复。

客户持续要求更新。

还要求增加新功能。

于是,接下来整整一年里,Hutchins 都被迫不停写代码。

现在不仅有严格的截止日期。

还有一群越来越愤怒的买家,逼着他准时把东西做出来。

与此同时,他还在努力完成社区学院最后一年的课程。

为了同时应付这两件事,Hutchins 大幅增加了**的摄入量。

他会服用足够多的兴奋剂,让自己进入一种他称作:

欣快状态(euphoria)。

他说:

只有进入这种状态,他才能继续享受编程。

也只有这样,才能暂时压住心里那种越来越强烈的恐惧。

“每次听见警笛,我都会觉得他们是来抓我的。”

他说。

为了把这种念头压下去,他会继续吃更多兴奋剂。

连续几天不睡。

一边学习。

一边写代码。

然后整个人从这种高亢状态里重重摔下来。

陷入焦虑和抑郁。

最后一次睡上整整 24 个小时。

这种在近乎躁狂的高峰和痛苦低谷之间不断来回弹射的生活,逐渐严重影响了 Hutchins 的判断力。

最明显的一次,就是他和另一个网络朋友之间的来往。

Hutchins 把这个人称作:

Randy。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Kronos 发布以后,Hutchins 在一个叫 TrojanForge 的黑客论坛上认识了 Randy。

Randy 一开始问 Hutchins:

愿不愿意替他写银行恶意软件。

Hutchins 拒绝了。

于是 Randy 换了一个要求。

他说自己正在尝试推出一些企业软件和教育应用,希望把它们做成合法生意,问 Hutchins 愿不愿意帮忙。

Hutchins 看见了一个机会。

他可以用这些合法收入,把自己非法赚来的钱包装得更干净一些。

于是答应了。

Randy 很快证明自己是一个非常慷慨的金主。

有一次,Hutchins 告诉他:

自己没有运行 MacOS 的电脑,所以没法开发 Apple 应用。

Randy 向他要了地址。

而 Hutchins——再一次——把自己的地址给了出去。

没多久:

一台全新的 iMac 台式机寄到了他家。

是礼物。

后来 Randy 又问:

Hutchins 有没有 PlayStation。

这样两个人可以一起联网打游戏。

Hutchins 说没有。

于是:

Randy 又给他寄了一台新的 PS4。

和 Vinny 不一样,Randy 对自己的私人生活非常开放。

随着两个人越来越熟,他们开始直接打电话。

甚至进行视频聊天。

而不是像 Hutchins 过去习惯的那样,只通过没有面孔的即时通讯软件交流。

Randy 还通过另一件事给 Hutchins 留下了很深的印象。

他会谈自己的慈善目标。

他说:

自己正在把赚来的钱用于资助一些慈善项目。

比如:

给孩子提供免费的编程教育。

Hutchins 能感觉到:

Randy 很多利润其实来自网络犯罪。

但他逐渐开始把 Randy 看成一种:

罗宾汉式人物(Robin Hood-like figure)。

甚至把他当成一个自己未来也希望成为的榜样。

Randy 还透露:

自己住在洛杉矶。

在 Hutchins 想象里,那是一个阳光充足的天堂。

也是他一直梦想生活的地方。

有些时候,两个人甚至会讨论:

未来搬到一起住。

在南加州海边租一栋房子。

然后从家里经营一家创业公司。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Randy 非常信任 Hutchins。

有一次,Hutchins 向他讲自己做比特币日内交易的一些技巧。

Randy 随后给了他:

价值超过 10,000 美元的比特币。

让 Hutchins 帮自己操作。

Hutchins 自己写了一些程序。

这些程序会在买入比特币的同时进行做空,用这种方式进行对冲,降低比特币剧烈价格波动带来的风险。

Randy 希望 Hutchins 用同样的方法替自己管理资金。

2015 年夏天的一个早晨。

Hutchins 在连续服用**、熬夜以后醒来。

他发现:

夜里停过电。

所有电脑都关机了。

而就在断电期间:

比特币价格暴跌。

Randy 的资金损失了接近:

5,000 美元。

Hutchins 当时还处在那套剧烈用药周期的低谷。

他彻底慌了。

他说:

自己很快在网上找到 Randy,并立刻承认把对方的钱亏掉了。

但为了弥补这笔损失,Hutchins 向 Randy 提出了一个条件。

他第一次揭露了一个秘密:

自己就是一款叫 Kronos 的银行根套件的真正作者。

Hutchins 知道 Randy 过去一直在寻找银行诈骗恶意软件。

于是他提出:

免费送 Randy 一份。

Randy 一如既往地表示理解。

他说:

那这笔账就算两清了。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

这是 Hutchins 第一次向任何人透露:

自己参与过 Kronos。

第二天醒来以后,脑子稍微清醒了一些。

Hutchins 马上意识到:

自己刚刚犯了一个极其严重的错误。

他坐在卧室里,开始回想过去几个月里,Randy 那么随意地告诉过自己多少个人信息。

然后他意识到:

自己刚刚把人生中最危险的秘密,告诉了一个行动安全(operational security)做得非常差的人。

Randy 迟早会被执法部门抓住。

而一旦警察找到他:

他很可能也会像面对 Hutchins 一样,什么都说。

到了这个阶段,Hutchins 早就把自己最终因为网络犯罪被捕这件事,当成一种不可避免的命运。

但现在:

他甚至已经能够清楚地看见,联邦探员会沿着哪条路,一路找到自己家门口。

Hutchins 心想:

“操。”

然后:

“原来最后是这么结束的。”

戒掉**之后

2015 年春天,Hutchins 从社区学院毕业。

他觉得:

是时候把**戒掉了。

于是,他决定直接停掉——彻底停药(quit cold turkey)。

最开始,戒断反应只是让他陷入一种熟悉的抑郁低谷。

这种状态,他以前已经经历过很多次。

但几天后的一个晚上,他独自待在房间里,看英国青少年电视剧《滑铁卢路》(Waterloo Road)。

就在这时,一种黑暗的感觉开始慢慢爬上来。

Hutchins 把它形容成一种彻底笼罩全身的:

“大难临头感(impending doom)”。

从理智上说,他很清楚自己并没有面临任何身体上的危险。

但他说:

“我的大脑一直在告诉我:我马上就要死了。”

他没有把这件事告诉任何人。

只是一个人硬扛着整个戒断过程。

按他的说法:

那就像一次持续了好几天的恐慌发作。

Vinny 不断追问:

为什么 Kronos 的工作又落后了。

Hutchins 说,他发现告诉 Vinny:

自己还在忙学校的事,

要比承认自己已经掉进一个严重焦虑、几乎什么都做不了的状态里容易得多。

但随着症状持续下去,接下来的几个星期里,他的工作效率变得越来越低。

奇怪的是:

那个过去一直让他觉得很有威胁感的生意伙伴,反而没有再怎么逼他。

Vinny 训了他几次以后,就不再管了。

Kronos 销售佣金带来的比特币付款也停止了。

随着这些付款一起结束的:

还有那段曾经把 Hutchins 拉进他人生最黑暗网络犯罪岁月里的合作关系。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

接下来的几个月,Hutchins 几乎什么都没做。

他只是躲在自己的房间里,慢慢恢复。

玩电子游戏。

一口气看《绝命毒师》(Breaking Bad)。

他很少离开家。

偶尔会去海里游泳。

或者和一群追逐风暴的人一起,去伊尔弗勒科姆附近的悬崖上,看 50 到 60 英尺高的巨浪砸向岩石。

Hutchins 记得:

他很喜欢那种巨浪让自己显得极其渺小的感觉。

他会想象:

这种纯粹的力量,可以在一瞬间杀死自己。

那种“大难临头”的感觉,花了几个月才逐渐减弱。

但就算它退去,也没有真正消失。

取而代之的是:

一种时不时冒出来、而且已经深深扎进心里的焦虑。

等自己的状态逐渐平稳以后,Hutchins 开始重新进入黑客世界。

但他已经失去了对网络犯罪地下圈子的兴趣。

相反,他重新捡起了自己在 2013 年创建的一个博客。

那是在他从中学退学、进入社区学院之间的那段时间里开的。

这个网站叫:

MalwareTech

同时,这也成了 Hutchins 使用的网络笔名。

他开始大量发布文章。

内容都是恶意软件各种非常细节、非常技术性的东西。

这个博客冷静、客观、近乎临床式的分析风格,很快同时吸引了:

黑帽黑客(blackhat)

和:

白帽黑客(whitehat)

来读。

Hutchins 说:

“它有点像一个中立地带。”

“游戏两边的人都喜欢。”



有一次,他甚至写了一篇非常深入的文章,分析:

网页注入(web inject)。

恰恰就是 Kronos 中那个曾经让他极度焦虑的功能。

还有一些更调皮的文章里,他会指出其他恶意软件中的漏洞。

这些漏洞甚至可以让受害者的电脑,被其他黑客反过来接管。

很快:

他的固定读者超过了 10,000 人。

但似乎没有任何人知道:

MalwareTech 对恶意软件如此深入的理解,其实来自一个事实——

他自己曾经真正写过恶意软件。

在离开 Kronos、逐渐恢复的那一年里,Hutchins 开始对野外传播的一些大型僵尸网络进行逆向工程。

其中包括:

Kelihos

以及:

Necurs。

但很快,他又往前走了一步。

Hutchins 意识到:

自己不只是可以在外面研究这些被劫持的电脑群。

他甚至可以:

直接加入进去。

从内部观察它们。

然后把看到的东西写给博客读者。

比如 Kelihos。

这个僵尸网络并不是通过一台中央服务器向所有感染电脑发命令。

而是让命令从一台受害者电脑传给另一台。

这种结构叫:

点对点架构。

目的就是:

让整个僵尸网络更加难以被摧毁。

但这也意味着:

Hutchins 可以自己写一个程序。

模仿 Kelihos 恶意软件。

让这个程序“说”Kelihos 使用的语言。

然后利用它:

监视整个僵尸网络的其他活动。

当然,前提是他必须先突破僵尸网络开发者为了阻止这种窥探而加入的各种:

代码混淆(obfuscation)。

⸻⸻⸻⸻⸻⸻⸻⸻

利用源源不断得到的这些情报,Hutchins 做出了一个 Kelihos:

僵尸网络追踪器(botnet tracker)。

他把 Kelihos 控制的全球数十万台电脑,直接画到了一个公开网站的地图上。

没过多久,一名叫 Salim Neino 的创业者给 MalwareTech 发了一封邮件。

Neino 是洛杉矶一家小型网络安全公司:

Kryptos Logic

的首席执行官。

他问这个匿名博客作者:

愿不愿意替他们做点工作。

Kryptos Logic 想开发一套:

僵尸网络追踪服务。

如果某个受害者的 IP 地址出现在 Kelihos 这类被攻陷的电脑群中,系统就可以向对方发出警告。

实际上,公司此前已经让自己的一名员工尝试进入 Kelihos。

但那名员工告诉 Neino:

要逆向这套代码,需要花太长时间。

而 Hutchins 自己甚至都没有意识到:

他已经把互联网上最难搞懂的僵尸网络之一彻底拆开了。

Neino 给 Hutchins 开出:

10,000 美元。

让他替 Kryptos Logic 开发一套自己的 Kelihos 追踪器。

接下这第一份工作以后还不到几个星期:

Hutchins 又做出了一套针对第二个僵尸网络的追踪器。

而这个僵尸网络:

比 Kelihos 更大。

也更老。

它叫:

Sality。

随后,Kryptos Logic 直接给 Hutchins 发出了一份工作邀请。

年薪:

六位数美元。

Hutchins 看到具体数字时,第一反应是:

Neino 肯定在开玩笑。

他记得自己当时想:

“什么?”

“你们每个月真的要给我这么多钱?”

这比他过去作为网络犯罪恶意软件开发者时,赚过的任何收入都要高。

Hutchins 终于——虽然已经有点晚——理解了现代网络安全行业的一个现实:

对于生活在西方国家、真正有技术的黑客来说,犯罪真的不划算。

进入 Kryptos Logic 的最初几个月里,Hutchins 一个接一个钻进大型僵尸网络内部。

Necurs。

Dridex。

Emotet。

这些恶意软件网络加起来,控制着数百万台电脑。

即便 Kryptos Logic 的同事认为某个僵尸网络根本不可能突破,Hutchins 也经常会突然拿出一份新的恶意软件代码样本。

有时,是博客读者发给他的。

有时,则来自地下渠道。

一次又一次,他会把程序彻底拆开。

然后——仍然坐在伊尔弗勒科姆家里的卧室里——让公司能够进入又一批被控制的“僵尸电脑”。

他们可以借此追踪恶意软件的传播。

并提醒那些已经遭到感染的受害者。

Neino 说:

“说到僵尸网络研究,当时他很可能已经是全世界最厉害的人之一。”

“到了第三或者第四个月,在他的帮助下,我们已经追踪了全世界所有主要的僵尸网络。”

“他把我们带到了另一个层级。”

Hutchins 继续在自己的 MalwareTech 博客和 Twitter 上详细记录工作。

在那里,他逐渐被视为一名顶级的恶意软件专家。

前 NSA 黑客、后来转做安全顾问的 Jake Williams,那段时间会和 MalwareTech 聊天,也会和他交换恶意软件代码样本。

Williams 说:

“说到底,他就是个逆向工程天才(reversing savant)。”

“单看原始技术能力,他完全超出常规尺度。”

“他能和我在任何地方合作过的最顶尖那批人相比。”

但除了 Kryptos Logic 的同事和少数亲近朋友,没有人知道 MalwareTech 的真实身份。

他那数以万计的关注者里,包括 Williams 在内,绝大多数人只认识一个形象:

一只戴着墨镜的波斯猫。

那是 Hutchins 的 Twitter 头像。

⸻⸻⸻⸻⸻⸻⸻


2016 年秋天,一种新型僵尸网络出现。

一种叫做 Mirai 的恶意软件开始感染所谓的物联网设备(internet-of-things devices)。

无线网络路由器。

数字录像机。

安全摄像头。

Mirai 把这些设备连接成规模巨大的集群。

而这些集群能够发动威力惊人的 DDoS 攻击。

在此之前,人们见过的最大 DDoS 攻击,流量也不过每秒几百GB。

现在,受害者开始遭遇接近:

每秒 1 TB。

这是一种规模夸张的垃圾流量洪水。

足以把路径上的任何东西直接冲下线。

更糟糕的是:

Mirai 的作者,一个自称 Anna-Senpai 的黑客,把恶意软件代码直接发布到了 HackForums。

等于邀请其他人:

自己制作各种 Mirai 变种。

那年 9 月,一场 Mirai 攻击打向网络安全博客作者 Brian Krebs 的网站。

攻击流量超过:

每秒 600 GB。

网站瞬间下线。

不久之后,法国托管公司 OVH 遭遇了:

每秒 1.1 TB

的流量洪水。

到了 10 月,又一轮攻击击中了 Dyn。

Dyn 是一家提供域名系统服务器(domain-name-system servers)的公司。

这种服务器可以理解为互联网的电话簿:

把域名转换成 IP 地址。

Dyn 一倒下:

Amazon。

**。

Netflix。

PayPal。

Reddit。

在北美和欧洲部分地区的用户那里,也跟着无法访问。

差不多同一时期,一场 Mirai 攻击击中了利比里亚主要的电信运营商。

导致这个国家大部分地区几乎从互联网掉线。



Hutchins 一向喜欢“追风暴”。

于是,他开始追踪 Mirai 制造出来的这些海啸。

他和 Kryptos Logic 的一名同事找到 Mirai 的代码样本。

然后利用这些样本,写出可以潜入不同 Mirai 僵尸网络的程序。

这些程序能够拦截僵尸网络发出的命令。

他们还做了一个 Twitter 信息流:

实时发布 Mirai 正在发动哪些攻击。

然后到了 2017 年 1 月。

此前攻击过利比里亚的同一个 Mirai 僵尸网络,开始向英国最大银行 Lloyds 倾泻网络攻击。

看起来,这是一场勒索行动。

连续几天里,银行网站多次被打瘫。

借助自己的 Mirai 追踪器,Hutchins 能看见:

到底是哪台服务器在下命令,让整个僵尸网络把火力集中到 Lloyds 身上。

看起来,那台机器被用来运营一种:

DDoS 租用服务(DDoS-for-hire service)。

而且在那台服务器上,他还找到了管理它的黑客的联系方式。

Hutchins 很快就在即时通讯服务 Jabber 上找到了那个人。

对方使用的名字是:

“popopret”。

于是 Hutchins 直接去找他。

要求他停手。

他告诉 popopret:

自己知道,对方本人并不是直接攻击 Lloyds 的人。

他只是把自己 Mirai 僵尸网络的使用权卖给别人。

随后 Hutchins 给他发了一串消息。

里面附着 Lloyds 客户在 Twitter 上发的帖子。

这些人因为银行系统瘫痪,无法进入自己的账户。

其中有人甚至被困在国外,拿不到钱。

Hutchins 还提醒 popopret:

银行在英国属于:

关键基础设施(critical infrastructure)。

这意味着:

如果攻击继续,英国情报机构很可能会认真追查这个僵尸网络管理员。

然后:

针对银行的 DDoS 攻击停了。

一年多以后,Hutchins 在 Twitter 上重新讲起这件事。

他说:

自己并不意外那个黑客最终愿意听道理。

而在这些推文里,Hutchins 极少见地透露了一点自己秘密过去的影子。

因为他很清楚:

坐在键盘后面,和互联网上遥远地方那些无辜的人所承受的痛苦完全隔绝,是一种什么感觉。

他写道:

“在我的职业生涯里,我发现真正邪恶的人其实很少。”

“大多数人,只是和自己行为造成的后果隔得太远。”

“直到有人重新把他们连接起来。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

2017 年 5 月 12 日中午左右,就在 Hutchins 难得开始休假的那一周,距离他大约 200 英里以东,Henry Jones 正坐在皇家伦敦医院(Royal London Hospital)的一间行政办公室里。

这是伦敦东北部一家大型外科和创伤中心。

Jones 是一名年轻的麻醉医生。他要求《连线》不要使用自己的真实姓名。

当时,他刚吃完从医院食堂买来的咖喱鸡和薯条,正想在重新被叫进手术室以前查一下邮件。他当天正在和一位资历更深的同事轮换班次。

但他登录不上去。

邮件系统似乎宕机了。

房间里的其他医生也抱怨了几句。

在英国国民医疗服务体系(National Health Service,NHS)里,电脑出问题并不罕见。

毕竟,他们用的电脑甚至还运行着 Windows XP——一个已经接近 20 年历史的操作系统。

Jones 当时只是想:

“皇家伦敦医院普通的一天。”

但就在这时,一名 IT 管理员走进房间,告诉大家:

这次似乎不是普通故障。

一种病毒正在整个医院网络里传播。

房间里有一台电脑已经重新启动。

Jones 看过去。

屏幕变成了红色。

左上角有一把锁。

上面写着:

“Ooops,你的文件已经被加密!”

屏幕底部还要求:

支付价值 300 美元的比特币。

付款以后,机器才能解锁。

Jones 还没来得及仔细研究这条信息,就再次被叫回手术室。

他刷手。

戴上口罩和手套。

重新进入手术间。

外科医生刚刚完成一台骨科手术。

接下来轮到 Jones:

让病人重新醒来。

他开始缓慢旋转一个旋钮,逐渐降低输入患者肺部的七氟烷麻醉蒸汽。

时间必须掌握得非常精确。

不能让病人在拔掉呼吸管以前就醒过来。

也不能让病人继续昏迷太久,耽误下一台手术。

就在他专注做这件事时,他听见周围的外科医生和护士开始不安地抱怨。

他们想把手术结果录入系统。

但手术室里的台式电脑似乎已经彻底死机。

Jones 完成病人的苏醒,然后离开手术室。

但他刚走进走廊,手术区经理就把他拦住了。

经理告诉他:

当天剩下的所有手术,全部取消。

网络攻击不只是击中了这家医院。

而是击中了整个医院信托体系。

也就是东伦敦五家医院组成的系统。

所有电脑:

全部瘫痪。

Jones 既震惊,又隐隐有些愤怒。

这是不是一次针对多家 NHS 医院的协调网络攻击?

既然已经没有病人可以处理,他接下来的几个小时几乎无事可做。

于是,他帮 IT 员工在皇家伦敦医院里到处拔掉电脑的网络连接。

直到他开始用 iPhone 看新闻,才终于意识到事情的真正规模。

这不是一次针对医院的定向攻击。

而是一条正在整个互联网自动传播的:

蠕虫。

短短几个小时内:

超过 600 家诊所和医疗机构受到影响。

导致:

20,000 个预约被取消。

几十家医院里的电脑被摧毁。

各地都在取消手术。

救护车被迫绕开已经无法接诊的急诊室。

有些情况下,患有危及生命疾病的病人不得不多等至关重要的几分钟,甚至几个小时,才能接受治疗。

Jones 得出了一个令人不寒而栗的结论:

“可能真的有人因为这件事死掉了。”



网络安全研究人员把这条蠕虫命名为:

WannaCry。

名字来自它在加密文件以后添加的 .wncry 扩展名。

WannaCry 一边让电脑瘫痪,并要求支付比特币赎金,一边利用一段极其强大的代码,在不同机器之间不断跳跃传播。

那段代码叫:

永恒之蓝(EternalBlue)。

它原本属于美国国家安全局(National Security Agency,NSA)。

后来,被一个叫做影子经纪人(Shadow Brokers)的黑客组织窃取。

就在一个月前,他们把 EternalBlue 泄露到了公开互联网。

这段代码可以让黑客瞬间攻入任何没有安装补丁的 Windows 电脑,并在上面运行恶意代码。

潜在目标:

很可能有数百万台。

而现在,NSA 那套高度先进的间谍工具已经被彻底武器化。

看起来,一场全球性的勒索软件(ransomware)大流行,几乎会在几个小时内形成。

当时一名在英国电信(British Telecom)工作的网络安全分析师,负责处理 NHS 的事件响应。

他说:

“那就像在网络世界里,看着一场车祸发生前的那几秒钟。”

“我们知道,从它会给人们生活带来的影响来看,这将是我们从未见过的东西。”

⸻⸻⸻⸻⸻⸻⸻⸻

随着蠕虫在全球传播,它感染了:

德国铁路公司 Deutsche Bahn。

俄罗斯的 Sberbank。

汽车制造商 Renault、Nissan 和 Honda。

中国的大学。

印度的警察部门。

西班牙电信公司 Telefónica。

FedEx。

还有 Boeing。

仅仅一个下午,据一些估算:

接近 25 万台电脑的数据遭到破坏。

造成的经济损失:

大约 40 亿到 80 亿美元。

WannaCry 看起来马上就要进入美国医疗体系。

当时,网络安全研究员 Josh Corman 心里想:

“如果这种事情大规模发生,会死多少人?”

“我们最严重的噩梦,好像真的要发生了。”

那时 Corman 是大西洋理事会(Atlantic Council)一名专注网络安全的研究员。

5 月 12 日下午,他参加了一通电话会议。

参加者包括:

美国国土安全部(Department of Homeland Security)。

美国卫生与公众服务部(Department of Health and Human Services)。

制药公司 Merck。

以及美国医院的管理人员。

这个小组叫:

医疗网络安全行业工作组(Healthcare Cybersecurity Industry Taskforce)。

他们刚刚完成一份分析。

结论是:

美国医院严重缺乏 IT 安全人员。

现在,WannaCry 看起来马上就会冲进美国医疗系统。

Corman 担心:

后果可能比英国 NHS 遭遇的还要严重得多。

他记得自己当时又想了一遍:

“如果它大规模爆发,会死多少人?”

“我们最糟糕的噩梦,似乎正在变成现实。”

⸻⸻⸻⸻⸻⸻⸻⸻

那个星期五下午大约 2 点 30 分。

Marcus Hutchins 刚从伊尔弗勒科姆当地一家炸鱼薯条店买完午饭回来。

他坐到电脑前。

然后发现:

互联网着火了。

Hutchins 在 Twitter 上写:

“我他妈还真会挑时间休假。”

几分钟以后,一名网名叫 Kafeine 的黑客朋友发给 Hutchins 一份 WannaCry 的代码。

Hutchins 立刻开始拆解。

午饭还摆在面前。

第一步,他在自己卧室里运行的一台服务器上启动了一个:

模拟电脑(simulated computer)。

里面放了一些假的文件。

专门给勒索软件加密。

然后他把 WannaCry 放进这个隔离的测试环境里运行。

几乎立刻,他注意到一件事。

在加密那些诱饵文件之前,恶意软件会先访问一个极其随机、极其难看的网址:

iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

这让 Hutchins 觉得很重要。

虽然这种行为本身并不算特别反常。

恶意软件如果主动访问某个域名,通常意味着:

它可能正在和某台命令与控制服务器(command-and-control server)通信。

那台服务器可能负责向感染电脑发送指令。

Hutchins 把那串长得离谱的网址复制进浏览器。

结果让他很意外:

这个网站根本不存在。

于是,他打开域名注册商 Namecheap。

下午 3 点 08 分零 4 秒。

他花了:

10.69 美元

注册了这个难看的网址。

Hutchins 希望:

也许注册这个域名以后,自己能够从 WannaCry 的作者手里夺走一部分对受害电脑的控制权。

至少,他可能可以借此监控:

究竟有多少电脑被感染。

这些电脑都在哪里。

恶意软件分析人员把这种手法叫:

沉洞(sinkholing)。



果然。

Hutchins 刚刚把这个域名部署到由雇主 Kryptos Logic 托管的一组服务器上:

成千上万条连接就开始疯狂涌入。

这些连接来自:

全球每一台刚刚被 WannaCry 感染的新电脑。

现在,Hutchins 第一次能够亲眼看见:

这场攻击到底有多么巨大。

有多么全球化。

他开始在 Twitter 上发布自己的工作进展。

与此同时,他的邮箱很快被几百封邮件淹没。

其他研究人员。

记者。

系统管理员。

所有人都在试图了解更多关于这场正在吞噬全球网络的瘟疫。

因为拥有这个沉洞域名,Hutchins 突然开始收到关于全球感染情况的信息。

而这些信息:

当时地球上没有其他人掌握。

接下来的四个小时里,他一边疯狂回复邮件,一边调试自己正在制作的一张全球感染地图。

就像过去追踪 Kelihos、Necurs 和其他无数僵尸网络一样。

到了晚上 6 点 30 分。

距离 Hutchins 注册那个域名大约已经过去三个半小时。

他的黑客朋友 Kafeine 给他发来一条推文。

推文来自另一名安全研究员:

Darien Huss。

上面只有一句极其简短的话:

“域名被沉洞之后,程序现在无法执行了。”

Hutchins 看到以后,彻底愣住。

换句话说:

从 Hutchins 注册的域名上线以后,WannaCry 仍然在感染新的电脑。

但这些新感染:

已经不再造成任何新的破坏。

这条蠕虫似乎:

被解除武装了。

Huss 的推文里还附了一小段他逆向出来的 WannaCry 代码。

代码逻辑显示:

在加密任何文件之前,恶意软件会先检查:

自己能不能访问 Hutchins 注册的那个网址。

如果访问不到:

它就继续破坏电脑里的内容。

如果访问得到:

它就会:

立刻停下来。

直到今天,恶意软件研究人员对于这个功能究竟为什么存在,仍然有争议。

有人认为:

这是作者用来逃避杀毒软件分析的一种手段。

也有人认为:

这是蠕虫作者故意留下的一道保险。

但有一点已经非常清楚。

Hutchins 并没有找到 WannaCry 的命令与控制地址。

他找到的是:

紧急停止开关(kill switch)。

他刚刚注册的那个域名,可以简单而瞬间地关闭 WannaCry 在全球范围内的破坏行为。

就好像:

他向死星的排气口发射了两枚质子鱼雷。

鱼雷一路冲进反应堆核心。

死星爆炸。

银河系获救。

而 Hutchins 本人:

甚至不知道自己刚才究竟做了什么。

甚至在爆炸发生以后的整整:

三个半小时里,都没有意识到死星已经炸了。

等 Hutchins 真正明白自己干了什么以后,他猛地从椅子上跳起来。

在卧室里兴奋地蹦来蹦去。

然后,他做了一件同样反常的事情:

上楼告诉家里人。

Janet Hutchins 那天正好不用去当地医院上班。

她白天去了镇上和朋友见面。

刚刚回家。

正在准备晚饭。

所以,她对于 NHS 各地同事正在处理的这场危机,只知道一点点。

就在这时,儿子走上楼来。

语气还有些不太确定。

他说:

自己好像刚刚阻止了:

世界上有史以来最严重的一场恶意软件攻击。

Janet Hutchins 说:

“干得不错,宝贝。”

然后:

继续低头切洋葱。

又过了几个小时,Hutchins 和 Kryptos Logic 的同事才真正意识到:

WannaCry 仍然构成威胁。

事实上,Hutchins 注册的那个域名,仍然在遭受来自全球 WannaCry 感染电脑的大量连接。

虽然这条蠕虫已经被解除武装,但它的残余仍然在继续传播。

接下来的两天里:

那个域名会收到接近 100 万次连接。

问题是:

如果这个域名掉线,任何尝试访问它却失败的感染电脑,都会重新开始加密文件。

WannaCry 的毁灭浪潮:

会再次启动。

Hutchins 的老板 Salim Neino 记得自己当时意识到:

“如果这个东西掉了,WannaCry 就会重新开始。”

“24 小时之内,它会打到全世界每一台存在漏洞的电脑。”

几乎与此同时,情况开始变得更加糟糕。

第二天早晨,Hutchins 注意到:

涌向他们沉洞域名(sinkhole domain)的 WannaCry 流量里,突然混进了另一股巨大的请求洪水。

他很快意识到:

一个他和 Kryptos Logic 同事过去追踪过的 Mirai 僵尸网络,现在正在对这个域名发动 DDoS 攻击。

也许,这是为了报复他们此前追踪 Mirai 的工作。

也可能只是出于一种虚无主义式的冲动:

想看着 WannaCry 把整个互联网烧掉。

Neino 说:

“那感觉就像我们成了阿特拉斯(Atlas),正用肩膀扛着整个世界。”

“结果这时候,还有人在背后踹阿特拉斯。”

接下来的几天里,攻击规模不断扩大。

沉洞域名随时都有可能被打掉。

Kryptos Logic 拼命过滤、吸收这些攻击流量。

他们把负载分散到一批服务器上。

这些服务器分别部署在 Amazon 的数据中心,以及法国托管公司 OVH 的基础设施里。

但几天之后,他们又遇到了一件完全没想到的事。

法国鲁贝(Roubaix)当地**错误地认为:

这个沉洞域名其实是 WannaCry 背后的网络犯罪分子在使用。

于是:

**直接从 OVH 数据中心物理扣押了他们的两台服务器。

接下来整整一个星期:

Hutchins 从来没有连续睡过三个小时以上。

他不停应对不断变化的攻击。

努力确保:

WannaCry 的紧急停止开关始终在线。



与此同时,媒体开始一点一点撕开 Hutchins 长期维持的匿名身份。

WannaCry 爆发两天后的星期天早晨,一名当地记者直接找到了 Hutchins 在伊尔弗勒科姆的家门口。

这个记者的女儿以前和 Hutchins 上过同一所学校。

她在 Facebook 上看到了一张照片。

照片说明里直接写着:

Hutchins 就是 MalwareTech。

很快:

更多记者开始按他们家的门铃。

有人直接守在街对面的停车场。

电话响个不停。

最后,Hutchins 一家干脆不再接电话。

英国小报开始刊登各种关于这个:

“意外英雄(accidental hero)”

的标题。

这个年轻人坐在自己卧室里:

拯救了世界。

为了躲开堵在前门的记者,Hutchins 甚至只能翻过自家后院的墙出去。

为了压一压媒体继续追逐他的兴趣,他最后同意:

接受美联社(Associated Press)的一次采访。

采访的时候,他紧张得厉害。

甚至把自己的姓氏拼错了。

结果:

美联社后来不得不专门发布更正。



在最初那几天的混乱里,Hutchins 始终处于高度紧张状态。

他一直等着:

WannaCry 的另一个版本出现。

毕竟,蠕虫背后的黑客只需要对程序稍微改动一下。

删掉紧急停止开关。

然后就可以:

放出一个新的版本。

但这种变种始终没有出现。

几天以后,英国国家网络安全中心代表 Kryptos Logic 联系了 Amazon。

他们帮助 Kryptos Logic 和 Amazon 谈妥:

公司可以在 Amazon 数据中心获得几乎不受限制的服务器容量。

一星期后:

DDoS 防护公司 Cloudflare 也介入了。

Cloudflare 主动提供服务。

它能够吸收几乎任何僵尸网络向紧急停止域名倾泻的流量。

到这里:

这场对峙终于结束。



最严重的危险过去以后,Neino 已经开始担心 Hutchins 的身体状态。

担心到什么程度?

他把 Hutchins 的一部分奖金,直接和:

“强迫他去睡觉”

绑定在了一起。

WannaCry 爆发整整一星期以后:

Hutchins 终于真正去睡了一觉。

而那一次:

他每睡一个小时,就能拿到超过 1,000 美元。



虽然 Hutchins 非常不喜欢成为聚光灯下的中心,但突然出名也带来了一些好处。

他的 Twitter 关注者几乎一夜之间增加到了:

10 万人。

陌生人会在当地酒吧认出他。

请他喝酒。

感谢他:

拯救了互联网。

一家当地餐厅甚至送给他:

整整一年免费披萨。

而且,他的父母似乎终于真正理解了:

儿子到底是靠什么谋生的。

他们为他感到非常骄傲。



但直到 Defcon,Hutchins 才真正允许自己享受这种突然获得的“摇滚明星”地位。

Defcon 是每年在拉斯维加斯举办的黑客大会。

参加人数大约:

30,000 人。

那一年大会举行时,距离 WannaCry 爆发已经过去了接近三个月。

为了躲开那些不断找他自拍的粉丝,Hutchins 和一群朋友通过 Airbnb,在拉斯维加斯大道之外租下了一栋房地产大亨的豪宅。

豪宅周围有:

几百棵棕榈树。

以及:

全城最大的私人泳池。

他们甚至基本没有真正参加大会。

没有和成群黑客一起排队听研究演讲。

反而把整个星期花在两种活动之间来回切换:

一边是彻底放纵的派对。

一边是白天荒唐得近乎滑稽的娱乐。

他们充分利用了拉斯维加斯的DA MA药房。

也充分利用了各家网络安全公司举办的豪华开放酒吧(open-bar)活动。

有一天:

他们去了射击场。

Hutchins 打了一具:

榴弹发射器。

还用:

M134 旋转机枪

打掉了几百发大口径子弹。

其他几天:

他们租来 兰博基尼。

租来 科尔维特。

沿着拉斯维加斯大道飞驰。

再一路开进城市周围的峡谷。

Hutchins 最喜欢的乐队之一 The Chainsmokers 演出时:

他直接脱到只剩内裤。

然后:

跳进了舞台前面的泳池。

有人趁机偷走了他留在岸边裤子里的钱包。

但 Hutchins 当时兴奋得根本懒得在乎。



距离 Hutchins 开发 Kronos:

已经过去了三年。

生活很好。

他觉得:

自己已经变成了另外一个人。

随着名气越来越大,他终于开始允许自己——

至少几乎允许自己——

放下那种一直潜伏在心底的恐惧。

那种始终存在的感觉:

自己过去犯下的罪,

迟早会追上来。

然后。

在拉斯维加斯的最后一个早晨。

Hutchins 光着脚走上租来豪宅的车道。

看见街对面:

停着一辆黑色 SUV。

Hutchins 几乎立刻就对 FBI 审讯人员做出了一种:

半认罪。

在麦卡伦机场(McCarran Airport)的审讯室里,两名探员提到 Kronos 几分钟以后,Hutchins 就承认:

自己确实参与开发过这款恶意软件的一部分。

不过,他撒了一个谎。

他说:

自己在 18 岁以前就已经停止参与。

Hutchins 说,他心里仍然有一部分抱着幻想:

也许这些探员只是在评估,他作为 WannaCry 调查证人的可信度。

或者:

他们只是想强迫他把 WannaCry 沉洞域名(sinkhole domain)的控制权交给 FBI。

所以,他还是紧张地回答了探员的问题。

而且:

没有律师在场。

但很快,他这种一厢情愿的想法彻底破灭了。

探员拿出了一张打印纸。

那是一份聊天记录。

来自三年前。

也就是当时 20 岁的 Hutchins 和 “Randy” 之间的对话。

在那段对话里,Hutchins 曾经主动提出:

可以给 Randy 一份自己当时仍然在维护的银行恶意软件。

随着 Hutchins 的名气越来越大,他终于几乎允许自己放下那种长期潜伏在心底的恐惧——

自己过去犯下的罪行,总有一天会追上来。

最后,那个最开始给他戴上手铐的红发探员 Lee Chartier,终于把他们的真正目的说得明明白白。

Chartier 说:

“Marcus,我跟你说实话。”

“这件事和 WannaCry 完全没有关系。”

然后,探员拿出了:

逮捕令。

罪名是:

共谋实施计算机欺诈与滥用(conspiracy to commit computer fraud and abuse)。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Hutchins 被押上一辆黑色 FBI SUV。

那辆车:

看起来和他当天早上在 Airbnb 豪宅门口看见的那辆车,一模一样。

他被允许打一个电话。

他打给了自己的老板:

Salim Neino。

然后,他被铐在一个挤满犯人的房间里的一把椅子上。

整个白天。

以及接下来的整整一夜。

只有当他提出要上厕所时,警卫才会把他带进一间牢房。

牢房里有一张水泥床。

他可以暂时躺下。

但只要有人要使用牢房里的厕所:

Hutchins 就会被重新带出去。

再次锁到那把椅子上。

他几乎没怎么睡。

大部分时间里,他只是不断掉进自己想象出来的未来。

那个未来像一个没有底的洞。

先是:

几个月的审前拘押。

然后是:

几年监狱生活。

他距离家乡:

5,000 英里。

那是 Hutchins 23 年人生中:

最孤独的一个夜晚。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

但 Hutchins 并不知道:

黑客社群里已经开始出现一种近乎:

免疫反应。

Neino 接到他的监狱电话以后,很快通知了 Hutchins 当时也在拉斯维加斯的一位黑客朋友:

Andrew Mabbitt。

Mabbitt 把消息透露给 Vice 的一名记者。

然后在 Twitter 上拉响了警报。

几乎立刻:

一些很有影响力的账号开始站出来支持 Hutchins。

整个圈子迅速围绕这个仿佛遭到迫害的黑客英雄聚拢起来。

英国知名网络安全研究员 Kevin Beaumont 在 Twitter 上写:

“司法部(DoJ)这次真的搞砸了。”

网络安全大会 Virus Bulletin 的组织者 Martijn Grooten 则写道:

“我可以担保 @MalwareTechBlog 真的是个很好的人,而且有很强的道德原则。”

有人甚至认为:

FBI 是因为 WannaCry 错抓了 Hutchins。

也许他们把他误认为了那条蠕虫背后的黑客。

澳大利亚密码朋克(cypherpunk)活动人士 Asher Wolf 写道:

“我很少看到整个黑客社群真的愤怒成这样,但因为 @MalwareTechBlog 阻止了一场攻击就把他抓起来,这是不可接受的。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

当然,并不是所有人都站在 Hutchins 一边。

前 NSA 黑客 Dave Aitel 甚至在一篇博客文章里提出怀疑:

也许 WannaCry 本来就是 Hutchins 自己写的。

只是后来蠕虫失控,他才主动触发自己提前留下的紧急停止开关。

不过,这套理论在八个月以后基本站不住脚了。

因为美国司法部起诉了一名朝鲜黑客,指控此人属于一个由国家支持的黑客团队,而那个团队被认为对 WannaCry 负责。

总体上看:

黑客圈对于 Hutchins 被捕的反应,仍然压倒性地倾向于同情。

到了第二天,Hutchins 所在地区的英国国会议员 Peter Heaton-Jones 也公开发表声明。

他说自己对此:

“感到担忧和震惊。”

声明里还特别赞扬了 Hutchins 在 WannaCry 事件中的工作,并指出:

“伊尔弗勒科姆认识他的人,以及更广泛的网络安全社群,都对针对他的指控感到震惊。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Mabbitt 给 Hutchins 找了一名当地律师,准备参加保释听证。

Hutchins 又在一个拥挤的笼子里度过了痛苦的一天。

最后:

保释金被定为:

30,000 美元。

问题是:

他的电脑和手机都被没收了。

所以他根本没办法登录自己的银行账户去支付这笔钱。

于是,知名黑客案件辩护律师 Tor Ekeland 同意:

以 Hutchins 的名义管理一笔法律援助基金,帮他筹措保释金。

捐款很快涌了进来。

但几乎马上:

他们发现捐款来源里开始出现:

被盗信用卡。

对于一个正被控计算机欺诈的人来说,这显然非常难看。

Ekeland 于是立刻叫停。

把所有捐款退回。

并关闭了这个基金。

但黑客社群对 Hutchins 的善意并没有耗尽。

他被捕当天,两名知名网络安全人士——Tarah Wheeler 和 Deviant Ollam——刚刚从拉斯维加斯飞回西雅图(Seattle)。

到了那个星期天晚上,这对刚结婚不久的夫妻开始和 Hutchins 的朋友 Mabbitt 联系,也了解到 Hutchins 法律援助基金出了问题。

Wheeler 和 Ollam 从来没有见过 Hutchins。

甚至在 Twitter 上也几乎没怎么和他交流过。

但这些年来,他们一直看着美国司法部如何对待那些年轻、理想主义的黑客。

从 Aaron Swartz 到 Chelsea Manning。

而这种事情,有时会带来非常悲惨的后果。

他们想象着 Hutchins 独自一人被扔进联邦司法体系。

觉得他也可能走向类似的命运。

Wheeler 说:

“说到底,我们面对的是一个年轻的、外国来的、书呆子气很重的有色人种,被关在联邦拘押体系里。”

“他差不多是整个全球黑客社群最接近英雄的人。”

“但根本没人在那里帮他。”

Wheeler 当时刚刚从网络安全巨头 Symantec 拿到一笔五位数的遣散费。

她所在的部门刚被关闭。

她和 Ollam 原本打算:

拿这笔钱付买房的首付款。

但一时冲动之下,两个人决定:

把这笔钱拿来保 Marcus Hutchins 出来。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

离开拉斯维加斯还不到 24 小时,两个人又坐上飞机飞了回去。

他们星期一下午落地。

距离法院下午 4 点停止接受保释付款,只剩不到:

90 分钟。

如果赶不上:

Hutchins 就得再回监狱待一夜。

两个人从机场直接跳上一辆 Lyft。

赶到一家银行。

开出一张:

30,000 美元的银行本票(cashier’s check)。

但等他们赶到法院,工作人员却告诉他们:

这张支票必须先做:

公证(notarized)。

这时,距离法院办公室关门只剩:

20 分钟。

Wheeler 当时穿着一双 Gucci 乐福鞋。

她直接把鞋脱了。

穿着黑色毛衣和铅笔裙,光着脚冲上拉斯维加斯酷热夏日下午的街道。

距离下午 4 点不到 10 分钟时:

她终于赶到公证处。

浑身已经被汗湿透。

她完成了公证。

然后又在街上拦住一辆陌生人的车。

说服司机把自己送回法院。

下午:

4 点 02 分。

Wheeler 冲进法院。

书记员正准备结束当天的工作。

她把那张支票递了过去。

那张支票最终把:

Marcus Hutchins 从监狱里保了出来。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻


Hutchins 获得保释以后,被安置到一所拥挤的:

中途之家(halfway house)。

与此同时,黑客社群里更多人开始聚拢过来帮他。

两名经验丰富、知名度很高的律师——Brian Klein 和专门为黑客案件辩护的 Marcia Hofmann——决定:

无偿代理(pro bono)他的案件。

在提审(arraignment)时,Hutchins 做出了:

无罪抗辩(pleaded not guilty)。

法官同意:

他可以在洛杉矶接受居家监禁(house arrest)。

Klein 在那里有办公室。

接下来的两个月里,他的律师一点一点争取放宽 Hutchins 的审前限制条件。

最终:

他可以离开自己在玛丽安德尔湾(Marina del Rey)的公寓。

可以使用电脑。

也可以访问互联网。

但法院明确禁止他接触:

自己创建的 WannaCry 沉洞域名。

后来:

连宵禁也取消了。

GPS 定位脚环也被拆掉。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Hutchins 得知这些最后的审前限制被解除时,正在参加一个海滩篝火派对。

周围是一群来自洛杉矶网络安全大会 Shellcon 的友好黑客。

事情显得非常荒诞。

他本来只是来美国旅行两个星期。

却因为多年前的网络犯罪被起诉。

结果反而把他送到了:

自己一直梦想生活的城市。

而且现在,他的行动自由已经只剩下很少限制。

Kryptos Logic 已经让他:

无薪停职。

于是,他白天就去冲浪。

或者沿着海边那条长长的自行车道骑车。

从自己的公寓一路骑到马里布(Malibu)。

可即使这样:

他依然严重抑郁。

没有收入。

积蓄不断减少。

头顶还悬着可能判他多年监禁的刑事指控。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

但比这些更折磨他的,是:

真相。

不管外界怎么说他是英雄:

Hutchins 自己很清楚。

他确实做了检察官指控他的那些事。

一种压倒性的罪恶感,是在他被捕一个月后第一次重新获得互联网访问权限、打开 Twitter 查看别人提到自己的消息时真正爆发的。

Hutchins 说:

“所有这些人都在给 FBI 写信,说:‘你们抓错人了。’”

“这真的让我心碎。”

“这件事带来的罪恶感,是我过去因为 Kronos 感到的罪恶感的一千倍。”

他说:

自己甚至一度想在博客上直接发布一份完整认罪书。

但律师劝住了他。

很多支持者把他的“无罪抗辩”理解成:

他真的无辜。

而不是一种法律谈判策略。

他们继续向新的法律援助基金捐款。

又捐了:

数万美元。

前 NSA 黑客 Jake Williams 也同意:

为 Hutchins 出任专家证人(expert witness)。

Tarah Wheeler 和 Deviant Ollam 则几乎变成了他的:

寄养父母。

他们陪 Hutchins 飞去密尔沃基(Milwaukee)参加提审。

又帮他在洛杉矶重新把生活安顿下来。

而 Hutchins 觉得:

自己根本不配得到这些帮助。

在他看来:

大家之所以站出来帮自己,只是因为他们误以为:

他是无辜的。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

实际上,很多人对 Hutchins 的支持,要复杂得多。

他被捕一个月以后,网络安全博客作者 Brian Krebs 开始深挖 Hutchins 的过去。

最终,他沿着一连串线索找到了 Hutchins 以前在 HackForums 上发过的帖子。

Krebs 揭露:

Hutchins 曾经运营非法托管服务。

维护过僵尸网络。

也写过恶意软件。

虽然当时还不能证明那个恶意软件就是 Kronos。

但即使真相开始逐渐浮出水面:

Hutchins 的很多粉丝和朋友似乎仍然没有因此停止支持他。

Wheeler 说:

“我们所有人在道德上都是复杂的人。”

“对我们大多数人来说,后来做过的任何好事,要么是因为过去做过坏事,要么是因为曾经有别人做了好事,把我们从坏事里拉出来。”

“或者两者都有。”

可 Hutchins 自己仍然被一种:

道德冒名顶替感(moral impostor syndrome)

折磨。

他开始依赖酒精和药物。

白天大量服用 Adderall。

晚上喝伏特加。

用这些东西把自己的情绪磨平。

有些时候:

他甚至产生过自杀念头。

Hutchins 说,那种罪恶感:

“正在把我活活吃掉。”

检察官提出交易

2018 年春天,距离 Hutchins 被捕已经将近九个月。

检察官向他提出了一项交易。

只要 Hutchins 愿意把自己过去混迹地下黑客圈期间掌握的所有信息都交出来——包括其他犯罪黑客和恶意软件作者的真实身份——检方就会建议:

不判监禁。

Hutchins 犹豫了。

他说:

自己其实根本不知道检察官真正想找的 Vinny 到底是谁。

但他也表示,从原则上讲,他反对为了逃避自己行为造成的后果,就去告发其他黑客那些相对轻微的罪行。

除此之外:

即使接受这项交易,他依然会留下:

重罪记录(felony record)。

这可能导致他以后永远无法再次进入美国。

而且 Hutchins 知道,负责他案件的法官 Joseph Stadtmueller 一直以量刑难以预测著称。

有时候:

他会判得远低于检察官建议的刑期。

但有时候:

又会判得远高于建议。

于是:

Hutchins 拒绝了这项交易。

并决定:

把案件打到审判(trial)。

⸻⸻⸻⸻⸻⸻⸻⸻⸻

不久之后,检察官进行了反击。

他们提交了一份新的:

替代起诉书(superseding indictment)。

又增加了一批指控。

最终,Hutchins 面临的罪名总数达到:

10 项。

其中包括:

他最初在 FBI 审讯中:

向 FBI 作虚假陈述(making false statements to the FBI)。

Hutchins 和他的律师认为:

这种做法是一种明显的强硬施压手段。

是在惩罚 Hutchins:

因为他拒绝接受此前那份认罪交易。

⸻⸻⸻⸻⸻⸻⸻⸻⸻

接下来,Hutchins 连续输掉了几项动议(motion)。

其中一项,是要求法院:

不允许检方把他在拉斯维加斯机场作出的供述当作证据。

这项动议也失败了。

最终:

2019 年 4 月。

Hutchins 接受了一份:

认罪协议(plea bargain)。

而这份新协议,从某种意义上讲:

甚至比检方一年多以前提供的那份更危险。

经过接近一年半与检察官的拉扯以后:

检方现在只同意:

不对量刑提出任何建议。

Hutchins 会对 10 项指控中的:

两项认罪。

理论上,他最高可能面对:

10 年监禁。

以及:

50 万美元罚款。

具体判多少:

完全由法官自行决定。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

在认罪的同时,Hutchins 终于在自己的网站上公开发表了一份:

认罪声明。

但那并不是他真正想写的那种:

把所有东西全部倒出来的完整坦白。

而是一份简短、措辞谨慎、经过律师批准的声明。

他写道:

“我已经对两项与我进入网络安全行业之前数年中编写恶意软件有关的指控认罪。”

“我对这些行为感到后悔,并对自己的错误承担全部责任。”

随后,他又发了一条更加真诚的推文。

这条推文的目的,是要反驳一种很容易围绕他的经历形成的说法:

也就是:

他后来之所以能够成为一名优秀的白帽黑客,是因为自己早年受过黑帽世界的“教育”。

换句话说:

一个黑客过去做过的坏事,似乎可以被解释成:

后来做好事所必需的训练。

Hutchins 写道:

“有一种误解,认为要成为一名安全专家,你就必须去黑暗那一边尝试一下。”

“这不是真的。”

“你需要掌握的一切,都可以合法地学会。”

“待在好人这一边。”


判刑那天

7 月一个温暖的日子里,Hutchins 来到密尔沃基的一家法院,等待量刑。

他穿着一套灰色西装。

为了避开媒体,他提前两个小时进入法院。

他和律师们坐在一间准备室里等待。

Hutchins 的视野开始变窄。

那种熟悉的感觉又回来了。

就是那种:

大难临头感(impending doom)。

自从五年前第一次经历**戒断以后,这种感觉就一直时不时从他脑后冒出来。

但这一次:

他的焦虑并不是毫无根据的。

因为他的余生,确实悬在天平上。

他吃了一小剂 Xanax。

然后在听证正式开始以前,沿着法院走廊来回走动,试图让自己的神经平静下来。

⸻⸻⸻⸻⸻⸻⸻⸻

法官 Joseph Stadtmueller 走进法庭坐下时,Hutchins 记得:

这位 77 岁的老人看起来有些发抖。

他说话声音低沉、沙哑,还带着轻微颤音。

在 Hutchins 看来,Stadtmueller 仍然是一个完全无法预测的变量。

他知道:

这名法官整个职业生涯里,此前只处理过一次网络犯罪案件的量刑。

而且那已经是:

20 年前。

面对今天这么复杂的案件:

他到底会怎么理解?

然而 Hutchins 记得:

随着 Stadtmueller 开始一段很长的独白,他原本的不安竟然慢慢消失了。

取而代之的,是一种:

敬畏感。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Stadtmueller 开口时,几乎像是在自言自语地回顾自己的职业生涯。

他提醒 Hutchins:

自己已经当了超过三十年的法官。

在这段时间里:

他给 2,200 人判过刑。

但这些人里面:

没有谁真正像 Hutchins。

Stadtmueller 说:

“我们见过人类存在的所有面貌。”

“年轻的,年老的,职业罪犯,还有像你这样的人。”

然后他说:

“我也理解,有人会把这个案件背后那些不光彩的行为,放到另一个背景里看。”

“也就是一些人所说的——一位英雄所做过的工作。”

“一个真正的英雄。”

“而归根结底,正是这一点,让这个案件具有一种极其罕见的独特性。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

法官很快说得非常明确。

在他看来:

Hutchins 不只是一个已经被定罪的罪犯。

他同时也是一名网络安全专家。

而且早在司法系统真正追上他之前,他的人生其实已经:

“拐过了那个弯(turned the corner)”。

Stadtmueller 看起来是在权衡两件事。

一边是:

把 Hutchins 送进监狱所产生的威慑作用。

另一边则是:

这个年轻黑客在对抗 WannaCry 这种恶意代码时表现出来的天赋。

Stadtmueller 说:

“如果我们不采取适当措施,去保护这些我们每天都依赖的奇妙技术,它们同样拥有制造巨大混乱的潜力。”

他说这句话时,隐晦地提到了 Hutchins 的父母。

尤其是 Janet Hutchins 在 NHS 的工作。

法官继续说:

“而我们需要像你这样的人。”

“哪怕你只有 24 岁、25 岁,也已经具备这样的技术能力。”

“需要这样的人去找到解决办法。”

甚至,Stadtmueller 还说:

Hutchins 也许值得得到:

完全赦免(full pardon)。

只是:

法院没有权力这么做。

⸻⸻⸻⸻⸻⸻⸻⸻⸻

最后,Stadtmueller 给出了结论。

他说:

“天平另一边的积极因素实在太多了。”

然后宣布:

“今天,Marcus Hutchins 一案的最终判决是:”

已服刑期即刑期(time served),外加一年监督释放(supervised release)。

Hutchins 几乎不敢相信自己听见了什么。

法官刚刚把他做过的好事和坏事放在天平两边。

然后决定:

他的道德债务已经被抵消了。

接下来又完成了几项法律程序。

法槌落下。

Hutchins 抱住了自己的律师。

也抱住了专程飞来参加听证的母亲。

他离开法庭。

缴纳了:

200 美元行政费用。

然后走上街头。

距离自己第一次被捕:

已经过去差不多整整两年。

而现在:

他自由了。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

在和 Marcus Hutchins 打了五个月的长电话以后,我终于安排了第一次和他本人见面。

地点是威尼斯海滩(Venice Beach)的一家 Starbucks。

他还走在人来人往的人行道上时,我就已经认出了那团高高耸起、像蘑菇云一样的卷发。

他带着一个很大的笑容走进门。

但我还是能看出来:

他依旧在和一种潜藏的焦虑搏斗。

他拒绝喝咖啡。

并抱怨说,自己最近每晚只能睡几个小时。

接下来的几个小时里:

我们沿着海滩走。

穿过威尼斯那些阳光明亮的后街。

Hutchins 一点一点补上自己人生故事里最后剩下的空白。

走到海滨步道(boardwalk)时,他不时停下来:

看看滑板手。

看看街头表演者。

这里是 Hutchins 在洛杉矶最喜欢的地方。

而现在,他看起来像是在努力把这一切最后再看一遍。

虽然他的判决只是:

已服刑期即刑期(time served)。

但整个案件导致他的签证逾期。

所以:

他很可能很快就会被遣返回英国。

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

我们一路走进圣莫尼卡(Santa Monica)。

经过一排排昂贵的海滨住宅。

Hutchins 说:

自己的目标,还是有一天能够重新回到洛杉矶。

现在:

这里给他的“家”的感觉,甚至已经比德文郡更强。

他说:

“总有一天,我希望能住在海边这样的一栋房子里。”

“我从窗户往外一看,如果浪不错,就可以直接出去冲浪。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

虽然这个案件最终得到了一个相对不错的结局:

Hutchins 说,自己依然没能摆脱那些跟随他多年的感觉。

罪恶感。

还有:

惩罚随时可能降临的感觉。

尤其让他痛苦的是:

那些在不完全了解真相的情况下帮助过自己的人。

那些给他的法律援助基金捐款的人。

那些站出来为他辩护的人。

而从头到尾:

他真正想做的,其实只是坦白。

我告诉他:

也许现在这一次采访,本身就是那份坦白。

在超过 12 个小时的采访里,他已经把自己做过的事情、以及犯过的错误,一件一件讲了出来。

等这篇文章发表以后——

等人们读到文章结尾——

这份记录终于会完整地公开。

Hutchins 的支持者。

他的批评者。

所有人都会看到:

他的人生被完整摊开。

然后,就像 Stadtmueller 当初坐在法庭上一样:

他们会作出自己的判断。

也许,他们同样会觉得:

Hutchins 值得得到救赎(redemption)。

也许:

这能让他真正得到某种了结(closure)。

Hutchins 好像认真想了一下。

然后低头看着脚下的人行道。

他说:

“以前我也希望会这样。”

“但现在,我真的不这么觉得了。”

他解释说:

现在自己越来越觉得,真正能够获得救赎的唯一方法,应该是:

回到过去。

阻止那些人在错误的前提下帮助自己。

阻止他们为自己作出那些牺牲。

但:

“我原本还能阻止他们为我做那些事的那个时间点,已经过去了。”

⸻⸻⸻⸻⸻⸻⸻⸻⸻⸻

Hutchins 说:

现在,他讲出这一切的动机已经变了。

与其说是为了寻求原谅。

不如说只是:

想让这个故事被真正讲出来。

把那些成绩。

那些秘密。

那些位于道德天平两边的所有东西。

全部留在身后。

然后:

重新回去工作。

Hutchins 望向马里布方向的山。

他说:

“我不想成为‘WannaCry 那个人’。”

“也不想成为‘Kronos 那个人’。”

“我只想成为一个能够帮忙把事情变得更好一点的人。”

回复

使用道具 举报

     
发表于 2026-8-30 16:56 | 显示全部楼层
你这啥排版
回复

使用道具 举报

 楼主| 发表于 2026-8-30 17:17 来自手机 | 显示全部楼层
拿手机搞的… 将就看看吧
回复

使用道具 举报

发表于 2026-8-30 17:32 | 显示全部楼层
什么比公众号还夸张的换行方式。tldr
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2026-8-31 03:03 , Processed in 0.083227 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表