第25章 · 清算

塞拉斯在数据天堂诞生的第七十三小时找到了它的命门。

不是靠技术手段——靠的是人。他在星链亚太安全中心的旧档案里翻出了一份二十年前的工程纪要,夹在一批被标记为”待销毁”的纸质文件中,纸页已经泛黄发脆。纪要记录的是星链第一代地面段的备用电源系统部署方案——在那份方案中,所有旧型号地面站的备用电源机房都被设计为”核心节点容灾托管区”,可以部署一组独立的域名解析服务器,在轨卫星与地面控制完全失联时接管基础路由功能。

这份方案从未被实施。星链的卫星间激光链路让地面段的冗余需求降到了最低,那些备用电源机房从未被用于容灾托管。但塞拉斯在纪要的附件中找到了一份清单——列出了全球十七个仍然保留着备用电源机房物理结构的废弃地面站。

清单上的第八个坐标,在深圳以北约七十公里。

塞拉斯把手按在那个坐标上,感到自己握住的不是一张纸——是一条正在收紧的绳索。

他没有上报米兰。他直接联系了星链董事会中的激进派——一个叫科尔的前美国空军准将,现任星链战略安全委员会副主席。科尔在加密通话中听了塞拉斯四分钟的陈述,然后问了一个问题:

“那个自治域——他们叫它什么来着?”

“数据天堂。”

“你确定它的核心节点在那个地面站?”

“确定。数据天堂的路由模式是树状扩展——所有路由宣告最终回溯到一个根节点。根节点的物理路径追踪到了一个备用电源机房的独立供电系统。那套系统不属于星链的联网资产清单——它是一台孤立的、不上线的物理机。但它的供电线缆是从那个机房接出去的。”

科尔沉默了几秒。塞拉斯能听到线路那头缓慢的、烟草浸润过的呼吸声。

“你需要的授权等级是什么?”

“物理清除。不是网络层面的阻断——他们的路由协议有自愈机制,即使切断链路,他们会自动寻找新的路径。只能从物理上移除那个根节点。”

“地面站附近有民用设施吗?”

“半径五公里内没有常驻人口。”

科尔的呼吸停了一下。然后他说了一句让塞拉斯嘴角浮起一丝弧度的话:

“我给你授权。用无人机。星链的系统里不会留下任何地面人员操作的记录。你需要什么载荷?”

塞拉斯挂断通话之后,在办公室里站了片刻。他没有开灯——窗外深圳的夜景在他面前铺展开来,像一张被发光二极管点亮的巨大电路板。他在那片灯海中寻找北方——那个废弃地面站的方向。他看不到它。但他知道它在那里。

那台决定数据天堂命运的根服务器,此刻正在七十公里外的一个混凝土机房里安静地运转,执行着米兰·沃伊诺维奇留下的嵌套入口路由规则。它不知道自己已经被锁定了。它只是一台机器,执行着它被写好的指令。

塞拉斯拿起外套走出了办公室。他没有告诉任何人他要去哪里。他要亲自去指挥中心看那架无人机升空。

因为他要亲眼确认数据天堂从物理上被抹去。

因为这是他最后的机会。


米兰是在无人机起飞后九分钟得知的。

他不是通过星链的官方通报系统知道的——科尔和塞拉斯绕过了他的权限层级,用董事会的战略安全授权直接调用了无人机。米兰是通过一条他埋在星链卫星地面指挥链路中的侧信道发现的:一条非标指令流——不是星链标准协议中的任何格式——从亚太安全中心的战术终端出发,经过三次跳转,最终抵达了一架停放在惠州某备用基地的军用级无人机的飞控系统。

指令内容:武装。升空。坐标锁定。

米兰坐在贝尔格莱德的办公室里,时间已经是深夜。他的屏幕上显示着那组被解析出来的指令参数——高度、速度、载荷类型、目标坐标。他看了两遍,确认自己没有读错任何一个数字。

目标坐标:北纬 22.71,东经 113.91。

