9. 失控的投票

暗网论坛“零号机库”在八月二十日凌晨发生了意料之外的裂变。

最初只有一条投票帖——相泽孝典,有罪还是无罪,投票时长一百二十小时。但在过去四十八小时内,一个匿名用户利用论坛的开放脚本接口,创建了一个名为“利维坦裁决·附属法庭”的子版块,并在这个子版块中一口气发布了十一张新的投票帖。每一张帖子的标题格式都如出一辙:“某某某,HT-7项目关联者,有罪还是无罪?”

十一个名字。九十九朔夜在凌晨三点十五分截获了这份名单。他坐在练马区公寓的三联屏幕前,手指悬在键盘上方,眼睛逐行扫过那些名字。

第一个,天城科技东京水利事业部副总监,宫田正树的直属上司。第二个,天城科技海东国分公司现任总经理。第三个,三浦财阀投资委员会的一名高级分析师——这名字立花羽美曾在三年前的调查档案中见过。第四个,海东国基础设施振兴协会理事长,安熙正。第五个,泰成集团副会长,也就是相泽孝典在电话中交谈的那个人,名叫李秀焕。

剩下六个名字,九十九一个都不认识。他将这些名字逐一输入搜索引擎,得到的身份碎片越来越令人不安:一个是在东京经营小型法律事务所的律师,专攻国际贸易法;一个是海东国仁川市的独立记者,曾写过三篇质疑泰成集团垄断行为的报道;一个是在东京都水利局工作了二十年的中层技术官僚;还有一个——资料最少,只在LinkedIn上有一个简短的档案——是东京一家网络安全公司的初级渗透测试员,去年刚从大学毕业。

九十九盯着最后这个名字,沉默了很久。他想起十年前的自己:同样是从大学刚毕业,同样选择了渗透测试这条路,同样把代码开源到GitHub上,期待能被世界看见。然后他看见了什么?他看见自己的开源框架被别人拿去改造成了武器,他看见一个四十七岁的前神经科学家把杀人包装成民主投票,他看见暗网上的匿名用户用“有罪”和“无罪”来决定活人的生死,仿佛键盘上敲出的不是字,而是一颗颗子弹。

这些匿名者是谁?他们是任何一个人。是那个在地铁上刷手机的上班族,是那个在深夜加班后喝罐装啤酒的中年职员,是那个在社交媒体上转发正义口号的大学生。他们按下“有罪”按钮时,不需要出庭,不需要面对死者家属的眼睛,不需要承担任何诉讼风险。他们只需要一个匿名的ID,一段不会被迫溯的IP地址,以及一种被网络无限放大的道德确信感。

然后算法会替他们扣下扳机。

凌晨四点半,九十九给立花羽美和黑崎冴发了一条紧急消息:“投票系统已经失控。目标从两个核心人物扩大到所有被关联到HT-7项目的人,包括完全无辜的旁观者。我们需要见面。现在。”

一个小时后,三人在文京区监察医务院对面的二十四小时家庭餐厅里坐了下来。窗外仍在飘着细雨,东京的夜晚被路灯染成一片潮湿的橘色。立花带来了韩志元给她的U盘里解析出的最新数据:天城科技内部安全部的访问日志显示,过去七十二小时内,有三次对“设备认证秘钥数据库”的异常访问记录,访问者的IP地址被加密,但访问时间恰好在三张新投票帖发布前的几分钟内。

“矢岛鸦不是一个人在操作。”立花说,“他在使用某种自动化系统,将投票帖的‘裁决对象’与设备秘钥数据库进行实时匹配。每一个被投票认定有罪的人,系统都会自动搜索他们生活或工作中所接触的天城科技智能设备——家里的智能电表、办公室的照明控制、车间的供应链管理系统——然后选择最不易被察觉的攻击路径。”

“就像奥村彰人。”黑崎说,“他家别墅的断路器,被精准地只跳了三个回路,恰好引导他走进配电室,恰好让电流沿着迷走神经传导而不伤及心脏。这是手术级别的谋杀。”

九十九一直在低头操作平板,这时抬头说:“我刚才试了一件事。在附属法庭创建的那个子版块里,我发现投票系统有一个可以逆向利用的漏洞:零知识证明验证机制对同一IP段内的请求存在延迟容忍。如果我能在同一秒内模拟超过五十个不同的匿名身份发送‘否决’投票,系统会因为验证拥塞而暂时跳过该条投票,等待下一个验证窗口。这个窗口可以为人争取时间——也许不是很久,但足够让某个被列为目标的人从死亡名单上暂时消失。”

“你能做到吗?”立花问。

“做到是能做到。但这是违法的。”九十九露出了这几天来的第一个笑容,那笑容很淡,像刀锋上的一线反光,“不过这好像已经是我们所有人目前最次要的担忧。”

他开始在平板上编写攻击脚本。手指在屏幕上快速移动,一行行代码被键入、测试、修改、再测试。他的注意力完全沉浸到了屏幕里,周围餐厅里杯碟碰撞的声音、店员收银的电子提示音、冰箱压缩机运转的低鸣——所有这一切都在他感知的边界之外。

十年前,他在GitHub上发布“Karasu”渗透框架时,附了一行简短的简介。那句话他至今记得,因为他曾反复斟酌过每一个字的措辞——“本工具仅供授权的安全测试使用。开发者对任何滥用行为不承担责任。”这句话是他当年为应对法律风险而写的免责声明,也是他十九岁时对世界的信任宣言。他相信工具是中性,相信人会为自己的选择负责。

但十年后的现在,他看着自己写下的攻击脚本——这脚本利用的是同一个框架的变体,对抗的也是同一个框架的变体。十年前他从零开始搭建了这套代码的逻辑结构,现在他要反过来攻击它,用自己的签名去擦除自己的签名。这是一种奇异的对称,也是一个他逃不掉的因果。

黑崎接了一个电话,是曾我部打来的。他听了几分钟后,表情凝固住了。

“有个不好的消息。”他挂断电话后说,“今天凌晨,东京都水利局的一名技术官僚在上班途中遭遇车祸,当场死亡。死者名叫江口敏明,五十六岁。”

九十九猛地低头看向屏幕上的十一人名单。第七行,正是这个名字——东京都水利局中层技术官僚。

“不是车祸。”九十九说,“看这个。”

他将平板转向两人。屏幕上是他刚刚侵入的水利局内部系统日志。江口敏明驾驶的公务车是一辆联网的智能电动车,配备了天城科技提供的车队管理系统。在事故发生前九秒,车辆的动力电池管理系统接收到了一组异常指令——指令要求将所有电池组的输出电流在零点三秒内从百分之二十切换到百分之一百二十。电池保护系统被绕过。车辆在直线道路上突然失去了所有动力,转向助力失效,刹车助力同时失效,而车门电子锁却被锁死在闭合状态。

“他在完全清醒的情况下,”黑崎说,“眼睁睁地看着自己的车撞上了护栏。”

立花站起来,她的手指微微颤抖,但声音仍然控制住了:“这不是审判。这是屠杀。投票帖上的那些人——江口敏明——他到底做了什么?他只是一个在水利局上班的普通公务员。他的‘罪’是什么?是二十年前被分配到了HT-7项目的审批岗位?还是仅仅因为他的名字出现在了某份内部会议纪要的出席名单上?”

九十九没有回答。他快速在平板上切换到一个新窗口,上面显示着他正在追踪的那个附属子版块后台数据。投票系统已经失控了。根本没有人知道这些投票者是谁,根本没有人能核实他们是否了解HT-7项目的真相,也根本没有人能约束他们在按下“有罪”按钮时,是出于正义还是出于某种更黑暗的东西——嫉妒、仇恨、无聊,或者仅仅因为匿名赋予了他们无需承担后果的权利。

他现在明白了矢岛鸦的设计理念——这从来不是为了让正义得以伸张,这是为了证明任何人只要躲在匿名的屏幕后面,都会变成刽子手。矢岛不是法官,他是心理实验者,而整个暗网论坛是他的实验室。

