12. 双面镜

三场模仿攻击在同一个夜晚爆发,像三颗石子同时投入平静的水面,涟漪相互碰撞、叠加,最终汇聚成一股无法阻挡的浪潮。

港口区第四水泵站的爆炸切断了整个东区的供水。三万名居民在凌晨醒来,拧开水龙头只听到管道里空洞的轰鸣声。市中心第二大道的交通事故造成七人受伤,其中一名出租车司机颅骨骨折,被送进圣约瑟夫医院的急诊室时嘴里还在喃喃地问“为什么所有的灯都是绿的”。奥克伍德国际会议中心附近的三号变电站火灾烧毁了四台变压器,导致周边十二个街区陷入黑暗。停电区域恰好覆盖了新维多利亚市最昂贵的住宅区——朱利安·克罗的邻居们。

天亮的时候,整个城市已经变成了另一副模样。

克罗夫特站在港口区水泵站的废墟前,看着消防员用水龙冲刷还在冒烟的管道残骸。爆炸把水泵房的水泥墙壁撕开了一个两米宽的豁口,断裂的管道像被掰断的骨头一样从豁口里伸出来。技术组的鉴定人员穿着白色防护服在废墟里翻找证据,但每个人都知道他们不会找到什么。物理层面的爆炸只是最后一环,真正的凶器是一串从某个匿名代理服务器发出的指令。

他的手机响了。莉娜的声音听起来像是整夜没睡。

“我们对三起攻击的入侵路径做了溯源。三个不同的切入点,三个不同的攻击脚本,三个不同的攻击者。”她顿了一下,似乎在消化自己接下来要说的话,“这三个人彼此不认识。他们唯一的共同点是——都在‘灰色电路’论坛上活跃过,都下载过‘K’发布的漏洞分析帖。其中一个攻击者在发动攻击前两小时,还回复了凯斯宾四年前的一个旧帖子。回复内容只有一句话:‘谢谢你给我勇气。’”

“四年前的帖子。凯斯宾四年前写的东西,被一个陌生人翻出来,当成行动指南。”

“不止这些。从昨晚到现在,‘灰色电路’上关于基础设施漏洞的讨论帖数量激增了百分之四百。以前这类帖子只有技术圈的人在读,现在每条帖子下面都有几百条评论,大量来自注册时间不到三个月的新账号。他们不再讨论技术细节。他们在讨论——‘下一个目标应该是谁’。”

克罗夫特靠在警车门上,揉了揉太阳穴。太阳还没完全升起,东边的天空只是泛着一层病态的灰黄色。港口区的空气里弥漫着焦糊味和海水腥味的混合物。远处,供水局的应急抢修队正在试图绕过水泵站铺设一条临时管道。几个早起的老人在警戒线外围观,手里提着空水桶。

“他把火种撒出去了。”克罗夫特说,“然后退后一步,看着火自己烧。”

“问题是他现在想做什么?模仿攻击爆发的时候,他给你发了那条短信——‘这座城市不需要我了’。如果他真的相信这句话,他可能会彻底消失。或者——”

“或者他会升级。如果模仿者能做的事不够精确,不够有象征意义,不够满足他对‘秩序’的要求,他就会出手纠正。弗罗斯特说过,他有极强的秩序感和洁癖。这些拙劣的模仿——交通事故、供水爆炸、变电站火灾——它们伤及无辜,制造混乱。这恰恰是他最不能容忍的。”

他说这话的时候想起了凯斯宾在电梯攻击中避免触发消防系统的那行代码注释——“此处需注意时间戳偏移量,否则可能误触大楼消防系统,造成非目标人员伤亡。”一个愿意花额外时间确保不伤及无辜的杀手,看到模仿者让出租车司机颅骨骨折的新闻,会有什么反应?

答案几乎在同时出现在他手里那部不属于他的手机上。

屏幕亮起。不是私聊,不是短信。而是一个公开的帖子链接。莉娜同时在自己的屏幕上看到了它——“灰色电路”论坛上刚出现的一个新帖子,发布者ID是“Nemesis”,注册时间三年前,此前从未发过帖。

帖子标题:“致所有的模仿者”。

正文很短。

