dyn虚拟货币
选自Wired
作者:Andy Greenberg
机器之心编译
参与:Panda
22 岁那年,马库斯·哈钦斯(Marcus Hutchins)凭一己之力阻止了有史以来最严重的网络攻击 WannaCry。不久后他因为开发恶意软件 Kronos 被 FBI 逮捕。本文将讲述他不为人知的故事。
2017 年 8 月的一个星期三早上 7 点左右,此时马库斯·哈钦斯已经在 Airbnb 上租的一套拉斯维加斯豪宅内狂欢了一周半时间。当他走出这套豪宅的前门取自己的外卖订单时,这个身高 6 英尺 4 英寸(约 1.93 米)的 23 岁棕色卷发爆炸头黑客看见街上停着一辆黑色 SUV——看起来很像是一辆 FBI 的监控车。
他看着这辆车,大脑昏昏沉沉,不禁怀疑:终于来抓自己了吗?
但他只是稍微想了一想,并未过多考虑。他告诉自己:FBI 办事永远不可能如此明显。由于赤脚站在前门车道上,他感到脚快被烫伤了。于是他拿起外卖,回到了豪宅中他用作卧室的泳池房。吃过外卖后,他收拾好行李准备前往机场——他已经订了一张返回英国的头等舱机票。
哈钦斯之前刚在 Defcon 大会度过了引人注目又疲惫的一周。在这个全球最大规模的黑客会议上,他被尊为英雄。不到三个月前,哈钦斯从有史以来最严重的网络攻击事件「WannaCry 勒索病毒全球大爆发」中拯救了互联网。WannaCry 是一种可以自行传播的软件,就像病毒一样通过互联网扩散到了整个地球,摧毁了数十万台计算机中的数据。正是哈钦斯找到并激活了其代码中隐藏的死亡开关,进而遏制了 WannaCry 的进一步全球蔓延。
这段白帽黑客传奇故事为哈钦斯赢得了在 Defcon 参会者聚会上免费畅饮的资格。他和他的随行人员被邀请参加每一场 VIP 黑客聚会、被记者请去吃晚餐、被粉丝簇拥着自拍合影。毕竟,这个故事让人无法抗拒:内向的极客哈钦斯独自一人屠灭了威胁整个数字世界的怪兽,而这一切都发生在英格兰西部偏远地区他父母家一间卧室内的一副键盘前。
哈钦斯仍在为呼啸而至的赞誉而头晕目眩,没有多余的精力担忧 FBI,即便几小时后他走出这套豪宅时再次看见了那辆黑色 SUV。大脑昏昏沉沉,他叫了辆 Uber 去机场。后来,法院的文件表明这辆 SUV 一路尾随着他——事实上,他在拉斯维加斯这段时间里,执法部门一直在定期追踪他的位置。
当哈钦斯抵达机场,到达安检处时,TSA(美国联邦运输安全管理局)却告诉他不必把他的三台笔记本电脑从包里拿出来进行扫描。相反,他们挥手直接让他过去了,让他还以为自己受到了特别优待。
他悠闲地漫步到机场休息室,拿了瓶可乐,坐到了椅子上。离他前往英国的航班起飞还有几个小时,所以他开始发 Twitter 打发时间,他说自己正兴奋地等待回到自己分析恶意软件的工作。他发推说:「现在已经一个多月没碰过调试器了」。
哈钦斯在写另一条推文时注意到有三个人向他走来,其中两个穿着美国海关和边境保护局的制服。「你是马库斯·哈钦斯吗?」为首的红发男人问。哈钦斯说是,然后那个男人用不带感情的口吻叫他跟他们走一趟。哈钦斯被带进了一扇门,进入了一个私用楼梯间。
然后他被戴上了手铐。
震惊之下,哈钦斯问他们自己犯了什么事。「我们后面再说。」那个男人说。
哈钦斯在头脑里迅速回想自己做过的可能会引起海关注意的违法行为。当然,他想到也可能是「那件事」——那场几年前不能提及的犯罪。
特工们带他走过一个装满监视器的安全区域,然后让他在一间问询室坐下来,并将他独自一人留在那里。当那个红发男人回来时,他身边有一位小个子金发女人。这两位特工展示了自己的徽章。他们来自 FBI。
接下来的几分钟里,这两位特工用友好的语气向哈钦斯询问了他的教育以及他工作的安全公司 Kryptos Logic 的情况。在这段时间里,哈钦斯以为他们只是想了解自己在 WannaCry 上的工作,只不过方式有点过激。但在问询到达 11 分钟时,他们问到了一个名为「Kronos」的程序。
「Kronos,」哈钦斯说,「我知道这个名字。」然后他有点麻木地意识到,他可能回不了家了。
英国乡村的计算机男孩
14 年前,马库斯·哈钦斯的父母 Janet 和 Desmond 搬到了德文郡偏远地区的一个养牛场,住进了一套石质房屋,这里离英格兰西海岸仅有几分钟路程。Janet 是一位出生于苏格兰的护士。Desmond 则是一位来自牙买加的社会工作者,他在 1986 年首次遇到 Janet 时是一名消防员。他们一家之前住在离伦敦 30 英里的通勤城市布拉克内尔,搬走的原因是希望 9 岁的马库斯和他 7 岁的弟弟能在比伦敦城市圈更单纯的地方长大。
一开始这处农场确实能提供他们所寻求的「田园牧歌」。哈钦斯是一个聪明开朗的孩子,乐于交朋友,但很坚韧克己,就像他父亲 Desmond 说的那样:「自成体系,有非常强的是非感」。他父亲说,他有一次在玩耍时摔断了手腕,但他没有掉一滴泪。但是当租房子给他们的农场主杀死哈钦斯很喜欢的一头大脑受损的羸弱小牛时,他却哭了。
哈钦斯并不总是能融入到德文郡的其他农村孩子中。他个子更高,而且并不像其他英国人那样痴迷足球,而是更喜欢在离家几英里的冰冷海水中冲浪。他是所在学校少数几个混血儿之一,而且他拒绝修剪自己标志性的蓬松卷发。
但他最大的不同是对计算机超乎寻常的痴迷和天分。哈钦斯在 6 岁时便开始看着母亲在家里的戴尔台式机上使用 Windows 95 了。他的父亲常常因为他拆卸这台家用电脑以及安装奇怪的程序而生气。在他们搬到德文郡时,哈钦斯开始好奇地钻研他访问过的网站背后的 HTML 符号,并使用 Basic 编写了基本的 Hello world 脚本。很快,他开始将编程视为「用于构建你所想要的一切的门户」。他说:「这里没有任何限制。」
在计算机课上,当他的同学们在学习使用 Word 时,哈钦斯深感无趣。学校的计算机不允许他安装《反恐精英》和《使命召唤》这些他想玩的游戏,而且还限制了可以访问的网站。但哈钦斯发现他可以通过编程绕过这些限制。他在 Microsoft Word 内发现了一个可用 Visual Basic 语言编写脚本的功能。使用这一脚本功能,他可以运行任何他想运行的代码,甚至安装不被允许安装的软件。使用这一技巧,他安装了一个代理软件,可让他的网络流量经过一个遥远的服务器后再到达目标位置,从而击败了学校想要过滤和监控他的网络流量的企图。
13 岁生日时,哈钦斯的父母同意给他买一台个人电脑,但他要求购买零件,然后自己组装。哈钦斯的母亲说,这台电脑很快就成了他的「挚爱」。
哈钦斯仍在海上冲浪,还参加了一种竞技性救生运动:冲浪救生(surf lifesaving)。他很擅长这一运动,还赢得过一些国家级奖牌。但他把其它剩余时间都放在了计算机上,要么玩游戏,要么精进自己的编程技术,通常一干就是几个小时。
他的痴迷让母亲担忧。她尤其担心网络中黑暗的边缘地带可能会影响她的儿子,她半开玩笑地将那些东西称为「互联网恶魔(internet boogeyman)」。
因此她试过在马库斯的电脑上安装家长控制软件,但马库斯使用一种简单的技术就获得了那台计算机的管理员权限,然后关闭了家长控制功能。她还试过通过他们的家庭路由器限制他的互联网接入,但他发现路由器上的硬件重置功能能将其恢复出厂设置,然后他重新配置了路由器,反过来将她的计算机离线了。
「在那之后我们进行了一次长谈。」Janet 说,她威胁说要拆掉家里的网线。他们最终还是停战了。「我们同意如果他把网络连接还给我,我会换种方式监控他。但实际上,根本没办法监控马库斯。因为他比我们任何人都要聪明。」
窥探暗面的青少年黑客
许多母亲对互联网恶魔的恐惧被夸大了,但 Janet 的恐惧并没有。
哈钦斯得到自己的计算机后不到一年,就开始探索初级黑客网络论坛——一个致力于在当时流行的即时通信平台 MSN 上搞破坏的论坛。他在这里发现了一个社区,里面都是和他想法一样的年轻黑客在炫耀自己的成果。有一个黑客吹嘘自己创造了一种可以伪装成 JPEG 的 MSN 蠕虫病毒。当有人打开这个文件时,这个恶意软件会立即以隐藏方式将自己发送给该用户的所有 MSN 联系人;其中一些人会打开这张图片,进而导致下一轮的传播。
哈钦斯当时并不知道这样的蠕虫有什么实际用处,但这却给他留下了非常深刻的印象。「我当时想,太酷了,编程居然能做这种事。」他说,「我也想做这种事。」
14 岁那年,他为该论坛做出了自己的贡献——一个简单的密码窃取软件。只要将其安装在某人的电脑上,它就能直接拉取受害者存储在 IE 浏览器中的网络账户的密码。这些密码是经过加密的,但哈钦斯找到了 IE 浏览器隐藏解密密钥的位置。
哈钦斯的第一款恶意软件得到了该论坛的认可。但他想用这款恶意软件盗取谁的密码呢?「我不知道,真的。」哈钦斯说,「我当时只是想:我做了个很酷的东西。」
随着哈钦斯的黑客事业开始成型,他的学业受到了影响。他傍晚从海滩回家后会径直回自己的卧室,在电脑面前吃饭,然后假装睡觉。在他的父母看他熄灯之后回自己房间睡觉时,他又会回到电脑前。「他瞒着我们一直编程到凌晨。」Janet 说,当她第二天早上叫醒他时,「他看起来很憔悴,因为他只睡了半小时。」不明就里的母亲非常担心,于是带他去看了医生,结果被诊断为睡眠不足。
大约 15 岁那年的一天,哈钦斯在学校发现自己的网络账户被锁定了。几小时后,他被叫到了学校的行政办公室,并被指控攻击学校的网络,导致学校不得不换掉一台遭到严重破坏的服务器。哈钦斯坚决否认参与此事,并要求查看证据。但他说学校管理员拒绝分享证据。不过那时候他在学校 IT 人员那里已经臭名昭著了。即使今天他还认为自己是最方便的替罪羊。「马库斯不擅长说谎。」他的母亲同意这一点,「他很喜欢自吹自擂。如果是他干的,他肯定会说是他干的。」
哈钦斯的账号被停用了两周,然后学校永久性地禁止他在学校使用计算机。他的回应很简单:尽可能少地待在学校。他完全变成了夜猫子,白天在课堂上睡大觉,甚至常常不去上课。他的父母很生气,但他要么乘车去学校,要么就去冲浪,大部分时候都能躲开父母的责骂和惩罚。「他们总不能强行拖我去学校,」哈钦斯说,「我是个大个子。」
2009 年,哈钦斯一家从原来那座农场搬到了前邮局房子里,新住所坐落在仅有一个酒吧的小村子中。马库斯占了顶楼的一个房间。除了获取食物和咖啡,他很少离开自己的房间,而且他大部分时间都把自己的门锁着。
差不多同时,哈钦斯经常访问的那个 MSN 论坛关闭了,因此他转到了另一个名为 HackForums 的社区。这个论坛的人技术略先进一点,而道德观也更晦暗一些:一群年轻黑客构成的「蝇王」想要通过虚无的黑客行动来折服另一群年轻黑客。要赢得 HackForums 的尊重,最小的筹码是拥有一个僵尸网络,即成百上千台会遵照该黑客的指令办事的被恶意软件感染的计算机。黑客可以使用僵尸网络向目标灌入大量垃圾流量,迫使其网络服务器离线——这种攻击方式被称为分布式拒绝服务攻击(DDoS 攻击)。
这时候,哈钦斯的英国乡村田园生活与秘密的网络朋克生活并无重叠,没有任何现实的约束能防止他进入那充斥着不道德的网络地下世界。于是年仅 15 岁的哈钦斯很快就在那个论坛上吹嘘自己运行着一个包含 8000 台计算机的僵尸网络,其中大多数都是他通过 BitTorrent 上传的虚假文件劫持的。
不仅如此,哈钦斯还开始了自己的事业。他开始租用服务器,然后以按月收费的方式向 HackForums 的成员出售网络托管服务。哈钦斯称自己的公司为 Gh0sthosting,并在 HackForums 上宣传说这是一个允许「所有非法网站」的地方。有一次一位客户问能否托管黑市软件 warez,哈钦斯立即回复说:「除了儿童色情,任何网站都可以。」
哈钦斯说,在自己当时那青少年的思想里,这些东西都算不上是「真正的」犯罪,不会让他受到执法部门注意。
但是,不到一年时间,哈钦斯就对他的僵尸网络和托管服务感到厌倦了,因为他发现这需要应付很多「喜欢抱怨的客户」。于是他不再做这两件事,而是专心于他更喜欢的事情:完善自己的恶意软件。很快他就拆分了其他黑客的 rootkit,即用于修改计算机操作系统的程序,使得恶意软件可以隐藏起来。他研究了它们的功能,学会了将自己的代码隐藏到其它计算机进程中,使得他的文件在计算机的文件目录中不可见。
当哈钦斯在 HackForums 发布了一些示例代码炫耀自己的技术时,另一位会员注意到了他,并让他写一段检查特定杀毒软件能否检测某个恶意软件的代码。从这个任务中,哈钦斯获得了价值 200 美元的 Liberty Reserve,这是一种早期的数字货币。之后,这位客户又用 800 美元购买了哈钦斯写的 formgrabber,这是一个可以秘密窃取人们输入网络表单的密码和其它数据的 rootkit。
哈钦斯在当恶意软件枪手方面开始有了些名气。然后 16 岁那年,一位更加严肃的客户接洽了他。这个人的化名是 Vinny,他为哈钦斯提供的工作任务是:一个多功能且易于维护的 rootkit,以便他能在 Exploit.in 和 Dark0de 等比 HackForums 更加专业的黑客市场上进行销售。而且回报不是预付款,而是一半的销售利润。他们将这款产品称为 UPAS Kit,得名于爪哇的 upas 毒树,其毒汁曾在东南亚地区用于制作毒镖和毒箭。
Vinny 不同于哈钦斯曾遇到过的那些喜欢自吹自擂的黑客;他更专业,口风更紧,从不谈论有关自己个人生活的任何细节。而且哈钦斯和 Vinny 都非常注意,从不保存他们的对话日志。
但哈钦斯却并未对自己的个人生活那么守口如瓶。哈钦斯曾有一次提到过自己生活在英格兰的农村地区。然后他们谈到了当时的一个新黑市网站「丝绸之路(Silk Road)」。
那时还是 2011 年,这个网站尚不为大众所知。哈钦斯当时也觉得这是个骗局。「屁话,」哈钦斯这样对 Vinny 说,「证明一下!」
于是 Vinny 要了哈钦斯的地址和出生日期。他说要给哈钦斯送一个生日礼物。哈钦斯提供了这两个信息,但很快他就后悔了。
哈钦斯 17 岁生日那天,一个包裹被邮寄到了他父母家。里面是一包毒品。
走上网络犯罪道路
经过接近 9 个月的工作后,哈钦斯完成了 UPAS Kit,并在 2012 年夏季将这款 rootkit 上市销售。哈钦斯没向 Vinny 问起过买家是谁。他只是很高兴自己已经不再是一个到处炫耀的 HackForums 菜鸟了,而是受人欢迎和赞赏的专业程序员。
而且钱也很多。Vinny 开始以比特币向哈钦斯支付 UPAS Kit 的佣金,数额通常等值数千美元。哈钦斯发现自己第一次有了真正意义上的可支配收入。他升级了电脑,买了一台 Xbox 和一套新音响系统,而且开始炒比特币。那时候,他已经完全辍学,而且因为教练退休,他也已经不再进行冲浪救生运动。他告诉父母自己正从事自由编程工作,他的父母似乎很满意。
UPAS Kit 很成功,Vinny 对哈钦斯说是时候开发 UPAS Kit 2.0 了。他想要可以记录受害者键盘输入和监控受害者显示器的新功能。最重要的是,他想要能向受害者观看的页面注入虚假文本字段或其它内容的功能,即网络注入(web inject)功能。
哈钦斯说,最后这项要求让他感到不安。在哈钦斯看来,网络注入的目的很明确:银行诈骗。大多数银行在转账时都要求提供第二个认证因素,这通常是通过向用户的手机发送验证码来实现。网络注入可通过虚假页面来拦截用户输入的验证码。这在哈钦斯看来是很严重的犯罪。
过去几年里,哈钦斯在网络犯罪的道路上小步前进,却不知不觉已经跨过了自己曾警惕的红线。哈钦斯对 Vinny 说这无疑是帮人盗窃无辜受害者的钱财,这是不对的。而且这样实际性的网络金融犯罪会让他受到执法部门的注意。
在那之前,哈钦斯还简单地以为自己写的软件只会被用于盗取 Facebook 账户或劫持人们的电脑来挖加密货币之类的事情。「我之前从不知道我的代码被用来做了什么。」他说,「但现在很明显了。它们会被用于窃取人们的钱财。它们会被用于掏空人们的积蓄。」
他表示自己拒绝了 Vinny 的要求。
但 Vinny 坚持要他做,并且以半开玩笑半威胁的方式重申他知道哈钦斯的身份和住址。如果他们的业务关系终止,也许他会把这些信息交给 FBI。
哈钦斯很害怕,也对自己感到愤怒:自己竟天真地把这个冷血无情的罪犯看作是合作伙伴并分享了个人信息。但他坚持了底线,并反过来威胁说不再合作。明白自己需要哈钦斯编程技术的 Vinny 退步了。他们达成了一项协议:哈钦斯开发 UPAS Kit 的修订版,但不带网络注入功能。
接下来几个月里,哈钦斯开始开发下一代 UPAS Kit 工具,同时开始上当地的一所社区大学。他与一位计算机科学教授建立了良好的关系,因此想要完成自己的学业。学业和开发维护 Vinny 的恶意软件让他精疲力尽。而且 Vinny 还一直催促他。
九个月通宵达旦的开发后,哈钦斯完成了第二版 UPAS Kit。但当他提交了自己完成的代码后,Vinny 却说了一个让他惊讶的事情:他已经秘密雇佣了另一位程序员,写了哈钦斯不愿写的网络注入功能。只要将这些代码组合到一起,就能得到一个功能完备的银行木马病毒软件。
哈钦斯说他当时狂怒不止以至于说不出话来。他很快意识到自己没有任何可用来对付 Vinny 的筹码。这个恶意软件已经写好了。而且大部分还是哈钦斯写的。
在那一瞬间,哈钦斯几年来一直避免过多考虑的道德问题和惩罚威胁涌入了他的头脑,让他冷静下来开始思考对策。「没有摆脱困境的方法。」他记得当时这样想,「FBI 终有一天会带着逮捕令上门。而这都是因为我信任了这个该死的家伙。」
尽管如此,哈钦斯还有一个选择。
Vinny 希望由他来完成整合工作,然后测试以及进行发布后的更新维护。哈钦斯说他当时本能地认为自己应该抽身离开,再也不与 Vinny 联系。但 Vinny 说哈钦斯已经工作了 9 个月,而且不管他怎么想,这套工具都已经完成得差不多了。
而且如果哈钦斯退出,他也不会再收到佣金。他将承受所有犯罪风险,同时没有任何回报。
虽然很愤怒,但哈钦斯承认自己被说服了。于是青春期的错误决定仍旧继续。他同意继续开发维护 Vinny 的银行恶意软件。
但他现在却发现自己对编程的热爱已经烟消云散。他尽力拖延,然后又在恐惧和负罪感中没日没夜地编程。
2014 年 6 月,这套 rootkit 工具完工。Vinny 开始在 Exploit.in 和 Dark0de 等网络犯罪黑市出售。之后他又开始在 AlphaBay 出售它,这是在「丝绸之路」被 FBI 取缔之后新出现的暗网网站。
Vinny 在与失去联系的客户发生争执之后,决定为 UPAS 换个名字。他使用了希腊神话中宙斯之父的名字:Kronos。最终,Kronos 成为了史上最臭名昭著的银行木马病毒之一。
迷茫岁月与新的朋友
哈钦斯 19 岁时,他们一家搬到了位于德文郡伊尔弗勒科姆的一座 18 世纪的四层楼房中,那是一个维多利亚式海滨度假小镇。哈钦斯住进了地下室,这里之前是仆人住的地方,有独立的浴室和厨房。这进一步切断了他与家人及世界的联系,他前所未有地孤身一人。
当 Kronos 在 Exploit.in 上架出售时,并没有取得多大成功。这个网站社区的人大都是俄罗斯人,对不说俄语的 Vinny 很是怀疑,而且他为 Kronos 的定价高达 7000 美元。而且和其它新软件一样,Kronos 也有漏洞有待修复。客户要求持续更新以及增加新功能。所以哈钦斯接下来一年时间里一直在不断编程,而且现在还要面对紧张的截止日期和要求见他们的愤怒买家。
加上大学学业,哈钦斯已经应接不暇,几近崩溃。
终于,一个名叫 Randy 的网友让他重新找到了生活的平衡。
哈钦斯与 Randy 是在黑客论坛 TrojanForge 上认识的。那是在 Kronos 发布之后,Randy 问他能否为他写一个银行恶意软件。哈钦斯拒绝之后,Randy 又问他能否帮他开发一些合法的企业和教育应用。哈钦斯正希望通过合法收入来清洗自己的非法所得,于是同意了。
事实证明,Randy 是个慷慨的雇主。当哈钦斯告诉他自己没有用来开发苹果应用的 MacOS 设备时,Randy 询问了他的住址。哈钦斯再一次提供了,然后 Randy 送了一台全新的 iMac 给他。后来,Randy 还送了他一台新的 PS4 游戏机。
而且不同于 Vinny,Randy 乐于分享自己的个人生活。他们走得更近了,而且还会进行视频聊天,而不只是哈钦斯早已习惯的文本交流。Randy 的慈善目标给哈钦斯留下了深刻影响,比如他会使用自己的利润来资助为孩童提供免费编程教育的慈善项目。哈钦斯认为这些利润多半来自网络犯罪。但他开始将 Randy 视为一个罗宾汉式的劫富济贫的侠盗,并希望自己未来也能成为这样的人。Randy 说自己生活在阳光明媚的洛杉矶。他们甚至还讨论过搬到一起,在南加州的某个海景房里创立一家创业公司。
Randy 很信任哈钦斯,当哈钦斯介绍自己炒比特币的技巧时,Randy 发送了超过价值 10000 美元的比特币给他,让其代为交易。哈钦斯自己编写了一个比特币对冲程序,可以保护自己的资金免受比特币价格剧烈波动的影响。Randy 请他用同样的技术管理自己的资产。
2015 年夏季的一个晚上,哈钦斯所在的地方断电了。而在此期间,比特币价格暴跌了。因为哈钦斯的电脑无法工作,Randy 的储蓄一下就少了 5000 美元。哈钦斯慌了。
他立马向 Randy 承认了这笔损失。但他提出了一项补偿。哈钦斯揭露了自己的身份,说自己就是 Kronos 的秘密开发者。因为知道 Randy 之前想要银行诈骗恶意软件,于是哈钦斯送了一套 Kronos 副本给他。Randy 表示理解,说这样就扯平了。
这是哈钦斯第一次向其他人揭示自己的这个身份。但第二天,他才意识到这是个天大的错误:Randy 乐于分享个人信息,是个口风不紧的人。他迟早会被执法部门抓住,并且很可能会把自己供出来。
哈钦斯之前就已经认为自己必然会因网络犯罪被逮捕,而现在他已经感到联邦特工在敲门了。哈钦斯当时想,「我肯定会这样完蛋。
旧的终结与新的开始
2015 年春季,哈钦斯从社区大学毕业,并决心改变自己。
这段时间他情绪低落,精神衰弱,注意力不集中。当 Vinny 问他为什么进度落后时,他借口说自己仍忙于学业。
催得多了,Vinny 也累了,不再那么频繁地找他了。几次责骂之后,Vinny 不再理他。销售 Kronos 的比特币佣金也停止支付,哈钦斯最黑暗的网络犯罪时代终于过去。
接下来的几个月里,哈钦斯一直躲在自己房间里,除了打游戏和看《绝命毒师》,没做任何特别的事情。他很少离开家,只是偶尔去海里游泳或参加风暴追逐者在附近悬崖边的聚会。
几个月后,情况好转,但哈钦斯仍会感到间歇性的焦虑。他开始返回黑客世界。但对网络犯罪已经兴致全无,而是回到了他 2013 年建立的博客 MalwareTech :https://www.malwaretech.com,并在其中发布有关恶意软件的技术细节。该博客会发布剖析式的客观分析,似乎能同时吸引黑帽和白帽访问者。「这是一种中立的立场。」他说,「黑白双方都喜欢。」
他甚至还写过一篇关于网络注入的深度解析。
很快,他的忠实读者就超过了 10000 人,而且他们似乎不知道 MalwareTech 的见解很多来自作者的亲身实践。
离开 Kronos 几年后,哈钦斯开始对世界上最大僵尸网络中的 Kelihos 和 Necurs 进行反向工程。他意识到可从僵尸网络内部监控其活动情况。为此他编写了一些僵尸网络监控程序,可以标记出被僵尸网络控制的计算机。不久之后,洛杉矶网络安全创业公司 Kryptos Logic 的 CEO Salim Neino 联系了他,问他能否为他们工作。该公司希望创建一个僵尸网络跟踪服务,可在用户的计算机 IP 地址出现在 Kelihos 等僵尸网络中时发出报警。
实际上,该公司已经在让一位雇员进入 Kelihos 内部了,但他说反向工程这些代码需要太多时间。哈钦斯还未察觉,他已经攻破了互联网上最顽固的僵尸网络之一。
Neino 为哈钦斯提供了 10000 美元,希望其为 Kryptos Logic 构建 Kelihos 跟踪器。在完成这一个工作的几周时间里,哈钦斯还为另一个更大规模的僵尸网络 Sality 开发了跟踪器。之后,Kryptos Logic 为哈钦斯提供了一份年薪六位数的工作邀约。当哈钦斯看到这个数字时,他还以为 Neino 在开玩笑。
这比他开发网络犯罪恶意软件赚的还多。哈钦斯这时才开始了解现代网络安全行业的现实情况:对西方国家的天才黑客来说,犯罪实际上没啥回报。
受欢迎的职业网络安全专家
在 Kryptos Logic 工作的前几个月时间里,哈钦斯进入了一个又一个大型僵尸网络:Necurs、Dridex、Emotet……这些僵尸网络控制的计算机总数多达数百万台。不过此时他仍在自家的卧室内工作。
「在僵尸网络研究方面,他可能是那时候最优秀的人之一。在第三或第四个月,我们在他的帮助下实现了对世界上每个主要僵尸网络的跟踪。」Neino 说,「他将我们提升了一个层次。」
哈钦斯继续在 MalwareTech 博客和他的 Twitter 上详细介绍他的研究,并开始被视为一位精英恶意软件爆料者。但除了 Kryptos Logic 的同事以及少数几个亲近朋友,没人知道 MalwareTech 的真实身份。
2016 年秋季,一种新型僵尸网络问世。一种名为 Mirai 的恶意软件开始感染所谓的物联网设备——无线路由器、数字录像机和安保摄像机,进而组成超大规模的集群,可实现非常强力的 DDoS 攻击。在那之前,最大规模的 DDoS 攻击每秒可向目标发送数百 GB 流量。但现在,这个新的僵尸网络能向目标每秒灌入超过 1 TB 流量,这样的攻击足以瘫痪各种网络服务。更糟糕的是,Mirai 的作者、代号 Anna-Senpai 的黑客还在 HackForums 上发布了 Mirai 的代码,邀请其他人也来创建自己的 Mirai 分支。
当年 9 月,安全博主 Brian Krebs 的网站遭到了一次 Mirai 攻击,其网站每秒承受的流量超过每秒 600 GB,直接让他的网站离线了。不久之后,法国托管公司 OVH 被每秒 1.1 TB 的流量洪流冲垮。10 月,域名系统服务商 Dyn 也遭受到了一波攻击。Dyn 的下线导致北美和欧洲部分地区的用户无法使用亚马逊、Spotify、Netflix、PayPal 和 Reddit 等许多常用服务。几乎同一时间,还有一场 Mirai 攻击冲垮了利比里亚主要电信提供商的网络,直接让该国大部分地区脱离了互联网。
哈钦斯开始追踪 Mirai。他与 Kryptos Logic 的同事一起专研 Mirai 的代码样本,然后创建了可以渗透进入 Mirai 僵尸网络之中的程序,该程序可以截听其中的命令并通过 Twitter 实时递送攻击新闻:https://twitter.com/miraiattacks。2017 年 1 月,袭击利比里亚的那个 Mirai 僵尸网络对英国最大的银行劳埃德银行发动了袭击,试图敲诈勒索,这场袭击导致该银行的网站几天内多次离线。
得益于他开发的 Mirai 跟踪器,哈钦斯找到了向该僵尸网络发送攻击指令的服务器,并发现那是个提供「DDoS 攻击租用服务(DDoS-for-hire)」的服务器。而在该服务器上,他发现了注册该服务器的黑客的联系人信息。哈钦斯很快在即时通信服务 Jabber 上找到了他,其用户名为 popopret。
哈钦斯要求这个黑客停止攻击。他告诉 popopret 说他知道他本人并不对攻击劳埃德银行直接负责,他只是出租了 Mirai 僵尸网络的使用权。然后他发送了一些消息,包括因为无法访问网站而被困在国外无钱可用的劳埃德银行客户的推文。他还指出劳埃德银行是英国的关键基础设施,如果继续攻击,英国的情报机构肯定会追踪到攻击者。
这场 DDoS 攻击停止了。
拯救互联网的英雄
2017 年 5 月 12 日中午时分,英国皇家伦敦医院的一位年轻麻醉师 Henry Jones(化名)发现出问题了。
他没法登陆医院的邮件系统。他当时与房间里的其他医生吐了吐槽,毕竟他们的办公电脑还用着老旧的 Windows XP,英国 NHS 的系统也老是有各种问题,他们都习惯了。
但就在这时,一位 IT 工作人员走了进来,说这次问题更加不同寻常。一个病毒似乎正在医院的网络上传播。他们重启了办公室内的一台电脑,Jones 看到了带锁图案的红色屏幕,上面写着:「糟糕,你的文件被加密了!」屏幕下方写着需要支付 300 美元的比特币才能解锁该机器。
但 Jones 没时间困惑,他还有手术室的工作要做。但这时候他得知手术室的电脑也中招了,当天安排的其他手术也被迫取消。这场网络攻击不仅袭击了这家医院的网络,而且瘫痪了整个信托医院网络,其中包含伦敦东部地区的五家医院。
Jones 很震惊很愤怒。这难道是对多家 NHS 医院的协同攻击?没有病人可看,Jones 那天其余时间都在帮助 IT 人员拔掉电脑网线。后来他看新闻才知道发生了什么:这不是针对他们的攻击,而是一种正在互联网上疯狂蔓延的自动化蠕虫病毒。设施陈旧的医院遭受重创,手术被迫取消,急救被迫延迟……Jones 意识到:人们可能因此失去生命。
网络安全研究人员将这个蠕虫病毒命名为 WannaCry,得名于其在加密文件时添加在文件名称后的 .wncry 扩展名。WannaCry 在加密计算机时还会使用名为 EternalBlue 的一套强力代码传播自身。EternalBlue 是一个月前由一组名为 Shadow Brokers 的黑客从国家安全局(NSA)窃取出来并公布在网络上的,老旧的 Windows 计算机很容易被其感染。现在,NSA 这个高度复杂的间谍工具变成了武器,几个小时内就在全球范围内造成了前所未有的勒索软件大流行,受害者包括德国铁路公司 Deutsche Bahn、俄罗斯联邦储蓄银行、汽车制造商雷诺、日产和本田、中国多所大学、印度的警察局、西班牙电信公司 Telefónica、联邦快递和波音。短短一个下午的时间,该病毒就破坏了将近 25 万台计算机的数据,预估损失在 40 亿-80 亿美元之间。而且情况似乎还将继续恶化。
那个星期五下午 2:30 左右,买完午餐的马库斯·哈钦斯坐回电脑前才看到这场互联网大灾难。
几分钟后,一个代号 Kafeine 的黑客朋友给哈钦斯发送了 WannaCry 的代码副本。来不及吃午餐,哈钦斯就开始剖析这些代码。
首先,他在隔离的虚拟机中运行了这个程序。然后很快他就注意到其在执行加密时会向一个看起来随机生成的网址发送一条查询信息:iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com。
很显然,这个病毒采用了「命令-控制」模式,即某个地方的服务器能给被感染的计算机发送控制指令。哈钦斯将这个网址放到浏览器中,却发现根本没有网站。
因此他访问了域名注册商 Namecheap,在下午 3:08 用 10.69 美元注册了这个地址。哈钦斯希望此举能让他从 WannaCry 创造者那里夺回部分受害计算机的控制权。或者他至少可通过 sinkholing(沉洞)技术获知受害计算机的数量和位置。
当哈钦斯将这个域名定向到 Kryptos Logic 的一组服务器上后,就立马收到了全世界数千台新被感染的计算机的连接。哈钦斯在 Twitter 上通报了这一信息,引起了世界各地的研究者、记者和系统管理者的关注。
下午 6:30,哈钦斯的黑客朋友 Kafeine 分享了一条推文给他。这条让哈钦斯感到惊讶的推文来自安全研究者 Darien Huss:「攻击失败,因为该域名已沉洞。」
换句话说,由于哈钦斯的域名首先上线,因此 WannaCry 感染虽然还会继续,但并不会真正造成任何新的危害。这个蠕虫病毒似乎就这样失去功能了。
Huss 的推文中包含一段他反向工程得到的 WannaCry 代码。该代码的逻辑是在加密文件之间,首先检查能否连接到哈钦斯的网络地址。如果不能,就加密该计算机的内容。如果能够连接,就停止工作。(恶意软件分析师至今仍不明确 WannaCry 的创造者为什么要设置这一功能。)
哈钦斯并未找到这个恶意软件的「命令-控制」地址,而是找到了它的死亡开关。这在哈钦斯的原本意料之外。
在他理解发生了什么之后,他从椅子上跳了起来,在卧室里开心地跳来跳去。然后他做了一件非同寻常的事:他上楼把这件事告诉了自己的家人。
他做护士工作的母亲今天刚好休假,刚和朋友聚会回来准备开始做晚餐,因此还不真正知道这场危机。这时候她的儿子上楼来,用不确定的语气告诉她,他似乎已经阻止了世界上有史以来最严重的恶意软件攻击。
「干得好,亲爱的。」Janet 说,然后回头继续切洋葱。
黑客明星
几个小时之后,哈钦斯及其 Kryptos Logic 的同事才意识到 WannaCry 的威胁仍然存在。哈钦斯注册的域名仍然继续收到大量连接,说明这个蠕虫仍在继续传播。接下来的两天时间里,其收到了近 100 万个连接。如果他们的网站域名离线,那么这么多计算机中的内容都会被加密,WannaCry 的破坏还会继续。「如果这个网站下线,那么 WannaCry 就会重新开始。」哈钦斯的老板 Salim Neino 回忆说,「它会在 24 小时内感染全世界每一台易受攻击的计算机。」
问题很快就出现了。他们设置的网站遭受了 DDoS 攻击。这场攻击来自一个他们所监控的 Mirai 僵尸网络。「我们感觉自己像是阿特拉斯,全世界都在我们肩上。」Neino 说,「但现在还有人在背后踢阿特拉斯的背。」
此后的几天时间里,攻击规模逐渐升级,几乎使这个沉洞域名瘫痪。Kryptos Logic 紧张地应对,一边过滤流量,一边使用亚马逊数据中心和法国托管公司 OVH 的服务器分流。在接下来的一周里,为了保证 WannaCry 死亡开关能有效工作,哈钦斯的连续睡眠时间不超过 3 小时。
与此同时,新闻媒体也在不断刺探匿名的哈钦斯的真实身份。WannaCry 爆发两天后的星期天上午,当地一位记者出现在哈钦斯家的前门。这位记者的女儿曾与哈钦斯一起上学,并在一张写了 MalwareTech 的 Facebook 照片中看见过他。
不久之后,更多记者来按他家的门铃,他家对街的停车场停满了车,而且电话太多让他父母都不再接听了。英国小报还用夸张的标题报道他,称他是在卧室中「意外」拯救世界的英雄。为了满足这些媒体的胃口,哈钦斯接受了一次采访,但他太紧张,连自己的名字都写错了。
那些天,哈钦斯担心 WannaCry 的作者还会修改代码再次发动攻击,毕竟做起来不难。但还好并没出现这个问题。此后,在英国国家网络安全中心的协调下,亚马逊数据中心和 Cloudflare 为 Kryptos Logic 提供了流量保证,让他们能稳定地运行这个死亡开关域名。
WannaCry 爆发一周之后,最危险的时间过去了,Neino 很担心哈钦斯的健康,于是提供奖金让他休息:在床上每睡觉一小时就有 1000 美元奖金。
聚光灯虽然让哈钦斯不适,但并非全无好处。一夜之间,他的 Twitter 关注者就超过了 10 万。有在当地酒吧里认出他的人请他喝饮料,感谢他拯救了互联网。当地一家餐厅赠送了他一年的免费披萨。他的父母才终于知道儿子做了什么,并深深地为他感到骄傲。
但直到 WannaCry 爆发三个月后的 Defcon 大会,哈钦斯才开始真正接受自己「网络安全领域巨星」的身份。为了避免总有粉丝找他合影,他和一些朋友用 AirBnb 租了一套带有巨大私人游泳池的豪宅。他们基本没有参会听演讲,而是到处参加派对聚会——充斥着各种豪华露天活动和荒唐的娱乐活动。
他玩得很嗨很开心。
此时已是离开 Kronos 三年后,哈钦斯感觉自己已经是完全不同的人了。这个冉冉升起的明星也终于开始放下自己的心结,不再担忧过去的网络犯罪经历。
然后,在拉斯维加斯最后一天的上午,他看见了一辆黑色 SUV 停在租来的豪宅门前的街道上。
被捕
在麦卡伦机场的问询室,在两位特工提到 Kronos 几分钟后,哈钦斯就以半告解的形式供认了一切。他承认自己写了 Kronos 的部分代码,但他错误地声称他在 18 岁之前就已经停止为其工作。他说,他还隐隐相信自己在 WannaCry 方面的贡献能得到这些特工的考虑,让他们相信自己。于是他紧张地在没有律师在场的情况下回答了他们的问题。
但是,当这两位特工展示一份对话记录时,他一厢情愿的考虑烟消云散。这是三年前他与 Randy 对话的记录,那时候他 20 岁。
最后,红发特工 Lee Chartier 说明了他们的意图。Chartier 说:「老实说,马库斯,这事儿与 WannaCry 无关。」然后他们拿出一份逮捕令,以涉嫌计算机欺诈和滥用的罪名逮捕了他。
在获准给老板 Salim Neino 打电话后,在离家 5000 英里的地方,他被关进了监狱,脑中不断担忧着自己的未来。那是他 23 年的人生中最孤独的夜晚。
哈钦斯不知道,黑客社区正对此发生某种免疫反应。Neino 在接到电话之后把消息告诉了哈钦斯的黑客朋友 Andrew Mabbitt,而后者又把这个新闻分享给了 Vice 的一位记者并在 Twitter 上拉响了警报。很快,人们集结起来为这位遭难的黑客英雄说话,同时猜测他被捕的原因。
有人认为他可能是因为被误认为是 WannaCry 的创造者而被逮捕。
但也有人分析说 WannaCry 是哈钦斯故意散布然后自己再动手解决的。不过 8 个月后美国国防部指出攻击者是朝鲜一个国家支持的黑客团队。
哈钦斯的英国故乡以及黑客社区开始为他提供帮助,包括法律服务、资金支持等等。
著名网络安全专家 Tarah Wheeler 和 Deviant Ollam 夫妇最终帮助素未谋面的哈钦斯支付了 30000 美元保释金,让他不必在监狱里再呆一晚。
救赎与审判
两位资深律师 Brian Klein 和 Marcia Hofmann 成了他的辩护律师。在律师的努力下,哈钦斯得以在 Klein 所在的房子拘留。接下来的两个月时间里,他的人身限制被逐渐解除——渐渐可以离开公寓以及使用互联网,但法院禁止他访问他创建的 WannaCry 沉洞域名。最后,他的宵禁和 GPS 监控脚环也被解除了。
Kryptos Logic 给他放了无薪假,他开始常常冲浪和骑行。
但他仍然深感担忧。他没有收入,积蓄也逐渐减少,而且还有可能导致几年监禁的指控。
最重要的是,事实就在那里:尽管人们在说他的英雄事迹,但那些犯罪事实也是真的。当他可以再次使用 Twitter 时,这种负罪感尤其强烈。「他们都在对 FBI 说他们抓错了人,这很让人心痛。」哈钦斯说,「这种负罪感比我对 Kronos 的负罪感强 1000 倍。」他说他曾想在博客上发布一篇完整的认罪书,但律师阻止了他。
很多支持者将他的无罪请求视为无罪声明,而不是一种谈判策略,而且他们还继续通过一个法律基金给他捐款。前 NSA 黑客 Jake Williams 同意当哈钦斯的专家证人。Tarah Wheeler 和 Deviant Ollam 夫妇几乎成了哈钦斯的养父母,陪他一起前往密尔沃基接受审讯,帮助他料理在洛杉矶的生活。他觉得自己不配拥有这些——所有帮助他的人都错误地假设他无罪。
后来,真相浮出了水面,人们知道了他确实运营过非法托管服务,维护过一个僵尸网络,写过恶意软件。但即便如此,他的很多支持者依然支持他。「我们都是道德上很复杂的人。」Wheeler 说,「对我们大多数人来说,做好事要么是因为我们之前做过坏事,要么是因为其他人做了好事来帮助我们没做坏事,或者同时出现这两种情况。」
但哈钦斯仍然因为觉得自己是伪君子而深感痛苦,他甚至想过自杀。他说这种负罪感正「活生生地吞噬我」。
2018 年春季,在被逮捕近 9 个月后,检察官提出了一份交易。如果他同意供认他所知的有关其它犯罪黑客和恶意软件作者的身份信息,他们就会提议无需坐牢的判决。
哈钦斯犹豫了。他说他其实并不知道 Vinny 的真实身份,而那才是检察官的真正目标。但他还说,原则上他不应该为了躲避自己行为的后果而出卖其他黑客。最终,哈钦斯拒绝了这项交易,静待审判。
不久之后,检察官反击了,将指控增加到了 10 条,包括在 FBI 初次问询时提供虚假供词。
在一番交涉之后,哈钦斯最终在 2019 年 4 月接受了一份新交易。这份新交易比之前的风险更大。检察官同意不提供量刑建议。而哈钦斯要对这 10 项指控中的 2 项认罪,并且还可能面临最高达 10 年的监禁和 50 万美元的罚款,这完全由法官定夺。
在哈钦斯的恳请下,他也终于在自己的博客上公开认罪了——不是完整的,而是得到了他的律师批准的简短声明。其中写道:「在我进入安全领域工作之前的几年里,我确实参与了两项有关编写恶意软件的指控,对此我表示认罪。我为这些行为感到后悔,并愿对我的错误承担全部责任。」
然后他发了一条更认真的推文,旨在反驳那些说他的黑帽经历有助于白帽事业的言论:
「人们有误解,说安全专家必须要亲自踏足黑暗面。这不是真的。你可以合法地学习你想知道的一切。坚持留在好的一面吧。」
2019 年 7 月的一天,哈钦斯抵达密尔沃基一家法院接受判决。他身穿一套灰色西装,为了避开媒体而提前两个小时到达。
77 岁的法官 Stadtmueller 说他已经当法官 30 年了,审判过 2200 人。但没有一个像哈钦斯一样。
法官说他认为哈钦斯不仅是一位被定罪的罪犯,更是一位网络安全专家,而且在接受正义的裁决之前就已经走向了正途。法官权衡了监禁哈钦斯的威慑价值以及这位年轻黑客的天才头脑的价值。最终,这位法官认为哈钦斯值得完全特赦,但法院无权这么做。
最终,马库斯·哈钦斯被判一年的刑期,可狱外服刑。
哈钦斯简直不敢相信。在首次被捕的两年之后,他获得了自由。
尽管如此,哈钦斯的负罪感仍旧没有完全放下。但他终于可以将过去辉煌与秘密的重负放在身后,专注于自己的工作了。
「我不希望被贴上 WannaCry 或 Kronos 标签,我只希望成为一个能帮助让世界更好的人。」哈钦斯表示。