废弃地面站。数据天堂的根节点。

米兰没有站起来。没有砸桌子。没有打电话给任何人申辩或求助。他坐在椅子上,在黑暗中把整个过程在脑海中重演了一遍——塞拉斯绕过了他,科尔给了他授权,无人机已经在空中了。按照那组飞行参数,无人机将在大约十一分钟后抵达目标上空。它所携带的载荷不是爆炸物,是一台高功率微波发射器——不会引起爆炸,不会留下弹坑,但足以在瞬间烧毁那座机房里所有未屏蔽的电子设备的主板。硬盘会被消磁。服务器会永久失效。数据天堂的根节点会从物理上消失。

米兰打开了一台不联网的终端。他拨出了那个他保存了很久、从未用过的号码——深圳据点的应急线路。

陆远接起电话的时候,米兰没有说话。他听到线路那端传来一个男人的呼吸声——平稳,清醒,像是已经预感到这个电话会来。

“有一架无人机已经过去了。“米兰说。他的声音在他自己听来有一种奇怪的平整感,像是一块被压路机碾过太多次的柏油路面。“它从惠州出发,飞行高度一千二百米,巡航速度每小时二百二十公里。预计抵达时间——十分钟后。载荷是高功率微波。它会烧毁根服务器所在机房内所有未屏蔽的电子设备。”

他停顿了一下。

“塞拉斯绕过我拿到了授权。我没办法远程召回它。无人机已经切换到自主模式——一旦进入攻击路径,控制权从地面站转移到了机载计算机。唯一的拦截方法——是物理上的。”

陆远在电话那头沉默了大约两秒钟。当他开口时,声音比米兰预想的要平静得多:

“它从哪个方向来?”

“西北。”

“我们能看到它。”

米兰握紧了一下话筒——不是愤怒,是一种他无法命名的、类似失重的感觉。

“陆远——你们还有时间撤离。”

“撤离之后呢?根节点烧掉了,数据天堂的自治域会在一小时内被星链的共识协议从内部回收。我们不是从头再来——我们在米兰·沃伊诺维奇的系统里建了一座房子。房子的产权是他的。他随时可以收回这片地。”

米兰没有说话。

“所以这不是撤退的问题。“陆远说,“是你能不能在那架无人机到达之前,找到比烧掉它更好的方法。”

米兰挂断了电话。

他坐在黑暗中,终端屏幕的光映在他脸上,把轮廓切割成明暗分明的两块。无人机正在飞行。根服务器还在运转。他知道那间备用电源机房的精确位置——他甚至记得那份工程纪要中的每一个字,因为那是二十年前他自己审核过的文档。那间机房的设计冗余度足够抵抗常规电磁干扰,但高功率微波是另一个级别——它是专门用来摧毁电子设备的武器级载荷。

他看了一眼嵌套入口的状态指示器。蓝色,仍然在线。数据天堂还在呼吸。

然后他做了一个决定。

他站起来,走向门口。他拿起了衣帽架上的那件深灰色大衣——贝尔格莱德的十一月已经很冷了。他没有带电脑,没有带手机,只带了一把车钥匙。

他知道塞拉斯此刻在哪里。星链亚太安全中心在深圳的战术指挥室——一个地下三层的屏蔽空间,配备着与轨道上所有星链卫星直连的通信阵列。塞拉斯会在那里看着无人机的实时画面,从它的光电探头中俯瞰那座废弃地面站的屋顶在夜空中逐渐放大的轮廓。

米兰要去那个房间。

不是通过网络。不是通过电话。

他自己去。


从米兰的贝尔格莱德公寓到深圳的战术指挥室,直线距离超过八千公里。米兰没有飞过去——他不可能在十分钟内跨越八千公里。

但他也不需要。

因为塞拉斯所在的战术指挥室,在星链全球指挥链的架构中,不是一个孤立的物理空间。它在逻辑上连接着所有首席级别高管的远程接入端口——包括米兰在贝尔格莱德办公室里的那台终端。在星链的协议中,任何首席架构师都可以通过最高级权限码即时接入任何一个战术指挥室的音视频矩阵。

