5. 代码与鲜血

艾伦回到公寓时,天还没亮。

他不知道自己是怎么从东南工业区走回东区的。那十几公里的路在他的记忆里是一片空白,只有零星的画面碎片——一座高架桥下蜷缩的流浪汉,一只翻倒的垃圾桶,一盏忽明忽暗的路灯。他的双腿机械地交替移动,像两个与他大脑失去连接的独立部件。等他回过神来,人已经站在公寓楼下,抬头看着五楼那扇漆黑的窗户。

上楼,开门,关门。他背靠着门板滑坐在地板上,膝盖抵着胸口。

隔壁房间的电视正在播放早间新闻。隔着墙,主持人的声音模糊但清晰可辨:“今晨,普雷斯科特会计师事务所高级合伙人克莱夫·巴罗在位于香柏山社区的住所内不幸遇难,初步调查显示事故原因与住宅智能灌溉系统突发故障有关。相关部门已介入调查……”

艾伦把脸埋进手掌里。昨天夜里站在便利店门口抽烟时的那种冷硬的愤怒已经消失了,取而代之的是一种更深、更黏稠的东西,像原油一样灌满了他的胸腔。

他想吐。

他冲进卫生间,跪在马桶前干呕了很久,什么都吐不出来。他昨晚没有吃任何东西。胃里只有酸液和咖啡因。

天亮之后,艾伦做了一个决定。

他要去找一个人。

在格罗夫纳银行的六年里,艾伦认识不少技术部门的人。其中有一个叫德里克·钟的网络安全工程师,是艾伦在公司里为数不多可以称之为朋友的人。德里克比艾伦早三年入职,负责维护交易系统的防火墙和安全协议。他个子矮小,戴一副圆框眼镜,说话语速极快,喜欢在午休时间一个人躲在机房角落里玩复古掌机游戏。艾伦和他最初的交集是某次系统崩溃——交易大厅所有终端同时蓝屏,整个部门乱成一锅粥,德里克用四十分钟找出故障原因并修复了漏洞。艾伦事后请他喝了一杯咖啡,两人就这样认识了。

艾伦被解雇那天,德里克是唯一一个私下给他发消息的同事。消息很短,只有一行字:“我知道你是对的。保重。”

之后两人再也没有联系过。

艾伦花了一上午的时间在网络上搜索德里克·钟的近况。德里克在艾伦被解雇后不久也离开了格罗夫纳银行——确切地说,他是被“优化”掉的,和艾伦的遭遇如出一辙。现在的德里克在一家名叫“涅墨西斯网络安全咨询”的小公司担任技术总监,办公室设在卡斯特城西区一栋老旧写字楼的四楼。

艾伦拨通了涅墨西斯公司的前台电话。接电话的就是德里克本人——小公司,没有前台。

“我是艾伦·克劳斯。”

电话那头沉默了三秒。然后德里克的声音响起来,带着明显的惊讶,但不是负面的。“艾伦?两年了。你在哪?”

“东区。能见一面吗?”

“今天下午,来我办公室。”

下午两点,艾伦推开了涅墨西斯公司那扇贴着“来访请按铃”标牌却根本没装门铃的玻璃门。办公室比他想象中更乱——服务器机架和路由器堆在角落,几台拆开的台式机主机横七竖八地摊在长桌上,空气中飘着焊锡和咖啡混合的味道。德里克从一堆线缆中站起来,走过来拍了拍艾伦的肩膀。他比两年前胖了一些,但那双圆框眼镜后面的眼睛还是和以前一样机敏。

“你看起来糟透了。”德里克开门见山。

“谢谢。”艾伦找了个没有被电子垃圾占据的椅子坐下。

“我不是在开玩笑。你的眼白全是血丝,嘴唇发白,衣领三天没洗。你是来找我借钱的?”

“不是。”

“那你要什么?”

艾伦深吸一口气,把他从收到暗网邮件到昨晚污水处理厂的全部经历讲了一遍。他几乎没有停顿,像一个终于找到出口的泄洪闸。德里克坐在他对面,双手交叉放在桌上,全程没有打断。唯一的变化是他脸上的表情从“老友叙旧”逐渐转变为一种艾伦从未见过的严肃。

艾伦讲完之后,办公室陷入了长达两分钟的沉默。

“你把芯片带来了吗?”德里克终于开口。

“扔了。扔进了排水沟。”

德里克点点头,仿佛这个回答完全在他意料之中。“你记得芯片的型号吗?任何细节。”

