下一章 上一章 目录 设置
7、甲方乙方与蜜罐陷阱 ...
-
系统被入侵后的第四天,丁一的公寓变成了临时网络安全作战中心。
客厅里新增了两块显示屏,一块实时监控着蜜罐系统的状态,另一块滚动着顾仰山过去七十二小时的所有公开数据——从微博互动到外卖订单,从行程安排到便利店消费记录。
顾仰山盘腿坐在地毯上,面前摊着三台笔记本电脑。他戴着一副黑框眼镜(没有镜片,纯粹为了造型),手指在键盘上敲出清脆的节奏,嘴里叼着一根能量棒。
“丁老师,你觉不觉得我们现在的状态很像那种低成本的刑侦剧?”他含糊不清地说,“两个落魄天才联手对抗幕后黑手,在出租屋里吃着泡面,用科技改变命运。”
丁一站在白板前,正在绘制“影子”可能的行为模式图谱:“首先,我的公寓租金是每月两万三,不符合‘落魄’定义。其次,我们昨天吃的是日料外卖,不是泡面。第三,您嘴里那根能量棒售价二十八元,是便利店最贵的款型。”
顾仰山把能量棒吞下去:“丁一,你能不能偶尔不要这么扫兴?”
“我只是在纠正数据偏差。”丁一转身,在白板上画了一个圈,“根据影子过去的行为模式,他喜欢在周五晚上行动——这是他心理舒适区,成功率比平时高14.3%。”
“今天就是周五。”顾仰山看了眼时间,“晚上十一点四十七分。他快来了?”
“概率68.7%。”丁一回到电脑前,调出蜜罐系统的监控界面,“我升级了防火墙,修补了漏洞,但故意留了一个后门——一个伪装成旧版头像管理模块的入口。如果他来,会从这里进来。”
顾仰山凑过来看:“然后呢?”
“然后他会发现自己进入了一个完全仿真的系统环境,看起来和真的一模一样,但实际上所有操作都会被记录、追踪、反向溯源。”丁一调出代码,“我在这里埋了七个追踪器,每个都会发送不同的位置信息给不同的服务器,只要他触发任何一个——”
“你就能找到他。”顾仰山眼睛亮了,
“漂亮。但万一他不来呢?”
“那我们就等到天亮。”□□静地说,“您累了可以先去休息。”
“开玩笑,这么刺激的事情我怎么可能错过。”顾仰山重新坐好,又从背包里掏出两罐咖啡,“喏,你的。无糖,跟你的个性一样寡淡。”
丁一接过咖啡,指尖不经意碰到顾仰山的手指,两人都顿了一下。
“谢谢。”丁一说。
“不客气。”顾仰山收回手,耳朵有点红。
空气突然安静。
只有服务器风扇的嗡嗡声,和窗外偶尔传来的车声。
“那个...”顾仰山清了清嗓子,“你以前经常这样熬夜蹲守吗?”
“有过几次。”丁一打开咖啡罐,“但通常是独自一人。”
“听起来有点孤独。”
“数据工作本来就需要专注。”
“但人也需要同伴。”顾仰山看着他,“哪怕只是陪着熬夜的同伴。”
丁一没有回答。他喝了一口咖啡,苦味在舌尖蔓延。
凌晨一点零三分,蜜罐系统的警报灯第一次闪烁。
顾仰山猛地坐直:“来了?”
“试探性扫描。”丁一盯着屏幕,“他在外围转悠,测试防火墙的反应。很谨慎。”
屏幕上,一条条访问记录快速滚动。有人正在用各种方式轻叩系统的大门——不是暴力破解,而是优雅地、试探性地敲击,像在确认屋里有没有人。
“他发现了后门。”丁一声音压低。
一个红色的光点出现在蜜罐系统的入口处,停留了三秒,然后...消失了。
“走了?”顾仰山问。
“不。”丁一调出另一个监控面板,
“他在测试后门的真实性。看这里——”
另一个光点在系统内部出现,这次是在完全不同的位置。然后第三个,第四个...短短一分钟内,七个虚拟访问点同时出现,从不同方向刺探系统。
“他在用分身战术。”顾仰山皱眉,“这是高级黑客常用的手法,同时模拟多个攻击源,让你分不清哪个是真的。”
“但我知道哪个是真的。”丁一快速敲击键盘,放大其中一个光点的数据流,“这个访问模式里有他特有的签名——每次操作前会有0.1秒的停顿,就像呼吸的节奏。影子有这个习惯,改不掉。”
顾仰山看着他专注的侧脸,突然意识到:丁一可能比他自己更了解这个对手。
屏幕上,真正的光点开始深入系统。它避开了所有明显的陷阱,绕过了丁一设置的假漏洞,精准地朝着...营销号头像数据库移动。
“他还要换头像?”顾仰山哭笑不得,“这次想换成什么?我初中非主流时期的照片?”
“不。”丁一盯着光点的移动轨迹,“他要去的是客户资料库。”
果然,光点在头像数据库前虚晃一枪,突然转向,直奔系统的核心——一个加密的客户信息存储区。
“他想要您的资料。”丁一声音冷了下来,“还有我其他客户的。”
“能拦住吗?”
“不需要拦。”丁一敲下回车键,“让他拿。”
顾仰山愣住:“什么?”
屏幕上,光点顺利“突破”了最后一道防线,进入了资料库。大量数据开始被复制、下载——至少看起来是这样。
“那些是假资料。”丁一解释,“我准备了三个版本:A版是完全虚假的客户名单;B版是半真半假,掺了一些真实但无关紧要的信息;C版...是给他的专属礼物。”
光点下载完毕,开始撤退。整个过程行云流水,用时不到三分钟。
“他走了?”顾仰山问。
“走了。但带走了我的追踪器。”丁一调出世界地图,七个光点开始在全球不同的服务器间跳跃——纽约、伦敦、东京、新加坡、悉尼...
最后,所有光点汇聚到一个位置。
中国,本市,城南科技园区,B栋1702室。
“找到了。”丁一说。
顾仰山看着那个地址,又看看□□静的脸,突然明白了:“你早就知道他在哪?”
“大概知道。但需要确认。”丁一保存了坐标,“现在确认了。”
“那我们现在怎么办?报警?”
“不。”丁一关掉电脑,站起身,“我们去找他。”
凌晨两点十七分,城南科技园区。
园区里大部分办公楼都黑着灯,只有零星几扇窗户还亮着。B栋1702室就是其中之一——从外面看,窗帘拉着,但缝隙里透出显示屏的蓝光。
丁一和顾仰山站在楼下阴影处。
“你确定要上去?”顾仰山问,“万一他有同伙呢?”
“影子从不信任任何人,永远单独行动。”丁一说,“而且,他此刻应该正在得意——以为自己成功窃取了资料,还全身而退。”
“但实际上他拿到的是假资料,还暴露了位置。”
“是的。”
顾仰山看着丁一:“你有没有觉得...我们这样有点过于电影化了?深夜追踪黑客老巢什么的。”
“现实往往比电影更戏剧化。”丁一看了眼电梯,“您可以在车里等我。”
“想都别想。”顾仰山跟上他的脚步,“我可是‘水军司令部荣誉成员’,这种团建活动怎么能缺席。”
电梯上升到十七楼,门开。
走廊很安静,只有应急灯发出绿色的光。1702室的门上贴着“云数据科技有限公司”的牌子,看起来和普通创业公司没什么区别。
丁一按下门铃。
没有回应。
他又按了一次。
门内传来脚步声,然后是门锁转动的声音。门开了一条缝,一个男人的脸出现在门后——三十岁左右,戴眼镜,头发有些凌乱,穿着皱巴巴的格子衬衫。
他看到丁一,愣住了。
“影子。”丁一说,“或者我该叫你...罗瀚?”
罗瀚(影子的真名)表情从惊讶到阴沉,再到一种诡异的平静。他打开门:“进来吧。我猜到你会来,只是没想到这么快。”
办公室不大,大概五十平米,摆满了服务器和电脑。墙上贴着一张世界地图,上面插满了各种颜色的图钉。最显眼的位置,贴着一张打印出来的照片——是丁一和顾仰山在动物园的直播截图,两人正从观察室往外跑。
“所以你们真的在一起了。”罗瀚靠在办公桌上,语气听不出情绪,“我还以为是炒作呢。”
“我们是合作关系。”丁一纠正。
“有区别吗?”罗瀚笑了,“在这个圈子,所有关系最终都会变成利益关系。丁一,你应该比我更懂。”
顾仰山环顾四周:“你就用这个地方黑进了丁一的系统?”
“技术不分场地。”罗瀚耸肩,“而且这里安静,适合思考。”
丁一走到主电脑前,屏幕上还显示着刚刚“窃取”到的假资料:“你下载的这些文件里,有十七个追踪程序,三个反向控制木马,还有一个...小礼物。”
他敲了几下键盘,电脑屏幕突然一黑,然后出现一行字:
“你输了。——水军总司令”
罗瀚盯着那行字,沉默了很久。
然后他突然大笑,笑得前仰后合,笑得眼泪都出来了。
“丁一啊丁一,”他擦着眼角,“你还是老样子。永远留一手,永远比我快一步。”
“你为什么这么做?”丁一问,“如果是为了报复三年前的事,太迟了。”
“报复?”罗瀚止住笑,“不,我只是...无聊。”
他走到窗边,看着外面的城市夜景:“你以为我还在做舆论操控?早就没做了。现在AI水军泛滥,人工水军市场萎缩,连黑公关的单子都少了。我接不到活,只能接点零散的技术委托——比如帮某个艺人黑掉竞争对手的资料,或者帮某个公司清除负面信息。”
他转过身,看着丁一:“但你的生意却越做越好。为什么?因为你有原则?因为你只接‘优化数据’的单子?别搞笑了,丁一。这个行业没有干净的人,我们都在泥潭里打滚。”
“但至少我没把别人拖进泥潭。”丁一说。
“是吗?”罗瀚看向顾仰山,“那他呢?你告诉他你是水军头子,但你有没有告诉他,你曾经帮我一起黑过那个新人演员——就因为她抢了我客户的情人?”
丁一身体僵住了。
顾仰山看向他。
办公室里安静得可怕。
“那是五年前的事。”丁一终于开口,声音干涩,“我刚入行,需要钱。你告诉我那个演员品行不端——”
“然后你就信了。”罗瀚笑了,“你总是这样,丁一。你相信数据,相信逻辑,但你不相信人性有多坏。我给你的那些‘证据’,一半是我伪造的。”
丁一闭上眼睛。
那是他职业生涯最大的污点。他帮罗瀚策划了一场针对那个新人演员的网络暴力,用虚假爆料和伪造聊天记录,让那个演员被全网唾骂,最后退圈。
虽然半年后真相大白,但那个演员的人生已经毁了。
“你从没告诉过我。”丁一低声说。
“因为告诉你,你就不会做了。”罗瀚说,“我需要你的技术,你的严谨,你的...天真。”
顾仰山突然开口:“所以你现在黑丁一的系统,换他的头像,是想提醒他这件事?”
“不。”罗瀚看向顾仰山,眼神复杂,“我是想提醒他——也提醒你。丁一不是什么好人,他只是更擅长伪装。你以为他为什么对你这么‘好’?因为你是他的大客户,因为他需要你的钱。”
丁一想要反驳,但话卡在喉咙里。
因为他确实需要钱。他需要钱维持工作室运转,需要钱资助山区项目,需要钱...生存。
但顾仰山却笑了。
“我知道啊。”他说,语气轻松得像在聊天气,“我知道丁一是水军头子,知道他制造虚假数据,知道他可能做过不光彩的事——但那又怎样?”
罗瀚愣住了。
“这个圈子,谁的手是干净的?”顾仰山继续说,“我买热搜,买水军,立人设,难道就比他高尚吗?我雇他,就是因为他专业,因为他至少诚实地告诉我哪些是假的,哪些是真的。”
他走到丁一身边,和他并肩站着:“至于你说他对我‘好’是因为钱...罗先生,你知道丁一给我开的时薪是多少吗?两万起步。你觉得我付得起几个两万?如果我真是他的大客户,他现在应该把我供起来,而不是天天跟我吵架,说我打乱他的数据模型。”
丁一转头看他。
顾仰山也转过头,对他眨眨眼:“对吧,丁老师?我是不是你见过最难搞的甲方?”
丁一沉默了几秒,然后很轻地“嗯”了一声。
罗瀚看着他们,表情从嘲讽变成困惑,再变成一种...怅然。
“你们...”他摇摇头,“算了。我输了。要报警吗?还是要我赔偿损失?”
丁一看着这个曾经的伙伴,这个教会他很多也欺骗他很多的人。
“把系统里的后门代码给我。”他说,“然后删除所有关于我和顾先生的资料。以后不要再来。”
“就这样?”罗瀚问。
“就这样。”
罗瀚沉默了很久,然后开始操作电脑。他调出源代码,删除了所有相关数据,然后把一个U盘递给丁一:“都在这里了。包括...五年前那件事的完整真相。那个演员...其实是被陷害的,我收了别人的钱。”
丁一接过U盘,握得很紧。
“对不起。”罗瀚低声说,“虽然迟了五年。”
离开办公室时,天已经快亮了。
晨曦微光中,两人站在园区门口等车。
顾仰山突然说:“其实我早就查过你。”
丁一愣住:“什么?”
“在雇你之前,我让冼小姐查过你的底细。”顾仰山看着远处渐渐亮起的天空,
“我知道你做过什么,也知道你资助山区儿童的事。冼姐说,你把赚的钱一半都捐出去了。”
丁一没有说话。
“所以我雇你,不只是因为你专业。”顾仰山转过头,看着他,“还因为我觉得...一个愿意把钱捐给孩子的人,至少良心还在。”
车来了。
两人坐进后座,一路无话。
快到丁一公寓时,顾仰山突然问:“那个演员...后来怎么样了?”
丁一沉默了很久:“退圈后开了家小餐馆。我去吃过一次,她没认出我。”
“你常去吗?”
“每个月去一次。点最贵的菜,付十倍的钱。”丁一说,“虽然弥补不了什么。”
顾仰山点点头,没再说什么。
下车时,丁一突然说:“顾先生。”
“嗯?”
“谢谢。”
“谢什么?”
“谢谢...”丁一顿了顿,“谢谢刚才没有转身就走。”
顾仰山笑了,笑容在晨光里很温暖:“丁一,如果我会因为一个人的过去就否定他,那我早就否定我自己了。这个圈子,谁没做过几件后悔的事?”
他摆摆手:“回去睡吧。下午还要去录音棚——新歌,你给我写的宣传方案别忘了发我。”
“好的。”
“对了。”顾仰山摇下车窗,“下个月我生日,打算办个小聚会。你来吗?作为乙方代表出席。”
“合同里没有——”
“时薪五万。”顾仰山打断他,“而且有蛋糕。你喜欢的抹茶味。”
丁一站在路边,看着车驶远。
手机震动,是顾仰山发来的消息:
·蛋糕是真的。我亲自去订。虽然可能会把“生日快乐”写成“生日决乐”,但心意是真的。
·丁一看着那条消息,突然笑了。
·他打字回复:
·丁一:如果写错了,扣一万。
·顾仰山:丁一!你是魔鬼吗?
·丁一:我是您的乙方。为您提供全面的质量监督服务。
·顾仰山:行吧行吧。那记得来,不然扣你十万。
·丁一:这是霸王条款。
·顾仰山:对甲方的特权。合同补充条款第9.3条:“甲方有权在特殊日期提出合理附加要求。”我刚加的。
·丁一:您这是滥用权力。
·顾仰山:是啊,所以呢?🐶
丁一收起手机,走进公寓楼。
晨光已经完全照亮了天空。
他打开U盘,里面除了代码,还有一个视频文件——是五年前那个演员的采访,他在镜头前平静地说:“我不恨任何人。人生就像做菜,火候过了或者不够,都可能失败。但炉灶还在,总能做出下一道菜。”
丁一关掉视频,删除了U盘里所有内容。
然后他打开电脑,开始写一封邮件。
收件人是那个演员的小餐馆。
内容是:“下个月需要预订一场生日宴,十人位。预算没有上限。另,我想捐赠一笔钱给您的‘困难学徒资助计划’——匿名。”
发送。
窗外,新的一天开始了。
手机又震了。
·顾仰山:到家了。你睡了吗?
·丁一:还没。
·顾仰山:在想那件事?
·丁一:嗯。
·顾仰山:别想了。过去的事就像系统漏洞,发现了,修补了,就让它过去。重要的是你现在在写的代码。
·顾仰山:而且...你现在有我了。虽然我是个麻烦的甲方,但至少不会让你一个人熬夜对抗黑客。
·丁一看着那句话,手指在键盘上停留了很久。
·然后他打字:
·丁一:谢谢。
·顾仰山:不客气。睡吧,数据控小朋友。梦里记得更新你的模型——甲方的好感度已经涨到75%了,再接再厉!
丁一关掉手机,躺到床上。
他闭上眼睛,脑海里不是数据流,不是代码,而是顾仰山在晨光里说的那句话:
“重要的是你现在在写的代码。”
是的。
过去无法修改。
但现在和未来,代码还在他手里。
而这一次,他有了一个虽然麻烦、但会陪他熬夜的...伙伴。