“你们以为下载一个脚本,找到一个漏洞,按下回车键,就是继承了某人的意志。你们错了。真正的审判需要的是精准,不是混乱。需要的是目标,不是随机。需要的是让有罪的人付出代价,而不是让无辜的出租车司机在病床上问为什么所有的灯都是绿的。昨晚的三场攻击,没有一场配得上‘正义’这个词。它们是懒惰。是无能。是躲在匿名面具后面的懦弱。你们不是涅墨西斯。你们只是找到了一个借口,用来做你们一直想做但不敢做的事。”

莉娜把帖子读完,声音越往后越小。帖子最后一行字像一记冷拳砸在所有阅读者的胃上。

“我将纠正你们。每一个模仿者,都将被同样对待。你们以为匿名性能保护你们?忘了告诉你们——和你们不一样,我知道怎么找人。”

“天哪。”莉娜轻声说,“他要追杀模仿者。”

“他不是要追杀模仿者。”弗罗斯特的声音突然从克罗夫特身后传来,把他吓了一跳。她不知道什么时候到了现场,穿着一件深灰色的大衣,头发被海风吹得有些凌乱,但眼睛里的锐利一如既往。“他是在划清界限。他在告诉所有人——我和他们不一样。他不是混乱的信徒,他是秩序的捍卫者。他的杀戮有标准,有程序,有判决书。当模仿者用他的名义制造混乱的时候,他们威胁到的不仅是公共安全,更是他对自己行为的全部正当性解释。”

“如果他被等同于那些模仿者,他就只是一个恐怖分子。如果他成功地把自己和模仿者区分开,他就仍然是一个‘法官’。”克罗夫特说。

“对。而法官的权威需要被尊重。一旦有人冒用法官的名义做出错误的判决,法官必须惩罚冒名者,以维护法庭的神圣性。这是他的行为逻辑。”

莉娜那边传来快速的键盘声。“他在帖子里说他‘知道怎么找人’。这不是恐吓。他有这个能力——他之前锁定了布莱克伍德、索恩和克罗,每一个都经过了长时间的跟踪和研究。如果他用同样的方法来追踪模仿者,他可能比警方更快找到他们。”

“那三个人现在在哪儿?”

“港口区水泵站的攻击者用了一个位于北区的免费WiFi热点作为跳板,目前没有办法精确定位。交通信号灯的攻击者使用了多级代理,源头指向一个公共图书馆的公用电脑。变电站的攻击者最粗心——他用自己的手机开了热点,IP地址直接绑定到他的移动设备。技术组已经锁定了他的身份。他叫——卢卡斯·皮尔斯,十九岁,计算机科学专业大二学生,在新维多利亚理工学院就读。没有前科。父母住在郊区的布鲁克海文社区。”

“他的地址?”

莉娜犹豫了一下。“已经发给重案组了。他们应该正在路上。但我现在担心的是——如果我们的数据库里有他的地址,凯斯宾也可能已经拿到了。而且他的行动一定比重案组更快。”

克罗夫特把手机切换回那部不属于他的设备。他打了一行字,发给涅墨西斯。

“卢卡斯·皮尔斯只是一个十九岁的孩子。他犯了一个愚蠢的错误,但他不应该为此付出生命的代价。如果你去找他,如果他的父母看到有人闯进他的房间——你就变成了你自己故事里的反派。那个接待员把你扔进垃圾桶的时候,你十九岁吗?”

发送。然后等待。

这一次回复来得很快,快到像是对方早已准备好了这段话,只是在等待被问到。

“我二十三岁。不是十九岁。但我明白你的逻辑——你在试图用我自己的经历来动摇我。这是一个好策略,但不完全对。那个接待员把我赶出市政厅的时候,我是无罪的。我举报的是真相。卢卡斯·皮尔斯入侵了变电站,让十二个街区的病人、老人和孩子失去了生命维持设备所需要的电力。他的行为杀死了无辜的人吗?目前没有。但如果医院的手术室里恰好有一台手术正在进行呢?如果某个依靠家用呼吸机的老人在停电的三十分钟里窒息了呢?他没有考虑这些问题。他只是觉得好玩。或者觉得愤怒。或者觉得他的愤怒比别人的生命安全更重要。他不是我。他是我的反面。”

“所以你认为惩罚他是正确的?”

“我认为让他明白后果是必要的。我不打算杀他。但我会让他记住,躲在屏幕后面并不意味着不用面对任何人。”