艾伦闭上眼睛回忆。“低功耗物联网传输模块,体积大概指甲盖大小,有一根外置天线比头发丝还细。我记得它的封装上印着一个公司标志——一个三角形,里面有个X。”

“艾克塞特物联网解决方案公司。”德里克说出这个名字时几乎没有任何犹豫。“三角形加X是他们的Logo。我在格罗夫纳银行的时候接触过他们的产品,银行的温湿度监控传感器就是他们供应的。”

“卡戎也是这么说的。”

“卡戎?”

“就是那个——论坛上的那个人。我昨晚在厢式货车里见到了她。她是个女人,三十出头,浅灰色眼睛,深棕色短发。她让我叫她卡戎。”

德里克把身子往后靠,椅子发出嘎吱的响声。他拿起桌上一支拆开的电容笔在手指间转动,那是他思考时的老习惯。“她有没有告诉你,她是怎么入侵这些系统的?”

“她提到过艾克塞特设备固件里的后门。还有供电系统的远程管理端口,水务管理局的增压阀阈值。具体的她没说太多。”艾伦顿了顿。“她的入侵方式不是重点,德里克。重点是,我已经……”

“你已经提供了两个人的信息,而这直接导致了两个人的死亡。我知道。我刚才听到你说这些的时候差点把椅子扶手捏断了。但这恰恰说明你必须回去。”

“什么意思?”

德里克把电容笔放下,站起来走到窗口。窗外是卡斯特城西区灰蒙蒙的天际线,几座废弃的纺织厂烟囱矗立在远处。“她让你去污水处理厂,让你坐在她旁边看着整个过程,不只是为了欣赏你的道德挣扎。她是在给你制造陷阱。你在那个封闭的空间里目睹了克莱夫·巴罗的死,没有任何人能证明你当时没有和她合谋。从法律上讲,从你走进那辆货车的那一刻起,你就已经不再是证人,而是同谋了。”

“我知道。”艾伦的声音很轻。

“更重要的是——”德里克转过身,直视艾伦的眼睛。“她需要你的不只是信息。克莱夫·巴罗的地址她自己也能查到。香柏山社区的供水系统漏洞她也能独立发现。她真正的目标是把你变成一个符号。”

“什么符号?”

“一个曾经的举报人、金融欺诈的揭露者、被体制抛弃的人,最终拿起武器对抗体制本身。”德里克的语气越来越凝重。“你在她编造的叙事里扮演的是一个被压迫者的复仇者。她需要的是你的故事,不是你的信息。你的经历是她在这个论坛上招募更多人的宣传材料。你仔细想想,她是不是一直在用你的全名称呼你?”

艾伦愣住了。

克劳斯先生。这是你的第一次点击。你现在的选择是。从始至终,卡戎没有用过他的网名,每一次都用他的真名。即使在匿名论坛上,他的身份也被刻意地不断提及。仿佛她希望他不要忘记自己是谁。或者说,希望他记住自己不可能再回到那个匿名的保护色里去。

“所以我应该怎么办?”

“让我们找找她的故事。”德里克坐回电脑前,打开浏览器,在搜索框里输入了几个关键词。“你说她告诉你,当年在格罗夫纳银行,有人比你更早发现了贷款池的问题,并且为此付出了代价?”

“对。她说那个人是个女人。”

德里克的手指在键盘上飞速移动。大约过了二十分钟,他停下来了。“艾伦,你知道格罗夫纳银行在你被解雇之前的那一年,技术部门发生过一次重大事故吗?”

“不知道。”

“因为那次事故从来没有被正式报道过。我在银行的时候听技术部的老同事私下聊过——某次内部安全审计中,一名安全工程师发现了一套未经授权的物联网设备监控脚本,那些脚本部署在全行十二个数据中心的所有温湿度传感器上。换句话说,有人入侵了银行内部的物联网传感器网络。这不是一个外来攻击,而是内部人员干的。那个内部人员的目标,不是金融数据,而是传感器数据。”

“为什么?传感器数据有什么价值?”

“在普通黑客眼里没有价值。”德里克把屏幕转过来让艾伦看。屏幕上是一份被截断的内部备忘录,发件人一栏被隐去了名字,但标题清晰可见——关于艾克塞特设备底层固件异常行为的风险提示。“但如果有人想要控制物理世界,传感器就是第一道门户。你的那位卡戎提到的那个后门,很可能就是在这次审计中被发现的那批问题。”

“那个内部人员呢?那个发现异常脚本的工程师?”