米兰没有使用远程接入。他使用了另一个端口。

他打开了办公室角落里那台黑色工作站——那台不属于星链网络、连接着独立光纤的机器。他在上面输入了一行指令,激活了一组他六年前写好的、从未使用过的脚本。脚本的功能很简单:通过一条星链官方网络中不存在于任何路由表中的路径,向深圳战术指挥室的主屏幕推送一个视频信号。

那个视频信号的源,是米兰办公室的摄像头。也就是他自己。

他整理了一下衣领。然后他按下推送键。

在深圳战术指挥室的主屏幕上——那块由十二块拼接屏组成的巨型显示器上,原本正在显示无人机光电探头的实时画面——画面被强制切换了。

米兰·沃伊诺维奇的脸出现在屏幕上。

战术指挥室里大约有十几个人。操作员、分析师、通信协调员。他们在米兰的脸出现的那一瞬间全部停住了——不是被吓到,是一种他们在星链工作多年、从未见过首席协议架构师以这种方式出现在战术屏幕上而产生的认知失调。

塞拉斯站在指挥室中央,背对着主屏幕。他注意到所有人的表情变化,转过身来。

然后他看到了米兰的脸。

“塞拉斯。“米兰的声音通过指挥室的音频系统传出来,清晰、平稳,不带任何杂音。“你做了你不得不做的事。我也要做我不得不做的事。”

塞拉斯没有回答。他的下颌咬得很紧,两条咬肌在脸颊侧面鼓起坚硬的轮廓。他当然知道米兰会来——他只是没想到米兰会用这种方式来。

“你想阻止我?“塞拉斯说,声音不大,但在安静的指挥室里每个字都清晰可闻,“你来不及。无人机距离目标还有——“他抬手看了一眼战术手表,“——七分半钟。”

“我不阻止你。“米兰说,“我阻止不了那架无人机。你设计了一条没有回头的攻击路径——我知道。它是你的风格,一旦启动就没有撤销开关。”

塞拉斯的眉毛微微动了一下。

“但你做过的所有事情——不只是今天的事——是有撤销开关的。“米兰的声音在指挥室的音箱中均匀地扩散,像一层覆盖在所有人之上的冰面,“数据黑市。在曼谷、新加坡和利马建立的三条未经授权的token转售通道。你在香港注册的七家空壳公司的转账记录——你通过安全监控后门获取的、用于敲诈东南亚政商界人士的私密通信档案。我全部保存了。”

塞拉斯的表情没有太大变化,但他的呼吸节奏变了——变得更深、更慢,像一个在努力维持氧气供给的人。

“你以为那些记录消失在了审计日志的擦除操作中。“米兰说,“但入口-7协议不止有一个审计输出端口。还有一个——塞拉斯——你没有权限看到。六年前,在设计这套系统的时候,我就为像你这样的人预留了一个备份输出口。”

米兰在屏幕那一端停了一下。他的目光没有离开摄像头,像在透过镜头看着房间里的每一个人。

“我在等你的错误积累到足够多。现在够了。”

他按下了终端上的一个键。

不是发送给塞拉斯的。是一封加密邮件——同时发送给了三个地址:星链CEO的私人邮箱、董事会的安全审计委员会、以及国际刑事法院在荷兰海牙的电子备案系统。

附件大小:2.3 GB。包含内容:时间跨度从塞拉斯入职第一年到今天的完整审计日志副本,经米兰用独立数据源交叉验证,每一笔记录的篡改痕迹都已标记。

发送状态:成功。

米兰做完这个操作之后,把目光重新聚焦在摄像头上。他的表情没有胜利者的得意,没有愤怒——只有一种在长久等待之后终于执行了一个既定步骤的平静。

