直播页面的画面在玛雅的屏幕上跳动,每一帧都像是用钝刀在视网膜上刻印。
那是一个年轻女孩的卧室,从画面左上角的畸变判断,摄像头被安装在烟雾报警器或者天花板的某个隐蔽角落。房间不大,陈设简单——一张单人床,一个二手衣柜,一张塑料书桌,墙上贴着几张褪色的流行乐队海报,还有一面塞伦尼亚共和国的小国旗插在笔筒里。床边地板上放着一个敞开的行李箱,里面叠着几件洗得发白的工装。
女孩正坐在书桌前,背对着镜头,戴着一副廉价的头戴式耳机,正对着笔记本电脑屏幕看什么视频。她偶尔会跟着视频笑一下,笑声很轻,透过远程拾音器传回来时带着一层细微的电子底噪。
她完全不知道有人正在看她。
“画面右下角有时间戳。”玛雅把画面放大,声音很紧,“实时传输,延迟不超过三秒。底部那行字——‘七号目标’——是直播流的元数据标签,说明这套监控系统对目标做了编号分类。”
艾德里安盯着画面里的女孩。她大概十八九岁,深褐色头发扎成马尾,穿着一件褪色的粉色T恤,肩胛骨透过薄布料显出瘦削的轮廓。书桌上除了电脑,还放着一杯喝了一半的茶,旁边是一张塑封的工作证,画面分辨率不足以看清上面的字。
“能追踪直播流的来源吗?”艾德里安问。
“正在做。”玛雅的十根手指在键盘上几乎同时移动,“流媒体服务器架了多层代理,第一跳在瓦尔纳本地,第二跳跳到南境省橘林镇的一个废弃基站,第三跳又回到瓦尔纳,第四跳出境到了邻国克雷尼亚的某个数据中心——这是典型的洋葱路由跳板。我需要一层一层剥。”
耳机里传来拉斐尔压低的声音:“我还在档案室。还有什么要拿的?”
“把你找到的所有红叉标签的硬盘全拿出来。”艾德里安说,“不只是V3包厢九月十三号的。任何打了红叉的,全都拿。”
“明白。”
对讲机里又传来硬盘碰撞的金属声。玛雅没有抬头,眼睛锁定在追踪界面上,嘴唇抿成一条直线。直播间里的女孩站起来,走到床边拿起手机看了一眼,然后重新坐下。她点开了另一个视频,这次是个音乐节目,节奏明快的塞伦尼亚流行曲从拾音器里传出来,带着荒诞的欢快。
“第二跳拆完了,正在拆第三跳。”玛雅说,“但是有个问题——攻击者在这个直播页面里嵌了一个反追踪脚本。一旦他检测到有人试图反向定位服务器,脚本会自动切断流并删除本地的所有缓存记录。”
“那他检测到你了吗?”
“暂时还没有。我用的是被动流量分析,没有直接触碰他的服务器。”玛雅的手指停顿了一瞬,“但如果我们继续往下拆,触发脚本的概率会越来越高。一但被他发现,我们不但会失去定位机会,他还会知道我们已经看到了这个页面。”
艾德里安沉默了两秒。“那个女孩是谁?能放大工作证吗?”
玛雅截取画面,将书桌上那张工作证放大。图像经过降噪处理后,工作证上的文字逐渐清晰:北风冷链物流——瓦尔纳东郊分拨中心,操作员,卡佳·莫罗佐娃。证件照上的脸和画面中女孩的侧脸吻合。
“冷链。”艾德里安说,“和拉斐尔同一个行业。”
“瓦尔纳东郊冷链园区有三万多名移民工人,其中七千名女工。她们大多数住在园区周边的廉租公寓里,这些公寓——”玛雅停了一下,像是在整理一个忽然冒出来的念头,“这些公寓是四年前由德拉戈家族旗下的东方建设集团统一承建的。每一栋都装了赛博努斯智能电网。”
画面里的女孩忽然摘下耳机,看了看时间,然后站起来走向卧室门口。她消失在画面边缘,几秒后回来了,手里多了一条毛巾。她把毛巾搭在肩上,打开衣柜拿出换洗的衣服,然后走向卧室旁边的浴室。
浴室。艾德里安感到自己的胃猛地收缩了一下。
“玛雅,这栋楼的控制权限你能不能拿到?”
“我正在查。”玛雅打开另一个窗口,调出瓦尔纳东郊的建筑数据库,“北风冷链的职工宿舍,一共四栋楼,都是五年前建成的。找到了——A栋,赛博努斯协议版本号3.1.2。”她的手指在键盘上敲得飞快,“这套版本的电网协议有一个已知漏洞,去年被匿名上报过但从未被修复。如果有高级操作权限,可以通过电力谐波在单个房间内制造——”
“制造跨步电压陷阱。”艾德里安接上了她的话。
“对。”
画面里,女孩已经走进了浴室。透过半开的浴室门,可以看到她正在调节水龙头,热气开始升腾。水声透过拾音器传回来,和直播页面的底噪混在一起,像某种残忍的倒计时。
“拉斐尔!”艾德里安对着对讲机低吼,“出来,马上。别管剩下的硬盘了。”
“我已经在电梯里了。”拉斐尔的声音带着奔跑后的喘息,“三十秒到出口。”
“玛雅,能不能直接切断那栋楼的供电?”
“切断供电需要电网安全局的调度权限,我没有。”玛雅咬着下唇,“但有一个备用方案——我可以给那栋楼的赛博努斯系统注入一个虚假的电压异常信号,触发它的自动保护程序。保护程序会让整栋楼断电三分钟。”
“做。”
玛雅按下了回车键。屏幕上的代码开始滚动,一行行命令飞过,然后一个红色的进度条弹出:正在注入保护信号。
五秒。十秒。十五秒。
进度条卡住了。
“有人在我的注入路径上设置了拦截。”玛雅的声音第一次带上了一丝不稳定的颤抖,“不是自动防火墙,是有人在实时操作。他知道我们在干什么。”
画面里,浴室的门被关上了。水声变得更加沉闷。女孩的歌声从拾音器里传出来,是一首南境民歌,调子轻快,歌词里反复唱着一个村庄的名字。
“再试一次。”艾德里安说。
“换路径了。”玛雅打开第三个窗口,这次没有用鼠标,直接敲命令,“用白帽獾去年在赛博努斯系统里埋的应急后门——不是我埋的,是‘老獾’埋的。他说过永远不要用,除非——”她没说完。
屏幕上的红色进度条消失了。取而代之的是一个绿色的弹窗:保护信号已注入,A栋配电箱将在一秒内执行全楼断电。
一秒。
两秒。
三秒。
画面里的灯仍然亮着。浴室的水声仍然持续着。
“没用。”玛雅的声音变得更轻,“他把应急后门也堵了。而且——”她指着屏幕上的一个数据包回传记录,“他反向追踪了我的注入路径,正在定位我的位置。六分钟,最多六分钟,他就能锁定这辆车。”
车厢里安静了大概三次心跳的时间。
然后艾德里安发动了引擎。
“拔掉所有网线。”他说,声音很平静,“关掉所有无线设备。现在。”
玛雅没有问为什么。她扯掉了网线接口,关闭了笔记本电脑的无线模块,然后把手机也按了关机键。对讲机也关掉了。整辆车从数字世界里消失了,变成了一团在瓦尔纳深夜街头移动的物理物体,没有信号,没有坐标,不可追踪。
引擎咆哮着冲出了暗巷。后视镜里,青云会所的员工通道入口越来越远,然后是拉斐尔从铁门里冲出来的身影。他推着清洁车,在路边站定,朝驶来的车挥了一下手。艾德里安急刹停车,拉斐尔把清洁车扔在路边,提着背包钻进后座。背包里塞着五六块硬盘,互相碰撞发出沉闷的响声。
“发生什么了?”
“等会儿告诉你。”
汽车在东区冷清的街道上疾驰。凌晨三点的瓦尔纳,街道上只有自动清洁车在缓慢移动,像一群在海底拖网的盲眼生物。路灯的光从车窗上划过,一道接一道,频率均匀得像某种机械的呼吸。
“他还在直播吗?”拉斐尔问。
没有人回答他。艾德里安在一个路口右转,驶向瓦尔纳河对岸的老城区。玛雅重新开机,但只打开了离线模式,开始分析拉斐尔带回来的硬盘。
第一块硬盘被接上时,文件夹列表弹了出来。V3包厢的监控录像被分成二十四段,每段一小时。玛雅点开了标注着“九月十三日22:00-23:00”的那段。
画面出现。一个装修奢华的私人包厢,暗红色天鹅绒沙发,大理石茶几,墙上的智能屏幕显示着点歌界面。包厢正中央,维克多·德拉戈坐在沙发主位上,左右各坐着一个年轻女孩。莉迪亚·科斯塔站在茶几旁边,手里端着一个托盘,正在倒酒。
画面没有声音,但能看到莉迪亚的嘴唇在动,像是在询问什么。维克多抬起头看了她一眼,说了句话,然后指了指酒杯。莉迪亚继续倒酒。维克多旁边的一个男人——艾德里安认出了那张脸,那是市议会的基础设施委员会主席奥列格·马尔琴科——伸手在莉迪亚腰上拍了一下。莉迪亚往后退了一步,动作很小,但很坚决。
维克多站了起来。他走过去,脸离莉迪亚很近,嘴一张一合,画面无声。然后他抓住了莉迪亚的手腕。莉迪亚试图挣脱,托盘上的酒杯滑落,在地上碎成了无声的玻璃花。
包厢里的其他人都没动。有人继续喝酒,有人低头看手机,有人笑着看向别处。
然后维克多放开了莉迪亚的手腕。他退后两步,从口袋里掏出了手机,点亮屏幕,给她看了一个页面。画面分辨率不足以看清手机屏幕上的内容,但莉迪亚看了之后,整个人僵住了。她站在原地,肩膀微微发抖,然后缓慢地低下头,弯腰去捡地上的碎玻璃。
录像在这里中断了。不是玛雅按了暂停,而是文件本身就在这里戛然而止。
“后面呢?”艾德里安问。
玛雅检查了文件夹,“这个文件原本应该记录从二十二点到二十三点六十分钟的内容,但四十二分钟处之后全是黑屏代码。有人在这个时间点关掉了录像。”
“或者有人删掉了后面十八分钟。”
“那就更麻烦了。”玛雅说,“能删掉青云会所内部监控录像的人,权限等级不会低于维克多本人。”
拉斐尔在后座一直沉默。他看着那块静止的屏幕,表情凝固在脸上,像一块被烧过之后冷却的陶瓷。
“她看了他的手机之后就变了。”拉斐尔说,声音很平,“他给她看了什么?”
没有人能回答这个问题。
玛雅继续打开第二块硬盘。这块硬盘的标签是“V3包厢·七月”,也被打了红叉。她点开了七月十四日的录像。画面同样是V3包厢,同样是一群人喝酒唱歌。这一次,坐在维克多旁边的女孩是另一个面孔。玛雅调出暗网上那份六人名单,比对之后确认了身份:卡门·索托,十九岁,西境省盐湖城人。她于去年七月十七日被发现死于出租屋浴缸中,死因被认定为意外触电。
死亡日期距离这段录像被拍摄的日期,只有三天。
第三块硬盘。玛丽安娜·卡斯特罗,出现在V3包厢的录像里,日期是她死亡前一周。画面里维克多凑在她耳边说话,她摇头,维克多又给她看了手机屏幕。同样的动作,同样的结果——女孩僵住,低头,服从。
“他在给她们看同一个东西。”艾德里安盯着屏幕,“每个人都是。每次都是先看手机,然后她们就变了。”
“可能是什么?”
“证据。”艾德里安缓缓说,“他收集了每个女孩的什么证据——可能是隐私照片,可能是监控录像,可能是一段被偷拍的对话。他用这些东西逼迫她们服从。”
玛雅关掉了视频,打开第四块硬盘里的文件目录。这块硬盘不是监控录像,而是一套加密的数据文件夹。她花了几分钟破解加密层,然后屏幕弹出了一个表格文件。
表格最上方是一排字段名:目标编号、姓名、年龄、原籍地、现住址、工作单位、公寓电网ID、供水ID、数据接入状态。
下面密密麻麻列出了二十行数据。最上面几行已经用灰色底色标注,标记为“已完成”。灰色行的编号从一到六,每个编号旁边都对应着一个名字:艾莲娜·弗洛雷斯。卡门·索托。玛丽安娜·卡斯特罗。莉迪亚·科斯塔。还有两个名字是艾德里安没见过的——塔季扬娜·别洛娃,伊琳娜·克鲁格。
而第七行,底色是白色,状态栏标注为“待处理”。目标编号:七。姓名:卡佳·莫罗佐娃。现住址:瓦尔纳东郊北风冷链A栋职工宿舍307室。电网ID:CPN-EF-WD-0307。数据接入状态:在线。
数据接入状态一栏后面,还有一个实时跳动的数值。那是卡佳房间当前的电表功率读数。数值在几百瓦上下浮动,对应着她正在使用的电器——灯,电脑,也许是电热水器。
“这不是名单。”玛雅说,声音像从喉咙深处挤出来的,“这是一份待办清单。”
艾德里安看着屏幕上那个跳动的实时功率读数。凶手不仅知道卡佳住在哪里,还能随时看到她的用电状态。他可以通过用电数据判断她是否独处,是否在做饭,是否在洗澡。像是一个猎人在看着热成像瞄准镜里的猎物,而猎物浑然不知。
拉斐尔忽然开口,声音不大,但每个字都咬得很死。“他还在看她。”
“是的。”
“我们能阻止他吗?”
玛雅重新连上了网络,但只开了一个最低限度的加密通道。“我需要在A栋配电间里安装一个物理阻断器——不是软件层面,是硬件层面。不管他用什么方法入侵赛博努斯,只要配电网的物理接口被切断,他的远程控制就失效。这是目前唯一确定的方案。”
“需要多久?”
“到天亮之前。”玛雅看了看时间,“还有三个半小时。”
艾德里安猛打方向盘,汽车拐进了瓦尔纳老城区一条石砖铺成的窄巷子。两边是十九世纪末的石头建筑,墙上爬满了枯死的藤蔓。他在一扇没有任何标识的铁门前停下。
“这是哪儿?”拉斐尔问。
“白帽獾的物理安全屋。”艾德里安说,“也是玛雅给我这张地址时,她自己从来没来过的地方。”
铁门后面,一个苍老的声音从对讲器里传出来,带着浓重的南境口音:“谁?”
“獾的客人。”玛雅回答,“带胡萝卜来的。”
铁门咔嗒一声弹开了。


暂无评论,来抢沙发吧!