艾伦站在车门前三步远的地方,没有动。
厢式货车的侧门敞开着,车内的显示器冷光照在艾琳的侧脸上,把她的表情切成明暗两半。她的手指还停在键盘上,眼睛看着艾伦,那双浅灰色的瞳孔里没有任何波动——没有焦急,没有愤怒,没有被质疑的不安。她只是在等。
“德里克刚才给我发了条消息。”艾伦说,声音在空旷的街道上显得格外清晰。“他说莉娜的原始脚本不是用来封锁后门的。它是用来同时激活所有后门节点的。”
艾琳没有立刻回答。她的手从键盘上移开,放在膝盖上。这个动作很小,但艾伦注意到了——在过去的几个小时里,他从来没有见过艾琳的手离开键盘。
“上车。”她说。“哈特曼的人可能在附近。”
“回答我。”
一阵风从街道尽头灌过来,卷起地上的碎纸和灰尘。远处传来警笛声,不是朝着这个方向,但足够让人的神经绷紧。艾伦站在那里,一只手插在口袋里,攥着那个U盘。索菲亚给他的零点九版清除脚本。德里克说莉娜的原始版本是攻击性的。艾琳说她手上的一点零版本是用来封堵后门的。两个版本,两个说法,两个他无法验证的真相。
“莉娜的原始脚本,”艾琳终于开口,声音很低,“确实不是用来封锁的。德里克查到的信息没错。”
艾伦感到胃里有什么东西沉了下去。
“那它是什么?”
“它是一把枪。”艾琳直视着他的眼睛。“莉娜在发现艾克塞特后门的完整规模之后,做了一个决定——她不打算把证据交给任何人。她打算用自己的方式解决。她的原始脚本可以同时激活整个卡斯特城所有艾克塞特设备的后门指令权限,让持有者能够在短时间内控制接入物联网的每一台设备。那是她设计的终极反击武器。如果她没能活着把证据带出来,至少她可以把整张网一起扯碎。”
“所以哈特曼说的是真的。”
“哈特曼说的是被裁剪过的真相。”艾琳的声音忽然变得锋利起来。“他告诉你莉娜是一个危险的攻击者,但他没有告诉你她为什么变成那样。莉娜在格罗夫纳银行卧底的第十个月,发现了一件事——普雷斯科特基金会已经在卡斯特城部署了超过两万台艾克塞特设备,每一台都带着后门。而这些后门的最终控制权不属于艾克塞特公司,甚至不属于普雷斯科特基金会。它们全部指向一个尚未被激活的远程服务器集群,那个集群的位置在海外,注册在一连串壳公司的名下。莉娜追踪了那些壳公司的资金流,发现它们最终指向的是——”
“格罗夫纳银行的表外资产池。”艾伦接上了这句话。
“对。”艾琳的嘴唇抿成了一条线。“你们银行——你工作了六年的那个地方——不只是利用表外资产池来粉饰财务报表。它还在利用那些资金,通过普雷斯科特基金会和艾克塞特公司,在卡斯特城和另外至少六个城市铺设一个覆盖公共基础设施的隐秘监控和控制系统。不是为了智慧城市,不是为了市民福祉,是为了数据。三百四十万人的行为数据、消费数据、健康数据、出行数据。那些数据被汇总、分析、打包,通过表外资产池的壳公司卖给保险公司、制药公司、政治竞选团队。每一个艾克塞特传感器,都是一只盯着你的眼睛。而格罗夫纳银行——你的老东家——就是这个监视帝国的真正主人。”
艾伦的手从口袋里抽出来,垂在身侧。他想起了很多事。想起了格罗夫纳银行数据中心里那一排排闪烁的服务器机架。想起了每个季度财报会议上高管们脸上那种志得意满的笑容。想起了那些被虚报的抵押贷款评级,那些被牺牲的养老金计划,那些和他父亲一样在不知情中失去毕生积蓄的老人。他以为那只是贪婪。只是华尔街式的、追逐利润最大化的贪婪。
他不知道贪婪可以长到这种规模。
“莉娜发现了这一切。”艾琳继续说。“她本来想走正规渠道——写报告、通知监管机构、联系媒体。但在她行动之前,哈特曼先发现了她。他知道她掌握了什么。他也知道,一旦她把这些公开,格罗夫纳银行的整个帝国就会从根基上崩塌。所以他选择了最彻底的解决方案——在她公寓的燃气管道上执行了一次远程干预,然后用整个智慧城市的公关机器把那场谋杀包装成意外。”
“那你呢?”艾伦盯着她。“你是莉娜的实习生。你继承了她的论坛账号,她的漏洞数据库,她的攻击脚本。你告诉我要用一点零版本的脚本封堵后门。但德里克说莉娜的脚本是攻击性的。你做了什么?你把那把枪改了还是磨得更利了?”
这是艾伦第一次看到艾琳的表情出现明显的裂痕。不是崩溃,不是失控,而是某种被压在最深处的东西忽然浮到了水面。她的手握住了膝盖上的布料,指节泛白。
“两个版本。”她说,声音沙哑。“莉娜死前留下了两个版本的脚本。零点九版是她早期的草稿,设计目标是防御性的——封堵后门,清除漏洞,让艾克塞特设备的隐秘监控功能失效。她把它交给了索菲亚。但莉娜在临死前四天里,意识到仅仅封堵后门是不够的。因为哈特曼已经知道了她的存在,即使后门被封堵,格罗夫纳银行仍然可以用合法的手段继续运营那个数据帝国。那些已经收集的数据不会被删除,那些已经建立的壳公司网络不会被摧毁,那些已经赚到的钱不会吐出来。所以她在最后四天里写了一个新版本。版本一点零。”
“攻击性的。”
“是。”艾琳承认了,声音轻得几乎被风淹没。“版本一点零可以在激活后门的同时,向所有被后门控制的设备发送一条不可逆的固件覆写指令。不是封堵后门,而是毁掉芯片本身。两万台设备会同时变砖。卡斯特城的供水系统、供电系统、燃气系统、交通控制系统——每一个依赖艾克塞特设备的基础设施节点都会在瞬间瘫痪。”
艾伦感到喉咙发紧。“你知道那意味着什么。”
“我当然知道。”艾琳抬起头,眼眶是红的,但没有眼泪。“它意味着整座城市会在几分钟内陷入黑暗。医院会失去备用电源,交通信号会全部熄灭,供水泵会停止运转。如果我不控制脚本的执行范围,如果把一点零版本不加修改地跑完,卡斯特城会有大量无辜的人死于这场瘫痪。莉娜知道这一点。她写完了脚本,但它从未被部署。在激活它之前的四天,她死了。”
艾伦听到自己心跳的声音。一下,一下,像打桩机砸在东区工地的地面上。
“但你有那个脚本。”
“我有。我已经对一点零版本做了修改。”艾琳说。“今晚的六十分钟控制窗口不会触发固件覆写功能。我只需要足够的时间进入哈特曼的服务器,下载全部证据,然后我会亲自跑一遍清零程序,永久关闭所有后门。我不会毁掉城市,艾伦。我发誓。”
“你发誓。”艾伦重复了一遍。“你在一个匿名的论坛上召集了一群人,利用他们收集城市基础设施的漏洞信息,让两个人死于自己家的智能设备,用我的故事当招募广告——然后你让我相信,你会在拿到数据之后主动放下枪?”
“你可以上车验证这一切。”艾琳侧身让出她身后那块显示屏。“一点零脚本的源代码就在上面。你自己看。”
艾伦没有上车。他看着艾琳的眼睛。在厢式货车显示器冷白色光芒的映照下,他第一次看清了这个女人——不是卡戎,不是冥河渡手,不是论坛上那个冷静到近乎无情的黑客领袖。他看见的是两年前失去导师的那个年轻实习生,一个人在暗网深处游荡了两年,手里攥着她老师留下的致命武器,在复仇和救赎之间来回了无数次。
他见过这双眼睛。在两年前格罗夫纳银行大厦门外的雨夹雪里,他在玻璃门的反光中见过一双一模一样的眼睛。
那是他自己的眼睛。
艾伦跨进车厢,在艾琳旁边坐下。
“让我看代码。”
艾琳把屏幕转向他。屏幕上密密麻麻的代码行在艾伦眼前展开。他不是程序员,但他看得懂注释。莉娜·埃文斯的代码注释写得很详细,每一段逻辑都用简洁的英文解释了用途。艾伦一行一行往下读,看到了后门激活模块、权限提取模块、然后是——固件覆写模块。那个模块的代码行数很长,但开头有一段被艾琳加上去的注释标记。
“// 已禁用。修改日期:两年前。修改人:EN。此模块不会被执行。”
EN。艾琳·诺瓦克。
“你在两年前就禁用了它。”艾伦说。
“我在接到莉娜死讯的那天晚上,做的第一件事就是打开她留给我的脚本,注释掉了这段代码。”艾琳的声音忽然失去了所有的冷硬,变得像一片薄冰。“我知道她为什么写它。她在愤怒和绝望里写的。但我也知道,如果她有机会多想一晚,她会改掉它。她没有那个晚上。所以我替她做了这个决定。”
艾伦靠在椅背上,闭上了眼睛。
车厢里的服务器风扇在安静地转动。远处警笛声已经远去。卡斯特城在凌晨的深眠中浑然不知,那些遍布它血管和神经里的芯片正在被两双从未谋面的手反复调试——一双属于已经死去的人,一双属于不愿让死者犯错的人。
艾伦睁开眼。显示屏右下角的倒计时显示全系统控制窗口将在七分钟后开启。他掏出手机,看到德里克发来的第三条消息。
“我刚深查了艾琳·诺瓦克在暗网的两年活动记录。她确实有能力执行她说的一切。但我发现一件事——有一个节点每隔固定周期会向她发送加密指令。那个节点不是论坛服务器。它位于卡斯特城市大学计算机系。IP地址属于索菲亚·瓦尔加斯的办公室。”
艾伦看完消息,缓缓转头看向艾琳。“索菲亚和这件事是什么关系?”
艾琳的手指在键盘上方停了一下。那个瞬间的停顿很短,但艾伦捕捉到了——那是一个人被问到她不打算回答的问题时的本能反应。
“索菲亚是莉娜的室友,也是她最好的朋友。”艾琳说,语气平稳。
“这我知道。我问的是她现在和你的关系。”
显示屏上的倒计时跳到了五分钟。
“索菲亚不知道论坛还在运行。”艾琳说。“她以为莉娜的论坛在她死后就关闭了。我也一直让她这么以为。我每年和她通一次电话,告诉她我没有线索,让她也放下这件事。这对她更安全。”
艾伦没有戳穿这句话里的破绽。但他知道德里克追踪到的那些加密指令,不可能来自一个与论坛毫无关系的人。
他没有继续追问。他口袋里的U盘——索菲亚给他的零点九版脚本——此时像是在隐隐发烫。索菲亚对他说过:“你用那三秒的犹豫去激活它。”而艾琳说:“零点九版本有一个隐藏功能——它会反向锁定后门节点。”
两个女人,两个版本的脚本,两个他不确定是否可以信任的人。
而现在离全系统控制窗口开启还剩四分钟。
艾伦知道,在那扇窗口打开的那一刻,他必须做出决定。


暂无评论,来抢沙发吧!