22 岁那年,马库斯·哈钦斯(Marcus Hutchins)凭一己之力阻止了有史以来最严重的网络攻击 WannaCry。不久后他因为开发恶意软件 Kronos 被 FBI 逮捕。本文将讲述他不为人知的故事。
他看着这辆车,大脑昏昏沉沉,不禁怀疑:终于来抓自己了吗?
哈钦斯之前刚在 Defcon 大会度过了引人注目又疲惫的一周。在这个全球最大规模的黑客会议上,他被尊为英雄。不到三个月前,哈钦斯从有史以来最严重的网络攻击事件「WannaCry 勒索病毒全球大爆发」中拯救了互联网。WannaCry 是一种可以自行传播的软件,就像病毒一样通过互联网扩散到了整个地球,摧毁了数十万台计算机中的数据。正是哈钦斯找到并激活了其代码中隐藏的死亡开关,进而遏制了 WannaCry 的进一步全球蔓延。
哈钦斯仍在为呼啸而至的赞誉而头晕目眩,没有多余的精力担忧 FBI,即便几小时后他走出这套豪宅时再次看见了那辆黑色 SUV。大脑昏昏沉沉,他叫了辆 Uber 去机场。后来,法院的文件表明这辆 SUV 一路尾随着他——事实上,他在拉斯维加斯这段时间里,执法部门一直在定期追踪他的位置。
他悠闲地漫步到机场休息室,拿了瓶可乐,坐到了椅子上。离他前往英国的航班起飞还有几个小时,所以他开始发 Twitter 打发时间,他说自己正兴奋地等待回到自己分析恶意软件的工作。他发推说:「现在已经一个多月没碰过调试器了」。
然后他被戴上了手铐。
哈钦斯在头脑里迅速回想自己做过的可能会引起海关注意的违法行为。当然,他想到也可能是「那件事」——那场几年前不能提及的犯罪。
接下来的几分钟里,这两位特工用友好的语气向哈钦斯询问了他的教育以及他工作的安全公司 Kryptos Logic 的情况。在这段时间里,哈钦斯以为他们只是想了解自己在 WannaCry 上的工作,只不过方式有点过激。但在问询到达 11 分钟时,他们问到了一个名为「Kronos」的程序。
英国乡村的计算机男孩
一开始这处农场确实能提供他们所寻求的「田园牧歌」。哈钦斯是一个聪明开朗的孩子,乐于交朋友,但很坚韧克己,就像他父亲 Desmond 说的那样:「自成体系,有非常强的是非感」。他父亲说,他有一次在玩耍时摔断了手腕,但他没有掉一滴泪。但是当租房子给他们的农场主杀死哈钦斯很喜欢的一头大脑受损的羸弱小牛时,他却哭了。
但他最大的不同是对计算机超乎寻常的痴迷和天分。哈钦斯在 6 岁时便开始看着母亲在家里的戴尔台式机上使用 Windows 95 了。他的父亲常常因为他拆卸这台家用电脑以及安装奇怪的程序而生气。在他们搬到德文郡时,哈钦斯开始好奇地钻研他访问过的网站背后的 HTML 符号,并使用 Basic 编写了基本的 Hello world 脚本。很快,他开始将编程视为「用于构建你所想要的一切的门户」。他说:「这里没有任何限制。」
13 岁生日时,哈钦斯的父母同意给他买一台个人电脑,但他要求购买零件,然后自己组装。哈钦斯的母亲说,这台电脑很快就成了他的「挚爱」。
他的痴迷让母亲担忧。她尤其担心网络中黑暗的边缘地带可能会影响她的儿子,她半开玩笑地将那些东西称为「互联网恶魔(internet boogeyman)」。
「在那之后我们进行了一次长谈。」Janet 说,她威胁说要拆掉家里的网线。他们最终还是停战了。「我们同意如果他把网络连接还给我,我会换种方式监控他。但实际上,根本没办法监控马库斯。因为他比我们任何人都要聪明。」
许多母亲对互联网恶魔的恐惧被夸大了,但 Janet 的恐惧并没有。
哈钦斯当时并不知道这样的蠕虫有什么实际用处,但这却给他留下了非常深刻的印象。「我当时想,太酷了,编程居然能做这种事。」他说,「我也想做这种事。」
哈钦斯的第一款恶意软件得到了该论坛的认可。但他想用这款恶意软件盗取谁的密码呢?「我不知道,真的。」哈钦斯说,「我当时只是想:我做了个很酷的东西。」
大约 15 岁那年的一天,哈钦斯在学校发现自己的网络账户被锁定了。几小时后,他被叫到了学校的行政办公室,并被指控攻击学校的网络,导致学校不得不换掉一台遭到严重破坏的服务器。哈钦斯坚决否认参与此事,并要求查看证据。但他说学校管理员拒绝分享证据。不过那时候他在学校 IT 人员那里已经臭名昭著了。即使今天他还认为自己是最方便的替罪羊。「马库斯不擅长说谎。」他的母亲同意这一点,「他很喜欢自吹自擂。如果是他干的,他肯定会说是他干的。」
2009 年,哈钦斯一家从原来那座农场搬到了前邮局房子里,新住所坐落在仅有一个酒吧的小村子中。马库斯占了顶楼的一个房间。除了获取食物和咖啡,他很少离开自己的房间,而且他大部分时间都把自己的门锁着。
这时候,哈钦斯的英国乡村田园生活与秘密的网络朋克生活并无重叠,没有任何现实的约束能防止他进入那充斥着不道德的网络地下世界。于是年仅 15 岁的哈钦斯很快就在那个论坛上吹嘘自己运行着一个包含 8000 台计算机的僵尸网络,其中大多数都是他通过 BitTorrent 上传的虚假文件劫持的。
哈钦斯说,在自己当时那青少年的思想里,这些东西都算不上是「真正的」犯罪,不会让他受到执法部门注意。
当哈钦斯在 HackForums 发布了一些示例代码炫耀自己的技术时,另一位会员注意到了他,并让他写一段检查特定杀毒软件能否检测某个恶意软件的代码。从这个任务中,哈钦斯获得了价值 200 美元的 Liberty Reserve,这是一种早期的数字货币。之后,这位客户又用 800 美元购买了哈钦斯写的 formgrabber,这是一个可以秘密窃取人们输入网络表单的密码和其它数据的 rootkit。
Vinny 不同于哈钦斯曾遇到过的那些喜欢自吹自擂的黑客;他更专业,口风更紧,从不谈论有关自己个人生活的任何细节。而且哈钦斯和 Vinny 都非常注意,从不保存他们的对话日志。
那时还是 2011 年,这个网站尚不为大众所知。哈钦斯当时也觉得这是个骗局。「屁话,」哈钦斯这样对 Vinny 说,「证明一下!」
哈钦斯 17 岁生日那天,一个包裹被邮寄到了他父母家。里面是一包毒品。
经过接近 9 个月的工作后,哈钦斯完成了 UPAS Kit,并在 2012 年夏季将这款 rootkit 上市销售。哈钦斯没向 Vinny 问起过买家是谁。他只是很高兴自己已经不再是一个到处炫耀的 HackForums 菜鸟了,而是受人欢迎和赞赏的专业程序员。
UPAS Kit 很成功,Vinny 对哈钦斯说是时候开发 UPAS Kit 2.0 了。他想要可以记录受害者键盘输入和监控受害者显示器的新功能。最重要的是,他想要能向受害者观看的页面注入虚假文本字段或其它内容的功能,即网络注入(web inject)功能。
过去几年里,哈钦斯在网络犯罪的道路上小步前进,却不知不觉已经跨过了自己曾警惕的红线。哈钦斯对 Vinny 说这无疑是帮人盗窃无辜受害者的钱财,这是不对的。而且这样实际性的网络金融犯罪会让他受到执法部门的注意。
他表示自己拒绝了 Vinny 的要求。
哈钦斯很害怕,也对自己感到愤怒:自己竟天真地把这个冷血无情的罪犯看作是合作伙伴并分享了个人信息。但他坚持了底线,并反过来威胁说不再合作。明白自己需要哈钦斯编程技术的 Vinny 退步了。他们达成了一项协议:哈钦斯开发 UPAS Kit 的修订版,但不带网络注入功能。
九个月通宵达旦的开发后,哈钦斯完成了第二版 UPAS Kit。但当他提交了自己完成的代码后,Vinny 却说了一个让他惊讶的事情:他已经秘密雇佣了另一位程序员,写了哈钦斯不愿写的网络注入功能。只要将这些代码组合到一起,就能得到一个功能完备的银行木马病毒软件。
在那一瞬间,哈钦斯几年来一直避免过多考虑的道德问题和惩罚威胁涌入了他的头脑,让他冷静下来开始思考对策。「没有摆脱困境的方法。」他记得当时这样想,「FBI 终有一天会带着逮捕令上门。而这都是因为我信任了这个该死的家伙。」
Vinny 希望由他来完成整合工作,然后测试以及进行发布后的更新维护。哈钦斯说他当时本能地认为自己应该抽身离开,再也不与 Vinny 联系。但 Vinny 说哈钦斯已经工作了 9 个月,而且不管他怎么想,这套工具都已经完成得差不多了。
虽然很愤怒,但哈钦斯承认自己被说服了。于是青春期的错误决定仍旧继续。他同意继续开发维护 Vinny 的银行恶意软件。
2014 年 6 月,这套 rootkit 工具完工。Vinny 开始在 Exploit.in 和 Dark0de 等网络犯罪黑市出售。之后他又开始在 AlphaBay 出售它,这是在「丝绸之路」被 FBI 取缔之后新出现的暗网网站。
迷茫岁月与新的朋友
当 Kronos 在 Exploit.in 上架出售时,并没有取得多大成功。这个网站社区的人大都是俄罗斯人,对不说俄语的 Vinny 很是怀疑,而且他为 Kronos 的定价高达 7000 美元。而且和其它新软件一样,Kronos 也有漏洞有待修复。客户要求持续更新以及增加新功能。所以哈钦斯接下来一年时间里一直在不断编程,而且现在还要面对紧张的截止日期和要求见他们的愤怒买家。
终于,一个名叫 Randy 的网友让他重新找到了生活的平衡。
事实证明,Randy 是个慷慨的雇主。当哈钦斯告诉他自己没有用来开发苹果应用的 MacOS 设备时,Randy 询问了他的住址。哈钦斯再一次提供了,然后 Randy 送了一台全新的 iMac 给他。后来,Randy 还送了他一台新的 PS4 游戏机。
Randy 很信任哈钦斯,当哈钦斯介绍自己炒比特币的技巧时,Randy 发送了超过价值 10000 美元的比特币给他,让其代为交易。哈钦斯自己编写了一个比特币对冲程序,可以保护自己的资金免受比特币价格剧烈波动的影响。Randy 请他用同样的技术管理自己的资产。
他立马向 Randy 承认了这笔损失。但他提出了一项补偿。哈钦斯揭露了自己的身份,说自己就是 Kronos 的秘密开发者。因为知道 Randy 之前想要银行诈骗恶意软件,于是哈钦斯送了一套 Kronos 副本给他。Randy 表示理解,说这样就扯平了。
哈钦斯之前就已经认为自己必然会因网络犯罪被逮捕,而现在他已经感到联邦特工在敲门了。哈钦斯当时想,「我肯定会这样完蛋。」
2015 年春季,哈钦斯从社区大学毕业,并决心改变自己。
催得多了,Vinny 也累了,不再那么频繁地找他了。几次责骂之后,Vinny 不再理他。销售 Kronos 的比特币佣金也停止支付,哈钦斯最黑暗的网络犯罪时代终于过去。
几个月后,情况好转,但哈钦斯仍会感到间歇性的焦虑。他开始返回黑客世界。但对网络犯罪已经兴致全无,而是回到了他 2013 年建立的博客 MalwareTech :https://www.malwaretech.com,并在其中发布有关恶意软件的技术细节。该博客会发布剖析式的客观分析,似乎能同时吸引黑帽和白帽访问者。「这是一种中立的立场。」他说,「黑白双方都喜欢。」
很快,他的忠实读者就超过了 10000 人,而且他们似乎不知道 MalwareTech 的见解很多来自作者的亲身实践。
实际上,该公司已经在让一位雇员进入 Kelihos 内部了,但他说反向工程这些代码需要太多时间。哈钦斯还未察觉,他已经攻破了互联网上最顽固的僵尸网络之一。
这比他开发网络犯罪恶意软件赚的还多。哈钦斯这时才开始了解现代网络安全行业的现实情况:对西方国家的天才黑客来说,犯罪实际上没啥回报。
在 Kryptos Logic 工作的前几个月时间里,哈钦斯进入了一个又一个大型僵尸网络:Necurs、Dridex、Emotet……这些僵尸网络控制的计算机总数多达数百万台。不过此时他仍在自家的卧室内工作。
哈钦斯继续在 MalwareTech 博客和他的 Twitter 上详细介绍他的研究,并开始被视为一位精英恶意软件爆料者。但除了 Kryptos Logic 的同事以及少数几个亲近朋友,没人知道 MalwareTech 的真实身份。
当年 9 月,安全博主 Brian Krebs 的网站遭到了一次 Mirai 攻击,其网站每秒承受的流量超过每秒 600 GB,直接让他的网站离线了。不久之后,法国托管公司 OVH 被每秒 1.1 TB 的流量洪流冲垮。10 月,域名系统服务商 Dyn 也遭受到了一波攻击。Dyn 的下线导致北美和欧洲部分地区的用户无法使用亚马逊、Spotify、Netflix、PayPal 和 Reddit 等许多常用服务。几乎同一时间,还有一场 Mirai 攻击冲垮了利比里亚主要电信提供商的网络,直接让该国大部分地区脱离了互联网。
得益于他开发的 Mirai 跟踪器,哈钦斯找到了向该僵尸网络发送攻击指令的服务器,并发现那是个提供「DDoS 攻击租用服务(DDoS-for-hire)」的服务器。而在该服务器上,他发现了注册该服务器的黑客的联系人信息。哈钦斯很快在即时通信服务 Jabber 上找到了他,其用户名为 popopret。
这场 DDoS 攻击停止了。
2017 年 5 月 12 日中午时分,英国皇家伦敦医院的一位年轻麻醉师 Henry Jones(化名)发现出问题了。
但就在这时,一位 IT 工作人员走了进来,说这次问题更加不同寻常。一个病毒似乎正在医院的网络上传播。他们重启了办公室内的一台电脑,Jones 看到了带锁图案的红色屏幕,上面写着:「糟糕,你的文件被加密了!」屏幕下方写着需要支付 300 美元的比特币才能解锁该机器。
Jones 很震惊很愤怒。这难道是对多家 NHS 医院的协同攻击?没有病人可看,Jones 那天其余时间都在帮助 IT 人员拔掉电脑网线。后来他看新闻才知道发生了什么:这不是针对他们的攻击,而是一种正在互联网上疯狂蔓延的自动化蠕虫病毒。设施陈旧的医院遭受重创,手术被迫取消,急救被迫延迟……Jones 意识到:人们可能因此失去生命。
那个星期五下午 2:30 左右,买完午餐的马库斯·哈钦斯坐回电脑前才看到这场互联网大灾难。
首先,他在隔离的虚拟机中运行了这个程序。然后很快他就注意到其在执行加密时会向一个看起来随机生成的网址发送一条查询信息:iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com。
因此他访问了域名注册商 Namecheap,在下午 3:08 用 10.69 美元注册了这个地址。哈钦斯希望此举能让他从 WannaCry 创造者那里夺回部分受害计算机的控制权。或者他至少可通过 sinkholing(沉洞)技术获知受害计算机的数量和位置。
下午 6:30,哈钦斯的黑客朋友 Kafeine 分享了一条推文给他。这条让哈钦斯感到惊讶的推文来自安全研究者 Darien Huss:「攻击失败,因为该域名已沉洞。」
Huss 的推文中包含一段他反向工程得到的 WannaCry 代码。该代码的逻辑是在加密文件之间,首先检查能否连接到哈钦斯的网络地址。如果不能,就加密该计算机的内容。如果能够连接,就停止工作。(恶意软件分析师至今仍不明确 WannaCry 的创造者为什么要设置这一功能。)
在他理解发生了什么之后,他从椅子上跳了起来,在卧室里开心地跳来跳去。然后他做了一件非同寻常的事:他上楼把这件事告诉了自己的家人。
「干得好,亲爱的。」Janet 说,然后回头继续切洋葱。
几个小时之后,哈钦斯及其 Kryptos Logic 的同事才意识到 WannaCry 的威胁仍然存在。哈钦斯注册的域名仍然继续收到大量连接,说明这个蠕虫仍在继续传播。接下来的两天时间里,其收到了近 100 万个连接。如果他们的网站域名离线,那么这么多计算机中的内容都会被加密,WannaCry 的破坏还会继续。「如果这个网站下线,那么 WannaCry 就会重新开始。」哈钦斯的老板 Salim Neino 回忆说,「它会在 24 小时内感染全世界每一台易受攻击的计算机。」
此后的几天时间里,攻击规模逐渐升级,几乎使这个沉洞域名瘫痪。Kryptos Logic 紧张地应对,一边过滤流量,一边使用亚马逊数据中心和法国托管公司 OVH 的服务器分流。在接下来的一周里,为了保证 WannaCry 死亡开关能有效工作,哈钦斯的连续睡眠时间不超过 3 小时。
不久之后,更多记者来按他家的门铃,他家对街的停车场停满了车,而且电话太多让他父母都不再接听了。英国小报还用夸张的标题报道他,称他是在卧室中「意外」拯救世界的英雄。为了满足这些媒体的胃口,哈钦斯接受了一次采访,但他太紧张,连自己的名字都写错了。
WannaCry 爆发一周之后,最危险的时间过去了,Neino 很担心哈钦斯的健康,于是提供奖金让他休息:在床上每睡觉一小时就有 1000 美元奖金。
但直到 WannaCry 爆发三个月后的 Defcon 大会,哈钦斯才开始真正接受自己「网络安全领域巨星」的身份。为了避免总有粉丝找他合影,他和一些朋友用 AirBnb 租了一套带有巨大私人游泳池的豪宅。他们基本没有参会听演讲,而是到处参加派对聚会——充斥着各种豪华露天活动和荒唐的娱乐活动。
此时已是离开 Kronos 三年后,哈钦斯感觉自己已经是完全不同的人了。这个冉冉升起的明星也终于开始放下自己的心结,不再担忧过去的网络犯罪经历。
然后,在拉斯维加斯最后一天的上午,他看见了一辆黑色 SUV 停在租来的豪宅门前的街道上。
在麦卡伦机场的问询室,在两位特工提到 Kronos 几分钟后,哈钦斯就以半告解的形式供认了一切。他承认自己写了 Kronos 的部分代码,但他错误地声称他在 18 岁之前就已经停止为其工作。他说,他还隐隐相信自己在 WannaCry 方面的贡献能得到这些特工的考虑,让他们相信自己。于是他紧张地在没有律师在场的情况下回答了他们的问题。
最后,红发特工 Lee Chartier 说明了他们的意图。Chartier 说:「老实说,马库斯,这事儿与 WannaCry 无关。」然后他们拿出一份逮捕令,以涉嫌计算机欺诈和滥用的罪名逮捕了他。
哈钦斯不知道,黑客社区正对此发生某种免疫反应。Neino 在接到电话之后把消息告诉了哈钦斯的黑客朋友 Andrew Mabbitt,而后者又把这个新闻分享给了 Vice 的一位记者并在 Twitter 上拉响了警报。很快,人们集结起来为这位遭难的黑客英雄说话,同时猜测他被捕的原因。
但也有人分析说 WannaCry 是哈钦斯故意散布然后自己再动手解决的。不过 8 个月后美国国防部指出攻击者是朝鲜一个国家支持的黑客团队。
著名网络安全专家 Tarah Wheeler 和 Deviant Ollam 夫妇最终帮助素未谋面的哈钦斯支付了 30000 美元保释金,让他不必在监狱里再呆一晚。
两位资深律师 Brian Klein 和 Marcia Hofmann 成了他的辩护律师。在律师的努力下,哈钦斯得以在 Klein 所在的房子拘留。接下来的两个月时间里,他的人身限制被逐渐解除——渐渐可以离开公寓以及使用互联网,但法院禁止他访问他创建的 WannaCry 沉洞域名。最后,他的宵禁和 GPS 监控脚环也被解除了。
但他仍然深感担忧。他没有收入,积蓄也逐渐减少,而且还有可能导致几年监禁的指控。
很多支持者将他的无罪请求视为无罪声明,而不是一种谈判策略,而且他们还继续通过一个法律基金给他捐款。前 NSA 黑客 Jake Williams 同意当哈钦斯的专家证人。Tarah Wheeler 和 Deviant Ollam 夫妇几乎成了哈钦斯的养父母,陪他一起前往密尔沃基接受审讯,帮助他料理在洛杉矶的生活。他觉得自己不配拥有这些——所有帮助他的人都错误地假设他无罪。
但哈钦斯仍然因为觉得自己是伪君子而深感痛苦,他甚至想过自杀。他说这种负罪感正「活生生地吞噬我」。
哈钦斯犹豫了。他说他其实并不知道 Vinny 的真实身份,而那才是检察官的真正目标。但他还说,原则上他不应该为了躲避自己行为的后果而出卖其他黑客。最终,哈钦斯拒绝了这项交易,静待审判。
在一番交涉之后,哈钦斯最终在 2019 年 4 月接受了一份新交易。这份新交易比之前的风险更大。检察官同意不提供量刑建议。而哈钦斯要对这 10 项指控中的 2 项认罪,并且还可能面临最高达 10 年的监禁和 50 万美元的罚款,这完全由法官定夺。
然后他发了一条更认真的推文,旨在反驳那些说他的黑帽经历有助于白帽事业的言论:
2019 年 7 月的一天,哈钦斯抵达密尔沃基一家法院接受判决。他身穿一套灰色西装,为了避开媒体而提前两个小时到达。
法官说他认为哈钦斯不仅是一位被定罪的罪犯,更是一位网络安全专家,而且在接受正义的裁决之前就已经走向了正途。法官权衡了监禁哈钦斯的威慑价值以及这位年轻黑客的天才头脑的价值。最终,这位法官认为哈钦斯值得完全特赦,但法院无权这么做。
哈钦斯简直不敢相信。在首次被捕的两年之后,他获得了自由。
「我不希望被贴上 WannaCry 或 Kronos 标签,我只希望成为一个能帮助让世界更好的人。」哈钦斯表示。
来源:WIRED Magazine 翻译:机器之心