16. 大坝危机

仓库里所有人都在等哈特说话。

但他没有。幽灵进程给出的那行字消失之后,屏幕恢复了黑底白字的简洁界面,正中央只剩下一个闪烁的光标,像是在等待下一个指令。哈特盯着那个光标看了很久,然后缓缓靠回椅背,双手交叠放在膝盖上,姿态像是在参加一场葬礼——不是别人的,而是他自己尚未到来但已经注定无法逃避的那一场。

莉迪亚打破了沉默。她从操作台前站起来,走到哈特面前,低头看着这个曾经不可一世的男人。她的表情里没有胜利者的倨傲,也没有复仇者的狂热,只有一种在深渊底部仰望星空时才有的疲惫与澄明。

“你在飞机上问过你的律师一个问题,”莉迪亚说,“你问她——如果我把所有的钱都捐出去,如果我公开道歉,如果我主动去国会作证,这件事会结束吗?你的律师没有回答你。我来替你回答——不会。因为这不是关于你个人的救赎。你捐出去的钱可以建一百所医院,但你改变不了一件事——当医院里的病人因为付不起医疗费而刷了顶点信用的信用卡,他们还是会被困在复利、滞纳金和强制仲裁的循环里。系统不是你一个人建造的,也不是你一个人可以拆除的。”

哈特抬起头看着她。他的眼眶里有一种湿润的东西在闪烁,但弗兰克无法判断那是悔恨还是自怜。在警局审讯过数百名嫌疑人的经验告诉他,两者的区别很微妙——悔恨是为他人感到痛苦,自怜是为自己感到痛苦。哈特的眼睛里,两者的比例大约是百分之十对百分之九十。

“那你们想要什么?”哈特的声音沙哑,“如果公开羞辱我是你们的目的,你们已经做到了。如果把我送进监狱是你们的目的,州检察官已经在路上了。你们赢了。你们还想从我这里得到什么?”

“我们想要你听。”铁砧开口了。他从操作台另一侧绕过来,手里拿着一个老旧的录音笔——外壳磨得发亮,型号至少是十年前的,侧面贴着一张褪色的标签,标签上是西奥多·万斯的笔迹:1994年10月17日,内部听证会全程录音。

“这是我叔叔留下的,”铁砧说,“他藏了二十年。在1994年的内部听证会上,他作为工会代表上台发言,指控马尔科姆·格雷的系统存在安全漏洞。电力公司用他的证词作为解雇马尔科姆的理由。但我叔叔在发言结束后,私下要求公司将他的补充声明列入会议记录——他声明他的指控仅针对系统的技术漏洞,不针对马尔科姆·格雷个人的专业能力,并且他建议公司在修复漏洞后重新聘用格雷。这份补充声明被公司从正式会议记录中删除了。唯一保留下来的证据,就是他当时用自己的录音笔录下的这一段。”

铁砧按下了播放键。

录音笔的扬声器里传出一个苍老但中气十足的声音,带着明显的蓝领口音,每一个词的末尾都微微拖长,像是一个不善言辞的人在努力让自己的话听起来更有分量。那是西奥多·万斯,在二十年前的一间会议室里,对着十几个西装革履的管理层成员说话。

“……我在这个公司干了二十五年,我见过各种各样的系统升级。每一次升级,年轻人说新系统比旧的好,老人说新的不安全,然后我们吵一架,最后折中。但这次不一样。这次这个年轻人——马尔科姆·格雷——他的系统不是不好,而是太好了。好到如果我们不用它,就是在浪费他的才华。但我必须说,这套系统的远程接入端口没有加密。任何一个懂点技术的人,只要能连上电话线,就能进入我们的调度中心。这不是马尔科姆的问题,这是整个行业的标准做法。我跟他说过这个问题,他说他已经设计了一套加密协议,但公司没有批准他安装。所以我要在这里声明——我的证词只针对技术规范,不针对马尔科姆·格雷本人。他是个好工程师。如果公司决定修复漏洞,我建议让格雷回来主持这项工作。完毕。”

录音结束。仓库里非常安静。只有远处碎石路上隐隐传来的车辆引擎声,以及服务器机架风扇持续的嗡鸣。

哈特低下头,用手撑着额头。他的嘴唇在动,但发出的声音低得几乎听不见。弗兰克走近了两步,才勉强捕捉到他在说什么。

“……我从来不知道有这个补充声明。”

“即使你知道,会有什么区别吗?”莉迪亚的声音没有指责,只是陈述事实,“1994年的顶点金融集团还没有收购电力公司。你还没有坐在那个位置上。但问题是——当2018年你坐到了那个位置上之后,你有过机会。你有过无数次机会。你选择的是把涅墨西斯武器化,而不是完成马尔科姆当年被拒绝的加密协议。你选择的是在斯特林的预算报告上签字,而不是花一个下午读一读马尔科姆留下的技术文档。你选择的是香槟,而不是道歉。”

