罗西把那句拉丁文念出来之后,车厢里沉默了整整三十秒。科尔握着方向盘,指关节发白,车窗外的城市在黄昏中逐渐亮起灯火,每一盏灯都像是一个潜在的引爆点。
“即使世界毁灭,也要让正义实现。”他重复了一遍。“这不是凶手在炫耀,这是在引用法律格言。你知道这句话通常出现在什么地方吗?”
“联邦最高法院的异议意见书。”罗西说。“当多数意见以技术性理由驳回一起案件时,持异议的法官有时会在文末引用这句话,意思是——你们为了维护程序,牺牲了实质正义。”
“又一个法律人。”科尔的声音很低。“三年前签下驳回结论的是索恩。现在用法院网络杀人的还是索恩。他在用行动证明当年那个签字是错的,用杀人来纠正他认为的法律错误。”
“但这说不通。”罗西把笔记本电脑合上,揉了揉太阳穴。“如果他只是要杀人,为什么要给你留消息?为什么要用无害的荧光素钠测试全城供水?为什么今天下午攻击医院的时候,偏偏在手术完成之后才让系统崩溃——奥夫曼活着,科尔。他虽然经历了极其凶险的手术中断,但他活着。凶手完全可以在手术最关键的阶段让机器停摆,让病人死在刀下,但他没有。”
科尔没有回答。罗西说的每一个字都是对的,而这些“对”拼在一起,指向的结论让他不安:凶手不是不能杀奥夫曼,而是不想在那个时候杀他。他在控制死亡的时间、地点和方式,像是一个导演在调度舞台上的灯光——每一束光打在哪里,什么时候亮,什么时候灭,都是精确计算过的。
“我们需要找到他接下来要攻击的目标。”科尔发动了汽车。“他一直在针对三年前的旧案。墨菲的举报、奥夫曼的污染案,还有翠鸟公寓——那栋楼里住的十七个人,你说过要查他们的背景。”
“我查了。”罗西翻开她的笔记本。“翠鸟公寓的住户名单上有一个人叫莱斯利·科瓦奇,曾经是金斯顿市规划委员会的成员。三年前他投票批准了奥克塔维亚水厂三号蓄水池的扩建项目——正是那个项目让墨菲发现了系统后门。他投了赞成票,然后项目通过了,然后墨菲死了。”
“其他十六个人呢?”
“有的在市政府工作,有的是退休教师,有的是普通工人。没有明显的关联——至少目前看不出来。但我还在深挖每个人的财务记录和通讯录,也许会有交集。”
科尔的车拐进了金斯顿老工业区。这里的街道比市中心宽阔得多,两边是红砖厂房和废弃的仓库,每隔几十米才有一盏路灯亮着。他们的目的地是一栋三层砖楼,门牌上写着“金斯顿市能源调度中心附属档案库”。这里存放着全市SCADA系统的早期设计图纸和原始技术规范——那是系统建成之初就封存的资料,理论上没有任何人查阅过。
但科尔不相信“没有人”。如果一个后门从系统部署的第一天就存在,那么它的设计者一定在图纸上留下了痕迹。
档案库的管理员是一个上了年纪的男人,名叫伯纳德·格里尔,戴着一副镜片厚如瓶底的眼镜,说话时习惯性地用食指推一下镜框。他已经接到了科尔提前打来的电话,将两人带到地下二层的图纸储藏室。
“这里的文件可以追溯到三十年前。”格里尔的声音在空荡的地下室里回荡,带着一丝回音。“金斯顿市是全联邦最早采用SCADA系统进行城市基础设施管理的城市之一。当时这被视为技术进步的典范——从供水到电网,从交通信号到天然气管道,全部纳入一个统一的自动化调度平台。”
“谁设计的系统架构?”罗西问。
“安布罗斯工业系统公司。”格里尔打开一排铁柜,抽出一卷用牛皮纸包裹的图纸。“他们当时是业内最顶尖的工业控制系统供应商,政府招标中击败了另外五家公司。系统建成后运行得非常好,连续十五年没有发生过重大事故。直到三年前墨菲的举报。”
科尔接过图纸,在档案室的长桌上铺开。这是金斯顿市SCADA系统的主干网络拓扑图,绘制于将近三十年前,纸张已经泛黄,但墨水的线条依然清晰。他沿着供水网络的支线一路看下去,目光在每一个标注为“远程维护端口”的节点上停留。一共有十九个端口,均匀分布在城市各个区域。
然后他看到了一个让他血液温度骤降的细节。
每一个远程维护端口旁边,都用极细的铅笔字标注了一个希腊字母。不是图纸原有的印刷体,而是后来加上去的——人工手写,笔迹细密而工整。
十九个端口,十九个希腊字母。从阿尔法(α)到陶(τ)。
“罗西。”他把手电筒的光柱对准其中一个标注。“你看这个。”
罗西俯身查看,脸色变了。“这是谁加的?什么时候加的?”
格里尔凑过来,推了推眼镜。“这种笔迹我见过。大概二十年前,安布罗斯公司派了一个工程师来做系统升级维护,他在档案室待了整整三天,说要‘校准图纸与实物的一致性’。这些希腊字母应该就是他留下的。我记得他姓——”格里尔眯起眼睛,在记忆里搜寻。“——姓凯斯勒。埃德加·凯斯勒。”
“他还活着吗?”
“不在了。系统升级完成后大约半年,他死于一起游艇爆炸事故。官方结论是燃料泄漏导致的意外。”
又一起意外。科尔和罗西交换了一个眼神。
“这十九个端口目前的运行状态怎样?”科尔问。
格里尔犹豫了一下。“说实话,大部分端口在系统中已经被标注为‘废弃’状态。随着城市基础设施的更新换代,很多旧端口被新的光纤节点替代了。但是……”他顿了顿,“废弃只是在软件层面。物理层面,这些端口的硬件设备仍然连接在主干网上。没有人会去挖开街道把一根已经失效的网线抽出来。它们在那里,只是没有人再去注意它们。”
“就像环形监狱。”罗西低声说。
“什么?”
“边沁的环形监狱理论。一个中央瞭望塔可以监控所有囚室,但囚犯永远不知道自己在何时被监视,所以他们默认自己时刻处于监视之下。这些废弃端口就像是瞭望塔上的百叶窗——所有人都以为它们是关着的,但实际上,有人悄悄把它们全部打开了,而整座城市就是监狱。”
科尔的手指沿着图纸上的十九个希腊字母移动。阿尔法、贝塔、伽马、德尔塔……一直到第十九个,陶。他突然停住了。
“格里尔先生,这个系统的原始设计文档里,有没有提过为什么远程维护端口恰好是十九个?”
格里尔想了一会儿。“这我倒没深究过。一般这种数字要么是技术限制,要么是预算限制。但你说得对,十九是个奇怪的数字。如果是工程需要的整数,应该是十六或者三十二——都是二的幂次方。”
“十九在希腊神话里有什么特殊含义吗?”科尔转头问罗西。
罗西已经打开了手机上的搜索引擎。几秒钟后,她的手指僵住了。
“根据赫西俄德的《神谱》,厄里斯——纷争女神——在参加佩琉斯与忒提斯的婚礼时,抛下了一个金苹果,上面刻着‘献给最美的女神’。赫拉、雅典娜和阿佛洛狄忒三位女神争夺这个苹果,最终引发了特洛伊战争。而在抛下金苹果之前,厄里斯孕育了十九个孩子。”
“十九个?”
“痛苦、遗忘、饥饿、悲伤、争斗、屠杀、谎言、争端、混乱、毁灭、诅咒……全都是灾难的人格化身。希腊文中统称为‘卡科斯’——万物之恶。”罗西抬起头,她的声音在空旷的地下室里显得格外清晰。“科尔,这十九个端口不仅仅是物理节点。他把它们当成了十九个孩子,每一个都被赋予了某种特殊的攻击功能。”
格里尔的脸色变得灰白。“你是说,有人花了二十多年的时间,把整个城市的基础设施改造成了一件武器?”
罗西没有回答。她盯着图纸上的第十四个端口——标注为“Νείκη”,意为“争端”。那是翠鸟公寓所在的位置。而在第四端口“Άλγος”——“悲伤”——的坐标上,她认出了金斯顿圣约瑟医院的街道编号。
每一个死亡都是一次精准的命名。
科尔卷起图纸,动作很慢,像是害怕惊动什么。“我们需要找到埃德加·凯斯勒的档案。关于他的一切——他的学历、工作经历、死亡证明,还有,他在安布罗斯公司工作期间的所有项目记录。”
“他已经死了二十年了。”
“那就更说明问题。”科尔把图纸夹在腋下。“一个死了二十年的人,不可能在今天给奥夫曼的手术室发送停机指令。但如果他的设计被完整地保留了下来,并且被某个人继承了呢?”
地下室的日光灯忽然闪烁了一下。不是完全的熄灭,而是那种电压不稳导致的瞬间明暗变化,像是一只巨大的翅膀掠过光源。
三个人同时抬头看向天花板。
格里尔的声音发干。“这里的供电一直很稳定。三十年来第一次出现这种情况。”
科尔掏出手机,拨通了斯特恩的号码。“告诉我,能源调度中心现在归谁管?”
“金斯顿市电力调度由市政能源局负责,中控系统也是安布罗斯公司当年搭建的SCADA平台的一部分——”
“它连着旧端口吗?”
电话那头沉默了两秒。“你在暗示什么?”
“我在暗示,如果他可以通过第十四个端口向翠鸟公寓输送氯气,通过第四个端口关闭医院的交换机,那他也可以通过其他任何一个端口,对这座城市的任何一部分基础设施下达任何指令。包括供电网。”
仿佛是为了印证他的话,头顶的日光灯再次闪烁。这次持续了三秒,比第一次更长。
格里尔下意识地后退了一步。罗西打开笔记本电脑,开始扫描金斯顿市能源网络的实时状态。屏幕上的数据让她倒吸了一口凉气。
“科尔,三号变电站的负载正在以异常速度上升。不是用电高峰——没有那么多用户同时开启电器——是有人正在向变电站发送虚假的调度指令,让它以最大功率向一个不存在的负载供电。这会导致变压器过载,如果持续时间超过临界阈值——”
“会怎么样?”
“整个东区会断电。不是几小时,而是永久性的设备损坏。需要数周甚至数月才能完全修复。”
“他在转移我们的注意力。”科尔说。“医院攻击被我们打断了一次,他需要一个更大的动作把所有人的视线从奥夫曼案上移开。但他选错了方法——如果他切断整个东区的电力,那将影响数万人的生命。这是恐怖袭击级别的事件。”
他转向罗西。“能反向追踪那些虚假指令的来源吗?”
“已经在了。”罗西的键盘声急促如雨。“但不是从能源局的外部网络——和医院那次一样,指令来自金斯顿联邦司法大厦的内部IP。而且这次他更嚣张了,他甚至没有使用跳板。直接一条直线,像是故意要让我们看到。”
“因为他知道我们看到也没用。”科尔说。“没有搜查令,我们进不了司法大厦的内部服务器机房。而申请一份针对联邦法院建筑本身的搜查令,至少需要七十二个小时。”
日光灯又闪了一下。这次所有人都没有抬头。那些不稳定的电流在墙体里流动的声音——一种低沉的、类似蜜蜂振翅的嗡鸣——正在变得越来越响,像是一种警告,又像是一种宣告。
罗西忽然停下了手中的键盘操作。她的目光落在屏幕角落一个极小的时间戳上,脸色变得极其复杂。
“科尔,变电站的攻击不是从现在开始的。”
“什么意思?”
“记录显示,过载指令的第一次发送时间不是今晚。是三天前。三天前他就已经开始向变电站发送虚假调度指令了,但每次都是微量增加,每次不超过零点五安培,全部控制在系统自动修正的冗余范围内。我们没有察觉,电力公司也没有察觉——所有监控系统都显示一切正常。”
“他在干什么?”
“他在等今晚。三天积累的微小偏差,会在今晚的某个瞬间同时释放——就像是把一根弹簧压到极限之后突然松手。这不是一场普通的攻击,科尔。这是一场蓄谋已久的演示。他给我们三天的时间去发现,但我们没有发现。而现在,他要让我们亲眼看到它是如何崩坏的。”
科尔的手机响了。屏幕上是斯特恩的来电。他按下接听键,听到的是指挥官近乎嘶吼的声音:
“三号变电站刚刚发生物理爆炸——变压器过载起火。东区两万户居民正在失去电力供应。科尔,不管你在哪里,你需要马上到现场来。”
他挂断电话,看向罗西。日光灯在这一刻彻底熄灭了,地下档案室陷入一片漆黑。唯一的光源是罗西笔记本电脑屏幕上那些跳动的红色警报——像是某种黑暗中的心跳,缓慢、稳定、不可抗拒。
而在这片黑暗中,格里尔老人的声音从某个角落传来,带着一种老年人特有的、面对无法理解之事时的茫然与颤抖:
“他到底想要什么?”
科尔在黑暗中回答,声音很平静:“他想要我们承认,法律保护不了我们。”


暂无评论,来抢沙发吧!