拉维和米兰达在加密信道里连续工作了七个小时。从夜幕降临到凌晨三点,水塔实验室的服务器阵列和蛇道窝棚里那台破旧的笔记本电脑之间,数据包来回穿梭,每一帧都承载着一段被精心构造的逆向代码。
他们的目标是马赫什·拉奥植入调控中心的那套远程控制系统。米兰达在分析了“纯净水域”租用服务器上的流量日志之后,找到了这套系统的通信协议特征——它使用了一种定制的加密隧道,外层伪装成普通的电力调度数据流,混在每天数百万条合法指令中间,像一条藏在鱼群里的鲨鱼。
“他用的是一种改进型的DNP3协议,”米兰达在加密通话中说,声音因长时间缺乏睡眠而变得干涩,“工业控制系统标准的通信协议,但他改写了数据链路层的封装方式。普通的入侵检测系统看到的是标准DNP3流量,会直接放行。只有用他自定义的解密密钥,才能解析出真正的指令内容。”
“你能复制这个解密密钥吗?”
“已经在做了。”米兰达敲击键盘的声音像一挺低速机枪,“他的加密算法是基于调控中心硬件序列号和实时电网频率的双重密钥——硬件序列号是固定的,但电网频率每秒钟都在变化。这意味着解密密钥也在每秒钟变化。要复制它,我必须同步获取调控中心当前的实时频率数据。这需要物理接入。”
“我给你的那个传感器呢?”
“用上了。”米兰达的声音里闪过一丝自得的笑意,“还记得你在药房找到的那台定向微波发射器吗?它的控制电路里有一个独立的频率监测模块,直接连接着调控中心的主变压器输出端。马赫什需要这个模块来确保他的攻击指令和电网频率同步——不同步的指令会被系统当作噪声丢弃。我把这个模块的读数接入了逆向代码。现在我的解密密钥和他是同步的。”
拉维插进来,声音带着少年特有的急促:“但有一个问题。马赫什在系统核心设置了死循环——任何外部干预尝试修改或阻断攻击指令,都会触发电网全毁程序。这不是普通的防护,这是一个逻辑炸弹。触发条件是:如果监测到非授权的外部代码试图修改控制序列,立即向所有变电站发送断路器全开指令。一旦触发,整个卡纳克普尔会在三秒钟内变成一片黑暗——不是分区停电,是全部。医院、交通、供水、通信——全部归零。”
“他是用牺牲棋局的方式设计了这个系统。”米兰达补充道,“他不会赢,但你也无法阻止他。阻止他的那一刻,就是灾难发生的那一刻。这是他给自己买的最后一道保险——也是他对萨米尔最后的承诺。萨米尔死前说过‘清洗不会停’,马赫什把它写进了代码里。”
阿迪亚站在废弃仓库外一条漆黑的后巷里。他的手机夹在耳朵和肩膀之间,双手在笔记本上飞速记录。巷道深处传来流浪猫翻垃圾桶的声音,每隔几秒响一下,像某种不规则的倒计时。
“有没有可能不触发死循环而让攻击失效?”
米兰达沉默了一会儿。那种沉默不是思考,更像是她在考虑如何把一个坏消息说出口。
“理论上有一条路。但不是通过数字手段。死循环的触发条件是‘非授权的外部代码’。如果操作来自系统内部——不是通过外部注入,而是通过调控中心自己的合法控制台——死循环就不会触发。因为它的逻辑里有一条规定:合法的内部操作不受拦截。这条规定是必需的——否则调控中心自己的工程师也没办法对系统做任何修改。”
“也就是说,需要有人在调控中心内部,用合法权限手动执行反向操作指令。”
“对。但调控中心目前是最高警戒状态。邦政府已经把它列为重点保护设施,没有基建部部长的亲自授权,任何人不得进入主控室。而部长——”米兰达停顿了一下,“部长是阿努拉格·瓦尔玛。你认识他。”
“他不是部长,”阿迪亚说,目光穿过巷道的黑暗,落在远处那栋灰色建筑的轮廓上,“他是受害者的父亲。而且他不知道自己的女儿死于他十年前签名包庇的工程缺陷。这个人在电视上说了太多谎话,但他至少应该知道,他女儿松开的那只手,是谁放在她手心里的。”
他挂断电话,拨通了赫玛的号码。
电话响了很久,久到他以为不会有人接了。然后听筒里传来赫玛平静到近乎脆弱的声音。
“阿迪亚先生。现在是凌晨三点。”
“我知道。我需要你告诉阿努拉格一件事。关于安维。关于十年前那场事故。关于他签名的那份‘不予追究’报告,和那个在配电柜旁微笑的男人。”
听筒那边沉默了。他听到赫玛的呼吸声在频率压缩后变得像某种海底的低频声波,深而慢,每一次吸气都像是在下定决心。
“他不在家。他今晚在部里。调控中心出了紧急状况,他整夜都不会回来。”
阿迪亚感到自己的心脏猛地收缩了一下。调控中心出了紧急状况——这句话从赫玛嘴里说出来,带着某种她还不理解的寒意。
“赫玛女士,听我说。阿努拉格现在很危险。不只是他——整个调控中心都在危险之中。今晚有一个叫马赫什·拉奥的人要启动远程攻击,他要通过阿努拉格九个月前亲自批准安装的远程控制系统,瘫痪整个电网。如果你能联系上阿努拉格——”
“他关掉了手机。”赫玛的声音突然变得尖硬,“他每次遇到危机都关掉手机。十二年来都是这样。安维出生那天他关掉了手机。安维出事那晚他也关掉了手机。他说这是‘工作需要’。但我女儿被人踩在地上的时候,她的父亲正在电视直播间里等着宣读一份官方声明。他不知道她在人群里。他不知道。”她的声音碎成了几片,然后重新拼接成一种近乎冷静的语调,“所以他现在也不知道,他的远程系统里躺着一行代码,会把他的名字写进遇难者名单。”
阿迪亚握着手机,站在黑暗的后巷里,感到一种从未有过的复杂情绪——怜悯、愤怒、急迫,都搅在一起。然后他说了一句话,声音很轻,但每个字都像是从牙缝里挤出来的:
“那你去调控中心找他。不要等他开手机,直接去。”
“我说什么?告诉他他的女儿死于他十年前包庇的工程缺陷?告诉他那份‘不予追究’报告最终追究到了他自己头上?”
“告诉他——还有一个小时。告诉他,如果他不能在凌晨四点之前手动切断远程控制系统的通信模块,全城就会断电。不是威胁,不是比喻。是物理事实。告诉他,这是他能为自己女儿做的唯一一件还有意义的事。”
他挂了电话,靠在巷道的砖墙上,仰头看着被电线切成碎片的夜空。远处神庙的金顶在暗夜中隐约发光,像一颗被钉在城市心脏上的金钉。凌晨三点的钟声正在敲响,但这一次,他觉得钟声不像是召唤,更像是警告。
米兰达又发来一条消息:“马赫什开始上传最后一段攻击序列。代码包正在被分解成数百个微指令,准备注入调控中心的各个子站。一旦注入完成,死循环就会锁定整个系统。我们还有——不到五十分钟。”
阿迪亚回复:“继续逆向。找到注入完成之前的最后一个拦截窗口。我需要确切的时间点。”
然后他发动引擎,踩下油门。他不是去调控中心。赫玛会去那里,带着十二年的沉默和一张褪色的照片。她的安维会替她打开门——不是金顶之下的圣池大门,而是阿努拉格那间被安保层层包裹的办公室的门。而他,要去另一个地方。去那条被维克拉姆标注为“旧闸室下方,走廊尽头”的地方。萨米尔留下的总控室,仍在神庙地底,仍在暗渠深处。


暂无评论,来抢沙发吧!