哈特没有反驳。他的沉默在这个被屏幕包围的空间里显得异常沉重。

罗斯从仓库门口走过来,把弗兰克拉到一边,压低声音说:“外面已经聚集了至少三十辆媒体转播车,还有州警察、联邦法警和一群自发赶来的市民。他们不是来抗议的,他们只是站在那里,举着蜡烛。人数还在增加。州检察官办公室刚刚发布了第二份声明,说他们的公诉团队已经完成了对1923年公共安全法规的初步法律评估——他们认为该法规适用于本案,并且有很高的胜诉可能性。”

“那联邦层面呢?”

“更复杂。司法部副部长在三分钟前宣布辞职。他的辞职信里没有提到顶点金融集团,只写了个人原因。但时间点太巧合了。紧接着最高安全审查委员会的主席也宣布因健康原因离任。旋转门正在从另一边被关上——那些曾经帮助炉边小组筑起保护墙的人,现在正在拼命把自己和这件事切割干净。这就是官僚系统的生存本能。它不忠诚于任何人,只忠诚于自己的延续。”

“那赫菲斯托斯之锤呢?”

罗斯沉默了一会儿。她看了一眼莉迪亚和铁砧,那两个人正在操作台前低声交谈,屏幕上的光标还在闪烁,似乎等待着一个尚未被写下的指令。

“我没有接到逮捕他们的命令。”罗斯说,“我也没有接到不逮捕他们的命令。这意味着我的上级正在做一个他们最擅长的事情——等待。等舆论风向给出更明确的信号,等法律专家给出更安全的行动建议,等这场直播的观看人数出现下降趋势。但观看人数没有下降。它还在上升。已经突破了五千万。”

弗兰克抬头看向那块实时统计屏幕。数字正在跳动——五千一百二十万,五千一百四十万,五千一百七十万。每跳动一次,就意味着有几十万人同时加入了这个全球直播间。评论区里滚动着不同语言的消息,阿拉伯语、西班牙语、日语、法语、葡萄牙语,每一种语言都在翻译和分析仓库里正在发生的一切。一个全球性的对话正在进行,焦点不是哈特是否犯罪,而是哈特的罪行只是整座冰山露出水面的一角,水面之下还有多少座同样的冰山。

操作台上的一个警报器忽然响了起来。

不是火警,不是断电警报。是一串高频的蜂鸣声,伴随着屏幕上一个闪烁的红色警告框。莉迪亚猛地转身看向屏幕,她的脸在红光的映照下显得异常严峻。

“有人正在对水处理厂的SCADA系统发起新的入侵。”她的手指在键盘上飞快地移动,“不是我们。不是幽灵进程。是一个外部的、独立的攻击源。目标不是供水系统——是上游的克拉克斯顿大坝。”

弗兰克感到一阵寒意从脊背升起。克拉克斯顿大坝位于艾恩伍德市上游约二十英里处,是一座建于1960年代的混凝土重力坝,拦蓄着流向城市的卡拉威河的河水。大坝的闸门控制系统是在2015年智能化改造中接入SCADA网络的——那次改造的承包商是一家被顶点金融集团控股的工程公司。也就是说,涅墨西斯系统的远程控制端口,同样适用于大坝。

“谁在攻击?”罗斯冲到操作台前。

莉迪亚调出了一串攻击日志。源地址经过了三层加密跳板,但幽灵进程的溯源算法正在一层一层地剥开这些加密壳。第一层跳板指向东欧,剥开。第二层指向南美,剥开。第三层指向北美本土——剥开后,最终的源地址映射到了一个让所有人都意想不到的位置:艾恩伍德市联邦调查局办事处大楼。四楼。407号房间。

那是海伦·玛尔今天上午召开视频会议的审讯室。

“玛尔的笔记本电脑。”罗斯的声音变得尖锐,“我们在审讯室里缴获了她的个人设备,包括一台笔记本电脑和一部加密手机。设备被送到技术部门进行取证分析。但技术部门的防火墙是标准配置——没有人想到在法庭设备上查杀针对工业控制协议的木马程序。如果有人提前在她的电脑里预置了攻击模块,那么当技术部门将设备接入网络进行数据提取时,木马就自动激活了。”

屏幕上的警告框跳出了一行新的信息。大坝闸门控制系统的响应状态正在从绿色变为黄色,然后变成红色。闸门正在执行开闸指令。开闸的幅度不大——只有百分之五——但正在以每三十秒百分之一的速度递增。

“如果闸门开到百分之三十,”莉迪亚快速计算着,“卡拉威河下游的水位会在二十分钟内上涨到危险水平。艾恩伍德市沿河的七个社区将面临洪水威胁。超过八万居民需要紧急撤离。”

“如果开到百分之百呢?”弗兰克问。

莉迪亚没有回答。她的沉默就是答案。

屏幕上的光标消失了。取而代之的是幽灵进程自动生成的一行文字,以极快的速度在屏幕上浮现,每一个词都像是在键盘上被某种无形的意志敲打出来:

