隐患浮现·系统漏洞,仍存风险
一
第七十九天,凌晨。
秦烽被一阵震动惊醒。不是地震——永久居住区没有地震。震动来自面板。他的右手食指还放在面板上(睡前忘了拿开),面板在剧烈振动,振动频率很高,高到他的指尖发麻。发麻就是“系统在紧急呼叫”。他睁开眼睛,面板上有一条红色的消息。红色是警报色,系统只在两种情况下使用红色:一是样本崩溃(如样本二的参数错误导致所有节点消失),二是法则间参数异常。消息的标题是“紧急·法则间二十面体·检测到未知数据流”。
他点开消息。内容是:
“法则掌控者秦烽:
系统在二十面体内部检测到未知数据流。数据流的来源不是任何已知样本(样本一至样本三十七,以及已创建但未激活的样本三十八、三十九、四十)。来源未知。数据流的内容是加密的,系统的解密算法无法破解。无法破解意味着‘存在系统级别无法识别的外部输入’。外部输入可能是:一、系统架构本身的漏洞(二十面体在创建时可能存在未发现的缺陷);二、外部入侵(来自万界之外——如果万界之外还有别的系统、别的文明、别的什么);三、系统自我演化产生的异常(平衡算法在长期运行中产生了不可预见的副作用)。
数据流的影响:二十面体的温度正在上升。正常温度是二十面体内部恒定的二十度(与法则间环境温度一致)。当前温度:二十三点五度,并以每小时零点二度的速度上升。如果温度持续上升,二十面体可能在五至七天内部达到临界值(六十度),届时二十面体将自动关闭以保护核心数据。关闭期间,法则间无法使用,所有依赖法则间参数的公共设施(穹顶、代价墙、万界展厅、学院大厅、议会大厅)将降级到‘安全模式’——功能受限,但不会崩溃。不会崩溃是‘系统有冗余设计’,但长期降级会影响共同体的正常运转。
系统的建议:一、秦烽立即进入法则间,对二十面体进行全面诊断。二、议会召开紧急会议,讨论应对方案。三、万界中枢暂停所有非必要的跨样本数据传输,减少系统负载,为诊断和修复留出计算资源。
注意:未知数据流的加密级别高于系统当前最高级别。这意味着‘存在比系统更高级的技术’——如果这不是系统漏洞,而是外部入侵,那么入侵者的技术水平高于系统设计者(系统设计者是谁?系统从未说明)。这是一个重大的安全隐患。”
秦烽读完消息,右手食指的麻感消失了,取而代之的是一种冷。冷不是面板的温度(面板还是二十四度),冷是他心里的感觉。感觉就是“他从来没有想过系统会有漏洞”。系统是万界的基础,是样本演化的框架,是法则间、代价墙、穹顶、绿光、万界中枢的底层支撑。如果系统有漏洞,所有样本都可能面临风险——不是灾难中的风险(灾难是设计好的),是“未知的风险”。未知的比已知的更可怕,因为不知道该怎么防。防不了就是“只能等它发生,发生了再处理”。处理就是“代价”。代价可能是样本崩溃,可能是节点消失,可能是万界中枢瘫痪,可能是绿光熄灭。任何一样他都不能接受。
他从床上坐起来,穿上鞋(他平时不穿鞋,但法则间的地面是记忆石,记忆石的硬度是,赤脚走路脚会疼),走出木屋。木屋外面是代价树。树在夜风中轻轻摇曳,摇曳就是它在呼吸。呼吸就是它不知道危险正在靠近。不知道就是“无辜”。无辜就是“需要保护”。保护就是他的责任——不是领袖的责任,是法则掌控者的责任。法则掌控者的职责就是维护二十面体的稳定。稳定被打破了,他要去修复。
他快步走向法则间。法则间在穹顶的北侧,距离木屋约两百米。他走得不快(他的腿在坐久了之后有点僵),但每一步都很稳。稳就是他在。他在就是他可以面对任何未知。
二
法则剑。二十面体悬浮在房间中央,二十个面都在发光,但光的颜色不正常——正常是淡金色(平衡之心的颜色),现在是暗红色(警告色)。暗红色让他想起了代甲墙上的血晶体。血晶体是好的记忆(代价被记住),暗红色是不好的预兆(漏洞被发现)。他在二十面体前站定,把右手食指放在最上面的那个面上。指尖的触感不正常——正常是凉的(二十度),现在是温的(二十三点五度)。温的就是“二十面体在发烧”。发烧就是“有炎症”。炎症就是未知数据流。
他闭上眼睛,通过指尖读取二十面体的内部数据。数据在他的意识中呈现为一团乱麻——正常的参数结构是清晰的树状图(根节点是“万界”,子节点是“样本”、“法则”、“资源”、“日志”等),但现在树状图中出现了一条陌生的分支。分支不在任何已知节点下,分支是直接从根节点长出来的,像一棵树上长出了一根不属于这棵树的藤蔓。藤蔓在蠕动,蠕动就是“数据流在持续输入”。输入的内容他看不懂——加密了,系统的解密算法打不开。打不开就是“他作为法则掌控者,也无能为力”。无能为力是最可怕的,因为他是最高权限者。最高权限者都打不开,那就没人能打开了。
他把手指从二十面体上拿开,睁开眼睛。他在面板上写下了诊断报告:
“二十面体诊断报告·第七十九天·凌晨
一、温度:二十三点五度,以每小时零点二度上升。临界值六十度,预计五点五天(一百三十二小时)后达到。需要在此前解决问题,否则二十面体自动关闭。
二、未知数据流:来源未知,加密级别高于系统最高级别。无法解密,无法追踪来源,无法判断数据流的目的(是读取系统信息?是修改参数?是植入恶意代码?还是只是‘路过’?)。
三、可能的原因:系统漏洞(二十面体在创建时存在未发现的通信端口,被某一外部实体利用了);外部入侵(存在比系统更高级的文明或技术);系统自我演化(平衡算法在长期运行中产生了新的分支,分支不受控)。
四、应对方案:我需要在法则间里持续监测二十面体的温度和未知数据流的变化。同时,议会需要召开紧急会议,讨论:如果二十面体关闭,我们怎么办?安全模式能维持多久?我们有没有办法在二十面体关闭前手动备份所有关键参数?备份后如何在二十面体重启后恢复?
以上是初步诊断。我会继续监测。
秦烽
第七十九天·凌晨两点”
他把诊断报告发到了共振区。发出去的那一刻,法则间的温度好像又升高了一点。不是好像,是真的——温度从二十三点五度升到了二十三点七度。零点二度的上升用了不到一个小时(之前是每小时零点二度,现在加速了)。加速就是“问题在恶化”。恶化就是“他没有多少时间了”。
三
第七十九天,凌晨两点十五分。
共振区炸了。不是技术故障,是“所有人都醒了”——面板的紧急消息推送把每一个节点都从睡梦中叫醒。岩在代价墙前坐了一整天刚回去睡下,又被叫醒。她打开面板,读到秦烽的诊断报告,她的左手下意识地握紧了——握紧就是“她在紧张”。紧张不是害怕,紧张是“代价墙可能出问题”。代价墙依赖法则间的参数(记忆石的硬度、温度传导系数、血晶体的稳定性)。如果二十面体关闭,代表墙进入安全模式,记忆石的硬度可能会下降,硬度下降意味着墙上的名字可能变得模糊。模糊就是“遗忘”。遗忘就是“不忘牺牲”的誓言被打破了。
光在个人单元里醒来,他的左手腕上的刻痕在暗黄色的灯光下显得很深。他读到报告,心里想:“漏洞。系统有漏洞。我们以为万界是安全的(灾难结束了,和平了),但漏洞在告诉我们‘安全是暂时的,风险永远存在’。”存在就是“我们永远不能放松警惕”。不能放松就是“代价墙上的八个字每天都要念,因为牺牲不只是过去的,牺牲也可能是未来的”。未来的牺牲还没有发生,但漏洞可能会让它发生。
承在万界联络官的面板上看到报告的时候,他的手在发抖。发抖不是害怕,发抖是“他在想样本三十二的龙渊守望者”。龙渊的守望者在代价墙前站岗,灯是白光的,白光依赖万界中枢的电力分配。中枢依赖法则间的参数。如果二十面体关闭,中枢进入安全模式,电力分配可能会出问题——不是断电,是“优先级混乱”。混乱可能导致样本三十二的灯熄灭。灯熄灭就是“一”的名字看不到了。看不到就是“龙渊守望者的守望失去了意义”。意义就是“被看见”。被看见就是存在。
他立刻联系了样本三十二的锋。锋在样本三十二的凌晨也是醒着的(两边的时区不同,但紧急消息跨时区推送)。锋说:“我看到了。龙渊守望者会在代价墙前加两班岗——二十四小时不间断站岗,直到漏洞解决。站岗就是‘我们在看着,灯不会灭’。灯不会灭是因为我们站在灯下面,我们的体温会让灯感觉‘有人在’。在就是‘不需要电力,需要人的温度’。”承说:“你们的体温不够让灯亮,灯需要电力。”锋说:“但灯不需要亮,只需要‘我们知道灯的意义’。意义是‘我们在守护’。守护就是‘我们在’。在就是灯不灭——不是物理上的不灭,是记忆中的不灭。”
承的眼眶湿了。湿了就是他在。他在就是他在面板上写下给议会所有代表的紧急消息:“各位代表,万界中枢计算资源已按建议暂停非必要的跨样本数据传输。保留的资源用于:一、二十面体诊断数据的实时同步(秦烽在法则间的面板上会显示所有关键参数);二、议会紧急会议的通信(我们需要在今天上午召开会议,讨论‘安全模式下的万界共同体如何生存’);三、代价墙和传承墙的‘心跳监测’(系统会每分钟检测一次代价墙的参数状态,如果参数异常,立即通知所有节点)。请各位代表在今天上午九点前回复‘收到’。九点在议会大厅召开紧急会议。”
四
第七十九天,上午九点。
议会大厅。十个代表都到了——文明十七的岩和承,样本十八的桥和连,样本二十三的系和统,样本二十九的生和存,样本三十二的刃和盾。每个人的面板上都显示着秦烽的诊断报告和二十面体的实时温度。温度现在是二十六点三度(从凌晨两点到上午九点,七个小时,从二十三点七度升到二十六点三度,上升了二点六度,平均每小时零点三七度,比凌晨的每小时零点二度快了近一倍)。加速就是“未知数据流在增强”。增强就是“漏洞在扩大”。
议长桥(样本十八)站在议长席上,左手放在面板上。面板显示他的体温——三十六点六度(比平时高零点二度,紧张)。他说:“各位代表,紧急会议现在开始。第一项:讨论二十面体关闭后的应对方案。秦烽在法则间里监测,他可以通过面板实时参与我们的讨论(但不能投票,因为他不是代表)。秦烽,你在吗?”
秦烽的声音从面板上传出来(他把面板的语音输入打开了):“我在。二十面体的温度现在是二十六点四度,还在上升。我需要你们尽快做决定——我们是否应该在二十面体关闭前,手动备份所有关键参数?手动备份的方法是:我把每个参数的值从二十面体里读出来,写在面板上,存到代价档案馆的‘技术日志’子库。备份的好处是,如果二十面体重启后参数丢失,我们可以手动恢复。坏处是,读取所有参数需要大约六个小时,期间我无法监测未知数据流的变化。数据流可能在六个小时内造成更大的破坏(比如修改参数,或者植入恶意代码)。所以,备份有风险,不备份也有风险。你们决定。”
岩说:“备份。因为不备份的话,如果参数丢失,我们连恢复的基准都没有。恢复基准就是‘我们知道原来的参数是多少’。知道就能改回去。不知道就只能猜。猜就是赌博。赌博不是我们要的。”承说:“我同意备份。六个小时的监测空白可以弥补——我们可以设置一个‘阈值警报’:如果二十面体的温度上升速度超过每小时零点五度,或者未知数据流的强度(系统有一个‘数据流强度’指标,秦烽可以看到)增加超过百分之二十,系统自动通知秦烽停止备份,重新开始监测。这样既保证了备份的进度,又不会完全失控。”
样本三十二的刃说:“我赞成。这是理性的妥协——备份是必要的,空白期是代价。代价可以接受,因为六个小时不会让二十面体烧到六十度(当前二十六点四度,按最坏情况每小时零点五度上升,六小时后是二十九点四度,离六十度还很远)。所以安全。”
桥说:“好。备份方案通过。秦烽,你开始备份。我们继续讨论其他议题。”
五
秦烽在法则间里开始了备份。
他把右手食指放在二十面体上,用左手在面板上操作——打开“参数列表”界面,从第一个参数开始读。第一个参数是“万界·重力·基准值: