港城网络安全署的服务器机房永远像一座冰窖。周思危把外套拉链拉到下巴,盯着眼前三块拼接屏幕上滚动的日志流,右手无意识地转着一支早已没水的签字笔。他已经连续看了六个小时,瞳孔开始发涩,那些十六进制的编码却像烧红的铁钉一样往脑子里钻。
案子是下午三点转到技术侦查科的。分类标签打得简短而模糊——“其它案”,连正式的刑事案件编号都没给。档案袋里只装了一张教育部信息中心发来的协查函,措辞客气而克制,大意是说他们在季度安全审计中发现,全国教师信息管理系统在过去九个月里遭到多次非法读取,泄露的数据涉及约一万二千名在职教师的个人档案。没有勒索,没有后续攻击,干净得像一阵穿堂风,吹过就散了。
副署长魏海平把档案拍在周思危桌上时只说了一句:“去看看怎么回事,搞清楚数据流向了哪里,三天内给我初步报告。”
周思危当时点了点头,心里却觉得不对劲。他干网络安全这行八年,见过太多数据泄露的案子——要么图财,要么图名,要么是政治诉求裹着黑客主义的皮。但一个悄无声息地、持续九个月只读不写的入侵者,就像一双手在暗夜里反复抚摸一扇门,却从未推开。这种耐心让他脊背发凉。
他开始拉取教育部那头服务器上的访问日志。入侵者的手法并不花哨,甚至可以说老派——他们利用了一个早在二零二三年就被公开披露的WebLogic中间件漏洞,打了补丁前的窗口期钻进去的。一旦进入内网,就开始有规律地查询数据库,频率不高,每周两到三次,每次拉取几百条记录,像一个人在图书馆里慢慢翻卡片目录。
“有意思。”周思危自言自语。他注意到那些查询语句里包含的字段很不寻常。通常的数据窃贼会盯着身份证号、银行账户、联系方式这些可以变现的信息。但这家伙要的东西完全不同——他查的是每一名教师的性格测评结果、年度考核评语、住址经纬度、日常通勤路线、甚至还有心理健康普查中填过的睡眠习惯。
这不像一场盗窃,倒像是在挑选什么。
周思危把异常查询的时间节点提取出来,做成时间轴,然后比对纽斯特里亚港城过去九个月的全部非正常死亡案件数据库。他是个相信数据会说话的人,但此刻数据告诉他的故事让他喉头发紧。
六个月前,圣安德鲁国际学校的女教师陈茉被发现溺死在自家浴缸里。法医鉴定是酒后泡澡导致的意外,没有可疑。可周思危在她的离职档案里看到一行不起眼的备注——就在事发前三周,她的教师信息被查询了七次,比任何其他对象都要密集。
三个月前,港城理工学院的讲师方旭从三十七层公寓坠楼。同样是意外,同样在他死后被归档为“无刑事疑点”。而他的名字,在泄露的查询记录里出现过十一次。
周思危关掉对比界面,感到一阵凉意从脚底漫上来。他想起自己读大学时听过的一个犯罪心理学讲座,讲师说,最危险的掠食者不会在夜间突袭,他们会先花几个月甚至几年研究猎物的作息,直到对方在自己眼中变成一本翻烂的书。
技术组的同事江一苇端着两杯咖啡走过来,把其中一杯放在他桌上。“还在啃那个‘其它案’?一个教育部的数据库漏洞而已,至于你这么熬?”
周思危没有接咖啡。他把陈茉和方旭的信息投影到主屏幕上,让江一苇自己看。
江一苇的目光在数据间游移了几秒,脸色变了。“这两人的信息都被异常查询过?”
“不止。我比对过时间戳,每次查询都发生在凌晨两点到四点之间,间隔极其规律。查询者像是在做功课,而且是对着同一个班的‘学生’做功课。”
“你怀疑这两起意外——”
“我现在什么都怀疑。”周思危站起来,活动了一下僵硬的颈椎。“帮我跑一下这些查询指令的源IP,看有没有经过代理跳板。”
半小时后,江一苇带着结果回来了。所有查询都经过了至少三层海外代理清洗,溯源到最后一层时,痕迹消失在一个废弃的云服务器实例上。但在其中一条漏网的HTTP头信息里,江一苇抓到了一段奇怪的user-agent字符串,里面包含了一串无意义的字母数字组合。
周思危把那串字符拆开,用Base64解码,再转换成十六进制,再位移——这是他在追查暗网交易时用过的一套笨办法。当最终结果跳出在屏幕上时,他看到了一串英文单词和一个手机应用市场的链接。
“近情”——一款主打深度匹配的交友软件,号称“用心理学模型为你找到灵魂伴侣”。
周思危的瞳孔收缩了一下。他打开应用商店页面,“近情”的开发商是一家本地初创公司,上线刚满一年,用户量已经突破两百万。他下载了应用,随便注册了一个测试账号。在个人资料填写界面,他看到了一整套让人后背发凉的问卷——包括性格类型、童年经历、依恋风格、甚至还有一道题问你通常几点入睡。
这些维度和泄露的教师信息系统字段高度重合。
“这还不是最绝的。”江一苇的声音从身后传来,他刚才同步在查“近情”的后台技术架构。“他们的匹配算法API有一个隐藏接口,可以接收第三方的结构化数据作为用户画像输入。但这不是公开功能,需要特定的密钥才能调用。”
“也就是说,有人用盗来的教师数据,通过这个接口直接生成了大量精确到毛孔的用户画像,然后用这些画像去钓鱼?”周思危把话说出来的时候,自己都觉得这太荒谬了。但他见过比这更荒谬的数字罪案。
他让江一苇调出“近情”服务器上与那几个异常查询时间对应的匹配请求日志。两人熬到凌晨三点,终于拼出了一张令人窒息的图景。
在陈茉死亡前两个月,有一个男性账号通过精准匹配锁定了她。该账号的资料完美契合陈茉的性格偏好——文艺、细腻、喜欢古典乐、对教育有理想。他们在“近情”上聊了整整六周,对话记录显示,对方对她的生活细节了如指掌,甚至知道她每周三晚上会独自去家附近的红酒店。
陈茉在最后一则消息里说:“你比任何人都了解我。”
然后这个账号就注销了。注销的时间,正是在陈茉意外身亡的第二天。
方旭的故事几乎如出一辙,只是匹配他的那个账号被塑造成了一个崇拜他学术成就、能与他探讨后现代哲学的知性女性。方旭在聊天里写道:“我妻子从来不听我讲这些。”
“这他妈是一台精准的社交处刑机器。”江一苇声音发紧,“可是谁有动机这么做?这些老师互相之间没有交集,社会关系也简单,没得罪过什么人。”
周思危没有回答。他盯着屏幕上那个注销账号留下的空白头像框,感觉像在凝视一口深井。他想起自己今天出门前妻子苏晴跟他说的话——他加班太多,两个人已经快两周没有好好吃一顿晚饭了。苏晴问他什么时候回家,他说不知道。苏晴没再说什么,只是转身回了卧室,那扇门关上的声音很轻,却在他脑子里回响了一整天。
他了解苏晴吗?他知道她最近在看什么书,和什么人来往,失眠的时候在想什么吗?他突然不那么确定。
电脑屏幕右下角弹出一个通知。周思危原以为是系统更新,点开一看,却是一封经过多重加密的匿名邮件。发件地址是一串随机的字符组合,主体内容只有寥寥数行,附件是一个压缩文件。
“周警官,既然你已经看到了陈茉和方旭,不妨再看看我的作品。比起他们身边的人,我对他们的了解,恐怕要深刻得多。”
周思危的手指悬在触摸板上方,停了两秒钟。然后他点开了附件。
里面是两份完整的个人侧写报告。每一份都超过二十页,涵盖了目标的童年创伤、性格弱点、社交圈断层、情绪触发点,以及如何利用这些信息在最短时间内建立深度信任的操作步骤。描述冷静、客观、甚至有几分学术论文般的严谨,末尾还附上了作者的一句评语——
“没有人真正了解自己的枕边人。而我对我的每一个学生,都了如指掌。”
周思危把这句话读了两遍,脊背挺得笔直。窗外港城的夜空已经被城市的灯火染成浑浊的橘色,黎明还远,而他知道自己正在走进一个前所未有的深水区。
他按下内线电话,声音压得很低:“帮我接副署长办公室。不——直接帮我启动重大网络犯罪预警。‘其它案’现在升级了。”
电话那头传来夜班接线员惺忪而困惑的应答。周思危没有解释,他的目光死死锁在屏幕上那个陌生的署名。
署名只有两个字:“教员”。
江一苇在旁边把最后一组数据拉了出来。“近情”平台上,目前仍有大约七十个活跃的匹配请求使用了与泄露数据库一致的画像模板。这意味着,此刻在这座城市的某个角落,或许正有七十个陈茉,浑然不知自己正在被一双藏在代码里的眼睛,一寸一寸地阅读。
章节字数统计中……


暂无评论,来抢沙发吧!