“检测到对克拉克斯顿大坝控制系统的未授权入侵。攻击源身份确认——炉边小组应急协议第9条,代号焦土。协议签署人玛格丽特·陈。触发条件——核心成员全数死亡。执行目标——摧毁所有可追溯证据。评估——大坝控制系统与涅墨西斯共用同一个远程端口,该端口在三十分钟前已被幽灵进程锁定。是否释放锁定权限,由目前唯一在线的最高权限持有者决定。”

文字下方弹出了一个对话框,以及一个正在倒计时的六十秒决策窗口。权限持有者的名字显示在对话框顶部——莉迪亚·格雷。代号涅墨西斯。

“焦土协议,”铁砧读出了那行字,声音里有一种压抑了很久的愤怒终于溢出来的颤抖,“陈在死之前就已经设好了——如果她死了,如果炉边小组的核心成员全部死亡,就让整座城市为她陪葬。她根本不在乎正义。她只在乎权力。活着的时候用它来控制别人,死了之后用它来报复所有人。”

莉迪亚盯着屏幕上的决策窗口。她手指悬在键盘上方,但迟迟没有按下去。释放锁定权限意味着让大坝控制系统脱离幽灵进程的保护,暴露在木马的攻击范围内。保持锁定则意味着大坝暂时安全,但木马会转而寻找其他可入侵的目标——全市还有十七座变电站和三座水处理厂,每一个都可能成为下一个攻击点。而炉边小组的木马程序被设计成自动寻找最高价值目标,如果它发现大坝被锁死,它会退而求其次攻击那些更难防御但同样致命的设施。

“这不是一个选择,”莉迪亚低声说,“这是一个陷阱。不管我怎么选,都会有人死。”

弗兰克走到她身边,看着屏幕上的倒计时从五十秒跳到四十九秒。仓库外面,凌晨的黑暗正在被越来越多的车灯和蜡烛光照亮。没有人知道这座废弃的工业仓库里正在进行一场关于整座城市命运的决策。五千万在线观众只看到屏幕上的画面忽然静止了,他们不知道发生了什么。

“释放锁定。”莉迪亚终于开口了。她的手指按下键盘,输入了一长串解密密钥。屏幕上的红色警告框消失了,取而代之的是两个并排显示的实时监控画面——左边是大坝闸门控制系统的界面,闸门开度正在稳定在百分之零点五,木马已经失去了对核心系统的访问权限。右边是全市电网的监控界面,所有十七座变电站的运行状态全部正常。

“不是放弃,”莉迪亚站起来说,“是把战场转移到幽灵进程能控制的地方。大坝的锁定被释放了,但幽灵进程在木马入侵到闸门核心控制器之前,就把木马隔离在了外围传感器层。木马现在误以为自己在控制闸门,实际上它在读取的是幽灵进程生成的虚假数据。它在对着镜子里的幻影战斗。”

屏幕上,大坝的闸门开度显示为百分之零点五,没有任何变化。但木马的攻击日志显示它在不断发送开闸指令,每一次指令都被幽灵进程拦截、分析、然后将虚假的成功反馈送回给木马。木马在欺骗中不断消耗自己的攻击序列,就像一只被关在镜子迷宫里的野兽对着自己的影子猛烈冲撞,直到力竭。

“焦土协议被中和了,”铁砧的声音里终于有了一丝松懈,“但这不是最后一个。陈的应急协议不止一条。幽灵进程正在扫描其他潜在威胁。”

屏幕上弹出了一份新的扫描报告。炉边小组应急协议总共有九条。除了已经被中和的焦土协议,还有两条处于待触发状态——代号分别为死水和寒潮。分别针对水处理厂和天然气管道。

仓库外面传来直升机螺旋桨的声音。一架黑色的联邦调查局直升机正在老工业区上空盘旋,机头的探照灯扫过仓库的屋顶。罗斯的手机同时响了起来,屏幕上显示的来电者是一个华盛顿特区区号的号码。她没有接,只是看着那个号码在屏幕上闪烁了三次,然后熄灭。

“他们开始着急了。”罗斯把手机放回口袋,转身对弗兰克说,“在大坝攻击被截获之后,国防部网络战司令部应该已经监测到了异常流量。他们知道炉边小组的遗产比他们预想的更加危险。焦土协议的存在本身就证明了顶点金融集团在向国防部出售武器的同时,也在秘密储备针对本土基础设施的攻击能力。这是任何国家安全机构都无法容忍的。”

“所以他们现在需要赫菲斯托斯之锤了。”弗兰克说。

“是的。”罗斯看着操作台上闪烁的屏幕,“就像他们二十年前需要马尔科姆·格雷的漏洞报告一样——当你忽视一个工程师的警告,你最不想看到的事情就是他的遗孀在二十年后用他的代码拯救了你正在试图保护的城市。”

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注