东郊数据中心在夜色里看起来不像一栋建筑,更像一座堡垒。
李真一蹲在距离目标建筑大约两百米的一片荒草丛里,透过夜雾审视着那栋六层高的灰色楼体。楼的外墙没有窗户——或者说,有窗户的位置全部被金属百叶封闭,只留下一些细长的通风缝隙。楼顶架着三组不同方向的微波天线,红色的航空障碍灯以固定的频率一明一灭,在低云层上投出暗红色的光晕。整栋楼只有一楼入口处亮着一盏惨白的LED灯,灯下是一个岗亭,里面坐着一个穿保安制服的人。
现在是凌晨零点四十分。距离068所说的布防空窗期,还有二十分钟。
他把从狄明那里带来的铁皮箱子里的东西重新清点了一遍。干扰器——就是那枚曾在化工厂救过他命的黄铜色圆片,已经充满了电,续航大概还有四分钟。微型手电筒,LED灯珠,光照距离不远但足够在黑暗的管道里照明。一把多功能工具钳,父亲遗物,手柄上的橡胶套已经磨得发亮。还有那枚獬豸徽章,他把它别在了外套内侧的拉链上,冰凉的金属贴着肋骨,每一次呼吸都能感觉到它的存在。
最重要的装备是一台旧款平板电脑,狄明给的。里面装了一套专门的网络渗透工具包,上官婉儿提前通过加密渠道把操作脚本传了过来。脚本的作用很简单——一旦李真一能够物理接触到数据中心的主机,插入平板电脑,脚本就会自动运行,绕过登录界面,扫描上官婉儿预设的那个加密分区,然后开始暴力破解密码。
破解大概需要三到四分钟。也就是说,他必须在主机旁边停留三到四分钟而不被发现。
而整栋楼的安保巡逻周期,据068提供的情报,是七分钟一次。
时间勉强够用,前提是一切顺利。但李真一已经在这几十个小时里学到了一条铁律——任何行动都不会一切顺利。
零点五十分。他开始了。
数据中心外围的围墙是铁丝网加混凝土柱的结构,铁丝网顶部有三道带刺的铁丝圈。但068在情报里标注了一个薄弱点——北侧围墙靠近备用电房的位置,铁丝网在三个月前的一次设备维修中被剪开过,后来只用普通铁丝拧了回去,没有更换新的刺圈。李真一找到那个位置,用工具钳拧开铁丝,掰出一个勉强能容一人侧身通过的缺口。铁丝断口划破了他外套的后背,但他没有停顿。
穿过围墙之后,他进入到数据中心的后勤区域。这里是空调外机、备用发电机和变电箱的集中区,地面上铺着碎石,踩上去会发出细碎的摩擦声。他放轻脚步,贴着建筑的阴影边缘朝备用电房移动。备用电房的外墙上有一个通风井的入口,铁制百叶格栅已经锈迹斑斑,四角的螺丝钉有两个是松的——这也是068标注过的。
他用工具钳卸下格栅,通风井的入口大概六十厘米见方,勉强能钻进去。管道内部是向下倾斜的,坡度大约三十度,铁皮管壁在潮湿的空气里锈蚀出一层粗糙的氧化层。他把手电筒咬在嘴里,双手撑着管壁,一点一点往下挪动。铁锈的粉末随着他的动作簌簌落下,钻进他的领口和头发里。
管道尽头是一个直角转弯,连接着数据中心地下室的天花板通风口。他用肩膀顶开通风口的铝制百叶,从两米高的位置跳下来,落在地下室冰冷的水泥地面上。着地的声音在空荡的地下室里被放大了好几倍,他蹲在原地屏息等了十几秒,确认没有引发任何警报之后,才打开了手电筒的最低亮度档。
地下室是一个巨大的设备层,两侧排列着密集的管道和电缆桥架,头顶上的空调风管发出低沉持续的嗡鸣声。正前方是一扇厚重的金属防火门,门上方挂着楼层指示牌——“一层主机房,安全等级:A”。
主机房在一楼。上官婉儿的软禁位置在六楼。他需要先去六楼。
不是因为密钥在六楼,而是因为如果他直接去主机房,他即便拿到了数据也无法安全离开。他需要先在上官婉儿那里拿到备用出口的路线图——据068说,数据中心有一条只有上官婉儿才知道的废弃货梯通道,可以直接通往后围墙外的排水渠。那是她为自己准备的最后一条退路,但她从来没用过。因为她一旦用了,武周组织就会启动她的“归位”程序,把她从一个被软禁的技术囚犯变成一个被清除的叛逃者。
换句话说,那条退路只有一次使用机会。她愿意把那次机会留给他。
李真一沿着消防楼梯往上走。楼道里没有人,每层楼的转角处都装着一个半球形的监控摄像头,镜头上方的红色指示灯在规律地闪烁。但068说过,今晚凌晨一点到三点之间,监控系统正好在进行季度维护,一部分摄像头会处于重启更新状态,每重启一个摄像头大约需要三到五分钟的时间。而消防楼梯里的几个摄像头,重启顺序和时间表已经被068小组的人提前拿到。
他现在走着的这个楼梯间,摄像头此刻正处于重启状态。红灯是灭的。
到了六楼,他推开消防门,面前是一条铺着灰色地毯的走廊。走廊两侧是几扇紧闭的木门,门上标着“会议室”“档案室”“技术总监办公室”等字样。走廊尽头是一扇磨砂玻璃门,门缝里透出暖黄色的台灯光。
他走到那扇门前,轻轻推了一下。
门没锁。
这是一个不算大的房间。窗户被百叶帘完全遮住,一张金属办公桌上摆着三台显示器,其中两台在播放省城各个主干道的监控画面,第三台显示着一行行滚动的代码。桌上还有一盏老式绿罩台灯,正是这盏灯发出的暖黄色光芒,让这个房间在灰色建筑里显得格格不入。墙壁上贴满了手写的公式和网络拓扑图,用各种颜色的便利贴标注着密密麻麻的备注。靠墙是一张简易的行军床,床单皱成一团,枕边放着一本翻开的诗集。
一个女人坐在办公椅里,背对着门,面对着三台显示器。她穿着一件黑色高领毛衣,头发简单地扎在脑后,肩膀上披着一条洗得发白的格子毛毯。她没有回头,但开口说了话。
“通风管道里的铁锈落了我一头发,你下次考虑从正门进来试试。”
李真一站住了。
“你怎么知道是我?”
“因为这个数据中心里,只有两个人走路会用脚尖先着地的方式来掩盖脚步声。一个是我,另一个是你——你在化工厂里被丘神勣抓住之前,也是这么走的。我看过直播回放了。”
她终于转过椅子,面对着他。
上官婉儿看起来大概三十岁左右,比李真一预想中更年轻,也更憔悴。她的五官很清秀,皮肤因为常年不见阳光而呈现出一种近乎透明的白,但眼窝凹陷得很厉害,眼眶下方的暗青色血管隐约可见。她的手边放着一个马克杯,杯子里是凉透了的速溶咖啡,表面凝了一层薄薄的油膜。
“你跟你爸爸长得很像。”她说,“尤其是眼睛。”
这句话让李真一顿了一下。他没想到上官婉儿会认识他父亲。
“你爸爸2002年潜进武墨旧办公室的时候,是我帮他开的门。那时候我才十四岁,刚被组织控制不久,在墨衍公司做底层数据录入。我知道那个数据库里有什么,但我没有权限删除任何东西。他能带走那份备份,是因为我假装去上厕所,故意在数据库密码验证界面上多按了一次取消,给了他十七秒的空窗时间。他抓住了。”
李真一沉默了。关于父亲牺牲的那段历史,每一个新出现的细节都像是一块沉重的石头,一块一块地叠在胸口上。但时间太紧,他不能让自己被情绪拖住。
“我需要密钥。”他直接说。
“我知道。”她站起来,走到墙边的一个铁皮文件柜前,用一把挂在脖子上的小钥匙打开最底层的抽屉,从里面拿出一个黑色的移动硬盘,“密钥不在服务器上,在我这里。我从来不敢把它存在云端,因为我知道他们迟早会翻我的代码。”
“你把密钥存下来了?为什么不直接——”
“因为只有密钥不够。”她打断他,“武墨的加密分区用的是双重认证。第一层是数字密钥,就是我手里这个。第二层是生物特征——她的声纹。没有她的声音,硬盘里的数据依然是乱码。”
李真一感到自己的心脏像是被人握紧了一下。他千辛万苦潜入进来,结果发现密钥只解一半。另一半是他不可能拿到的东西——一个他连见都没见过的女人的声音。
上官婉儿看着他的表情,忽然露出了一丝很淡的笑意。那种笑不是开心,而是某种压抑了很久的东西终于找到了出口。
“你以为我在这里被关了这么多年,就只是在帮他们维护服务器吗?”她把移动硬盘放在桌上,然后弯下腰,从办公桌底部的缝隙里摸出了一个极其小巧的录音笔,外壳是银色的,磨得锃亮,“去年三月,武墨来数据中心做年度巡查。她在六楼会议室里跟来俊臣开了个会,会议的音频备份被要求彻底删除。我删了。但我删之前,用这支录音笔把她的每一句话都录了下来。包括一段完整的、没有任何背景噪音干扰的独白。”
她把录音笔和移动硬盘并排放在桌上。
“声纹样本的长度是四十七秒。足够激活第二层验证。”
李真一盯着那两样东西,脑子里的行动时间表在迅速重构。原本他只需要潜入主机房,插入平板,等三到四分钟,拿到数据后按原路撤离。但现在,他需要在主机房完成两步验证——先输入密钥,再播放声纹样本。任何一个步骤出错,都会触发安全警报。而警报一旦触发,来俊臣和丘神勣最迟在十分钟内就能抵达数据中心。
十分钟。
不够跑出这座建筑,更不够跑出这座城市。
“你现在有一个新任务——去主机房,把这两个东西插上去,然后等破解完成。然后把你拿到的东西,全球发布。”上官婉儿把移动硬盘和录音笔推到他面前,“我在这里待了这么多年,等的就是有一个人出现在那扇门口。你现在来了。”
“那你呢?”
“我会把你进来的痕迹全部抹掉,包括监控日志和门禁记录。然后我会启动一个假警报,说你入侵的位置是地下一层配电室,引导安保往错误的方向集结。这能给你多争取大概五分钟的时间。”她的语气极为平静,像是在说今天天气不错,“你不是唯一一个欠你父亲人情的人。让我还完这笔账,不欠谁。”
李真一看着她,没有说“谢谢”,也没有说“小心”。他把硬盘和录音笔装进外套内侧的拉链口袋,转身朝门外走去。走到门口的时候,他停了一下,没有回头。
“我爸那天晚上最后跟你说过什么?”
上官婉儿沉默了片刻。然后她回答,声音比刚才轻了很多。
“他说,如果有一个人能把他儿子从这份名单上划掉,他希望那个人是我。我当时没有答应他。因为我知道,划掉一个名字改变不了什么。唯一能改变结局的,是把整份名单烧掉。”
“那今晚,”李真一说完最后一句,“我们一起把名单烧掉。”
他走出了房间,消防楼梯里的监控摄像头还处在重启状态,红灯仍灭着。他从六楼一路往下,每下一层都确认一下头顶的摄像头状态。到了二楼,他忽然停住了脚步。因为他听到一楼传来了有人说话的声音。
他贴在墙上,屏住呼吸。
一楼的说话声并不高,夹杂着对讲机的电流噪音和皮鞋踩在大理石地面上的脚步声。他勉强听清了几个词——“……监控重启还有半小时……三楼机房今晚有人值班……让丘神勣的人守外围……”
来俊臣不在。但丘神勣的人已经在外围了。而一楼有至少三个以上的安保人员,正在值班室和机房之间交接夜班事项。
这意味着他不可能正大光明地穿过一楼大厅进入主机房。他需要另一条路。
他闭上眼睛,在脑海里翻出了068提供过的建筑结构图。主机房在一楼中段,南北两侧各有一个入口。南门是大厅进去的正门,有密码锁和指纹识别。北门是设备维修通道,连接着地下室的空调机房,锁是老式机械锁,用工具钳可以撬开。但他现在在二楼,要下到地下室,再穿过空调机房,再——
他忽然睁开眼。
地下室。通风井。他进来的那条路。
如果他能原路返回地下室,然后不出去,而是沿着地下室的空调机房走到北侧,就能从维修通道绕进主机房的后门,完全绕开一楼大厅的安保。
他转身,没有再走消防楼梯,而是找到二楼走廊尽头的弱电井。弱电井的铁门没有锁,打开之后是一个垂直贯穿整栋楼的电缆竖井,里面挂着从地下一层到六楼的全部网线和电源线。竖井的内壁上焊着一排U形铁梯,可供维修人员上下。
他抓住铁梯,一步一步往下爬。电缆散发出的塑料绝缘层味道刺鼻难闻,密密麻麻的网线在他手边轻轻晃动,像是某种巨兽体内密集的神经丛。
到达地下室后,他沿着记忆中的路线穿过管道区,找到了空调机房的入口。空调机房比他想象中更大,几台巨型压缩机正在低沉的嗡鸣中运转,机身表面凝结着细密的水珠。他贴着压缩机的外壳往前走,热气从散热口喷出来,把他的头发吹得全部向后倒。
空调机房的尽头就是主机房的后门。一扇厚重的钢质防火门,门把手上方挂着一把老式弹子锁。李真一掏出工具钳,把扳手头塞进锁孔里,闭上眼睛,凭借着在技术论坛里学过的物理渗透知识,一点一点地感觉着锁芯内部弹簧和弹珠的排列。他的手在发烧,手腕上那条新结痂的伤口被钳子的棱角反复摩擦,又开始隐隐渗血。
但他感觉不到疼。
咔哒。锁开了。
他推开防火门,走进主机房的后方。机房内部比外面安静得多,精密空调发出柔和的白色噪声,温度被严格控制在二十度以下。两排标准机柜从地板一直顶到天花板,柜门上的蓝色LED指示灯在黑暗中有节奏地闪烁,每一盏灯都代表着一台正在运行的服务器。机柜之间的通道狭窄而幽深,地面上铺着防静电地板,走上去会发出轻微的金属共振。
他在第三排机柜的最深处找到了上官婉儿描述的那台服务器。机身外壳上贴着一张银色的标签,标签上印着两行小字——“墨衍专用,分区加密,未经授权不得操作”。
他把平板电脑从包里拿出来,连接到服务器的USB接口上。上官婉儿的脚本自动启动,屏幕跳出了一个对话窗口,提示需要输入密钥文件。他插上移动硬盘,第一层验证开始读取。进度条走了大概三十秒,屏幕弹出第二个窗口,提示需要声纹验证。
他把录音笔的扬声器对准服务器的拾音口,按下了播放键。
录音笔里传出武墨的声音。那个声音和暗网直播间里“天后”经过变声器处理的声音完全不同——原声更为沉稳,语速不快,每一个字的发音都很清晰,是那种在体制内长期接受训练的人才会有的声音特质。她正在读一份新项目的立项报告,内容涉及“归位算法与基因组学的交叉应用”。李真一听不太懂那些专业术语,但他听到了几个让他汗毛倒竖的词——“清除优先级”“目标追溯谱系”“未成年暂缓协议撤销时间表”。
四十七秒的声纹样本放完。
屏幕上弹出一个绿色的验证通过标志。然后,数据库开始解密。平板电脑上显示的进度条从零开始缓慢爬升——百分之一,百分之二,百分之三。
每一秒都像是在用锤子敲打他的心脏。他已经在地下室里待了太久,而上官婉儿在楼上能拖住的那些安保人员,能拖住多久完全不可控。他每隔几秒就抬头扫一眼主机房正门的方向,虽然那边暂时还没有任何动静。
进度条到达百分之五十。
忽然,他口袋里的诺基亚震了一下。他掏出来看,是上官婉儿的紧急消息。
“我的假警报被他们识破了。来俊臣本人从外围回来了,他直接到了六楼。我暂时把他困在了电梯里,但超不过三分钟。你动作快。”
李真一感觉自己的手指瞬间冰凉。来俊臣在这栋楼里。那个在他面前做过开枪手势的人,那个代号让068都忌惮的人,此刻就在六楼的电梯里,用不了多久就能把电梯控制系统破解掉,然后直奔主机房。
百分之六十七。百分之七十二。进度条的爬升速度似乎变慢了,每一格都在蚕食他剩下的时间。
百分之八十五。百分之九十一。九十六。
主机房正门外传来了电梯抵达一楼的提示音。那个清脆的“叮”声在凌晨的安静建筑里格外刺耳。
百分之九十九。一百。
解密完成。
平板屏幕跳出了一个全新的文件目录。里面是十几个标注着不同代号的数据文件夹——“HD-688全系列”“归位项目执行日志”“连坐算法4.0更新记录”“待清除目标动态数据库”。每一个文件夹里都塞满了表格、文档和图片。
李真一迅速拔下平板电脑和移动硬盘,塞进背包。但他没有立刻撤退。他盯着屏幕上那个“待清除目标动态数据库”的文件夹,点开。表格展开,每一行都是一个被标注的人——姓名、年龄、住址、DNA序列匹配率、威胁等级、执行状态。执行状态一栏里,大部分写着“待执行”,少数写着“执行中”,极少数写着“已完成”。
在表格最顶上的一行,他看到自己的名字。
“姓名:李真一。年龄:17岁11个月。族谱归属:越王李贞支系第18代。威胁等级:极高。执行状态:执行中。”
执行状态后面的备注栏里写着——“来俊臣负责。执行窗口:本周末之前。”
本周末。今天已经是周五凌晨。如果按武周组织的内部时间表计算,距离他的“归位”截止时间,只剩下不到四十八个小时。
他关掉了文件夹,但没有关掉平板。他打开了平板上的另一套程序——那是狄明提前帮他准备好的,一个能通过暗网桥接进行全球发布的工具。界面极简,只有一个按钮,按钮上写着一个词——“发布”。
他没有犹豫,按了下去。
平板屏幕上的数据开始以加密分片的方式,通过十几个不同的暗网节点同时上传。那些数据包括连坐册的完整名单、归位项目的执行日志、墨衍生物科技公司用于DNA匹配算法的源代码片段,以及一段他自己录制的说明视频——用诺基亚对着自己的脸拍的,没有剪辑,没有滤镜,只有一张十七岁的脸和简短的几句话。
“我叫李真一。这是我最后的机会告诉你们真相。”
上传进度条走到了百分之七十三。
主机房正门传来了第一声撞击。不是密码锁被打开的声音,而是有人在用工具强行破坏门锁。金属碰撞声在安静的机房里反复回荡,每一击都像是敲在他的耳膜上。
百分之八十九。百分之九十二。
第二声撞击。门锁变形了,防盗门的金属框架开始发出不祥的扭曲声。门外有人在说话,声音低沉而平静,透过钢板的隔音仍然能听出那个冷静到近乎慵懒的语调。
“李真一,”来俊臣的声音从门缝里挤进来,像是从另一个世界渗透出来的冷气,“你在里面。”
百分之九十七。百分之九十八。
第三声撞击,门锁彻底断裂,防火门被从外面一脚踢开。金属门板撞在墙壁上发出巨大的轰鸣,整个机房都仿佛被这个声音震得抖了一下。
来俊臣站在门口。
他比李真一记忆中更高大,穿着一件黑色长款风衣,衣摆在空调冷风里微微飘动。他的右手拎着一根短金属棍,棍子上还沾着门锁弹簧的碎片。他站在那里的时候,并不像电视剧里的反派那样气势汹汹——相反,他的站姿很随意,微歪着头,像是在看一只终于被堵在墙角的小动物。
“你让我找了很久。”他说。
李真一站在主机房的最后一排机柜背后,手握着平板电脑。屏幕上的进度条走到了百分之百。全球发布完成。那些被尘封了一千三百年的名字,那些被算法标记了几十年的目标,那些被法律遗忘了几代人的游魂,此刻正在以光速向世界的每一个角落扩散。
他抬起头,看着来俊臣。
“我知道。”他说。


暂无评论,来抢沙发吧!