克罗夫特的脊椎一阵发凉。他宁愿凯斯宾说要杀他——那样至少是一个明确的、可以被警方防线抵挡的威胁。但“让他记住”这句话太模糊了。它可以意味着任何事情——从入侵他的电脑、公开他的个人信息,到制造某种永久性的、但不致命的物理伤害。而不管凯斯宾打算做什么,他都可能比重案组先到一步。

“莉娜,通知重案组,让他们用最快速度赶到皮尔斯家。我去现场。”

他把警灯放在车顶上,发动引擎,冲出了港口区。车胎在海风带来的潮湿路面上发出尖锐的摩擦声。沿途的交通灯还没完全恢复,几个路口仍然处于手动指挥状态。他看到交通警察在晨光中挥舞着荧光棒,脸上的表情疲惫而麻木,像是在打一场没有敌人的战争。

布鲁克海文社区位于新维多利亚市北郊,是一片安静的中产阶级住宅区。这里的房子都建得很整齐,草坪修剪得一丝不苟,车道上停着小型SUV和皮卡。卢卡斯·皮尔斯的家是一栋白色的两层小楼,门前种着一棵枫树。克罗夫特到达的时候,重案组的车还没到。但他看到了另一辆车——一辆没有任何标识的灰色箱式货车,停在皮尔斯家对面的路边。

他下车,拔出了配枪。

灰色货车里没有人。或者说,它的驾驶座上坐着一个他看不见的人——车窗被遮光膜贴得密不透风。他走近的时候,货车的侧门突然滑动开了。

不是开门。是屏幕亮了。

货车侧面的金属车身是一整块嵌入式高清屏幕,此刻它亮了起来,显示出一行白色的文字。

“你比我预计的快了两分钟。进来。没有武器。没有后援。否则这个社区的每一户居民都会收到一条推送,告诉他们卢卡斯·皮尔斯在哪栋房子里。”

克罗夫特握紧了枪,盯着那行字。然后他把枪放回枪套里,迈步走进了货车。

货车内部被改造成了一个移动的工作空间。四面墙壁上全是屏幕,中央是一把可旋转的工程椅。椅子背对着他。当他走近的时候,椅子转过来——但上面没有坐人。椅面上放着一个平板电脑,电脑屏幕上是实时视频通话的界面。画面里的背景是一片漆黑,只能看到一个模糊的剪影。轮廓看起来像一个坐在桌前的人,但面部的细节全部被暗影吞没,只有键盘背光反射在眼镜片上的两片幽蓝色光斑。

“你没有亲自来。”克罗夫特说。

“你也没有带后援。看来我们都在学习信任对方。”那个变声处理后的声音从平板电脑的扬声器里传出来,比在耳麦里听到的更低沉,更接近一个真实的人的声线,“卢卡斯·皮尔斯现在坐在他二楼的卧室里,正盯着他的手机屏幕。他看到了我的帖子。他知道我在找他。他的双手在发抖。这是他可以学到后果的第一个瞬间。”

“你打算对他做什么?”

“我在等他做出选择。如果他拿起手机,删掉硬盘里所有他下载的脚本和漏洞库,然后用他自己的名字在‘灰色电路’上发一篇道歉帖——解释他为什么错了,以及他意识到了匿名不等于无责——我就会离开。如果他继续躲在键盘后面,假装自己只是一个看热闹的旁观者,那么我会让他明白,屏幕挡不住任何人。”

“你在逼他自首?”

“我在逼他承担。十九岁已经足够大了。我在他这么大的时候正在准备工程师资格考试。他不是孩子。他只是没有被人认真对待过。没有人在他第一次在黑网上发帖的时候问他——你知不知道你在做什么?今晚我就是那个人。”

平板电脑的屏幕突然分成两个画面。左边仍然是那个黑色剪影,右边出现了一个新的实时画面——那是卢卡斯·皮尔斯卧室的监控画面。凯斯宾早已黑进了皮尔斯自己的笔记本电脑摄像头。画面里,一个头发乱糟糟的瘦高男孩正蜷缩在电竞椅上,盯着手机屏幕。他的脸上混合着恐惧、倔强和一种正在逐渐被瓦解的自我辩解。

“你会把这段画面公开吗?”克罗夫特问。

“那取决于他。我对公开羞辱不感兴趣。我只想要结果。”