德里克沉默了一下。“她的名字叫莉娜·埃文斯。安全工程部高级分析师,二十三岁,麻省理工学院计算机科学硕士。入职格罗夫纳银行十一个月。在提交风险提示备忘录之后的第四天,她被发现死在自己的公寓里。死因是煤气泄漏。”

艾伦感到一阵电流从脊椎蔓延到四肢。

“煤气泄漏。”他重复了一遍这个词。

“没有调查。没有新闻报道。警方的结论是一次意外事故,因为她住在卡斯特城老城区,那里的燃气管网已经运行了四十年,管道老化引发泄漏的事故时有发生。她的家人接受了保险公司的赔偿,没有任何质疑。”德里克盯着屏幕,声音变得很低。“但考虑到我们现在掌握的信息——一个刚刚揭露了某些不该被揭露的东西的年轻工程师,住在一栋四十年的老楼里,死于燃气管道故障。你觉得这听起来像什么?”

艾伦的瞳孔猛地收缩。他当然知道这听起来像什么。这听起来和过去一周里发生的两次死亡一模一样。无凶手的凶杀。无痕迹的谋杀。没有凶手,没有凶器,只有一段被修改过的数据,和一栋建筑里某个在正确时间释放了正确量燃气的管道。

“卡戎和莉娜·埃文斯是什么关系?”艾伦问。

“我不知道。”德里克说。“但从时间线上看,莉娜·埃文斯死于两年前的九月。你在十一月提交举报材料并被解雇。你的论坛账号恰好是在两年前被人准备好的。你觉得这是巧合吗?”

艾伦没有说话。

窗外开始下雨。细密的雨点打在写字楼的窗户上,把卡斯特城西区的天际线晕染成一片模糊的灰色。德里克从一堆文件下面翻出一部一次性手机递给艾伦。“从现在起,你不要再用你自己的手机和她联系。这部手机是干净的,预装了加密通信软件。如果你需要我帮你分析任何数据,用这部手机打给我。”

艾伦接过手机,站起来。走到门口时,他停下脚步回头看着德里克。“你为什么要帮我?两年没联系,我一出现就是带着两个死人的故事来找你。你完全可以把门关上。”

德里克没有抬头,手指继续在键盘上敲打着。“因为两年前我什么都没做。我发了一条‘保重’的短信,然后回到了我的服务器机房里,假装一切正常。你以为只有你一个人在心里藏着东西活了两年的吗?”

艾伦不知道该说什么。他拉开门,走进走廊。楼道的日光灯发出低沉的嗡鸣,和东区公寓里那盏坏掉的日光灯一模一样。

回到公寓时已经是傍晚。艾伦没有开灯,坐在黑暗里,打开德里克给他的那部一次性手机。他输入了莉娜·埃文斯的名字,按下搜索键。

搜索结果很少。她的社交媒体账号在两年多前停止更新。最后一篇公开帖子是两年前的九月三日,也就是她死前四天。帖子里没有文字,只有一张照片——一杯咖啡放在窗台上,窗外是卡斯特城老城区的红砖建筑群。照片的滤镜是暖色调的,配了一行简短说明:“加班后的早晨。世界看起来很不一样。”

艾伦反复看着这张照片。他在研究窗外的景物,试图辨识出某个地标,任何一个能让他找到线索的细节。然后他忽然看到了。

窗玻璃反射出的画面里,有一个模糊的人影。

那个人影站在拍照者的身后,穿着深蓝色的工作夹克,手里似乎拿着一台笔记本电脑。照片的反光很暗,看不清脸。但艾伦认出了那件夹克的轮廓。

和昨夜厢式货车里卡戎穿的那件一模一样。

艾伦关掉屏幕,闭上眼睛。黑暗里,他感到自己正站在一个巨大的漩涡边缘。水面下的引力正在无声地增强,拖着他的脚踝,把他往深渊的方向一寸一寸地拉。

他口袋里的另外一部手机震了一下。

那部没有交给警方、也没有交给德里克的旧手机。他用的那个匿名账号,甚至没有在德里克面前承认过。

屏幕上弹出一条来自“冥河渡手”的私信。

“看来你已经听说了莉娜的故事。明天晚上,论坛上会有一次公开讨论。主题是如何让一座城市的供电和供水系统同时瘫痪。你不需要发言。你只需要在在线列表上出现。有新人需要看到你。”

艾伦看着这条消息,手指悬在屏幕上方。

他想起德里克说的那句话——她需要的是你的故事。

他的拇指按下了回复键。“好。”

消息发送。这一次,他的手没有颤抖。

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

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