第18章 脱罪

杨兴把网线拔出来的那一刻,手很稳的。拔完之后,手指开始抖。不是因为恐惧——好吧,有一部分是——但更多是因为他的大脑正在以接近过载的速度运算。威斯克在扫描服务器。威斯克发现了有人访问地下结构图。威斯克正在往大厅走。这三条信息拼在一起,等于一个结论:他还有最多三分钟来伪造一个完美的系统故障假象,否则等威斯克回到大厅,就是他的死期。

他把网线重新插回终端,打开之前在地下管道里已经扫描过的洋馆内部设备清单。刚才他只是粗略看过一遍,现在他需要精准定位几个关键节点。配电室的电力管理系统、二楼走廊的环境传感器、资料室的温度监控模块——这三者之前的通讯日志显示,它们用的通讯协议和建筑服务器是同一套老旧的LONWorks总线,而且日志轮转周期有个漏洞:系统每三小时才对时一次,对时失败会自动触发一次全设备巡检。上次对时是在两小时四十六分钟前。也就是说,如果他在现在这个时间点制造一次“电压异常→传感器离线→巡检触发”的假日志序列,系统记录会显示这是正常周期内的自动事件,而不是人为扫描。杨兴舔了一下干裂的嘴唇,开始敲键盘。

他先从洋馆的电力管理系统入手。保护伞公司的工业控制系统用的是定制化的SCADA套件,界面丑陋但底层逻辑和他在浣熊市分部维护过的版本完全一致。他进入配电室子系统的日志模块,找到两小时前的电压波动记录——那次电压波动是真的,暴君培养舱升温时整栋洋馆都闪了一下灯。他在这条真实记录的基础上,追加了三条伪造的连锁日志:电压再次波动→二楼环境传感器离线→系统自动启动全设备巡检。每一条日志的时间戳都严丝合缝,和真实的电压波动曲线完全匹配。他甚至顺手把资料室那台坏掉的温度监控模块也写进了日志里——反正那台设备本来就坏了,威斯克就算派人去检查,也只会看到一个冒烟的铁疙瘩。

然后他开始处理最要命的部分——他的访问记录。建筑服务器的访问日志里清清楚楚地记录了他的终端IP访问了地下结构图目录。这条记录不能删——删除会留下空白,反而更可疑。他用了另一种方式:把这次访问嫁接到自动巡检进程上。就好像真正的入侵者从来没有存在过,这一切只是一段出了bug的工业代码,和他杨兴没有任何关系。

最后,他把自己终端的MAC地址从服务器ARP表里擦掉,换成吉尔刚才在二楼核对蓝图时用过的平板——他在二楼走廊经过时瞥到过她的设备名称,PAD-VALENTINE-02。他没有用瑞贝卡或者克里斯的设备信息,因为威斯克知道那两人是什么时候进入洋馆的,伪造他们的时间戳反而危险。他选择伪造一个威斯克自己用过的平板,把自己藏在一堆系统进程里——威斯克如果彻底追查,会发现入侵来自他自己,等于自己查自己,最好的结果是他认为真的是系统故障,最差的结果是查不下去。

全部搞定之后,他把终端离线,网线从墙上扯开,用脚踢到壁龛最里面的灰尘堆里。然后他的视野里弹出了一行系统提示:【伪造日志已完成。威斯克发现真实入侵痕迹的概率降至12%。当前怀疑度:23%→21%。】

弹幕从视野右侧缓缓飘过,这次的颜色是冷静的淡蓝色:

【这波操作太IT了,我给满分】

【威斯克回来查日志会看到什么?“您的服务器刚刚自己重启并巡检了一遍所有文件”】

【他甚至把证据指向了威斯克自己的平板……什么反向栽赃……】

【怀疑度降了!!!降了!!!从23降到21!!!】

【别高兴太早,威斯克不是看日志的人,他是看人的人】

最后这条弹幕飘过的时候,走廊尽头响起了皮鞋踩在木地板上的声音,步频稳定,步幅均匀,每一步的间隔都像是被节拍器校准过。威斯克回来了。杨兴把终端装进工具包,做了三次深呼吸来降低心率——虽然效果甚微——然后靠坐在壁龛的阴影里,摆出一副“我已经休息了很久很无聊”的姿态。吉尔跟在威斯克身后,手里拿着那份建筑蓝图,表情看不出任何异常。

威斯克走进大厅。他的第一个动作不是走向杨兴,而是走向大厅中央的长桌,将手电筒放在桌面上,然后缓缓扫视了一圈在场的所有人。他的目光移动得并不快,从每个队员的脸上一一滑过,像是在做某种不紧不慢但不可省略的巡检。杨兴垂下眼,装作被手电光晃了一下,顺势把脸埋进阴影里。但他注意到一件事——威斯克的目光扫过他的时候,停了一下,大概比扫过别人多了零点几秒。