潮水拍打着防波堤粗糙的水泥面,发出沉闷而有节奏的声响。陈默缩在两块预制板形成的夹角阴影里。这里的视线受阻,但足以容纳他打开那台老式的惠普笔记本电脑。屏幕发出幽蓝的光,照亮了他紧抿的嘴唇。
他的手指悬在触控板上方,没有立刻点击。先检查。这是刻在他骨头里的本能。电池剩余电量百分之四十三,信号强度微弱,只有两根格。他拧开笔记本侧面的散热孔,吹了一口气,确认没有异常的高温积聚。旁边那把备用刀柄上的磨痕还在,记录本翻到新的一页,笔帽咬在嘴里。资源有限,时间有限,他不能在这块石头上浪费哪怕一毫秒的算力。
屏幕上,苏青通过加密信道上传的“伪装数据包残片”正在被逐层拆解。这些碎片拼不成完整文件,只是一系列离散的数据片,像是被打碎的镜子。陈默调出频谱分析工具,将数据流的波形图投射在屏幕上。起初,那些波形杂乱无章,像是一团纠缠的耳机线。但随着他手动剔除背景噪声,一条清晰的脉冲线条逐渐浮现。
他以前在港口监控系统维护时见过类似的特征。普通的网络流量,哪怕是高频交易,其脉冲频率也远达不到这种规律性。这是某种特定的调制载波。他回忆起上周在三号库区外听到的那阵细微电流声,当时只以为是设备故障。现在,他将现场记录的声纹频谱与苏青发来的残片叠加。
两列数据在屏幕上交汇。重叠区出现了一个尖锐的峰值。
12赫兹。每秒十二次。
这就是周正阳“主动捕获”系统的底层逻辑。并非在追踪位置,位置追踪是低维度的,容易干扰。他在追踪“行为指纹”。12赫兹这个周期,恰好落在人类操作终端设备的自然节律之外。人敲键盘、动鼠标,数据包的生成会有迟滞、停顿和不规则的间隙;而12赫兹是系统内部校验与轮询的固定节拍,只有自动化探针才会严格踩着它走。
只要陈默或苏青使用被标记的设备,哪怕只是打开文档,发出的数据包就会携带这个隐含的“心跳”。周正阳不需要知道他们在哪,他只需要知道,当这个心跳停止或改变节奏时,就是对方开始行动的时刻。或者说,只要心跳存在,对方就还在那个“笼子里”。
“原来如此。”陈默低声喃喃,声音被海浪盖过。他拿起记录本,在背面画了一个简单的方波图,标注上“12Hz = 非人类/非本机识别特征”。这意味着,任何带有此频率的数据交互,都会被系统判定为“异常节点”。想要规避,唯有让心跳消失,或者,让心跳变成对方的节奏。
他合上笔记本,动作轻得像是一页纸落下。没有发出声响。他重新将设备塞回防水袋,检查拉链是否闭合严密。强迫症般的检查让他感到一丝虚幻的安全感。物理潜入已经失效,声纹和脚步早已泄露。现在,战争转移到了看不见的比特流中。
与此同时,城市另一端的旧居民楼顶层,苏青坐在一张堆满杂物的桌子前。窗外是灰蒙蒙的天,远处的高架桥上有货车轰鸣而过。
她的面前摆着三本不同的笔记本,分别记录着【Observer】渠道的反馈、周正阳系统的日志特征、以及她自己的推演草稿。她的手指无意识地转着一支中性笔,笔尖在纸上划出细碎的沙沙声。这是她紧张时的习惯动作,但她的眼神却冷得像冰。
【Observer】发回来的消息只有短短几行。苏青逐字阅读,眉头微蹙。
“探针未指向个人。指向审计日志接口。”
苏青的手指停住了。笔尖悬在纸上,没有落下。
她之前一直担心那个“遗落文件”是专门针对她的陷阱,是一个巨大的网,只要她一碰,网就会收紧到她的物理坐标上。但【Observer】的反馈显示,那个植入的探针没有直接连向任何终端,它的回传地址挂在周正阳内部一个特定的审计日志接口上。
这是一个更深层的陷阱。周正阳不是在抓她,他在抓那个“审计员”。或者说,他在通过审计接口的异常流量,清洗他内部的安全网。那个接口连接着“IT审计部”和“财务部”两个核心部门。周正阳在测试,谁在偷看账本,谁在操作日志。
苏青站起身,走到窗边,背对着桌子。玻璃上映出她清瘦的脸庞。她深吸了一口气,空气里有潮湿的铁锈味。被动躲避?不。如果周正阳在通过审计接口筛选内部叛徒,那么苏青手里的探针,就是筛选的筛子。
她不需要销毁它。她需要污染它。
她没有去碰审计系统的底层。她用的是公司配发的合规审计接口——那个接口本来就允许风控合规岗读取操作日志,她要做的只是以季度复核为名,先提交一张编号连续、理由完整的工单,再在授权时段里动数据。工单会留在系统里,成为她“合法在场”的证明。
但直接修改探针地址行不通。任何异常的跳变都会立即触发最高级别的警报,暴露她正在操控这一事实。她需要一种更隐蔽的方式:向那个审计接口注入一段经过特殊编码的“盐值”数据。这段数据本身合法,但其中嵌套的校验位与周正阳系统的底层时钟(12Hz)存在轻微的相位偏差。
这种偏差不会触发警报,但会在周正阳的日志数据库中留下长久的“涟漪”。对于依赖高精度时间戳的系统来说,这无异于在平静的湖面投入了一颗石子。
苏青走回桌前,打开一台屏蔽了无线信号的笔记本电脑。她连接到【Observer】提供的中转跳板,开始编写这段脏数据。这是一个高难度的操作,相当于在高速行驶的车辆轮胎上微调角度,既要保持方向,又要避免侧滑。
她手指在键盘上敲击,速度稳定而精准。没有犹豫,没有回看。每一个字符都是深思熟虑的结果。她将目标指向了周正阳内部那个核心的审计日志接口,而非边缘的测试区。只有在核心地带,才能测试出对方防御系统的真实深度。
“响应阈值。”她在心里默念。如果周正阳的防御系统足够智能,它会注意到核心接口的数据流中多了一抹不属于任何已知设备的相位噪声。这个噪声本身,就是一个巨大的问号。
发送。进度条走完。状态码:200 OK。
苏青靠回椅背,闭上眼睛。她不知道周正阳会不会察觉。但她知道,从现在起,周正阳的系统里,多了一个他不想要的变量。而陈默在防波堤上的计算,正是解开这个变量频率的关键。
城市高处,周正阳集团的顶层办公室。
巨大的落地窗将整座港口尽收眼底。周正阳站在窗前,手里端着一杯已经凉透的黑咖啡。他看着玻璃倒影中自己苍白的脸,没有整理衣领,也没有调整坐姿。
赵科长推门进来,脚步很轻,但在空旷的办公室里依然清晰。
“周总,测试服务器那边有动静。”赵科长递过来一份打印的报表,纸张边缘平整,没有折痕。
周正阳没有接报告,只是瞥了一眼屏幕。赵科长身后的显示器上,一条曲线正在剧烈抖动。
“高频数据包涌入。来源不明,但格式合规。”赵科长的声音干涩,“看起来像是某种注入攻击。”
周正阳抿了一口冷咖啡,眉头微不可察地动了一下。他放下杯子,声音平淡:“攻击方是谁?”
“无法直接溯源。IP地址跳跃了七次,最后落在一个废弃的测试节点上。”
周正阳转过身,看着赵科长。他的眼神没有任何情绪波动,只有纯粹的审视。
“赵科,你刚才说,那个废弃的测试节点,连接的是哪个部门?”
赵科长愣了一下,随即低头查看报表:“经过网关映射……主要服务于IT审计部和财务部的备份日志。”
“IT审计,和财务。”周正阳重复了一遍这两个词。
他走到办公桌前,坐下。手指在桌面上轻轻敲击。节奏很慢,一下,两下,三下。
“不要拔线。”周正阳说道。
赵科长手按在键盘上,准备执行清除指令的动作停住了:“周总,现在切断连接,可以防止病毒扩散。”
“切断意味着你以为你发现了。”周正阳的声音平淡,听不出任何笑意,“我们要的是,让他以为我们没发现。继续监听,记录所有流入测试服务器的数据特征,尤其是那个‘心跳’的频率变化。”
周正阳看着屏幕上的曲线,那些跳动的像素点像是某种昆虫的触角。
“赵科,你去做第二件事。在内部网络发一条消息。”
“什么消息?”
“账号权限。发给IT审计部的组长和财务部的经理。内容:发现外部入侵迹象,正在排查,请他们自查本部门日志接口,并上报所有异常访问记录。”
赵科长明白了。这是一条真实的、基于系统安全流程的内部通报。但在周正阳眼里,这是一根鱼饵。
如果苏青或者陈默背后的那个人,真的在通过探针监听审计日志,那么这条“自查”指令,就会触发他们的警觉。他们要么停止操作,要么加速行动。无论哪种反应,都能暴露出更深层的意图。
更重要的是,这条指令会通过【Observer】渠道的回传机制,暴露【Observer】是谁。因为只有拥有最高审计权限的人,才能第一时间看到这条指令,并判断它是否会影响自己的安全。
周正阳站起身,再次走向落地窗。外面的港口依旧繁忙,吊机缓缓移动,集装箱像积木一样堆叠。
“另外,”他背对着赵科长,声音消散在空气里,“在三号库区的核心账本目录里,放一份‘假的’。位置标记为‘B-12区’。不要真的移动文件,只修改数据库里的指针。”
赵科长有些困惑:“B-12区是空置的缓冲区。”
“让他们去查。”周正阳的声音平静得可怕,“看他们会咬哪一口。如果查了B-12,说明他们只关心账本本身;如果他们没查,而是去查了为什么B-12会被标记为敏感区,说明他们关心的是‘权限’。这是两套不同的逻辑,对应着不同的敌人。”
赵科长记录下指令,转身离开。
办公室里只剩下周正阳一人。他看着屏幕上那条持续跳动的数据曲线,像是一个永不停歇的心电图。
他不知道对面坐的是谁。是那个叫陈默的欠债人?还是那个叫苏青的分析师?或者是那个在暗网游走的【Observer】?
但这不重要。重要的是,网已经张开。每一根网线,都是陷阱。
防波堤上,风势更大了。陈默站在阴影里,耳机里传来海浪的低频轰鸣。他闭上眼睛,在那片混沌的噪声中,试图捕捉那个12赫兹的微弱脉搏。
他没有回信。回信本身就是一次暴露。
他们约好的是死信箱:苏青每晚把数据推进一个公开档案库的索引里,用合规报告的语气写成没人会读的附件;陈默只在第二天凌晨去取,取完不留任何回执。她不知道他什么时候读,他也不知道她下一次什么时候写。
互信建立在这套流程上,而不是任何一句话上。代价是每一次确认都要多等一天。
陈默把电脑合上,塞进防水袋。接下来,他们要在这片噪声里,各自踩着自己的节拍往前走。