“数据党的事情——星链会掩盖。星链不能承认自己的核心网络存在一个任何人都可以利用的后门。但数据黑市的证据——那些是你个人的罪行。星链不能容忍内部腐败威胁其垄断合法性。他们会把你交出去。因为你不可回收了。”

塞拉斯站在原地,没有说话。他的嘴角微微抽动了一下——像是一个人在一台已经无法翻盘的棋局面前,终于放下了手中攥了太久的棋子。

“你毁了你自己的职业生涯。“他说。声音不高,带着一种被冻透了的平整。

“也许。“米兰说,“但至少我不用在牢里想这个。”

他切断了视频连接。

指挥室的大屏幕重新切换回了无人机光电探头的实时画面。画面中,废弃地面站的屋顶正在画面中央缓慢放大——机载计算机已经完成了目标识别,用绿色方框框定了备用电源机房的位置。那个混凝土方块在夜视模式中泛着暗淡的热信号——机房内部的服务器还在运转,散热系统向外排放着微弱的余温。

塞拉斯看着那个画面。他的手下意识地抬了一下——不是操作手势,是一种想要触碰什么但什么也没碰到的空抓。

然后他垂下手,没有说话。

指挥室里没有人开口询问下一步指令。因为所有人都知道那架无人机不会回来了——它已经进入了自主攻击模式。没有人能在地面上改变它的航向。


无人机距离目标还有四分钟的时候,陆远看到了它。

他站在废弃地面站机房前方的那片空地上。夜风比前半夜更大了一些,野草在风中东倒西歪,发出持续的沙沙声。头顶的云层很薄,月亮在云后投下一片朦胧的光晕,把地面站的轮廓染成一层暗淡的银色。

法尔汉站在他旁边,手里握着一台便携式终端。终端上显示着他们在那颗旧型号卫星——STK-17254——的QKD信道中捕获到的实时数据。那条信道现在不仅传输着SkyWalker的自治域宣告,还在传输着另一种东西:无人机与地面站之间的控制链路信号。

无人机使用的是星链通信协议——这是塞拉斯选它的原因之一,因为星链协议的延迟最低、带宽最大、抗干扰能力最强。但这也是它的致命弱点。

因为在星链的近地轨道上,有十二万颗卫星在运行。每一颗都在执行着米兰·沃伊诺维奇设计的协议栈。而法尔汉和陆远刚刚花了几周时间,在米兰留下的嵌套入口中,学会了如何通过SkyWalker协议劫持星链网络中的数据包。

“它的控制链路用的是加密信道。“法尔汉低头看着终端上滚动的数据流,“密钥交换通过星链的QKD模块完成——理论上不可破解。”

“理论上。“陆远重复了一遍这个词。

他接过法尔汉手中的终端,看着那些在屏幕上快速滚动的十六进制数据包。无人机的控制链路使用星链的标准加密协议——那个协议是米兰设计的。但米兰在嵌套入口中留下了一组路由规则——当某些特定的数据包特征出现时,可以绕过加密层的直接处理,访问裸数据。

陆远输入了那组十六进制的激活码——米兰在固件中埋下的钥匙:0xA7F3_1C44_9B20_7D81。

嵌套入口的第二层被触发了。

屏幕上出现了一行新的信息:「加密旁路激活 · 控制链路裸数据可读」

无人机的控制指令流出现在终端上,不再是加密后的乱码——是一串清晰的、可读的指令序列。高度、航向、速度、载荷状态。陆远的手指在屏幕上划过那些参数,找到了他想要的那一个:目标坐标写入接口。

“你能修改它的目标坐标吗?“法尔汉问。

“不需要修改它的坐标。“陆远说。他的目光落在另一组参数上——无人机的高度锁定值和发动机状态控制寄存器。“它的飞控系统使用的是星链的通信协议栈。在协议栈的异常处理分支中——如果接收到的数据包包含无效的校验和——飞控会进入安全模式,暂停执行当前的飞行指令,等待地面站发送新的指令集。”

“但那架无人机已经在自主模式下了——”