货车里安静了几秒。克罗夫特看着屏幕上那个十九岁的男孩,想起了另一个画面——十二年前,一个二十三岁的年轻人被保安拖出市政厅的门,推到花坛里。没有人问过他值不值得被认真对待。没有人给他一个选择的机会。

“你刚才说你不打算杀模仿者。”克罗夫特转向屏幕上的剪影,“但你有没有想过,当你把火种撒出去的时候,模仿者就一定会出现?你写了那些漏洞分析帖,你上传了那些技术文档,你在暗网里用‘K’的代号教了整整一代愤怒的人如何把基础设施变成武器。然后你回过头来惩罚那些学了你的课的人?”

剪影没有动。但当他开口的时候,变声器后面的语气里有一种克罗夫特以前从未听到过的东西——不是愤怒,不是冰冷,而是一种很轻很轻的、像是被问到痛处的动摇。

“你以为我没想过这个问题?我写那些帖子的初衷是让安全社区知道漏洞的存在,让他们去修补。我提交了六个CVE编号。我等了四年,等待那些漏洞被修复。你知道那六个漏洞里至今有几个被打上了补丁?”

“几个?”

“两个。另外四个仍然在这座城市的每一个角落里敞开着。奥克伍德塔楼的电梯、蓝湖庄园的泳池、水晶宴会中心的交换机——它们用的就是那些至今无人修补的漏洞。现在你想告诉我——我应该为模仿者负责。也许我应该。但这个系统,那些应该修补漏洞的人,那些拿着纳税人的钱负责公共安全的人——他们有没有为布莱克伍德的死负责?有没有为索恩的死负责?有没有为今晚躺在医院里那个出租车司机的颅骨负责?”

克罗夫特没有回答。

他无法回答。

平板电脑上的画面里,卢卡斯·皮尔斯突然动了。他放下手机,双手捂住了脸。肩膀在颤抖——他在哭。然后他拿起键盘,开始打字。摄像头对着他的脸,也对着他身后那面贴着编程竞赛奖状的墙。

几秒钟后,莉娜的声音从克罗夫特的警用耳麦里传来。“‘灰色电路’上出现了一个新帖子。发布者是卢卡斯·皮尔斯的实名账号。内容——”

“读出来。”

“‘我的名字是卢卡斯·皮尔斯。我今年十九岁。昨晚我入侵了新维多利亚市三号变电站的控制系统,导致了一场火灾和十二个街区的停电。我这么做是因为我愤怒——我对很多事情感到愤怒,但我的愤怒不是借口。我伤害了无辜的人。我躲在匿名ID后面,以为没有人能找到我,以为我的行为不需要承担后果。我错了。匿名不等于不存在。屏幕不等于墙壁。我会向警方自首。我会为我的行为承担一切责任。这篇帖子不删除。它留在这里,作为提醒。’”

货车里安静了很长时间。然后平板电脑上的剪影动了一下,声音传来。

“你看。他做了选择。现在他会被起诉,可能会坐牢。他的前途——那些贴在墙上的编程竞赛奖状——可能永远不会再有机会更新。但至少,他学到了一件事:在网络深处,在那些技术帖子和漏洞脚本之间,有一个成本是被忽略的。那个成本叫后果。大多数人从来不需要学习这个词,因为他们从不做任何需要承担后果的事情。但如果你要动这座城市的血管,你就必须知道——血管里流着真实的人的血。”

“你什么时候学会这个词的?”克罗夫特问,“后果。”

剪影没有回答。通话结束了。货车侧面的屏幕重新变暗,恢复成一片不起眼的灰色金属。街道上,重案组的警车终于鸣着警笛赶到,把皮尔斯家门口围得水泄不通。二楼窗户里,那个十九岁的男孩已经收拾好了一个书包,正在走下楼梯。他的父母站在客厅里,母亲在哭,父亲在试图理解警察嘴里说的那些技术词汇——变电站、入侵、后果。

克罗夫特从货车里走出来,看着那个男孩被戴上手铐。动作很轻,因为他的手上已经没有力气反抗了。在进入警车之前,他回头看了一眼自己的房子,自己的枫树,自己卧室里那面贴着奖状的墙。他的眼睛里有一种东西,和十二年前被拖出市政厅的那个年轻人一模一样。

被认真对待之后的恐惧。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

您的邮箱地址不会被公开。 必填项已用 * 标注