“药房的氯化钠库存低了。”
这句没头没脑的话,像一根冰冷的针,扎在专案组每个人的神经上。作战中心里,之前因“钓到鱼”而产生的些许振奋荡然无存,取而代之的是一种被戏耍后的凝重和更深的警惕。
“嘲讽……这绝对是嘲讽!”张猛气得一拳砸在桌子上,“这家伙在跟我们玩猫捉老鼠!”
林宸没有说话,他反复看着屏幕上那行英文,试图穿透字面,抓住背后可能隐藏的意图。“思妍,如果这不是单纯的挑衅,有没有可能……这是一种提示?或者,一个真正的目标信号?”
赵思妍揉了揉布满血丝的眼睛,强迫自己从被识破的挫败感中冷静下来。“提示?提示我们什么?医院药房缺盐了?这太荒谬了。但从技术角度看,对方绕过所有监控,精准地在我们的蜜罐里留下这么一句看似无关的话,成本很高,绝不只是为了开玩笑那么简单。”
她调出全市医疗物资供应链的数据库访问日志,“我查一下仁和医院乃至全市主要医院近期的氯化钠及相关药品的采购、库存记录,看看有没有异常波动。虽然可能性微乎其微……”
陈建国沉着脸下达指令:“不管是不是嘲讽,都不能掉以轻心。林宸,张猛,你们也别只盯着李建明一个人了。既然对方能攻击医院,能搞瘫电网,说明他的目标范围可能非常大,或者说,他根本不在乎具体目标是谁,只是在……测试和展示。”
“展示他的破坏力。”林宸接话,心情沉重。一个不针对特定目标,而是以整个城市系统为试验场的超高智商罪犯,其危害性和不可预测性,远比一个单纯的杀手要大得多。
就在这时,陈建国和林宸的手机几乎同时响了起来,急促的铃声打破了作战中心的沉寂。两人接完电话,脸色都变得异常难看。
“刚刚,中山路和解放路交叉口,交通信号灯突然全部变红,造成大规模堵车,紧接着又全部变绿,差点引发连环碰撞!”陈建国语气急促。
“指挥中心接到报告,城北污水处理厂的中央控制系统报警,疑似有未授权访问尝试修改处理参数!”林宸补充道。
几乎在同一时间,不同的城市命脉,再次遭到了无形的攻击!
中山路与解放路交叉口,是本市最繁忙的交通枢纽之一。当林宸和张猛赶到时,现场虽然已经初步恢复秩序,但滞留的车辆仍排成了长龙,喇叭声、抱怨声不绝于耳。交警们满头大汗地指挥着交通,脸上还带着未褪去的惊惶。
“大概持续了三分多钟。”一个负责现场勘查的交警向林宸汇报,心有余悸,“先是四个方向的红灯全亮了将近一分钟,堵得水泄不通。然后毫无征兆地,又全部变成绿灯,对面车道的车同时启动,好几辆车差点就撞上了!幸好当时车速都慢,不然后果不堪设想。”
“信号灯控制系统检查过了吗?”林宸问。
“查了,初步判断是控制中心的服务器被黑了。”交警指着路口的信号灯箱,“我们切换到了手动应急模式才恢复。技术人员说,攻击者直接修改了信号配时方案,插入了这段混乱指令。”
林宸抬头看着已经恢复正常闪烁的红绿灯,阳光照射在金属灯壳上,有些刺眼。这些日常司空见惯的设施,此刻在他眼里却成了潜在的杀人工具。三分多钟的混乱,看似短暂,却足以在关键时刻酿成惨剧。这次是侥幸,下次呢?如果是高速路口?或者是火车道口?
张猛蹲在信号灯控制箱旁,看着技术人员检测,骂了一句:“妈的,净干这种缺德带冒烟的事!有本事出来真刀真枪干一场!”
“他不会的。”林宸冷静地说,“他就喜欢这样,躲在暗处,动动手指,就能让我们疲于奔命,让整个城市陷入恐慌。这是一种权力的炫耀。”
另一边,赵思妍和网安支队的同事也迅速介入了交通控制系统的调查。结果与医院事件如出一辙:利用未知漏洞获取高级权限,植入短暂起效的恶意代码,完成后自动清除痕迹,只留下一个熟悉的“清除”标记变种。攻击来源依然是经过多层伪装的肉鸡网络,追踪困难。
而城北污水处理厂那边传来的消息更让人担忧。攻击尝试虽然被厂区的防火墙及时拦截,未能成功修改化学药剂投放量、污水净化流程等核心参数,但入侵路径同样专业,目标直指可能造成环境污染甚至公共健康危机的关键控制节点。
攻击范围从医疗系统,扩展到了交通、水务、电网……下一个会是哪里?燃气?金融?还是地铁运行系统?
一种无形的恐慌,开始像瘟疫一样在知情者中间蔓延。这不是针对某一个人的谋杀,这是对整个城市安全底线的挑战。
连续发生的攻击事件,虽然目标看似随机,但专案组在巨大的压力下,开始强迫自己从混乱中寻找规律。
赵思妍将几次攻击的时间、目标、手法、留下的标记等信息,全部输入数据分析模型,进行关联性分析。林宸则再次召集会议,将所有信息在白板上一一列出,试图用最原始的刑侦思维,勾勒出对手的行为模式。
“大家看,”林宸用笔点着时间线,“第一次,医院IcU,未遂,但展示了针对生命体的直接攻击能力;第二次,电网,造成实质性大面积停电,并伴随对物理目标李建明的侦查行动,展示了影响基础设施和制造混乱的能力;第三次,交通信号灯和污水处理厂,几乎是同时发生,目标完全不同,但手法一致。这像不像是……一种升级式的压力测试?”
“测试不同系统的防御强度,测试我们的应急反应速度。”陈建国沉吟道。
“还有一点,”张猛插话,他指着地图上几个事发地点,“你们发现没有,这几个地方,分散在城市的不同区域,东边医院,西边电网,市中心路口,北边污水厂……没什么地理上的规律。”
“也许规律不在空间,而在时间?”赵思妍盯着屏幕上的分析结果,突然开口,“模型显示了一个微弱的关联性。几次攻击发生的时间点,虽然不连续,但如果换算成协调世界时(Utc),它们之间的间隔,接近一个常数。”
这个发现让所有人精神一振。
“常数?是多少?”
“大约36小时。”赵思妍报出一个数字,“从医院攻击到电网攻击,间隔约36小时;从电网攻击到今天的交通、水务攻击,间隔也接近36小时。”
36小时?这像是一个心跳,一个属于黑暗的节奏。
“如果这个规律成立……”林宸看着白板,快速计算着,“那么下一次攻击,很可能发生在36小时之后,也就是后天凌晨左右。”
这给了专案组一个宝贵的、也是令人窒息的时间窗口。他们只有不到两天的时间来阻止下一次可能更严重的攻击。
“目标呢?能预测吗?”陈建国问。
赵思妍摇了摇头:“目标选择看似随机,模型没有给出强关联。交通、水务、电网……都是关键基础设施。范围太广了,我们不可能在所有地方都布防。”
“也许,目标的选择本身就不是固定的。”林宸沉思着,“他的核心目的,可能不是摧毁某个特定目标,而是通过持续不断的、不可预测的攻击,来证明城市系统的脆弱,证明他的无所不能。这是一种……恐怖主义行为。”
会议陷入了沉默。面对一个手段高超、意图莫测、并且严格按照自己时间表行事的对手,传统的侦查手段显得力不从心。
散会后,林宸独自留在会议室,面对着写满线索的白板。那个关于“氯化钠”的信息,依然像根刺一样扎在他脑子里。如果攻击者的行为有模式,那么这句突兀的话,也必然有其意义。它一定不是随机的嘲讽。
他拿起电话,打给了仁和医院的王主任。
“王主任,不好意思又打扰您。我想再详细了解一下,医院药房的氯化钠,或者说生理盐水,除了临床使用,还有没有其他比较特殊的用途?或者,近期有没有发生过和氯化钠相关的特别事情?”
王主任在电话那头想了想,说道:“特殊的用途?好像也没什么……就是正常的药品呗。不过说起来,前两天倒是有一件小事,药库盘存的时候,发现有一批生理盐水的包装标签有轻微磨损,像是被什么东西蹭过,但里面药品没问题,也就没太在意……”
包装标签磨损?林宸心中一动,这似乎不是什么大事,但在这个节骨眼上,任何细微的异常都值得关注。
就在林宸试图抓住“氯化钠”这条若有若无的线索时,赵思妍那边有了一个更重要的发现。
她对攻击代码中那个独特的加密算法进行了更深入的溯源分析,竟然在一个极其冷门的、关于工业控制系统(IcS)安全的国际论坛的早期讨论帖中,找到了类似的算法思路。发帖者是一个匿名的Id,帖子的内容是如何利用某种特定协议的非标准实现,来对据采集与监视控制系统数(ScAdA)进行“低干扰”的探测。
ScAdA系统,正是广泛应用于电网、水务、化工、交通等工业领域的核心控制系统!
这个发现,将攻击者的技术背景,更加清晰地指向了对工业系统有深入了解的专家。而那个匿名Id,虽然年代久远,信息寥寥,但也许是目前唯一可能指向攻击者真实身份或背景的线索。
赵思妍尝试联系论坛管理员,希望能获取那个匿名Id的注册信息,但过程注定漫长且希望渺茫。
与此同时,网安支队协调各部门,对全市的关键基础设施进行了一次紧急的、秘密的安全加固和漏洞排查。工作量巨大,时间紧迫,所有人都像是在与一个看不见的敌人赛跑。
林宸安排人去调查那批标签磨损的生理盐水的流通记录,看能否找到异常。
36小时的倒计时,如同悬在头顶的达摩克利斯之剑,滴答作响。
夜晚,林宸站在办公室窗前,望着楼下依旧车水马龙、灯火辉煌的城市。人们按部就班地生活,对潜伏在网络深处的危机一无所知。这种平静与专案组内部的紧张形成了尖锐的对比。
他想起攻击代码中那个不断减少的数字,以及这次发现的“36小时”规律。对手像一个严谨的科学家,正在有条不紊地进行着他的“实验”,而整个城市,都是他的实验室。
下一次,他的“实验”对象会是什么?实验的目的,又究竟是什么?
张猛走过来,递给他一瓶水:“别想了,先歇会儿。后天……到时候兵来将挡。”
林宸接过水,喝了一口,目光依然凝重。“我怕的是,他下一次要展示的,不再是‘混乱’,而是……‘结果’。”
真正的,无法挽回的伤亡结果。
夜色渐深,城市的霓虹依旧闪烁,但在光鲜的表象之下,数字世界的暗流正在汹涌澎湃,等待着下一个爆发点的到来。