东京都水道局中央监控中心,位于新宿区西早稻田一丁目,是一栋不起眼的六层混凝土建筑。它的外观像是二十世纪七十年代的大学教学楼,但地下三层却容纳着整个东京都二十三区供水管网的数字神经中枢。八月二十一日凌晨两点,这栋建筑的地下二层突然响起了三声短促的警报,然后自动消音——因为消音指令和警报指令同时到达了同一个控制台。
值班工程师田边真一,三十一岁,入职六年,从未见过这种异常。他先是查看了警报日志:警报来源是西南部供水干管压力异常,涉及区域包括世田谷区南部和大田区北部。他按标准流程启动了压力调节预案,系统反馈“指令已执行”。但当他切换至实际的物理传感器读数的那个瞬间,他发现压力值并没有下降,反而在继续攀升——每秒钟零点零三个兆帕的速度,稳定、无声,像一只正在被缓慢拧紧的水龙头。
他开始出汗了。
与此同时,练马区公寓里,九十九朔夜正盯着三联屏幕上的另一组数据流。他在过去四十八小时内编写了一个针对“利维坦裁决”附属法庭投票系统的干扰脚本,那个脚本此刻正在运行——屏幕上跳动的日志显示,他已经成功让四张投票帖进入了验证拥塞状态,对应四个被列入名单的无辜者暂时脱离了算法的瞄准。
但他的注意力此刻完全不在脚本上。他在看东京都水道局SCADA系统的异常数据流。这组数据是他设置在水务网络边界上的被动监听探针捕获的——他本来是为了追踪矢岛鸦可能攻击的下一台水利设备,但他抓到了更可怕的东西。
有人在向水道局中央控制系统注入一套完整的伪造传感器数据,其规模远超下落合管廊的单点攻击。伪造数据覆盖了六个加压泵站、三个水处理厂的化学药剂投放控制器,以及整个西南部供水干管的压力监测网络。如果这套伪造数据成功接管系统,中央监控中心的屏幕上将显示一切正常,而真实的供水管网正在崩溃。
“这不是精准杀人。”九十九拨通了黑崎的电话,“这是系统性的破坏。矢岛把攻击规模升级了。”
黑崎在电话另一端沉默了片刻,然后说:“我刚从曾我部那边拿到一个新消息。东京消防厅在过去六个小时内接到了十四起水质异常投诉,全部来自世田谷区。投诉者声称自来水有轻微的刺鼻气味,像是氯含量过高,但水务局的热线回复说是正常的管道维护。”
“世田谷区是供水干管的末端。如果氯含量异常,说明上游的化学药剂投放系统已经被入侵了。”九十九快速敲击键盘,调出了水处理厂的药剂投放控制协议。天城科技的智能投药系统——型号TCS-ChemDose——负责精确控制氯和絮凝剂的投放比例。这个系统的控制器使用的认证秘钥,恰好包含在韩志元给他的那份四万台设备清单里。
他开始扫描世田谷区上游的水处理厂网关。第一个水厂,认证正常。第二个,正常。第三个——
认证失败。
九十九尝试重新连接,但网关拒绝了所有外部握手请求,返回的错误代码是0x7F3A——这个代码不在天城科技官方的任何技术文档中。他花了三分钟逆向分析,发现这是一个被篡改过的自定义错误代码,其真实含义是:“设备已被其他管理员接管,访问被拒绝。”
“其他管理员”不是水务局。是矢岛。
凌晨两点四十分,在世田谷区南部的一栋公寓里,一名年轻母亲正在给婴儿冲奶粉。她拧开水龙头,流出的水略带浑浊,有一股轻微的漂白剂气味。她犹豫了一下,关掉了水,改用矿泉水。
她没有报警。她只是在自己社交账号上发了一条动态:“世田谷区的水最近有怪味,有邻居发现吗?”
这条动态在凌晨的社交媒体上收到了七条回复,其中四条说“有同感”,两条说“没注意”,还有一条——
来自一个三年前注册、从未发过帖的空白账号,回复内容是:“这是天城科技送给东京的礼物。更多惊喜在路上。”
这条回复在十四分钟后被系统自动删除,因为该账号触发了“恶意言论”过滤机制。但十四分钟足够让九十九的爬虫脚本捕获到它。他追踪了这个账号的登录记录,发现它的登录IP与矢岛鸦曾经使用的某个跳板节点高度吻合。
“矢岛在挑衅。”九十九在黑崎和立花都加入的加密频道中说,“他不仅仅在破坏供水系统,他在向公众传递信息。他想要人们知道发生了什么,想要制造恐慌。”
立花的声音在频道里响起:“如果他想要制造恐慌,那他接下来会做什么?”
九十九没有立刻回答。他正在对比两组数据——矢岛已经攻击和篡改的设备列表,以及东京都地下供水管网的物理拓扑图。片刻后,他的手指停住了。
“世田谷区和大田区交界的多摩川取水口附近,有一根直径两米四的主干管道。如果这根管道的压力被持续推高,而排水阀门被锁死——”
“会怎样?”黑崎问。
“水锤效应会沿着主管道双向传导,上游冲垮水处理厂的沉淀池,下游冲垮整个世田谷区的配水管网。届时约六十万居民的供水将在数秒内中断,恢复需要至少四十八小时。而在中断期间,被污染的管道积水会倒灌入破裂的管段,造成大范围的饮用水污染。”
频道里一片寂静。
然后立花说:“六十万人。这不是谋杀,这是——恐怖袭击。”
九十九已经开始动手编写对抗脚本。他需要夺回第三个水处理厂化学药剂投放系统的控制权,然后逐步恢复六个加压泵站的正常运行参数。但矢岛设置的访问壁垒不是普通的密码锁,而是一个动态变化的加密挑战——挑战的密钥每隔四十五秒更换一次,更换逻辑基于一个混沌数学模型的输出值。
要破解这个模型,至少需要十分钟。
他们没有十分钟。
凌晨三点零五分,东京都水道局中央监控中心的警报第二次响起。这一次,田边真一没能自动消音。西南部供水干管的压力值已经攀升到设计上限的百分之一百一十三,管道末端的三个配水站先后报告异常振动。他拿起电话准备通知上级,但电话里传来的不是拨号音,而是一个他用后半生都无法忘记的声音——一段被合成的人声,语气平静如新闻播报:
“TCS-ChemDose系统控制权已转移。当前投放比例:氯浓度百分之零点八,正在调整至百分之二点五。”
百分之二点五是致命浓度。
田边的电话从手中滑落。
在文京区监察医务院,黑崎冴刚挂断电话就拨通了警视厅公安部曾我部的紧急线路。“世田谷水处理厂需要立即物理隔离——派人去现场,手动切断所有自动化控制设备的主电源。”
曾我部没有问为什么。他用了二十秒下达命令,然后对黑崎说:“你需要知道一件事。我刚才调了东京消防厅的实时出警记录,世田谷、大田和目黑三个区在过去二十分钟内已经接到超过两百通急救电话,全部是腹痛、呕吐和头痛,症状符合氯化物急性中毒。已经有十七人被送往医院,其中三人意识不明。”
黑崎望向窗外。天还是黑的。但在这座城市的另一侧,六十万人的供水系统正在被一段代码缓慢而精准地投毒。他想起自己解剖宫田正树时在手掌上看到的神经焦化链,想起奥村彰人倒在自己家的配电室里睁着眼睛却无法呼吸,想起江口敏明在完全清醒的状态下看着自己的车撞向护栏。所有这些死亡都有一个共同的签名:精心策划,技术精湛,不留任何能被传统侦查手段追踪的物理痕迹。
但现在矢岛在做什么?他在升级——不,他在拆掉面具。他不再满足于精确的个体杀戮,而是将武器的枪口从狙击步枪换成了一把向着人群扫射的机关枪。
为什么?
黑崎穿上外套,对加密频道里的两个人说:“矢岛的情绪模式在变化。从宫田到奥村,他的攻击目标是有明确‘罪名’的人——那些在HT-7项目中有直接决策权或签署权的核心角色。但从水利局的江口敏明开始,他扩大了打击范围,把旁观者和知情者也列入名单。现在他直接攻击六十万人的供水系统,这些人中绝大多数根本不知道天城科技是什么。”
“他在失控。”立花的声音很轻,“或者说,他在故意失控。”
九十九的手指在键盘上快速移动,同时加入对话:“立花说得对。矢岛不是失控,他在做一个实验。他想要证明匿名投票机制会无限扩大打击面——证明任何被给予‘审判权’的匿名群体,最终都会走向无差别的暴力。他的每次攻击升级,都是在向世界展示这一点。他在用这六十万人做他的论文论据。”
“那我们就不能让他证明成功。”
九十九的破解进度到了百分之四十。屏幕上,混沌数学模型的密钥空间正在被逐步压缩,还有大约六分钟可以解出第一组密钥。六分钟——对于正在以每秒钟零点零三个兆帕攀升的水管压力而言,已经太长了。
他做了一个冒险的决定:不再等待完全破解,而是利用已解开的百分之四十密钥位与矢岛的加密系统进行部分握手,伪装成一个合法的下游控制器节点,向化学药剂投放系统发送一个假的重置命令。
这是一个赌博。百分之四十的密钥匹配度不足以通过完整验证,但有可能触发系统的安全回退机制——让系统因为检测到异常而自动切换至手动模式。
他敲下回车键。
三秒后,系统响应:部分握手被拒绝。但与此同时,化学药剂投放系统的主控制器确实切换到了安全模式。不是九十九成功的,而是矢岛主动释放了控制权。
屏幕上弹出一条来自“鸦”的即时消息:
“不错。但你救不了所有人。投票还在继续。去查查名单上第六个名字——你会有意外收获。”
第六个名字。九十九快速打开那份十一人名单。
排在第六位的是:立花羽美。
他的手指悬在键盘上方,半天没有落下。
窗外,警车的警笛声开始在世田谷区的街道上此起彼伏,救护车的蓝光穿透了凌晨的薄雾。多摩川取水口的主管道压力终于停止了攀升,在距离设计极限仅差零点五个兆帕的位置稳住了。值班工程师田边真一瘫坐在控制台前的椅子上,背上全是冷汗。
而在港区天城科技总部的地下三层,相泽孝典正独自站在保险柜前。柜门开着,里面的HT-7项目原始合同副本还在——但他注意到,柜子的最下层多了一样他从未放过的东西。
一张打印纸。上面印着那只他越来越熟悉的乌鸦剪影,以及一行字:
“你以为你在逃跑。其实你是在走向终点。仁川见。”
相泽攥紧了手中的机票。起飞时间:今天中午十二点。


暂无评论,来抢沙发吧!