林劫从负四十八层回来之后的第三天,沈易才在他的临时据点里见到了他。
说是据点,其实就是锈带边缘一间废弃的变压器房,四面墙有三面被工业盐腐蚀得掉了皮,第四面干脆是用旧集装箱铁板焊上去的。屋子里一股子机油和电路板助焊剂混在一起的气味,闻久了鼻子会钝。沈易推门进去的时候,林劫正趴在那张用废旧服务器机柜搭成的桌子上,面前摊着三块便携屏幕,每一块上面都密密麻麻开着至少十几个窗口。
“你还活着。”沈易把一塑料袋东西搁在桌上——两桶泡面、一瓶矿泉水、还有半卷电工胶带,“马雄让我来看看你是不是烂在这儿了。”
林劫没抬头,手指还搁在键盘上敲。他瘦了一圈,颧骨比上次见的时候更突了,下巴上冒出一层青灰色胡茬,眼眶不快不慢。沈易认识他那双手——这人只有在脑子完全清醒的时候,手指才这么稳。
“你在弄什么?”沈易把泡面桶撕开,倒了热水,推到林劫手边。
林劫停下手,揉了揉眼睛,然后把中间那块屏幕转过来给沈易看。
屏幕上是一张瀛海市的全息拓扑图,不是普通的交通路网或电力分布,而是龙吟系统的核心节点架构——DNS解析服务器的物理位置、交通信号中央协调器的数据流向、电网分布式控制系统的层级结构,每一处都用红色标记标注了节点间的关联强度。沈易看了大概五秒钟就意识到,这不是入侵路线图,这是打击目标清单。
“你要攻击龙吟系统本身。”沈易的声音压得很低,像是在说一件说出口就收不回来的事。
“不是攻击。”林劫端起泡面喝了一口汤,烫得他眯了下眼睛,“是瘫痪。”
他把屏幕上的拓扑图放大,指着中间那几处被用了三重红圈标注的节点,“公共DNS解析、交通信号协调、电网控制,这三块是龙吟系统面向市民的基础服务层。它们彼此之间用冗余链路连接,正常情况下任何一个节点宕机,都会有备用节点在十五秒内接管,所以之前所有针对单点的攻击都没用。但如果同时打掉这三块的根服务器——不是入侵,是让它们全部过载到主动断开——那备用节点来不及接管,整个系统会在九十秒内出现服务坍塌。”
沈易盯着拓扑图看了半天,拉过一把锈迹斑斑的铁椅子坐下来。“你这个‘如果’有多大把握?”
“技术上七成。但需要同步率——三个根服务器的过载时间窗口不能超过三秒误差,否则备用节点会分批启动,那就等于是帮系统做了压力测试。”林劫又喝了一口汤,“还有物理层面的配合。光靠网络攻击没办法同时打掉电网控制节点,那玩意儿核心控制器在龙穹总部地下十二层,物理隔离的,跟外网不互通。得有人在变电站那边手动过载高压侧的开关柜,制造一个三秒到五秒的电压尖峰,控制器会自动断开保护。”
“物理层面的话,马雄的人能搞。”沈易说,“锈带那帮人别的不会,炸个变电柜还是有一手的。”
“所以我需要叫齐所有人。”林劫把泡面桶放下,用袖口擦了一下嘴,“不是几个人的事。要同时动手的点至少十七个,从数据层到物理层,从锈带边缘到市中心,每个点都得有人盯着。光靠我们俩加马雄那十几号人不够,差远了。”
“你要找墨影。”沈易的语气不是疑问句。
“找他们开会。”林劫关掉拓扑图,打开了一个加密通信频道的界面,“你帮我约。”
墨影组织的联络响应比林劫预想的要快。沈易发出消息后不到四个小时,加密频道里就有了回复——措辞很官方,说组织高层愿意听取林劫的方案,但要求在开会前先提交一份书面纲要。林劫没写纲要,直接回了一句:“书面纲要不要命,当面说。”
对面沉默了一个小时,然后发来一个坐标。
会面地点在锈带与主城区交界处的一栋废弃图书馆,选在下午两点。沈易说选这个时间是因为最近巡捕的无人机巡航表调整了,下午两点到三点之间有一班空档,从锈带穿过去刚好能避开。林劫说你怎么知道的,沈易犹豫了一下,说是从墨影残存的情报网里挖出来的——上次的清洗之后,组织虽然元气大伤,但埋在最底层的几个信息节点还在运转。
图书馆的正门早就塌了,侧面有一扇防火梯通往地下一层。林劫和沈易到的时候,地下已经坐了六个人。三盏便携LED灯挂在翻倒的书架上,白光刺眼,把每个人的影子都拉得又长又硬。
墨影的领袖“先生”坐在正对门的一把旧皮椅上。这人从来不用真面目示人,这次戴的是一副半透明的电子口罩,口罩表面滚动着不断变化的代码流,把下半张脸遮得严严实实。他旁边是副手“博士”——一个戴黑框眼镜的瘦削中年人,林劫记得他,温和派的核心,之前在内部会议上主张渐进式改革。另一边则是激进派的代表,一个光头、脖子上纹着电路板纹身的壮汉,代号“铁芯”——磐石死后,激进派残部被他收拢到了一起。
另外三个是没见过的生面孔,看坐姿和眼神,应该是技术组的骨干。其中一个戴耳钉的年轻女人一直在盯着林劫看,目光不怎么友好。
“人齐了。”先生的声音从电子口罩后面传出来,带着轻微的电流声,“你说你有方案。”
林劫没有寒暄。他把便携终端接上那三盏LED灯的供电接口,用灯光调节的余电驱动了一块简易全息投影。图书馆斑驳的天花板下,瀛海市的系统拓扑图缓缓展开,比沈易刚才看到的版本更详细——每个节点旁边都标注了预估的防御等级、响应时间、以及过载所需的数据洪峰流量。
“我要同时瘫痪龙吟系统的三个根服务层。”林劫直接切入正题,“DNS解析、交通信号、电网控制。三者过载时间差必须控制在三秒以内。同步率由我直接控制,但物理层的配合需要至少十二个行动小组同时在不同地点动手。”
他把攻击时间线投影到拓扑图旁边。时间线精确到秒:T+0秒网络层发起洪峰攻击,T+45秒电网物理节点过载,T+60秒交通信号逻辑炸弹注入,T+90秒全系统服务坍塌。整个攻击窗口只留了不到两分钟的容错空间——任何一环延迟超过二十秒,备用节点就会介入,整个行动失败。
博士第一个开口。他的声音很平,但每个字都带着硬邦邦的边角,“你知道这么做的后果是什么吗?DNS瘫痪意味着全城数字服务停摆,交通信号失灵意味着地面交通混乱,电网波动意味着医院、消防、应急系统全部受影响。你预估过伤亡数字吗?”
“预估过。”林劫说,“比不上龙吟系统每天用信用评分逼死的人数。”
博士的脸色变了。铁芯在旁边发出一声低沉的闷笑,像是一台老旧的柴油机在启动。
“你这是拿全城人命当赌注。”博士站起来,黑框眼镜在LED白光下反着冷光,“墨影成立的初衷是反抗系统的压迫,不是制造无差别的混乱。如果你这么做,跟你反对的那些人有区别吗?”
“有。”林劫的语气没有任何波澜,“我打算在动手前四十八小时,往全城所有公开信息节点上发布预警。告诉市民哪天几点会有大规模服务中断,让他们提前准备。”
会议室里安静了一瞬。那个戴耳钉的女技术员皱起了眉头,“你这不是预警,是宣战。等于是告诉龙吟系统‘我要揍你了’,让他们提前做好防御准备。”
“对。”林劫把投影切换到另一个图层——龙吟系统的应急响应资源分布图,“我要的就是让他们做好防御准备。龙吟系统的安全资源是有限的——自动防御无人机、网域巡捕、清道夫部队,这些都是物理实体,不可能同时在所有地方出现。如果预警让他们进入最高戒备状态,他们的力量会被迫分散到城市各处。到时候我们真正的主攻方向,他们不一定能猜中。”