4. 第一道裂痕

里奥没有问“现在就弄”是什么意思。他转身从抽屉里取出一台黑色哑光的笔记本电脑,外形比普通机型厚了一倍,侧面多出三个额外的接口,其中一个标着红色的“隔离”字样。他把那台机器放在桌面上,没有接电源线,而是接上了一块独立电池组——就是他之前提过的电源供应器,从艾琳的店里拿来的工业级不间断电源,足够驱动整台设备运行六小时而不依赖镇上的电网。

“离线模式,”里奥说,“所有无线模块物理拆除,蓝牙、Wi-Fi、蜂窝,全没了。唯一的输入输出通道就是这个USB口。”他指了指电脑侧面的一个单独端口,“U盘插进去之后,数据会先经过一个硬件隔离沙盒,任何可执行代码都不会接触到主机系统。如果里面藏着自动攻击脚本,沙盒会把它吃掉。”

卢卡斯把U盘从防水袋里取出来,金属外壳在磨坊的冷光下泛着一层暗沉的银灰色。他用手掌感受了一下温度——常温,没有异常发热,说明内部没有持续运行的电子元件。他递给里奥。

里奥接过U盘,插入隔离接口。屏幕亮起,一个加密输入框弹出,光标在密码栏里跳动着。里奥没有输入任何字符,而是按了一个组合键,调出另一个命令行界面,开始逐行读取U盘的分区表信息。他的手指在键盘上跳跃,屏幕上滚动的字符快得像瀑布。

“分区结构不复杂,只有一个主分区,没有隐藏卷标。文件系统是ext4,Linux常用格式。加密层在外层,用的是AES-256-GCM,认证加密模式。如果密码不对,强行解密会触发自毁——内部有一块微型熔断电路,连续错误超过十次就会烧毁存储芯片。”

“十次机会。”

“对。”里奥推了推眼镜,“所以我不会试密码。我要绕过它。”

卢卡斯站在他身后,双手插在外套口袋里,看着屏幕上那些飞速滚动的代码。他不是技术专家,但他见过足够多的取证报告,知道有些加密系统不是靠密码保护的——而是靠信任。你信任某个特定的硬件指纹、特定的数字证书、特定的网络环境。如果U盘的设计者认为它只会在某一台特定设备上被读取,那么换一台设备就无法工作。

“你打算模拟那个特定环境?”

“试试看。”里奥从另一台电脑上拷贝了一份文件到隔离机上,那是一组系统日志和硬件配置文件。“死者随身带着U盘,说明他要么是原定的读取者,要么是运送者。如果是前者,他身上的其他物品可能会提供线索——比如他的手机或手表。但那些东西麦克雷拿走了。所以我只能猜。”

他停下来,看着屏幕上的一行提示。“U盘在第一次启动时会检测时钟偏差。如果当前时间和它最后一次被写入时的系统时间差距超过七十二小时,它会要求额外验证。”

“所以它以为上次被用是在三天之内?”

“没错。如果这个U盘的设计逻辑是频繁更新,那么它里面储存的东西不可能是静态档案——更像是动态同步的数据容器。换句话说,有人在定期往里写东西,也有人定期从中读东西。这是一个移动存储节点,不是一个归档文件。”

卢卡斯意识到这句话的分量。如果一个移动存储节点出现在沙漏镇的海滩上,那说明它的使用者——或者说它的上一个同步对象——也在这附近。“继续。你能伪造那个时间窗口吗?”

“我已经在做了。”里奥敲了一串命令,屏幕上的时钟显示被回滚到了四十八小时前,然后他再次尝试读取分区表。这一次,加密层没有直接拒绝,而是弹出了一个新的提示框:“请输入管理员关联代码。”

“不是密码,是关联代码。”里奥皱起眉头,“这不一样。密码是固定的字符串,关联代码是动态生成的,通常需要另一台授权设备实时提供响应码。这是双因素认证中的第二因素。”

“如果少了那一台设备,就打不开?”

里奥没有立刻回答。他盯着提示框看了十几秒,然后猛地转过身,从沙发垫子下面摸出他的手机——那部连了磨坊内部局域网的备用机。他打开一个自己写的协议分析工具,把U盘在初始握手阶段发出的数据包截取下来,一行一行地过滤。

“它在广播一个配对请求,”里奥说,“它在找一台曾经配对过的蓝牙设备。不是主动扫描,是被动监听——它在等一个特定的BLE信号,每隔三秒发一次。如果它收不到那个信号,关联代码就不会下发。”

“那台蓝牙设备可能还开着。”

“也可能在水底。”里奥看着卢卡斯,“如果死者把U盘攥在手里,那台配对设备可能是他身上的另一件东西——但麦克雷收走的遗物里没有提到任何电子设备。手机、手表、耳机,全都没有。他被打捞上来的时候,身上只有衣服、一只鞋和U盘。”

卢卡斯沉默了。这意味着那台配对设备要么被回收者拿走了,要么在死者落水之前就已经离身了。不论哪一种,都说明在死者死亡之前,已经有人拆解过他的随身物品。

“继续等它广播,”卢卡斯说,“如果你能捕获它的配对信号格式,你能不能模拟出那台设备的响应?”

“需要知道密钥种子。那是硬件级别的绑定,我没法从空气里抓出来。”里奥靠在椅背上,第一次露出了疲惫的神情,“但如果那台配对设备真的还开着,并且真的在附近,我的接收器可以定位它。磨坊周围的信号环境很干净,没什么蓝牙干扰源。”