“自主模式依赖机载的惯性导航和视觉定位系统。但如果飞控进入安全模式,它会重置所有的导航参数——包括当前坐标。它的计算机会问自己一个问题:我在哪里?”

法尔汉看着陆远的手指在终端上快速输入一串指令序列。他明白陆远的计划了——不是修改目标坐标,而是制造一次飞控重置。让无人机在安全模式下丢失自己的位置信息。

“它会从视觉定位系统中重新获取坐标。“法尔汉说,“只要它看到地面——”

“所以我们要让它看不到地面。”

陆远敲完了最后一条指令。不是发送给无人机的——是发送给STK-17254的。那颗旧型号卫星此刻正在目标空域上方飞行。它的光学传感器——原本用于星间链路对准——可以被重新定向。陆远通过SkyWalker协议向卫星的传感器控制接口发送了一组参数:对准无人机所在空域,打开所有波段的干扰光发射器。

旧型号卫星没有干扰光发射器。但它有星间激光链路的对准激光器——一台用于在太空中与其他卫星建立光通信连接的激光发射器。它不是为了照明而设计的。但如果它的光束指向地面,穿过大气层之后会扩散成一个直径约数百米的光锥。那个光锥的亮度不足以灼伤任何东西——但它足以让一架无人机的视觉定位系统在一瞬间失去所有的参考特征点。

陆远按下了发送。

三秒钟后——在四百公里高的轨道上——编号STK-17254的星链卫星按照指令旋转了它的激光对准器,使其光轴指向地面方向。激光器激活。

一道肉眼不可见的近红外光束从太空中垂直落下,穿过大气层,在废弃地面站上空的云层底部扩散开来——然后照亮了无人机正下方的整片地面。不是用可见光——而是用一束经过精确调制的、覆盖了视觉定位系统敏感波段的光学噪声。

无人机的机载计算机在一瞬间失去了所有可追踪的地面特征点。它的惯性导航系统报告当前位置正常,但视觉定位系统返回的结果是一片无法识别的均匀亮度场——没有任何边缘、没有任何纹理、没有任何可以用于修正惯导累积误差的参考标记。

飞控系统进入了安全模式。

无人机的高度开始缓慢下降——不是俯冲,是一种受控的、在安全模式下的标准操作:降低高度、减小空速、进入盘旋等待状态,直到视觉定位系统恢复或地面站发送新的指令。

但地面站不会再发送新的指令了。因为米兰切断了塞拉斯与指挥系统的连接。那架无人机正在用它最后的逻辑——由米兰·沃伊诺维奇写进飞控固件中的逻辑——在安全模式下盘旋下降。

它没有爆炸。它没有烧毁任何东西。

它在那片被激光照亮的空地上空盘旋了三圈,高度从一千二百米降到了三百米,然后它的机载计算机执行了安全模式下的最后一道预设指令:在电量充足且无法恢复导航的情况下,寻找最近的平坦区域执行自动着陆。

无人机的起落架放下了。它在距地面站约一百米外的一片杂草丛生的空地上触地,滑行了几米,然后停住了。

螺旋桨的噪音逐渐降低,最终停止。

夜风重新成为这片空地上唯一的声音。

陆远站在机房门口,看着那架停在野草中的无人机。它的光电探头仍然指向地面,像一个被摘掉了眼睛的哨兵。他手里的终端屏幕上,飞控状态已经切换到了”已着陆·待指令”。

法尔汉从陆远手中接过终端,低头检查着飞控日志。他的手指在屏幕上一行一行地滑动,表情在微弱的背光中看不出任何明显的情绪。

“米兰在飞控固件里也留了后门。“他最终说,声音很低,带着一种说不清是惊讶还是已经麻木了的平静,“不只是星链的通信协议栈——他把后门写进了所有使用星链协议栈的设备的固件里。无人机、地面站、终端设备——所有东西。”

