龙胆科技地下三层,数据安全监控中心。
凌晨两点,整层楼只剩下服务器散热风扇的低鸣,还有键盘敲击的密集声响。姚厚朴盯着十二块并排的显示屏,眼睛布满血丝。屏幕上的数据流像瀑布一样倾泻而下,每一条都可能隐藏着那个内鬼的踪迹。
“第七十三次尝试。”
他在心里默数,指尖在控制台游走,如同外科医生在剥离粘连的组织。防火墙日志、访问记录、内部通讯截点、甚至员工出入闸机的刷卡时间——所有数据被切分成纳米级的片段,在自研的“溯源算法”中重组、比对、交叉验证。
九天了。
从“星链”项目测试数据泄露,龙胆草紧急成立调查组那天起,姚厚朴就没有离开过这间监控中心。行军床支在角落,外卖盒子堆成小山,***和尼古丁是他维持清醒的唯一燃料。
“老姚,去睡会儿。”姚浮萍推开玻璃门走进来,手里提着两袋热粥,“你这样熬,鬼没抓到,自己先倒了。”
姚厚朴没回头:“蜜罐有动静吗?”
“暂时没有。”姚浮萍把粥放在控制台边缘,拖了把椅子坐下,“对方很谨慎,上次试探之后就再也没碰过。要么是识破了,要么……在等更好的时机。”
“更好的时机。”姚厚朴冷笑,“项目上线前三天,合作方临阵撤资,股价跌了七个点,这还不算好时机?”
他调出一份访问记录,放大:“看这个。数据泄露前七十二小时,有十七个账号在非工作时间访问过核心服务器。其中十三个是研发部的常规操作,两个是运维部的定期巡检,剩下这两个——”
光标停在两个高亮的名字上。
林晚(实习生,研发部)
张弛(高级工程师,产品部)
“林晚的访问集中在晚上九点到十一点,理由都是‘代码备份’。”姚浮萍皱眉,“一个实习生,每天加班到这个点?”
“曹辛夷查过考勤记录,林晚入职以来,平均下班时间是晚上十点四十七分。”姚厚朴调出另一份数据,“理由是‘基础不牢,想多学点’。”
“太刻意了。”姚浮萍摇头,“但如果是内鬼,会不会太明显?”
“也许就是利用这种心理——越明显,越不像。”姚厚朴点击张弛的记录,“再看这个老油条。访问时间分散,理由五花八门:测试环境搭建、性能压力评估、用户数据抽样……每个理由都成立,每个时间点都‘恰好’有人证明他在工位上。”
他顿了顿,声音压低:
“但问题就在这儿——太完美了。完美得像提前排练过。”
姚浮萍沉默片刻:“九里香那边怎么说?”
“心理评估报告昨天出来了。”姚厚朴调出一份加密文件,“林晚:内向敏感,防御性强,对权威既敬畏又抗拒。原生家庭复杂,父母离异,母亲再婚,有个同母异父的弟弟——荆棘科技那个产品经理,查过了,是她弟弟的教父。”
“教父?”姚浮萍挑眉,“这么老派的词。”
“所以九里香的结论是:林晚有被胁迫的可能,但动机不明确。她建议重点观察‘应激反应’。”
“张弛呢?”
“老员工,八年工龄,技术扎实但晋升缓慢。去年竞聘技术总监失败,对姚浮萍——不,是对整个管理层——有怨气。”姚厚朴揉了揉太阳穴,“九里香标记了他的离职风险等级是‘高危’,但人力部一直压着没处理,因为他是‘星链’项目的早期核心成员,手上有不少专利。”
“专利……”姚浮萍若有所思,“如果数据泄露,专利价值会打折扣,但如果是卖给竞争对手……”
“能拿到一笔可观的‘技术咨询费’。”姚厚朴接话,“而且神不知鬼不觉。”
兄弟俩对视一眼,都从对方眼中看到了同一个判断:张弛的嫌疑,比林晚大。
但直觉告诉姚厚朴,事情没这么简单。
“浮萍,”他忽然问,“如果你是内鬼,在知道自己被怀疑的情况下,会怎么做?”
“蛰伏,或者……转移视线。”
“怎么转移?”
姚浮萍沉吟:“制造一个更明显的嫌疑目标。”
姚厚朴调出那份匿名举报信——举报张弛与外部通讯的记录。
“这封信,是数据泄露后第二天早上,用公司内网匿名系统发到龙胆草邮箱的。”他说,“发送时间凌晨四点十二分,IP地址经过三次跳转,最终定位在……研发部公共休息区的访客终端。”
“访客终端?”姚浮萍皱眉,“谁凌晨四点去休息区?”
“监控显示,那天凌晨四点零五分,林晚从工位起身,去了休息区。理由是‘泡咖啡’。”姚厚朴调出监控录像。
画面中,林晚穿着宽松的卫衣,头发有些凌乱,端着马克杯走向咖啡机。她在机器前站了三分二十七秒——远超泡一杯咖啡所需的时间。期间她左右张望了两次,右手始终插在卫衣口袋里。
“她在操作终端。”姚浮萍肯定地说。
“但问题来了。”姚厚朴放大画面,“你看她的手。”
画面定格在林晚抽出右手的瞬间。卫衣口袋里,隐约能看到一个长方形轮廓——是手机。
“她用手机连接了终端?”姚浮萍恍然大悟,“所以终端上没有她的直接操作记录,只有匿名系统的发送日志。”
“聪明。”姚厚朴靠回椅背,“如果是她举报张弛,动机是什么?自保?还是……栽赃?”
“如果是栽赃,说明她知道张弛有问题。”姚浮萍思索,“但如果她是内鬼,为什么要举报同伙?内讧?”
“除非——”姚厚朴眼神一凛,“张弛不是她的同伙,而是她要清除的障碍。”
监控中心陷入沉默。
服务器风扇的声音突然变得格外清晰。
“厚朴,”姚浮萍忽然说,“你有没有想过,可能不止一个内鬼?”
姚厚朴手指一顿。
“荆棘科技要的是‘星链’的核心算法,光有测试数据不够。”姚浮萍调出项目结构图,“算法分三部分:姚厚朴的基础框架,我的应用层适配,还有龙胆草亲自写的核心加密模块。这三部分,分别保存在三个独立的物理服务器,访问权限只有我们三个人。”
她指着图上的连接线:
“但测试数据泄露,说明有人拿到了‘应用层适配’的模拟环境权限。这个人,要么能破解我的防火墙——可能性极低;要么……有我的授权。”
姚厚朴猛地看向她:“你是说——”
“我的授权密钥,上周更新过一次。”姚浮萍声音干涩,“更新记录显示,操作时间是上周三晚上八点,从我的办公室终端发起。但那天晚上,我在和海外合作方开视频会议,从七点到十点,全程在线。”
“有人盗用了你的权限。”
“不是盗用。”姚浮萍调出另一份日志,“是复制。对方用了一个很古老的漏洞——通过物理接触终端,在系统启动时植入后门程序,然后伪装成我的身份进行密钥更新。这个操作,必须在终端重启的三十秒内完成。”
“所以这个人,必须有你的办公室门禁权限,还能在你不在的时候进去,并且有足够的技术能力完成植入。”姚厚朴逐条分析,“符合条件的人……”
“全公司不超过五个。”姚浮萍苦笑,“我、你、龙胆草、曹辛夷,还有——”
她顿了顿:“行政部有所有办公室的****,但需要三级以上授权才能调用。上周三的调用记录里,有张弛的名字。理由:姚浮萍办公室的空调报修。”
姚厚朴感觉后背发凉。
一环扣一环。林晚、张弛、权限、钥匙、时机……所有线索都指向一个精心设计的局。
但太顺了。
顺得像有人故意把这些线索摆在他面前。
“等等。”他忽然想到什么,“张弛为什么要用自己的名字调用****?他干了八年,不会不知道这种操作会留记录。”
“除非……”姚浮萍和他同时想到那个可能,“他故意留下记录。”
“为什么?”
“为了被怀疑。”姚浮萍站起来,在控制台前来回踱步,“如果他真是内鬼,应该尽可能抹去痕迹。但他没有——他留下了钥匙调用记录,留下了非正常访问记录,甚至在泄露发生前三天,还在公司内部论坛发过牢骚,说‘干八年不如新人三个月’。”
她转过身,眼睛亮得吓人:
“厚朴,他在扮演‘内鬼’。”
“扮演?”姚厚朴皱眉,“给谁看?”
“给真正的内鬼看。”姚浮萍一字一句,“有人要找一个替罪羊,张弛察觉了,所以故意露出破绽,让对方以为他是个合适的‘目标’。然后……”
“然后等对方动手时,反戈一击。”姚厚朴接上,“但对方棋高一着,先一步把他举报了。”
兄弟俩同时看向屏幕上林晚的名字。
如果是这样,那个看似笨拙的实习生,心思深得可怕。
“但这些都只是推测。”姚厚朴揉了揉眉心,“没有实证。”
“那就找实证。”姚浮萍坐回控制台前,“从林晚入手。她举报张弛,转移了视线,但自己也暴露了——她必须确认张弛‘有问题’,才能放心举报。所以,她一定和张弛有过接触。”
“查通讯记录?”
“不,那太明显。”姚浮萍调出公司内部通讯软件的日志,“看这个。上周二下午三点,林晚在研发部内部群里问了一个关于‘数据缓存同步’的问题。五分钟后,张弛在同一个群里回复,建议她‘参考星链项目的异步处理方案’。”
她放大那几句话:
林晚:@所有人 请问多节点数据缓存同步,怎么避免脏读?
张弛:@林晚 建议看看星链项目的异步处理,技术文档在内部服务器/project/star_chain/async,路径权限已开。
“表面上是正常的答疑。”姚浮萍说,“但你看张弛回复的时间——下午三点零五分。那个时间,他应该在产品部的需求评审会上。”
姚厚朴调出会议记录:产品部需求评审,下午两点到四点,张弛是主讲人。
“他不在会场?”
“在,但有十分钟的‘茶歇时间’,刚好是三点到三点十分。”姚浮萍冷笑,“茶歇时间,不去茶水间,却躲在会议室角落里用手机回群消息——而且回的是技术细节。”
她敲击键盘,调出那天的网络流量监控:
“三点零五分,张弛的手机确实有一条数据上传记录,但目的地址不是公司服务器,而是一个境外代理IP。三点零六分,这个代理IP向林晚的手机发送了一条加密数据包。”
“他们在用群聊做掩护,传递加密信息。”姚厚朴明白了。
“对,而且很高明——把真正的密文藏在技术讨论里,就算被监控到,也能解释为‘工作交流’。”姚浮萍开始解密那个数据包,“给我点时间,这个加密方式……有点眼熟。”
姚厚朴看着她手指翻飞,忽然想起很多年前。
那时他们还在大学,姚浮萍是计算机系的天才少女,他是跟在她身后的弟弟。有一次她参加全国黑客大赛,对手用了某种罕见的混合加密,她熬了三个通宵,最后在比赛结束前五分钟破解成功。
领奖时她说:“世上没有完美的加密,只有还没被理解的信息。”
“解开了。”姚浮萍的声音把他拉回现实。
屏幕上展开一段对话:
A:鱼已上钩,饵料加量。
B:风险太高,我要三倍。
A:成交。明晚老地方,验货付款。
B:如果被咬,你知道规矩。
A:放心,替死鬼准备好了。
发送时间:上周二下午三点零六分。
发送者IP:境外代理(经三次跳转)。
接收者IP:林晚的手机(公司内网Wi-Fi)。
“鱼是张弛,饵料是‘星链’数据,替死鬼……”姚浮萍看向姚厚朴,“可能是任何一个被怀疑的人。”
“也可能是张弛自己。”姚厚朴盯着那段对话,“他在和荆棘科技交易,但留了后手——如果出事,就推给‘替死鬼’。而林晚……是中间人?”
“或者是监督者。”姚浮萍关掉窗口,“荆棘科技不信任张弛,所以派林晚盯着他。但张弛也不傻,他察觉到了,所以反过来试探林晚。”
她靠在椅背上,长出一口气:
“现在的问题是:我们要不要打草惊蛇?”
姚厚朴没有立刻回答。
他看向监控中心角落里的那个小窗——外面是地下停车场,凌晨的灯光昏暗,偶尔有保安巡逻的手电光晃过。
九天了,他们像在黑暗的迷宫里摸索,终于看到一丝微光。
但这束光,照出的是更复杂的迷宫。
“先不要。”他最终说,“龙胆草那边在布局,我们一动,可能会打乱他的计划。”
“那这些证据……”
“存档,加密,设触发条件。”姚厚朴调出一套自毁程序,“如果我和你在四十八小时内没有同时输入解除密码,所有证据会自动发送到龙胆草、曹辛夷和九里香的私人邮箱。”
姚浮萍愣了一下:“你在防谁?”
“防任何人。”姚厚朴看着她,“包括我们自己。浮萍,这件事牵扯的人,可能比我们想的更多。张弛为什么敢在荆棘科技眼皮底下玩双面游戏?林晚一个实习生,凭什么被委以‘监督者’的重任?还有那个‘替死鬼’,到底是谁?”
他顿了顿,声音压得更低:
“我总感觉,有双眼睛在看着我们。从数据泄露,到调查组成立,到我们查到这些……太顺了。”
姚浮萍背脊发凉。
她想起上周在茶水间,曹辛夷看似无意地说:“浮萍,厚朴一个人在监控中心,你多去看看他。最近……不太平。”
当时她以为只是关心。
现在想来,那话里有话。
“你是说,有人希望我们查到这些?”她问。
“希望我们查到,然后按照他们设计的思路,锁定目标,采取行动。”姚厚朴关掉所有显示屏,只留下角落里一块——那是地下停车场出口的监控画面,“而真正的黑手,躲在暗处,等着收网。”
监控画面上,一辆黑色轿车缓缓驶出停车场。
驾驶座上的人影很模糊,但副驾驶的侧脸,在路灯下一闪而过。
姚厚朴按下暂停,放大。
那是张弛。
副驾驶上,坐着林晚。
两人在交谈,张弛表情激动,林晚低着头,双手紧握。
“他们是一伙的?”姚浮萍愕然。
“或者……”姚厚朴盯着画面,“有人在逼他们成为一伙。”
他调出车辆登记信息:黑色轿车,车牌号******,车主——荆棘科技,子公司名下。
时间戳:昨晚,晚上十一点四十七分。
数据泄露前三十六小时。
姚厚朴和姚浮萍对视一眼,都从对方眼中看到了寒意。
游戏,早就开始了。
而他们,可能只是棋盘上的棋子。
窗外,天边泛起灰白。
新的一天要来了。
但地下的暗战,还在继续。
(番外第八十九章 完