低频震颤透过钢制桥面,如同巨兽沉睡中的不安脉搏,持续不断地敲击着陈景明的脚底,也敲击着现场每一个人的心脏。那不是剧烈的摇晃,却比任何剧烈的破坏更令人心悸——它来自结构深处,仿佛大桥的骨骼正在经受某种无形的、持续的压迫。
平台上的“墨滴”已被特警队员安全控制并带下。出乎所有人意料,他没有做出任何反抗,只是沉默地配合着,甚至在戴上手铐时,嘴角还挂着一丝难以捉摸的、近乎满足的浅笑。他是个年轻的男人,看起来不超过三十岁,面容清瘦,戴着无框眼镜,穿着普通的灰色工装夹克,混入人群毫不起眼,唯有那双眼睛,在镜片后异常明亮,闪烁着一种脱离现实的、近乎狂热的专注。
陈景明没有立刻上前审讯,他强迫自己将目光从被捕者身上移开,转向更迫在眉睫的危机。
“结构工程师呢?报告情况!”他对着耳麦吼道,声音压过海风和远处持续的警笛。
“正在分析!”大桥安全监测中心的技术人员声音紧绷,“桥体监测系统依然被锁定,我们无法获取实时数据!但根据我们紧急架设的地面激光测振仪和声波传感阵列初步判断……大桥主跨,特别是东侧三分点附近,正在持续产生低频、小幅度的强迫振动!振源不明!频率……大约在2.3赫兹左右!”
“2.3赫兹……”陈景明脑中飞速回忆着大桥的设计资料,“这个频率接近某些特定风速下桥体涡激振动的潜在频率,但现在风速远未达到!是谐振?他到底启动了什么?”
“陈顾问!”李振从平台方向跑来,手里拿着一个证物袋,里面装着“墨滴”被收缴的个人物品——一个老旧的智能手机(已关机),一个加密U盘,一串钥匙,还有……一个巴掌大小、与设备间里那个银白色金属盒子几乎一模一样,但颜色是哑黑色的金属盒!
“他随身带着这个!”李振将证物袋递给陈景明。
陈景明接过,立刻感觉到这个黑色金属盒比之前那个略重,表面有细微的散热孔。他示意旁边待命的排爆专家用便携式扫描仪检查。
“内部有复杂电路和微型储能单元,未检测到爆炸物成分。”排爆专家快速汇报,“但探测到持续的、微弱的电磁信号发射,频率与桥体振动似乎……存在弱关联。”
“关联?”陈景明追问。
“更像是……同步信号,或者反馈信号。不是控制信号。”专家调整着仪器,“盒子像是一个……信号中继器?或者谐振状态的‘传感器’和‘报告器’?”
这时,苏晚晴也快步走来,手里拿着平板电脑,上面显示着从指挥中心传来的最新分析:“技术组反向解析了设备间那台笔记本电脑的部分缓存日志。‘墨滴’……真名赵启,二十七岁,独立网络安全研究员兼自由硬件工程师,有顶级理工院校背景,无固定职业,在黑客圈和极客社区小有名气,以钻研冷门系统漏洞和硬件逆向工程著称。一年前,他的父母在港湾大桥上一场因车辆失控引发的连环车祸中丧生。”
陈景明心中一动。父母死于大桥车祸……这就是动机?但仅仅因为一场车祸,就策划如此庞大复杂的复仇?
“车祸调查报告呢?”他立刻问。
“正在调取!但从初步信息看,当年事故调查结论是意外,肇事货车司机疲劳驾驶。但赵启似乎一直不接受这个结论,曾在网络社区匿名发表过质疑,认为大桥当时的智能交通引导系统可能存在误导,但声音很快被淹没。”苏晚晴快速说道。
智能交通系统误导?陈景明联想到之前“墨滴”展现出的、对城市交通系统的深刻理解和操控能力。如果他认为父母的死与系统缺陷或人为干预有关……
“陈顾问!”大桥安全中心的技术人员声音突然变得惊恐,“振动幅度在缓慢但持续地增加!虽然离危险阈值还很远,但增长趋势没有停止!更麻烦的是,振动频率开始出现极其微小的……偏移!从2.300赫兹,向2.298赫兹漂移!”
频率漂移?陈景明虽然不是结构专家,但也知道,对于大型柔性结构,强迫振动的频率如果接近甚至等于结构的某一阶固有频率,就会引发灾难性的共振!而频率的微小漂移,意味着这个“强迫振动源”本身的性质可能不稳定,或者在主动调整!
“必须找到并关闭那个振源!”陈景明对着所有通讯频道喊道,“工程人员,重点排查东侧主跨三分点附近的所有桥体结构、附属设施、管线通道!任何可能隐藏振动装置的地方!对方可能利用了维护设备、检测仪器,甚至自己设计了微型装置!”
大量的工程人员和警员开始对指定区域进行地毯式物理排查。时间在令人焦虑的震颤中一分一秒过去。
陈景明则走向已被押解到桥面安全区域、靠在一辆警车旁的赵启(墨滴)。两名警员严密看守着他。
赵启抬起头,看着走来的陈景明,脸上那丝古怪的笑容依旧未散,眼神清明,甚至带着一种学者探讨问题时的平静。
“振动开始了。”陈景明没有废话,开门见山,“你父母的事,我很遗憾。但这不是你拉上整座桥、甚至整个城市陪葬的理由。”
赵启微微歪了歪头,语气平淡:“陪葬?不,你错了,陈顾问。我只是在……敲钟。”
“敲钟?”
“为那些被忽视的漏洞,被掩盖的过失,被数字假象麻痹的感官……敲响警钟。”赵启的声音不高,却清晰地在风中传递,“我父母死于一场‘意外’。但真的是意外吗?那天的交通流量模型被临时调整过,肇事货车司机收到的导航提示晚了两秒,桥面湿滑监测数据在事故前有半分钟的异常空白……所有这些,分散在不同系统里,看起来都是微不足道的‘噪声’。但当它们巧合地叠加在一起,就成了一枚致命的子弹。”
他顿了顿,目光投向远处微微震颤的钢索:“没有人关心这些‘噪声’。系统供应商推诿是‘偶发错误’,管理部门强调‘总体安全’。我提交的分析报告石沉大海。法律帮不了我,技术报告没人细看。我能做的,就是用更响的‘声音’,让所有人不得不听。”
“所以你策划了这一切?从渗透系统到制造全城混乱,再到这座桥?”陈景明问。
“我只是做了一个演示。”赵启纠正道,“演示现代城市是如何建立在脆弱的数字沙堡之上。演示那些被你们视为‘冗余’和‘安全’的系统,是如何可以被轻易地干扰和误导。演示当无数个微小的‘正确’叠加在一起,如何导向一个巨大的‘错误’。”
他看向陈景明,眼中闪过一丝狂热:“至于这座桥……它是我父母最后停留的地方,也是这个城市盲目信任技术的象征。我要在这里,用最物理的方式,证明数字的‘错误’可以转化为现实的‘震颤’。这不是破坏,这是……教育。”
“用可能造成数百人伤亡的风险来‘教育’?”李振在一旁忍不住怒道。
“风险是可控的。”赵启的语气依然平静,仿佛在陈述一个实验参数,“我计算的振动能量级,远低于结构疲劳极限。它只会让人感到不安,让仪器报警,让你们手忙脚乱,但不会真的塌陷。我要的是恐惧,是关注,不是毁灭。真正的毁灭……是继续麻木下去。”
这时,工程排查队传来紧急汇报:“陈顾问!在东侧主缆第三和第四索股之间的检修夹层内,发现异常装置!不是传统爆炸物!是……是六个经过改装的高功率工业级线性振动马达!被巧妙地固定在索股防护套内部,利用索股自身传导振动!电源和控制系统……似乎是通过桥体内部的备用光纤线路远程供电和控制的!我们正在尝试物理拆除!”
线性振动马达!远程控制!原来如此!“墨滴”是利用了桥体自身的结构作为振动传导媒介,用多个马达同步工作,在特定位置激发特定频率的强迫振动!
“能拆除吗?”陈景明急问。
“马达安装位置极其刁钻,强行拆除可能需要切割部分防护套,而且不清楚是否有防拆触发机制!建议先找到并切断控制源和电源!”
控制源……陈景明看向赵启:“控制终端在哪里?除了那台笔记本和盒子!”
赵启笑了笑,没有直接回答,而是说:“控制早已移交。当倒计时归零,‘敲击’程序就会自主运行,根据预设的算法和实时反馈的环境数据(比如风速、温度,我从桥体其他未被屏蔽的传感器也能获取一些),微调振动参数,力求达到最‘显著’且‘安全’的警示效果。你们切断现在的控制链路也没用,程序在本地设备上有备份逻辑。除非……”
“除非什么?”
“除非你们能输入正确的‘终止码’。”赵启淡淡道,“或者,物理破坏所有振动装置。但后者,有风险。”
“终止码是什么?”陈景明追问。
“是另一个问题的答案。”赵启看向陈景明手中那个黑色的金属盒,“这个盒子,不仅仅是传感器。它也是验证器。当它检测到特定的‘环境状态序列’——比如,特定模式的电磁环境静默、特定频率的声波照射,或者……特定物理密钥的接触——并与预设的‘答案’匹配时,就会向振动装置发送休眠指令。”
又是谜题!陈景明看着手中的黑色盒子,感受到它散发出的微弱热量和几乎不可闻的嗡鸣。
“环境状态序列?物理密钥?”苏晚晴敏锐地抓住关键词,“你之前留下的线索,那些混乱的钟表机芯、金字塔图……最终都指向这个?”
“金字塔的基石被污染,时间秩序被打乱,最终在塔尖(大桥)交汇,产生现实的‘震颤’。”赵启像个老师在总结课程,“而要终止这一切,需要从被污染的‘基石’中,提炼出最初的‘纯真’,并用它来校准塔尖的‘时钟’。至于‘纯真’是什么……钥匙,一直在你们手里。或者说,在‘时间’手里。”
他说得云山雾罩,但陈景明却听出了一些端倪。污染的基石(NTP等基础服务),被打乱的时间(时序攻击),最终的震颤(大桥振动)。而要终止,需要从被污染的“基石”中,找到最初的、未被污染的“状态”,并用它来“校准”。
最初的“状态”……是指那些基础服务未被攻击前的原始配置?标准时间?基准坐标?根证书的初始状态?
但如何“提炼”?又如何用这个盒子“校准”?
“他是在拖延时间!”李振低声对陈景明说,“振动还在持续!工程师说虽然增长缓慢,但放任不管,长时间也可能对结构连接部位造成累积损伤,或者引发其他不可预知的动力响应!”
陈景明何尝不知。他看着赵启那副有恃无恐、仿佛置身事外的模样,知道直接逼问终止码希望渺茫。这个对手和陆秋白不同,陆秋白追求戏剧性和观众反馈,而赵启更像一个孤高的实验者,只在乎实验过程和数据结果,甚至可能将警方的挫败也视为实验成功的一部分。
他必须另辟蹊径。
“赵启,”陈景明突然换了一种语气,不再是审讯,而是带着一丝探究,“你说你是在‘敲钟’,为了让人们关注系统漏洞。那你认为,你演示的这些漏洞,根源是什么?是技术缺陷,还是人的问题?”
赵启似乎没料到陈景明会问这个,他推了推眼镜,思考了几秒,认真回答:“都是,也都不是。根源在于‘复杂度’。系统越来越复杂,模块越来越多,交互越来越频繁,但理解和掌控它们的人却越来越局限于局部。没有人能看到全局,没有人能理解所有模块在极端情况下的耦合效应。所谓的‘安全’,不过是建立在‘小概率事件不会同时发生’的脆弱假设上。我父母的悲剧,还有我制造的这些‘混乱’,都是这种‘复杂度失控’的必然产物。”
“所以你的解决方案,就是用更复杂的攻击,来揭示这种复杂度的危险?”陈景明反问,“这难道不是火上浇油?”
“不。”赵启摇头,“我的解决方案,是恐惧。只有足够的恐惧,才能迫使掌权者、设计者、使用者,重新投入资源,去真正地理解、梳理和加固这些系统。去建立真正有效的全局监控和应急熔断机制。疼痛,是最好的老师。”
“即使这疼痛可能误伤无辜?”
“在系统性的溃败面前,个体的疼痛是统计学上的代价。”赵启的语气冷漠得令人心寒,“况且,我已经将风险控制在最低。比起未来可能因同样漏洞而发生的、真正不可控的灾难,今天的‘演示’成本,微不足道。”
谈话陷入了僵局。赵启的逻辑自成一体,偏执却坚固。他把自己当成了给城市治病的“庸医”,用的却是“以毒攻毒”、“先破后立”的极端手段。
就在这时,指挥中心传来新的消息:“陈顾问!我们分析了赵启那台老旧手机的离线缓存数据,发现他最近频繁访问一个加密云盘,云盘里存储了大量关于港湾大桥结构动力特性、历年维护记录、传感器布局的详细资料,还有……一份他自己编写的、极其复杂的‘结构动力响应模拟程序’!程序日志显示,他在过去72小时内,多次远程调整过模拟参数,输入了包括实时风速、温度在内的大量环境数据!”
“模拟程序……”陈景明看向赵启,“你在模拟大桥的振动响应?你那个‘终止码’,或者说让盒子验证的‘环境状态序列’,是不是就藏在你模拟程序预设的某个‘安全阈值’或‘理想状态’参数里?”
赵启的眼神微微闪烁了一下,没有说话,但那一丝细微的变化被陈景明捕捉到了。
猜对了方向!
“技术组!”陈景明立刻对着耳麦说,“重点分析他那份模拟程序!寻找所有预设的输入参数、边界条件、尤其是涉及‘振动稳定’、‘能量消散’、‘最优阻尼’相关的阈值或目标函数!把这些参数,转化为可能的环境信号特征或物理密钥特征!”
同时,他举起那个黑色金属盒,对旁边的技术人员说:“全面检测这个盒子所有可能的感应器类型!光敏?声敏?磁敏?温敏?甚至是……特定频率的机械振动感应?它到底在‘听’什么,或者在‘等’什么信号!”
双管齐下。一边从赵启的理论模型(模拟程序)中寻找“答案”的可能形式,一边从物理设备(黑盒子)上寻找验证“答案”的方式。
大桥的震颤仍在持续,如同一个沉默而固执的敲击者,用它独有的频率,拷问着这座城市的数字神经,也拷问着在场每一个人的智慧和决断。
陈景明知道,他们必须赶在振动引发更严重后果,或者赵启预设的某个“升级程序”启动之前,解开这个由偏执天才设下的、关乎物理安全的数字谜题。
时间,在震颤中悄然流逝。每一秒,都像敲打在结构钢梁上的重锤,也敲打在众人的心头。