消防警铃的尖啸声从审计署大楼的每一层同时爆发出来,像一把锋利的刀刃划破了政府行政区午后的宁静。埃利安穿过马路时,第一批撤离的人员已经从大楼正门涌了出来——审计员、行政文员、财务专员,穿着各色衬衫和西装外套,手里端着还没来得及放下的咖啡杯,脸上带着消防演习特有的那种不耐烦的轻松。没有人注意到一个穿着深蓝色工装、压低棒球帽檐的清洁工正逆着人流向大楼侧门走去。
侧门是外包服务人员的专用通道,位于大楼东侧卸货区旁边,没有旋转门和刷卡闸机,只有一扇装有简易弹簧锁的铁门。埃利安推门进去时,门轴发出了一声生锈的呻吟,但消防警铃的噪音足以淹没一切。他走进一条狭长的服务走廊,墙壁上贴满了管道走向标识和消防疏散图,地面铺着磨损的灰色橡胶地板。
按照之前默记在心里的楼层平面图,保安室位于一楼大堂东侧,紧挨着访客登记处。埃利安在走廊尽头左转,经过一间堆满清洁推车和消毒液桶的杂物间,透过消防通道的防火门缝隙观察大堂的情况。大堂里已经基本清空了,只有两个保安站在门口引导撤离,他们的注意力完全集中在往外走的人群身上。消防警铃的节奏开始变化——从持续尖叫转为间隔性的短促鸣响,这标志着演习进入第二阶段:各楼层的人员应已全部撤离,保安需要逐层检查遗留人员。
埃利安等待的就是这个时机。当两个保安同时转身朝电梯方向走去时,他迅速推开防火门,贴着大堂后墙移动到保安室门口。保安室的门没有锁——演习期间,所有办公室的门按规定必须保持开启状态。他侧身闪入,反手将门虚掩。
保安室大约十平方米,一面墙上挂着十六块监控屏幕,分格显示大楼各个出入口和走廊的实时画面。埃利安强迫自己不去看那些屏幕,尽管他知道自己的身影已经无可避免地出现在其中某一块屏幕上——此刻他只能祈祷保安的目光正集中在楼层检查上,而非监视器。
他的目标是墙上那个灰色的金属文件柜。第三格,根据去年一份后勤保障审计报告中的描述,消防值班日志就存放在那里。埃利安拉开柜门,看到一排按月份排列的蓝色文件夹。他将文件夹一本本抽出,直到找到标有“消防值班日志”的那一本。
他翻开日志。在当天的日期页上,机房管理员的临时离线授权口令用黑色水笔工整地写在备注栏中——这是一组十二位的字母数字混合码,下面还注明了有效时段:下午一点整至两点三十分。距离失效还有一个多小时。
埃利安将口令默念了三遍,铭刻在脑海中。他将日志放回原处,关上文件柜,离开保安室。整个取口令过程耗时不到两分钟。
接下来是最危险的环节——进入地下二层。
消防演习期间,电梯按规定处于锁定状态,只能使用楼梯。埃利安沿着大堂后面的消防通道找到了通往地下室的楼梯间。楼梯间里一个人都没有,只有消防警铃间歇性的鸣响在混凝土墙壁之间回荡。他快步下行,脚步声被警铃声完美掩盖。
地下二层的气温明显比地面低了好几度。走廊里弥漫着空调冷气与电子设备运行产生的干燥空气混合的气味。服务器机房位于走廊尽头,一道厚重的钢制防火门将它与其他区域隔开。门旁有一个IC卡读卡器和一个动态口令输入键盘,键盘上的红色指示灯正在缓慢闪烁——这意味着门禁系统处于正常工作状态,并未因消防演习而断电。
埃利安从口袋里掏出一张IC卡。这不是他的审计员卡——那张卡早已被他丢进了垃圾桶。这是一张清洁公司的通用授权卡,是他昨晚在整理工装时在夹克内侧口袋里发现的。这张卡的原主人显然是“新城服务”的某个员工,在归还制服时忘记取出。通用授权卡的权限范围有限,不能打开各办公室的门,但按照规定,清洁公司需要进入机房进行定期的地面清洁和设备外部除尘,因此机房门的IC读卡器对清洁公司通用卡开放有限时段的访问权限。今天是周三,正是每周例行清洁的时段。
埃利安将IC卡贴在读卡器上。读卡器发出滴的一声,键盘上的红灯转为闪烁的绿灯——IC卡验证通过,等待动态口令输入。
他输入了那十二位数字和字母。
键盘的绿灯持续亮了三秒,然后防火门内部传来电磁锁释放的沉闷声响。门开了一条缝,冷气从里面涌出来,带着服务器风扇运转的嗡嗡声。
埃利安推门进入机房。里面的景象让他短暂地屏住了呼吸——两排机柜从地板延伸到天花板,黑色的服务器外壳上布满密密麻麻的指示灯,像无数只不发一言的眼睛在黑暗中闪烁。地板下方是架空层,制冷管道和线缆在其中交织成密不透风的丛林。整个空间弥漫着一种令人压抑的人造低温,仿佛进入了一个不属于活人的电子墓穴。
纳吉说过,操作日志保存在一个孤立分区里,需要通过服务器的管理端口才能访问。埃利安沿着机柜之间的通道走了一圈,在第七号机柜前停了下来。这台服务器上贴着一张标签:核心数据备份节点。
他从帆布包里拿出一个小小的长方形设备——这是居内伊特通过那个二手工作服仓库的老板娘转交给他的,连同铜钥匙一起。当时居内伊特只说了一句“他需要这个”,没有解释用途。埃利安后来才发现,这是一个用来直接接入服务器管理端口的硬件解码器,外壳上没有任何品牌标识,电路板上手工焊接的痕迹清晰可见。这显然是纳吉的作品,可能是他还在国内时,通过某种渠道交给居内伊特保管的。
埃利安将解码器插入服务器的管理端口。解码器上的指示灯开始闪烁,一个小型的文字界面自动启动,屏幕上飞速滚过一连串底层命令。他没有操作——这个解码器显然被预先编程了,能够自动识别并下载纳吉留下的后门生成的操作日志。
屏幕上的进度条开始缓慢移动。百分之十。百分之二十。
就在这时,机房的防火门再次被推开了。
埃利安的心脏几乎停止了跳动。他猛地转头,手本能地放在了准备拔下解码器的位置。
进来的人是维达·莫尔纳。
年轻的机房管理员副手穿着消防演习要求的反光背心,手里拿着一份检查清单。他看到机房里站着一个清洁工时,脸上露出了与他的温和性格完全匹配的困惑——不是警惕,不是怀疑,只是单纯的、不带任何敌意的困惑。
“你是新城服务的人?”莫尔纳的声音被服务器风扇的嗡嗡声吞没了一半,“消防演习期间不应该有人在这里。”
埃利安没有转身。他微微侧过头,让棒球帽的帽檐继续遮住大半张脸,用尽可能平静的语气说道:“主管让我来检查一下地下二层机房的防尘滤网。说是昨晚系统监控报警了,滤网堵塞导致温度异常。演习期间服务器负载低,是更换滤网的最佳时机。”
他说的每一句都是假的,但每一句都扎根于莫尔纳最熟悉的日常工作语境——服务器温度、防尘滤网、系统监控报警。这些词汇不需要思考就能唤起莫尔纳的职业本能。
莫尔纳看了一眼手中的检查清单,又看了一眼埃利安正在操作的那台服务器。他的眼神没有停留在解码器上,而是落在了机柜侧面的温度显示面板上。
“昨晚温度确实波动过。”莫尔纳自言自语般说道,“我以为是演习前的系统切换造成的。”
“也许就是滤网的原因。”埃利安说,语气保持着专业而漫不经心的语调,“我换了就走。”
莫尔纳点了点头。他把检查清单夹在腋下,朝机房的另一侧走去,开始检查配电柜的指示灯状态。他完全没有意识到,自己刚才没有追问那个最基础的问题——防尘滤网的更换通常由两人协作完成,因为滤网面板位于机柜顶部,需要一个人扶着梯子,另一个人操作。但莫尔纳太专注于自己手头的演习检查任务了,专注于每一项需要打钩的条目和每一个需要确认的指示灯,专注于那些他熟悉而安全的例行公事。
埃利安的余光扫过解码器的屏幕。进度条已经到了百分之九十八。
莫尔纳在配电柜前站了一会儿,做了几行记录,然后转身朝门口走去。他走到防火门前,忽然停住了脚步。
埃利安的手指在解码器的边缘绷紧。
“对了。”莫尔纳转过身来,“你待会儿上去了,帮我和一楼保安说一声,就说机房疏散通道的应急照明灯有一个不亮。我这边已经报修了,但他们需要派人手动核查一下。”
“没问题。”埃利安说。
进度条完成了。解码器发出一声微不可察的蜂鸣,屏幕上显示出四个字:下载完成。
莫尔纳推门离开了机房。防火门在他身后缓缓合上,电磁锁重新锁定的声音在机柜之间回荡。埃利安迅速拔下解码器,将其塞进工装内侧的口袋里。他用颤抖的手指整理好机柜前面板的线缆,让一切看起来像从未被动过。
然后他离开了机房,沿着原路返回。楼梯间里,消防警铃的鸣响模式已经切换到第三阶段——持续三声长鸣后停顿两秒,这意味着演习接近尾声,人员即将开始返回大楼。
埃利安在大堂的消防通道口停下脚步,观察了一下外面的情况。保安室的两个人还在对讲机里核实着各楼层的检查结果。埃利安趁他们转身的间隙,侧身溜出防火门,沿着服务走廊快步走到侧门,推门而出。
午后的阳光刺得他眯起了眼睛。他将棒球帽檐压得更低,混入开始返回大楼的人群中,朝街对面的公共汽车站走去。身后,审计署大楼的消防警铃终于停止了鸣响,取而代之的是返回岗位的公务员们嘈杂的交谈声。
他走出三百米后,才敢将手伸进口袋里摸那部解码器。金属外壳被他手心的汗水浸得温热。他按下了解码器侧面唯一一个按键,小屏幕亮起,显示出三行状态信息:数据完整性校验——通过;加密状态——已锁定;文件大小——约四点七吉字节。
四点七吉字节的操作日志,记录着“灰网”系统在审计署部署以来每一条敏感数据查询和每一次异常资金流动。这里面一定有奥尔班批准资金转移的签名记录,也一定有证明科瓦奇秘密项目存在的数据。
但此刻他无法解锁这些数据。纳吉说过,解码器下载的文件使用了一种非对称加密算法,解密密钥由纳吉本人持有。他必须先找到纳吉——或者在失去加密通讯设备之后,先让纳吉找到他。
埃利安跳上一辆公共汽车,坐在最后一排靠窗的位置。车窗玻璃上映出他模糊的脸——一张疲惫、苍白但还没有放弃的脸。
公共汽车驶过两站后,他的应急备用机震动了一下。屏幕上弹出一条由未知号码发来的短信,内容和一周前那条如出一辙,像一句咒语,像一场不散的旧梦。
短信写着:霍尔瓦特。他依然是你的饵。但不是用来逃避的饵——是用来反击的。去找他,你会明白。


暂无评论,来抢沙发吧!