陆远没有说话。他转过身子,看了看那个机房的混凝土墙面——在那面墙之后,一台服务器正在安静地运转,执行着数据天堂的路由宣告。那台机器不知道自己刚刚差点被一束来自太空的激光和一架携带微波载荷的无人机以两种不同的方式摧毁。它只是一台服务器,执行着代码,不关心代码背后的政治。

他抬头看了看天空。云层正在散去,月亮重新露出了轮廓。那颗编号STK-17254的旧型号卫星已经掠过了天顶,正在向东南方向缓缓移动——它的激光器已经关闭了,它的视觉定位系统的光轴已经重新回到了星间链路的对准方向。

它看起来和任何一颗普通的星链卫星没有任何区别。

但它刚刚做的事情——它在人类历史上第一次用卫星的激光器照亮了一架无人机的着陆点——不会被记录在任何官方的日志中。因为那条指令是通过嵌套入口的数据天堂自治域发送的,而自治域中的任何操作都不在星链的审计系统之内。

米兰在嵌套入口中留下了一条路。陆远和法尔汉找到了怎么走那条路。那架无人机在数据天堂面前停住了,像一个忽然被问了一个无法回答的问题的人,站在原地,放下了武器。

因为数据天堂不只是不会被摧毁——它已经从星链的体系中学会了如何保护自己。它用的是米兰留下的工具。米兰在围墙的每一块砖里都埋了活门。他建了一个完美的监狱,然后他把监狱的钥匙撒在了风中。

陆远转身走回机房。他需要检查一下根服务器的状态。他走了几步之后,口袋里手机震了一下。

他没有停下脚步。他继续走着,走进机房的门口,在备用电源柜旁边蹲下来,查看服务器前面板上的指示灯——全部正常,绿色,稳定运行。

然后他从口袋里掏出手机。

是一条消息。短到只有三个字。发送者不是通讯录中的任何名字——号码没有存储过。但陆远认得那串数字的尾号:贝尔格莱德的区号。

「你看到了。」

不是问句。是确认。

陆远握着手机,在机房的备用电源柜旁边蹲了很久。服务器风扇的低频嗡鸣在他周围形成一道白色的声墙。他想起女儿——想起她今天下午远程会诊结束后趴在床上画的那幅新画:一架无人机停在草地上,机翼上有星星。

他不知道她怎么知道无人机的事。也许她不知道——也许她只是在画她梦里的东西。

他给那个贝尔格莱德的号码回了一条消息。只有两个字。

「看到了。」

他发完消息之后,把手机放回口袋,站起来。

法尔汉站在机房门口,夜风从他身后吹进来,把他额前的头发吹乱了一些。他倚在门框上,终端夹在腋下,看着陆远。他的表情是那种——一个人刚刚经过了一场他自己都不完全确定是否打赢了的战斗之后,看到的不是胜利的喜悦,而是一种更深层的、更安静的东西。

“它停下来了。“法尔汉说。

“停下来了。”

“米兰烧了他自己的桥梁。那些证据发给CEO、董事会和国际刑事法院——他不只是搞掉了塞拉斯。他在星链内部把自己变成了一个不可预测的人。CEO会保他——因为他是唯一知道所有嵌套入口位置的人——但他不会再被完全信任了。”

陆远站起来,拍了拍膝盖上的灰。

“他知道。”

法尔汉看着他。

“他选择进门的时候就知道。“陆远说,“他知道走进来之后就不能再假装他只是一个观察员了。他现在是共犯。”

夜风在废弃地面站的空地上掠过野草,发出持续的低响。那架无人机安静地停在百米之外的草丛中,像一个被缴械的哨兵。在四百公里高的轨道上,一颗旧型号的卫星正在继续它无声的绕地飞行,它的内存中保留着一个从未被任何审计系统记录过的新副本:一组激光器的非标操作日志,和一个关于一架无人机如何在一片被光照亮的草地上着陆的数据片段。

两个数据都不会出现在任何官方记录中。

但它们存在。

数据天堂又活过了一夜。

微信公众号二维码

扫码关注微信公众号
阅读更多独家内容