科斯塔港的沿海公路在正午阳光下延伸,像一条被晒干的灰色蛇皮。戴维·门多萨坐在副驾驶座上,膝盖上放着笔记本电脑,屏幕上的网络拓扑图随着GPS坐标的移动而缓慢更新。埃利奥特在后座,腿上的伤口换过药之后疼痛减轻了一些,但他的脸色依然苍白,额头上沁着细密的汗珠。
他们已经开了四个小时的车。克拉斯特的灰色建筑群早已消失在后视镜里,取而代之的是诺瓦利亚南部低矮的丘陵和偶尔闪现的黑海海岸线。科斯塔港是一个比克拉斯特小得多的城市,人口不到十万,经济几乎完全依赖远洋货运码头和配套的海关仓储业。这也意味着,阿戈斯基金会的灾备节点选择这里,看中的正是偏僻和不起眼。
“目标建筑在码头区C-7号监管仓库。”戴维指着屏幕上的卫星图像,“仓库名义上属于诺瓦利亚海关总署,但实际上整个C区在过去五年里陆续租给了多家私人公司。海关只在白天派人巡查,夜间安保完全由一家叫‘黑海安保服务公司’的私人承包商负责。”
埃利奥特把平板电脑递到前座中间,屏幕上显示着他从基金会内网截获的灾备节点架构图:“灾备节点的核心设备是一台独立于克拉斯特主网的备份服务器,型号和电信管理局那台是同一批次,JTAG接口应该也在同样的位置。但它的网络隔离比主服务器更彻底——灾备节点只在每天凌晨两点到三点之间与主网同步一次数据,其余时间完全断网。我们要想拿到备用密钥,必须在它断网期间物理接触服务器,否则一旦触发联网报警,科斯塔港的本地安保和克拉斯特的基金会总部会同时收到入侵警报。”
“断网期间的安保配置呢?”戴维问。
“根据维护日志,夜间留守人员只有两人。一个在仓库正门的保安室,另一个每两小时巡逻一次仓库外围。内部没有固定岗哨。”
“巡逻路线和换班时间?”
“晚八点换班,之后每两小时巡逻一次。下一次巡逻时间是凌晨十二点、凌晨两点、凌晨四点。两点那次巡逻刚好和灾备节点的数据同步时间重叠。”
戴维沉默了几秒,然后打开车门走出去。海港的风猛烈地吹着他的金发,他站在防波堤边缘,举着望远镜观察C-7号仓库的外观。那栋建筑是一幢长方形的混凝土盒子,外墙漆成海关标准的浅灰色,窗户极少,正门是一扇电动卷帘门,侧面有一个员工入口。建筑周围是平坦的堆场,几乎没有可以藏身的掩体。
“正面强攻不行。”他回到车里,“我们需要在凌晨两点之前进入建筑,在数据同步之前拿到密钥。如果等到同步开始,服务器联网,我们就没有机会了。但两点之前正好有一次午夜巡逻。我们必须卡在巡逻结束和同步开始之间的间隙行动。那个窗口不到三十分钟。”
埃利奥特调出一张科斯塔港市政管网图纸,手指在屏幕上放大C-7号仓库下方的区域:“仓库下面有一条旧排水管,是码头区八十年代铺设的,后来因为海水倒灌被废弃,但管道本身还在。它的走向正好从C-7号仓库底部穿过,检修井的位置在仓库东侧大约四十米外的堆场边缘。”
“从管道进仓库?”
“管道上方就是仓库的地下电缆沟。电缆沟通往一楼的配电间。配电间和服务器机房只有一墙之隔。”
戴维盯着那张图纸看了很久,然后发动了汽车。他们在码头区外围一家渔民开的廉价旅店开了两个房间作为临时据点。旅店老板是个七十多岁的老妇人,对这两个带着大量设备的陌生人没有表现出一丝好奇——在科斯塔港,不问不该问的事是生存法则。
入夜后,科斯塔港的温度骤降。黑海刮来的风带着咸腥的水雾,把码头区笼罩在一层灰蒙蒙的湿气中。戴维和埃利奥特在晚上十一点离开旅店,沿着防波堤步行前往C-7号仓库东侧的旧排水管检修井。戴维背着一个防水设备包,埃利奥特拄着一根从旅店后院捡来的木棍当拐杖。两人都穿着深色衣服,脸上蒙着消光面罩。
检修井的铸铁井盖已经锈得几乎和地面融为一体。戴维用撬棍花了将近二十分钟才把它撬开。井口下面是一条直径不到一米的混凝土管道,管道底部积着几厘米深的海水,散发着一股腐烂贝类和柴油混合的刺鼻气味。两人一前一后钻进管道,弯腰在黑暗和恶臭中缓慢前进。
管道里的每一步都伴随着回声。埃利奥特的腿伤在弯腰爬行时加剧了疼痛,但他咬着牙没有发出任何声音。戴维在前面用头灯照亮管道,微弱的光束在混凝土管壁上投下晃动的阴影。他们爬行了大约七十米,管道的天花板忽然升高,进入了一个老旧的地下电缆室。
电缆室的地面上覆盖着厚厚的灰尘,墙壁上敷设着几排早已废弃的铜芯电缆,空气中弥漫着铜锈和霉菌的气味。天花板的另一端是一排垂直向上的金属梯,梯子顶部是一块活动盖板。戴维爬上梯子,耳朵贴着盖板听了几分钟——上面没有脚步声,没有交谈声,只有远处服务器设备运转的微弱嗡鸣。
他轻轻推开盖板。上面是配电间,灯光全灭,只有设备指示灯在黑暗中闪烁着红色和绿色。两人无声地爬上来,在配电间的角落里蹲下来,通过门缝观察外面走廊的情况。走廊里空无一人,天花板上每隔五米一盏应急灯发出惨淡的白光。走廊尽头是服务器机房的门。
门没有上锁。在这栋建筑的安保设计里,外墙是第一道防线,卷帘门和巡逻是第二道防线。没有人想到有人会从地下电缆沟钻进来,所以内部的机房门反而没有任何防护。
戴维推开机房门的瞬间,冰冷的空调风扑面而来。机房不大,大约二十平方米,三排标准机柜整齐排列,蓝色和绿色的指示灯在黑暗中像深海鱼群的眼睛。埃利奥特迅速辨认出灾备节点服务器的型号和机柜位置——左边第二排,第七号机柜。
和电信管理局的主服务器一样,这台设备的JTAG接口也被外置在检修面板上。戴维卸下面板,接上硬件调试器。米拉在克拉斯特通过加密信道远程指导操作,她在屏幕上一步步教戴维如何识别启动日志里的密码哈希值。整个过程不到十分钟。
“拿到了。”戴维将哈希值存入加密硬盘。米拉在另一端同步收到了数据。
就在两人准备撤退的时候,埃利奥特的目光被服务器屏幕上的一条状态信息吸引住了。灾备节点的系统界面里有一个附属模块,标签写着“应急覆盖协议”,状态显示为“待机”。他点开模块,发现那是一套独立于紧急广播系统之外的备用通信协议,能够在紧急广播被激活的同时,向诺瓦利亚所有电信运营商发送一条强制指令——强制所有基站开放免费无线数据流量,持续四十八小时。
“这意味着什么?”埃利奥特的手悬在键盘上方。
“意味着如果我们激活这条附加协议,”戴维的声音压得很低,但语气里有一种被震惊后的余波,“紧急广播推送的不只是文本和图片。我们可以推送任何东西——视频、音频、数据库文件。整个国家的手机网络会在两天内变成一个巨大的开放下载平台,任何人都能自由下载我们放上去的数据,而且不花一分钱流量费。”
埃利奥特盯着屏幕上那个“待机”字样,心中涌起一种复杂的情绪。基金会在设计这套灾备系统时,显然考虑到了国家发生重大灾难时需要大规模通信保障的场景。他们设计了最慷慨的应急通信协议,然后把它锁在地下仓库里,只留给自己使用。现在,这把钥匙落在了他们手里。
他将协议模块的权限数据一并复制到加密硬盘里。
撤离的过程比进入更紧张。两人原路返回,从配电间回到电缆沟,再从电缆沟爬回排水管。埃利奥特的腿伤在最后一段管道里终于支撑不住,他踩滑了一步,整个人摔在积水里。水花声在管道中放大回荡,传到检修井口时已经足够响亮。地面上,巡逻保安恰好经过井口附近,听到声音停下来,用手电筒照向井盖方向。
戴维一把抓住埃利奥特的后领,把他拖到管道拐弯处的凹陷里。两人屏住呼吸,蜷缩在黑暗中。手电筒的光束从井盖缝隙间扫过,晃了两下,然后移开了。巡逻保安站了片刻,大概觉得刚才的声音可能是野猫或者海浪,转身继续走他的巡逻路线。
凌晨两点三十一分,两人从检修井爬出地面时,浑身湿透,粘满污泥,累得几乎站不稳。但加密硬盘里同时存着科斯塔港灾备节点的备用密钥和应急覆盖协议的完整权限。
他们在旅店房间里将数据打包,通过加密信道发送给米拉。米拉在克拉斯特接收完成后,将主密钥和备用密钥放在同一个虚拟环境中进行匹配测试。两台电脑屏幕上同时跳动着密钥校验的进度条,绿色光点在数字隧道中高速穿行。两套密钥在算法层面完美契合。
紧急广播系统的控制面板被激活了。一个简洁的管理界面出现在米拉的屏幕上,上面显示着诺瓦利亚全国紧急广播的发送权限——包括短信、图片、音频、视频——以及埃利奥特刚拿到的附加选项:开放全境免费数据流量。
莉迪亚的声音从加密通话频道中传来:“把所有内容打包。基金会的转运日志、订单记录、器官配型数据库、政府官员的受贿明细、警察总队的运输通行证、通信管理局的拦截日志、彼得森的大使馆通讯记录——每一个字节都打包进去。然后设置定时推送——明天早晨七点整。不,七点太晚了。六点。清晨六点,当每一个诺瓦利亚人醒来拿起手机的时候,这些数据就在他们屏幕上。”
米拉的手指在键盘上飞速敲击。打包文件的总量超过四十个千兆字节,包含文本、图片、表格、转账截图和几段从基金会内网里挖出来的内部会议录音。她把所有文件压缩成一个加密数据包,上传到紧急广播系统的推送服务器上。定时器设定为明早六点整。
屏幕右下角跳出一个倒数计时:07:34:22。七小时三十四分二十二秒后,诺瓦利亚全国一百七十万部联网移动设备将同时收到这份数据包。
戴维从科斯塔港的旅店窗口望向黑海。海面在凌晨的月光下像一块铺展开来的黑色丝绸,远处的货轮灯火零星闪烁,但天的尽头已经隐隐泛出一丝灰蓝。天快亮了。他回头看了一眼躺在床上昏迷般睡着的埃利奥特,然后轻声对着通话频道说了一句。
“我们没有回头路了。”
莉迪亚在克拉斯特的面包车里握着卫星电话,听到了那句话。米拉坐在驾驶座上,看着挡风玻璃外逐渐亮起来的天色。两人都没有说话。
面包车停在一处俯瞰克拉斯特老城区的山丘上。脚下的城市还在睡梦中,红瓦屋顶在晨光中层层叠叠铺向远方,教堂的尖顶像一根指向天空的针。钟楼敲响了凌晨五点的钟声,钟声在城市上空回荡,把一群栖息在屋顶上的鸽子惊飞起来。
莉迪亚的手机突然震动了。不是加密信道,不是卫星电话。是普通短信。
来自马雷克。
短信只有四个字。
“刀疤抓住了。”
她盯着屏幕,心脏在胸腔里猛地停跳了一拍。然后手机又震了一下,第二条短信进来,比第一条更短。
“他们往东。”
莉迪亚将手机转向米拉。米拉看了一眼,然后抬头望向东方——东边是克拉斯特工业废墟的方向,是马雷克昨天清晨独自出发的方向。
也是紧急广播将在六点整启动,距离现在只剩下不到一个小时的方向。
她重新看回手机屏幕上的倒数计时器。
06:00:00。滴答。滴答。


暂无评论,来抢沙发吧!