他打开另一台设备——一台手掌大小的频谱扫描仪,是里奥自己组装的,外壳是3D打印的绿色塑料。他把天线调整了一下,开始扫描周围所有在主动广播的蓝牙信号。屏幕上出现了七八个点,大多数是附近住户的智能音箱或手机,信号强度都很弱。其中一个点引起了里奥的注意——它的广播间隔恰好是三秒,精确到毫秒级别,而且信号强度稳定,不像是移动设备,更像被固定在一个位置上。

“在西南方向,直线距离大约四百米。”里奥说,“那个位置是——镇上的旧灯塔。”

旧灯塔已经废弃七年了,塔身内部的木制楼梯已经腐朽,上层平台被海鸟占据,连海岸警卫队都不再去那里检修。唯一一条通往灯塔的路是一条窄窄的石堤,涨潮时会被海水淹没。

“四百米,”卢卡斯重复,“不算远。”

“但信号特征显示它被藏在塔基的某个角落,不是随身携带。那个位置固定、受保护、有稳定的温度和湿度——像是一种长期部署的监听站点。”里奥的喉结滚动了一下,“韦恩,如果我们隔壁的废弃灯塔里有一个长期开机的信标设备,它今天夜里一定已经通过某种方式对外发送过信号了。”

卢卡斯走到窗边,重新拉开窗帘。从这个角度,他能看到灯塔的轮廓——灰白色的石塔在月光下像一根断指,戳在礁石与海水的交界处。塔顶没有灯光,但他现在知道那里面有一台机器正在以三秒为间隔低声呼唤着什么。

“里奥,”他说,“那台设备有没有可能控制U盘的访问权限?”

“可能性很高。它可能是一台密钥托管器,只有和U盘配对之后才能解锁数据。如果它被固定放在灯塔里,那说明它的使用者不需要随身携带——他们只需要在需要读取U盘的时候,人走到灯塔附近就行。”

卢卡斯想起了那条短信。“别碰那只U盘。”发信人知道他会拿到U盘,也知道如果他去灯塔配对就会触发什么。也许那台密钥托管器不只是解锁数据的工具——它可能同时也是一个警报器,一旦配对成功,就会向某个远程端点发送确认信号。

“我们不出船坞,不去灯塔。”卢卡斯说,“但我们可以远程制造配对信号吗?用你的发射器模拟那台设备的响应?”

“只能模拟到握手层。真正的密钥绑定在硬件芯片里,没法克隆。但——”里奥顿了顿,“如果你只是想看看U盘里有什么,而不是非要解锁全部数据,我可以试试把它的只读扇区镜像出来。有些加密存储设备会把目录结构放在未加密的引导区里,就是为了让系统知道该用什么协议去解锁。”

他重新把U盘插入隔离机,这一次他绕过了加密验证请求,直接读取磁盘的原始扇区。屏幕上开始滚动大量十六进制数据,里奥从中筛选出可读的ASCII字符串。几秒钟后,几个文件名字符串跳了出来。

“Build_List_2024_11.enc” “Client_Log_Aug_Oct.enc” “Blueprints_AR15_v7.stl” “Blueprints_G19_v4.stl” “Payment_Receipts_BTC.enc” “Contacts_NATO_region.enc”

卢卡斯的目光在倒数第二个文件名上停住了——“Contacts_NATO_region.enc”。“北约区域的联系人?”他低声说。

里奥没有说话。他继续往下拉,在最后一个扇区里找到了一段未被加密的纯文本备注,像是被草草写在文件末尾的备忘录。那段英文写的很简短,语法不完整,像是匆忙输入的内容:

“S-4 lost package. Courier off schedule. Recovery team dispatched. If this drive surfaces, assume primary dead. Secondary override on channel 7. Do not trust.”

里奥把这段文字翻译给卢卡斯。卢卡斯听完,很久没有动。他想到了那具浮尸苍白的脸,想到了深蓝色纤维的战术面料,想到了那个在工具棚里留下化学粉末的夜访者。一个信使死了。一个回收队被派出去了。而U盘最底层的备注里写着——“不要相信。”

相信谁?相信打开它的人?相信看到这段备注的人?还是说,信使临死前在U盘里留下了对某人的警告?

里奥轻轻拔掉了U盘,把它放回防水袋里。“引导区里只有这些。核心数据全部加密,没有配对设备就看不到。但光是这些文件名……韦恩,这把火比我们想的要大。”

卢卡斯接过U盘,把它重新揣进口袋。他看着窗外那截灯塔的轮廓,心里在想一件事:如果灯塔里的密钥托管器正在以三秒为间隔广播配对信号,那么任何持有配对设备的人走近灯塔,U盘就会解锁。但持有配对设备的人——那个信使——已经死了。那台配对设备可能还在回收者手里。也就是说,回收者现在既能找到U盘,也能解锁它。他们没有时间了。

“天亮之后,”卢卡斯说,“我们带上德雷克和艾琳,去一趟灯塔。”

里奥看着他,没有问为什么。他只是把频谱扫描仪关掉,然后说了一句:“那我要把发射功率调大,覆盖掉它的广播信号,让它以为自己在和配对设备正常握手。能拖几个小时。”

“几个小时就够了。”卢卡斯从外套口袋里掏出那支夹着蓝色纤维的笔记本,翻到新的一页,写下了“S-4”和“channel 7”两个词。他把笔记本合上,放回内袋,然后在沙发上重新躺下。这一次他闭上了眼睛,真的睡了。

但他入睡前最后的一个念头是:那个在灯塔里的密钥托管器,已经连续广播了多久?如果信使死了超过四十八小时,那台设备是否已经向某个“回收队”发送了定位信号?而回收队,会不会已经在镇上了?

磨坊外,海风从灯塔方向吹来,带着一种细微的、几乎听不见的嗡嗡声。里奥的频谱扫描仪屏幕上,那个代表灯塔信号的光点还在稳定地闪烁——每秒一次,每一次都比上一次微弱了一点点。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注