金斯顿警局第三审讯室是一间没有任何窗户的房间,墙壁上覆盖着灰白色的吸音棉,日光灯管在头顶发出均匀而冷漠的光。科尔坐在不锈钢桌子的一侧,对面是一个十九岁的男孩。
“毒牙”的真名叫利奥·弗林。他有一头乱糟糟的深棕色头发,手指甲被咬得参差不齐,穿着一件过大的深蓝色卫衣,袖子长得几乎盖住了指尖。他看起来不像一个在暗网上出售黑客工具包的犯罪分子——更像一个通宵打游戏后被从宿舍里拖出来的大学生。但他的眼神出卖了他。那是一种混合了恐惧、兴奋和某种隐秘骄傲的眼神,像一个第一次被老师抓到作弊却发现自己比全班都聪明的孩子。
科尔把一杯水推到桌子中央。“你知道自己为什么在这里吗?”
利奥没有碰那杯水。“因为我试图进入一个我不该进的地方。”
“能源调度中心的备用中控室,携带一套能发射伪造调度指令的便携式信号发生器,以及一张写满十六进制代码的纸条。”科尔逐字念出逮捕报告上的内容。“你觉得自己走进去就能全身而退?”
“也许我只是想看看,你们有没有能力抓住我。”利奥的嘴角动了一下,不完全是笑,更像是一种紧张导致的肌肉抽搐。“事实证明,有。”
罗西站在审讯室的单面玻璃后面,手里拿着一杯已经凉掉的咖啡。她透过玻璃看着利奥的脸,注意到一个细节:当科尔提到那张十六进制代码纸条时,利奥的瞳孔没有收缩,呼吸频率没有变化,手指也没有任何不自然的动作。这不是一个被当面揭穿罪行的人会有的反应。
她在对讲机里低声告诉科尔:“问他代码的来源。他写不出那种级别的攻击指令。”
科尔用手指敲了敲桌面。“纸条上的代码是谁给你的?”
利奥沉默了一会儿,然后做了一个出乎所有人意料的动作——他把右手从袖子里完全伸出来,摊开手掌放在桌上。掌心用黑色记号笔歪歪扭扭地写着一行数字和字母,已经被汗水模糊了一半,但仍能辨认出是一个暗网地址。
“六个月前,我在一个叫‘赫卡忒之门’的暗网论坛上接了个私活。”利奥的声音很轻,像是在讲一个和自己无关的故事。“有人发布了一条匿名悬赏,要求写一套可以绕过工业控制系统身份验证的脚本,报价是五个比特币。我花了三天写出来,交过去,对方很满意。之后他每隔几周就给我一个新任务,每次都不同——有的是入侵车载CAN总线的工具,有的是伪造医疗设备安全认证的插件。他从不解释用途,我也从来不问。暗网上不问用途是基本规则。”
“但你知道这些工具能做什么。”科尔说。
利奥抬起头,眼睛里第一次出现了某种复杂的情绪。“我知道。第一个任务完成后我去搜索了奥克塔维亚水厂的网络架构——只是为了测试我的脚本是否真的能穿透那种级别的防火墙。然后我看到新闻,翠鸟公寓死了十七个人。那天晚上我坐在电脑前,把水厂的SCADA日志翻来覆去看了四十多遍,试图找到我的脚本留下的痕迹。我找到了。”
“你没有报警。”
“报警?”利奥发出了一声短促的、介于笑和哽咽之间的声音。“告诉警察什么?告诉他们我写的代码可能被用来杀人了?告诉他们一个我从未见过的匿名雇主正在用我卖出的工具实施谋杀?”他把手掌合上,指甲掐进掌心。“我没有报警,但我做了一件事。我回拨了那个匿名雇主的通讯端口,给他发了一条消息:‘我知道你做了什么’。”
罗西在对讲机里的声音忽然变得尖锐起来:“科尔,问他对方的回复。”
“他回复了吗?”
利奥抬起头,眼睛发红。“回复了。不是一条消息,而是一个文件包。里面装着赫尔曼·奥夫曼倾倒在金斯顿河里的有毒废料的化学检测报告,翠鸟公寓十七名住户中三个人在市政府任职期间的受贿记录,约恩·墨菲举报文件中被篡改的页码的原始版本,还有——”他停顿了一下,喉结上下滚动。“还有四十七个类似的案例。都是些法律上无法追究、或追究后因证据问题被判无罪的案子。他把所有资料都发给了我,然后在最后一页写道:‘如果你知道了我做了什么,你应该也知道为什么’。”
审讯室里的空气像被抽走了一层。科尔感到自己的后背有细微的汗珠在往下淌。
“你认同了他。”科尔说。这不是一个问句。
“我没有认同。”利奥的声音忽然变得坚硬。“我只是无法反驳。那些材料里有一份是关于我父亲的。”
罗西在玻璃后面放下咖啡杯,手指快速敲击键盘调取利奥·弗林的家庭背景档案。五秒钟后,她找到了。
“科尔,”她的声音在耳机里压得很低,“利奥的父亲是马丁·弗林,金斯顿市前建筑安全督察,七年前因举报某开发商使用劣质建材而被诬告受贿,判了十八个月监禁。出狱后第三周,他在自家车库里上吊自杀。诬告他的人从未被起诉。”
科尔闭上眼睛,两秒后睁开。他没有在审讯中提到这件事——这会让嫌疑人产生情感共鸣的错觉,从而污染口供的自愿性。但他重新看待了眼前这个十九岁的男孩:他不是在为一个陌生人工作,他是在为一个给了他答案的人工作。
“给你任务的人,你知道他是谁吗?”
“不知道他的名字。但我知道他的身份。”利奥说。“他的通讯加密层级高得离谱,普通的追踪工具根本找不到任何东西。但我用了三个月的时间,反复分析他每一次发送数据包的时间戳模式。他有一个习惯——每次发送指令的间隔时长都是斐波那契数列的倍数。这不是机器的随机延迟,这是人在手动操作。”
“斐波那契数列?”
“一种数学数列,每一个数字都是前两个之和。普通人设置延迟会用固定间隔,比如每十秒发一次,或者完全随机。但他不一样——他会用三秒、五秒、八秒、十三秒这样的间隔,不自觉地。这是长期训练形成的行为指纹。我翻遍了所有公开的网络安全研究文献,发现只有一种职业会培养出这种习惯:法学院模拟法庭的辩论训练。在模拟法庭上,辩手被要求在特定时间内完成陈词,而斐波那契数列被用来训练发言节奏的韵律感。”
科尔感到一阵寒意从脚底升起。索恩——那个在联邦上诉法院工作的法律人,那个十五岁就失去父亲的孩子,那个花了二十年研究事前法律困境的法学生——他的一切又回到了焦点上。
“你拍了他的照片。”科尔说。“那张从远处偷拍的照片,朱利安·索恩。”
利奥的表情终于出现了一丝裂痕。不是恐惧,而是某种更深层的情绪——像是被揭穿了一个不该被知道的秘密。“你怎么知道——”
“我们在你的随身物品里找到了。”
“那不是偷拍。”利奥低下头,头发遮住了他的眼睛。“那是他发给我的。有一天晚上,我在暗网上告诉他,我需要见他——否则就向联邦调查局举报他。他沉默了整整七分钟,然后发来了那张照片,附了一句话:‘如果你真的想见我,你应该知道我是谁。’这是他给我的测试。我通过了,所以他才把那张纸条上的代码交给我。”
“什么测试?”
“让我去能源调度中心的中控室。他说,如果我能成功进入中控室并激活备用系统,就证明我有资格成为他的正式合作者——而不仅仅是一个卖工具的供应商。”利奥抬起头,和科尔对视。“他不是在逃跑,探长。他在选人。他在找一个可以继承这一切的人。他把每一个端口、每一条代码、每一个案例都编成了教案,像是在教一门课。暗网上至少有四十个人买过我的工具,但只有我被选中了。你知道为什么吗?”
“因为你父亲。”
“因为我父亲。”利奥重复道。“他知道每一个人的理由。他知道每一个人的父亲、母亲、兄弟、姐妹。他不是在随机挑选目标,他是在给每一个被法律遗弃的人发一份邀请函。”
审讯室忽然陷入沉默。科尔听到天花板上的日光灯发出轻微的电流声,和地下档案室里那个频率一模一样。他想起瓦西里乌教授的话——朱利安的父亲在书房里教他写的第一行代码。也许那不是一串技术指令,而是一串逻辑:如果法律不能保护你,那就建造一个能保护你的系统。
“最后一个问题。”科尔把身体前倾。“他让你去激活备用中控室的真正目的是什么?”
利奥抬起手,擦了一下眼角。这个动作让他看起来忽然比十九岁更年轻,也更苍老。
“他没有要我去激活什么。他说的是:‘去被抓住’。”
科尔的手指在桌面上僵住了。
“他说整个计划里有一个变量是他无法控制的——执法部门的反应速度。他不知道你们能在多大程度上追踪他的行动,不知道你们能在什么时间点发现什么线索,不知道你们是否值得成为他的对手。所以他需要一个测试者。”利奥的嘴角浮起一丝苦涩的笑容。“一个足够接近他,又足够容易被抓住的人。那就是我。我闯进中控室,不是为了帮他,而是为了测试你们。我带着那张代码纸条,是为了看你们能不能破解它。我带着他的照片,是为了看你们能不能找到他。”
“你现在告诉我们这些,是为了什么?”
利奥沉默了很长时间。当他再次开口时,声音很轻,轻得像是怕被墙上的某个窃听器捕捉。
“因为我害怕他。”他说。“他在完成某种东西,探长。不是杀人——杀人只是手段。他在完成的是一种‘终极后门’。不是针对水厂,不是针对医院,不是针对电网。是针对整个系统。法律系统、基础设施系统、应急响应系统——他把它们全部联网的那一刻,就创造了一个可以同时瘫痪所有系统的总开关。而我帮他写的是最后一块拼图。”
他伸出手,把掌心那个模糊的暗网地址朝向科尔。
“你们在他抓住我之前抓住他。因为如果他比我更了解你们——那他离完成就不远了。”


暂无评论,来抢沙发吧!