下一章 上一章 目录 设置
2、第 2 章 叔叔阿姨~ ...
-
花清月是在一家叫“拾光”的咖啡馆里长大的。
当然不是真的长大——她十二岁才第一次喝咖啡,还是偷偷尝了一口母亲杯子里的拿铁,苦得她皱了一整天的眉。但她喜欢“拾光”这个名字,喜欢它开在北邮南门那条老街上,门脸不大,木头的招牌被风吹日晒得泛白,像一本翻旧了的书。
周五晚上,她坐在“拾光”靠窗的位置,面前摊着一台笔记本电脑,旁边放着一杯热拿铁,奶泡上拉了一朵歪歪扭扭的叶子。
“又是你。”老板陈屿端着托盘走过来,三十出头,圆脸,围裙上沾着咖啡渍,“每周五都来,点同一杯,坐同一个位置,你不腻啊?”
“这叫专一。”花清月头也没抬,手指在键盘上敲得飞快。
陈屿把一块提拉米苏放在她电脑旁边:“送你的,看你瘦的,跟个纸片人似的。”
花清月这才抬起头,冲他笑了一下。左眼下方的泪痣随着笑意微微上移,像一颗被点亮的小星星。
“屿哥,你是不是对我有意思?”
陈屿翻了个白眼:“我对你电脑有意思,上次你把它落这儿,我帮你守了仨小时。”
花清月笑着把提拉米苏拖过来,舀了一大勺塞进嘴里,含混不清地说:“谢啦。”
陈屿走了之后,她的笑容慢慢收了起来。
屏幕上,她正在分析一个加密流量包。这是她从暗网论坛上下载的样本——一个被标注为“夜莺”的数据包,来源不明,目的不明,但加密方式是她从未见过的。
这不是标准的SSL/TLS,也不是常见的隧道协议。
这是一个定制化的加密算法,密钥交换方式非常规,像是某人自己写的。
花清月咬住勺子,盯着那一串十六进制数据,眼睛一眨不眨。
她有一个习惯——遇到想不通的问题时,就把所有已知信息在脑子里过一遍,像理一团乱麻,找到线头再抽。
这个“夜莺”数据包,她盯了半个月了。
最早是在暗网一个加密论坛里看到的,发帖人匿名,只说了一句话:“谁能解开这个数据包,我付五十万。”
底下跟了一百多楼,从嘲讽到好奇都有。有人说这是钓鱼,有人说这是个玩笑,有人说这数据包是空的,解开了也什么都没有。
花清月下载了那个数据包。
它不是空的。
它的信息藏在加密层的夹缝里,像有人在墙里砌了一封信,不拆墙就看不到。
但拆墙的钥匙,她还没有找到。
花清月关掉数据分析界面,切回论坛私信。那个给她发“你的代码很漂亮”的陌生ID,没有再发新的消息。
对话框停留在——
[月亮]
[茶杯]
她盯着这两个emoji看了几秒,忽然觉得有点好笑。
一个月亮,一个茶杯。
对方回了茶杯,说明ta看懂了月亮的暗示——夜晚、安静、思考。
或者更直接一点:你也是夜里不睡觉的人。
花清月拿起手机,打开和妈妈的微信对话框,打了一行字:
【妈,你说一个人回消息只回emoji,是什么意思?】
等了半分钟,那边回了:
【说明这个人话少。】
花清月嘴角弯了一下。
【那喜欢用茶杯emoji的人呢?】
【爱喝茶,年纪不小。】
花清月看到“年纪不小”四个字,突然想起那个追踪者——如果对方真的是网警,至少已经工作了好几年。按本科毕业算,最少也得二十五六了。如果是研究生毕业,可能奔三了。
叔叔阿姨?
她想起自己写的那个弹窗,忽然有点心虚。
万一对方没那么老呢?
她又发了一条:【妈,你觉得三十岁算老吗?】
这次对面回得很快:
【你妈我四十八。你说呢?】
花清月笑着把手机扣在桌上,拿起拿铁喝了一口。
咖啡凉了,奶泡塌了一半,那朵歪歪扭扭的叶子已经看不出形状了。
但她没在意。
她的注意力回到屏幕上,重新打开了那个陌生ID的私信对话框。
手指悬在键盘上,停了几秒,然后她打了一行字:
“你是那个追踪我的人。”
不是疑问句,是陈述句。
这次对面回复得很快:
“嗯。”
就一个字。
花清月盯着那个“嗯”字,心跳快了一拍。
她咬了咬嘴唇,继续打字:
“你是网警。”
又是秒回:
“嗯。”
花清月深吸一口气,把手机放在桌上,看着屏幕上的对话框,脑子里飞速转过好几种可能。
对方承认了。
这么直接?
她原本以为对方会否认、会绕圈子、会问她“什么追踪”。结果对方就两个“嗯”,干净利落,像一盆冷水泼下来,没有多余的水花。
这要么是极度自信,要么是极度坦诚。
要么两者都是。
花清月拿起手机,打了一行字:
“你不怕我跑?”
“你跑不了。”
花清月挑了一下眉。
“这么自信?”
“你用了三天遛我,不是为了跑,是为了让我看见你。”
花清月的手指停在屏幕上。
她盯着这行字,喉咙里像被什么东西堵了一下。
不是为了跑,是为了让我看见你。
这个人——
她把手机扣在桌上,仰头靠在椅背上,盯着天花板上的暖黄色灯泡。
陈屿从吧台后面探头看了她一眼:“怎么了?脸这么红?”
“暖气太足了。”花清月说。
“哪儿来的暖气?空调都没开。”
花清月没理他,拿起手机,把那行字又看了一遍,然后关掉了对话框,退出论坛,合上电脑。
她把最后一口凉拿铁喝完,拿起叉子,把提拉米苏吃得干干净净,连盘子底的碎屑都没放过。
然后她背上书包,走到吧台结账。
“屿哥,存十杯拿铁。”
“你这是要包年?”
“心情好。”花清月扫了付款码,转身走了。
陈屿看着她的背影,摇了摇头。
他不知道花清月为什么心情好。
花清月自己也不知道。
她只知道,那个“嗯”字和那行字,让她在走出咖啡馆的时候,脚步比平时轻了那么一点点。
---
周六上午,公安部技术中心。
季寒声坐在办公桌前,面前摊着三份不同的技术报告。
第一份,是“夜莺”案件的初步分析——那个在暗网上兜售公民个人信息的犯罪团伙,最近三个月活动频率激增,技术手段也升级了。他们用了一套全新的加密通信协议,目前网安部门还没有找到破解的方法。
第二份,是Celestine的公开资料分析——137篇论坛帖子,7年时间线,从14岁的“小白”到如今圈内公认的技术大神。这个人没有发过任何涉及违法内容的东西,所有技术分享都在法律允许的范围内。
第三份,是北邮网络空间安全学院的研究生名单。
季寒声用红色签字笔在名单上圈了三个名字。
李思远,男,24岁,研究方向是区块链安全。公开的技术博客显示此人擅长底层协议分析,代码风格严谨、偏理论化。
赵小曼,女,23岁,研究方向是数据隐私保护。发表过两篇中文核心期刊论文,偏学术,实战经验较少。
花清月,女,23岁,研究方向是网络攻防。没有公开发表过论文,但研究生入学考试的机试成绩是全院第一。导师李维庸的评价只有一句话:“这学生不按套路出牌,但结果是对的。”
季寒声的笔尖在“花清月”三个字上停了一下。
她没有圈她。
只是停了一下。
然后她把名单折起来,放进抽屉里,端起茶杯喝了一口。
茶是新泡的岩茶,肉桂的香气辛辣而温暖,在干燥的办公室里散开。
“季姐。”林铮端着一杯速溶咖啡走过来,在她对面坐下,压低了声音,“我昨晚查了那个论坛私信的来源,对方用的加密协议我没见过,但数据包的TTL值显示,源服务器在北京。”
“我知道。”
“你知道?”
“发消息的人是我。”
林铮的咖啡差点洒了:“什么?!”
季寒声抬起眼皮看了他一眼,表情没有任何变化。
“我用的备用账号。”
“你——你用备用账号给Celestine发私信?”林铮的声音拔高了半度,又迅速压下去,“你疯了吗?万一被她反向追踪,你的身份——”
“她追踪不到的。”季寒声的语气平淡得像在说今天天气不错,“我用的那层加密协议,是我自己写的。”
林铮张了张嘴,又闭上了。
他认识季寒声三年了,早就习惯了她这种“我做了件疯狂的事但我说得好像去超市买了瓶酱油”的风格。
“那你发私信跟她说了什么?”
“夸她代码写得好。”
林铮沉默了几秒:“然后呢?”
“然后她回了我一个月亮。”
“月亮?”
“嗯。”
“什么意思?”
季寒声放下茶杯,靠在椅背上,目光落在窗外的银杏树上。叶子已经快掉光了,剩下几片枯黄的在风里打转。
“不知道。”她说。
但她想了一整夜。
月亮。
Celeste。
Celestine的词根就是“天空”、“天堂”,和月亮属于同一个意象系统。
用月亮作为回复,可能只是巧合。
也可能不是。
季寒声把这份猜测压在心底,没有对任何人说。
“周组长那边怎么说?”她换了个话题。
“周组长说,‘夜莺’案的线索太少,上面催得紧,让我们想办法撬开一个口子。”林铮翻开笔记本,“目前掌握的信息是,这个团伙在暗网上经营了至少两年,交易的公民信息量级至少在百万以上。他们的技术负责人代号‘K’,没人见过真人,所有通信都通过那套加密协议。”
“Celestine复制的那份数据包里有什么?”
“初步分析显示,是‘夜莺’团伙最近三个月的一部分交易记录,但不完整。”林铮说,“Celestine只复制走了关键的部分,留给我们的是一些边缘数据。”
季寒声的手指在桌面上轻轻敲了两下。
“她不是随机复制的。”
“什么意思?”
“那份数据包总共有2.3G,她用了整整三天才完成复制。”季寒声说,“如果只是为了截胡,她完全可以在第一晚就完成。但她没有,她花了三天,每天只复制一小部分。”
林铮的眼睛瞪大了:“你是说她在筛选?”
“她在挑她感兴趣的部分。”
季寒声打开电脑,调出那份被她标记为“边缘数据”的文件,指着一串代码说:“你看这里,她留给我们的不是垃圾数据,而是‘夜莺’团伙的通信协议框架——但去掉了核心的密钥交换部分。”
“她把最有价值的部分拿走了。”
“对。”
“那她拿走了什么?”
季寒声的鼠标在屏幕上划过,停在几行被加密过的字段上。
“我不知道。”她说,“但我知道一件事。”
“什么?”
“Celestine对‘夜莺’案感兴趣。”
林铮挠了挠头:“你确定?她可能就是觉得好玩,顺手截个胡。”
“不是顺手。”季寒声说,“那三天里,她每天凌晨两点到四点之间在线。每次复制数据的时间都在四十分钟到一小时之间,正好是一个渗透测试周期的长度。”
“你的意思是——”
“她的作息、技术习惯、选择数据的偏好,都指向同一种可能。”季寒声顿了顿,“她是认真的。”
办公室的门被敲了两下,周正安探进半个身子。
“季寒声,你出来一下。”
季寒声站起来,跟着周正安走到走廊尽头。
周正安五十多岁,头发花白,圆脸上总带着笑,但此刻那笑里多了点别的意思。
“你的协查申请,上面批了。”他说。
“这么快?”
“我跟上面说,我们不是要抓人,是想找技术顾问。”周正安拍了拍她的肩膀,“‘夜莺’案的技术复杂度你也知道,我们缺一个能跟对方‘对话’的人。如果Celestine真的只是个学生,没有违法记录,可以作为特聘技术顾问引入。”
季寒声沉默了几秒。
“你想让我去接触她。”
“下周北邮有个网络安全讲座,主讲人是公安大学的一位教授。”周正安说,“你去听听。”
“我不是去听讲座的。”
“你不是去听讲座的。”周正安笑了,“你是去找人的。”
季寒声没有说话。
周正安看着她,忽然说了一句:“寒声,你跟了我几年了?”
“八年。”
“八年来,你第一次主动申请技术协查找一个人。”周正安的语气轻描淡写,但目光里带着审视,“这个Celestine,有什么特别的?”
季寒声站在走廊的窗前,十一月的阳光苍白地落下来,照在她脸上,那张骨相清冷的脸像一幅淡墨的画。
“她的代码写得好看。”她说。
周正安等了几秒。
“就这?”
“还有。”季寒声的目光落在窗外光秃秃的银杏树上,“她加了一个波浪号。”
周正安愣了一下,然后笑了。
“行,波浪号。”他摇了摇头,“你去吧,下周二的讲座,我帮你请好假了。”
季寒声点了点头,转身回了办公室。
她走得很慢,皮鞋踩在水磨石地面上,发出有节奏的声响。
走廊很长,阳光从这一头照到那一头,她的影子被拉得很长很长。
走到办公室门口的时候,她的手机震了一下。
她掏出来看了一眼。
是论坛私信的提示。
Celestine发来的新消息。
只有一句话:
“你为什么叫自己‘喝茶的人’?”
季寒声看着这条消息,站在办公室门口,一动不动地站了大约五秒钟。
然后她推门进去,坐在工位上,端起已经凉了的茶杯,喝了一口。
她打字回复:
“因为茶凉了的时候,涩味最重。”
对面秒回:
“所以呢?”
“所以要在凉之前喝完。”
对面沉默了一分钟。
然后发来一条消息:
“你说话像在写诗。”
季寒声的手指在键盘上停了一下。
她打了三个字:
“你也是。”
发完之后,她端起茶杯,把杯底最后一点凉透的茶汤喝干净。
涩味在舌尖散开,苦而回甘。
窗外,银杏树的最后一片叶子落了。