“脚本写好了。”九十九抬起头,“但我需要先找到矢岛鸦本人。脚本只能暂时拖延投票系统的运行,不能彻底关停。只要矢岛还在运行这套算法,他随时可以转移到另一个服务器集群,一切重新开始。”

“他在哪里?”黑崎问。

“我有办法追踪。”九十九打开了一个他一直没给别人看过的程序。那是他在追踪“鸦”登录IP的过程中编写的一个反向渗透工具,利用的正是十年前他自己在Karasu框架中留下的一个极隐蔽的调试后门——一个连矢岛也没删掉的东西。他当时留了这个后门,是为了给自己在紧急情况下提供一个能重新进入系统的捷径。他知道这很讽刺,但他此刻已经顾不上去玩味讽刺了。

“矢岛的物理位置,根据后门回传的数据,就在东京。但他一直在移动——不是人移动,而是他的设备在跳跃式地更换接入点。每十五分钟切换一次,覆盖范围从千代田区到港区到新宿,呈环形分布。”

“是自动驾驶汽车。”黑崎说,“他把自己的设备放在一辆自动驾驶汽车里,让它不断在路上行驶,这样他的物理位置就变得几乎无法追踪。自动驾驶汽车的移动轨迹无法预测,而且只要车辆在行驶,就没有人可以合法地拦停它,除非得到公安部的特殊许可。”

九十九点头。“而且这辆车本身的网联系统也是天城科技的产品。他用天城科技的设备保护自己,用天城科技的秘钥攻击天城科技的客户。所有线索都在绕圈。”

窗外的雨停了。天空开始泛出灰白色,新的一天正从台场方向缓慢地漫过来。餐厅里的早间新闻在播报昨晚的交通事故,播音员的语气平淡而格式化,将江口敏明的死描述为“因路面湿滑导致的单车事故”。

立花将目光从电视屏幕上移开,重新看向那张十一人名单。安熙正。李秀焕。以及其他那些她没有听说过的名字。她忽然意识到,这其中有两个名字的身份她还没有搞清——那两个看似与HT-7项目完全无关的人:一个是专攻国际贸易法的律师,一个是海东国仁川市的独立记者。

“九十九,”她指向那两个名字,“查一下这两个人在过去半年内做过什么。”

九十九快速检索。三十秒后,他的手指停住了。

“那个律师,三个月前代理了一家海东国本土中小企业对天城科技提起的反垄断民事诉讼。案件在海东国首尔中央地方法院立案,目前仍在审理。”

“那个记者呢?”

九十九又查了一遍。这次停顿更久。

“两周前,他在自己的博客上发布了一篇调查报道,标题是——‘独家:天城科技内部人士爆料,HT-7项目投标过程中存在日本与海东国政商界人士的秘密资金输送’。报道中引用了一封匿名信,信件来源的描述是——‘服务器在冰岛的加密邮箱’。”

三个人同时沉默了。

矢岛鸦不是一个人。他有一个信息供给网络。那封寄给公正交易委员会、引发整场反垄断调查的匿名举报信;那封寄给海东国独立记者的爆料信;那些被精确投喂到“零号机库”论坛上的内部文件——所有这些都来自同一个源头。矢岛鸦在收集信息、散布信息、然后利用信息来决定谁该死。

而且名单上的人正在从“有罪者”滑向“知情者”。

立花盯着窗外。雨停了,街道上积水的反光在晨曦中微微发亮。她的手机突然响了一下——来自律师事务所的邮件,内容是她的在线预约系统被一群匿名账号刷屏,留言内容都在重复同一句话:“给垄断者做辩护律师,你也有罪。”

她将手机合上,放进口袋。然后对九十九和黑崎说:“在我当年被叫停的那个案件里,片山局长对我说过一句话。他说,法律有时候跑得比现实慢,你必须在被人打碎之前学会弯腰。”

她停了一下。

“我这三年每天都在后悔当时弯了腰。这一次,我不打算再弯。”

本章评论(0)

暂无评论,来抢沙发吧!

我来评论

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