年终奖到账900元,我冷静打卡下班,当晚公司15亿核心数据遭到攻击,上级疯狂给我打了474个电话,我就不接怎么了!
第1章
“张伟,你年终奖九百块,签个字。”
财务刘姐把工资条推过来的时候,手指在桌面上敲了两下,指甲盖磕在密度板上,笃笃的,像在催命。我低头看了一眼那个数字,900.00。宋体,加粗,后面跟着一个红戳子。
“就九百?”我旁边工位的周明先叫起来了,他脑袋探过来,脖子伸得老长,像只被人掐住喉咙的鹅,“刘姐你是不是打错了?张伟可是运维总监,他手底下管着十五个机房,集团所有核心数据——”
“周明。”我打断他。
刘姐眼皮都没抬,又抽出一张纸,推到周明面前:“你的,三千二。签字。”
周明的嘴张着,那个“三”字的口型还没收回去,他看了看我的工资条,又看了看自己的,喉结滚了一下,没再说话。写字间里安静了三秒,键盘声重新响起来,但节奏变了,有人敲两下停一下,有人把回车键摁得噼啪响——都在竖着耳朵听。
我把字签了。笔尖划过纸面的时候,手没抖。
“张伟,”刘姐收回工资条,终于抬头看我,目光里带着一种公事公办的怜悯,“李总说让你去他办公室一趟。”
“现在?”
“现在。”
我站起来。椅子往后滑了半米,轮子碾过地砖缝,吱呀一声。整个开放办公区的人都在看我,余光,正眼,从显示器后面探出来的半个脑袋。我冲周明笑了一下,把他桌上那罐没开封的可乐拿起来,揣进兜里。
“哎——”
“你年终奖比我多,请我喝一罐,不过分。”
周明没拦我。我走过工位过道的时候,研发组的小王把转椅往旁边挪了挪,像是怕我身上带着什么晦气。我走到走廊尽头,抬手敲了两下李总办公室的门。
“进。”
李总全名李万钧,集团副总裁,分管技术条线。他坐在那张两米长的黑胡桃木办公桌后面,手指夹着一根没点的烟,面前摊着三张纸。我看见其中一张是我的年终奖核定表,另外两张,密密麻麻的,像是考核评分。
“坐。”他用下巴指了指对面的椅子。
我坐下了。可乐罐在兜里硌着大腿。
“张伟,今年集团效益不好,这个你是知道的。”李万钧开口,烟在指间转了一圈,“技术条线年终奖整体缩水,高管层带头降薪,我本人只拿了八千。”
我没说话。
“你手底下那十五个机房,今年出了三次故障,虽然都及时恢复了,但董事会那边有看法。”他把那张考核评分推过来,手指点在第三行,“响应速度这一项,你是C。集团规定,C档年终奖不超过一千。”
“三次故障,”我重复了一遍这个数字,“其中两次是供电局线路检修导致的断电,备用电源切换正常,业务零中断。一次是阿里云华东节点抖动,我们二十分钟内完成了跨区切换。李总,这叫故障?”
李万钧终于把烟点上了。打火机的火苗蹿起来,照得他眼袋发青。他吸了一口,烟从鼻孔里慢慢溢出来,像两条灰白的虫子。
“张伟,你技术好,这个全集团都知道。但你要明白,评分这个东西,是综合考量的。”
“谁的综合?”
“你这是什么态度?”
“九百块的态度。”
李万钧的烟顿了一下。他盯着我看了五秒,然后把烟灰往烟灰缸里弹了弹,弹偏了,灰落在桌面上。他没去擦。
“行,张伟,既然你把话说开了,那我也跟你交个底。”他往后靠在椅背上,皮椅发出放屁一样的声音,“明年的架构调整,你负责的运维中心要和研发中心合并,统一由王总分管。你的职级……”
“降成副总监?”
“保留总监待遇,但向王总汇报。”
王总。王明远。三年前空降过来的,之前在一家做外贸的公司管行政,不知道给董事会哪位董事挡过酒。他上任第一周就把研发的周会改成了每天早上八点半的“晨会”,让所有人站着开。他管技术只有一个原则:谁加班多谁绩效好。去年他分管的研发中心走了十一个人。
我把可乐罐从兜里掏出来,放在桌上,没开。
“李总,十五个机房,四千三百台服务器,集团所有核心业务数据、客户信息、交易流水,全在我手里。这个岗位你让王明远来管?”
“架构调整是董事会定的。”
“董事会知道四千三百台服务器里跑着什么吗?知道我们每天拦截多少次攻击吗?知道——”
“张伟。”李万钧把烟摁灭了,用力,碾了两下,“你今年三十四了,不是二十四。闹情绪,没意义。”
他说得对。
我站起来,把椅子推回去,椅背碰到桌沿,咚的一声。李万钧的眉毛跳了一下。
“李总,我请半天假。”
“干什么去?”
“打卡下班。”
我走出他办公室的时候,走廊尽头的打卡机正好跳到17:30。我掏出工牌,贴上去。滴。屏幕上跳出我的名字和一行小字:下班打卡成功,今日工时9小时12分。
我把工牌揣回兜里,转身往电梯走。经过开放办公区的时候,周明站起来,嘴张了张,我没给他出声的机会。我掏出手机,打开工作群——运维中心的大群,四十七个人,包括李万钧和王明远都在里面。
我打了五个字,发送。
“我下班了。”
然后我长按电源键,滑动关机。屏幕黑下去的那一瞬间,我看见群里跳出三条新消息,头像分别是李万钧、王明远、和研发中心一个我不记得名字的组长。
电梯门开了,我走进去,按了一楼。门合上之前,我看见周明从工位冲出来,手里举着手机,嘴里喊着什么。电梯门关上了,把所有的声音都挡在外面。
我到家是六点四十。路上买了半只烤鸭,一瓶二锅头。老婆带着孩子回娘家了,冰箱里还有半碟花生米。我把烤鸭切了,摆盘,倒上酒,打开电视。体育频道在重播一场足球赛,解说员的声音亢奋得毫无道理。
手机躺在茶几上,黑着屏。
七点二十三分,我夹起第三块鸭皮蘸酱的时候,手机屏幕亮了。通知栏跳出一行字:李万钧——张伟,立刻回电话。
我没动。
七点三十一分,屏幕又亮了。李万钧——你在哪?机房告警了。
七点四十分,连续三条消息涌入,通知栏叠在一起,我看不清具体内容,但发信人的头像都是李万钧。紧接着是王明远的来电,屏幕亮了整整三十秒,我端起酒杯,抿了一口。酒液从喉咙烧到胃里。
七点五十二分,手机开始连续震动。来电一个接一个,李万钧、王明远、李万钧、一个陌生号码、李万钧、又一个陌生号码。屏幕亮了暗,暗了亮,像一只被困在玻璃瓶里的萤火虫。
我调成了静音。屏幕朝下扣在茶几上。
电视里,解说员突然拔高音量:“绝杀!绝杀!比赛第九十三分钟——”我端起酒瓶,给自己又倒了一杯。茶几在震,手机在屏幕下面嗡嗡地响,像一只被掐住脖子的蜂。
八点十七分,我拿起手机看了一眼。未接来电:李万钧,43个;王明远,29个;陌生号码,12个;周明,8个。微信消息累计67条未读。我把手机又扣回去。
八点四十分,我喝完最后一杯酒,起身去厨房洗碗。水流冲过盘子的时候,我听见客厅里手机又响了。这次响了很久,断掉,又响,又断掉,再响。
我擦干手,走过去。
屏幕上显示一个名字:陈建国。集团董事长。
我的拇指悬在接听键上方。屏幕上方又弹出一条微信,李万钧发的,只有七个字。
“核心数据被攻击了。”
我盯着那七个字看了三秒。手机还在震。陈建国的来电。我按了侧边的音量键,屏幕安静下来。然后我长按电源键,把手机彻底关机。
窗外的城市灯火通明,远处的写字楼群像一块块发光的墓碑。我知道那栋楼的第18层现在一定乱成一锅粥——运维中心的人对着黑掉的监控大屏来回踱步,研发的人在排查日志,王明远在拍桌子,李万钧在抽烟。而四千三百台服务器里,某个我没见过的进程正在吞噬数据。
我端起最后一口酒,对着窗外的夜色举了举。
“年终奖,九百。”
酒杯空了。
第2章
那四个字在黑暗里亮了两秒,然后屏幕彻底黑下去。
我没开机。我把手机翻过来,用指甲抠开后盖,把电池拔了。这种老款华为,电池还能拆,买它的时候周明还笑我,“张总你这手机比我爸用的还旧。”我当时说,能打电话发微信就行。现在连这个功能我也不需要了。
那一晚我睡得很沉。没有做梦,没有惊醒,一觉到天亮。醒来的时候阳光从窗帘缝里挤进来,在床上拉出一条白线。七点十五分。平时这个点我已经坐在工位上,端着保温杯看前一夜的告警汇总了。
我躺着没动,盯着天花板上的那道裂纹看了很久。那道裂纹从灯座一直延伸到墙角,像一条干涸的河。买房那年我就看见了,物业说没事,抹点腻子就行。三年了,我没抹。有些裂缝你不去管它,它也不会自己长好,但至少不会马上塌。
八点钟,我从床上起来,洗漱,煎了两个鸡蛋。打开冰箱拿牛奶的时候,看见冷冻层里那袋冻了半年的饺子,老婆走之前包的,韭菜猪肉,我不爱吃韭菜。她走那天说,“不想吃你就扔了。”我没扔,一直冻着。
吃完早饭,我把手机电池装上,开机。屏幕亮起来的那一瞬间,消息通知像洪水一样涌进来。微信图标上的红色数字在飞速跳动,我看到它从47变成102,又从102变成189,最后停在327。未接来电,我数了一下,从昨晚七点二十三分到今天早上八点零六分,一共474个。
474个电话。李万钧一个人就打了203个。王明远142个。陈建国,11个。剩下的来自各种陌生号码和集团内部员工。
我点开李万钧最后发来的一条语音,转文字。他说得很急,背景里有人在喊“切换不了切换不了”,他的声音沙哑,像嗓子里塞了砂纸:“张伟,张伟算我求你了,回个电话行不行,条件你开,什么条件都行。”
我锁了屏,把手机装兜里。出门前,周明的电话进来了。这次我接了。
“喂。”
“哥!张伟哥!你在哪?”周明的声音劈了叉,像被人踩了尾巴的猫,“出大事了,凌晨两点,核心数据库被拖了,九成九的,客户信息、交易流水、合同扫描件,全被爬了,防火墙日志被人从内部清了,我们到现在连攻击源都定位不了——”
“报警了吗?”
“报了!网警早上六点就到了,正在机房调日志。问题是,问题是……”周明的声音突然压低了,像是捂着嘴在说话,“王总说这事先不要往外报,董事会那边在压,说可能是内部人干的。哥,他们……他们在查你。”
“查我什么?”
“你昨晚的考勤,还有你出入机房的记录,还有……你工位的电脑,早上被王总带人收走了。”
我把灶台上的火关了。锅里煎蛋的余温还在滋滋作响。
“周明。”
“哥你说。”
“你听着,我工位左边第二个抽屉,最底下压着一个U盘,银色的。你趁没人注意把它拿出来,别插任何联网的电脑,别给任何人看。等我电话。”
“哥你到底——”
“还有,你昨晚几点走的?”
“我,我十点才走,李总让所有人加班。”
“那你应该看见了大屏上显示的告警时间。”
周明顿了一下,声音更低了:“凌晨一点四十七分。第一波异常流量从香港节点涌入,三分钟内把华南区入口带宽占满了,运维中心的人尝试切换备用线路,但切换脚本被人改过,切不过去。”
“谁改的?”
“不知道。脚本最后一次修改时间是……昨天晚上八点二十三分。”
八点二十三分。那个时候我正在往杯子里倒第二杯酒,手机屏幕朝下扣在茶几上。
“哥,八点二十三分是……”
“我知道。”
挂了电话,我把煎蛋倒了。没胃口。我在沙发上坐了一会儿,然后打开衣柜,找出一件深灰色的夹克。内侧有个拉链暗袋。我把旧手机、充电器、和一本巴掌大的黑色笔记本塞进去。笔记本上记着十五个机房的物理位置、供电线路走向、所有核心交换机的型号和序列号,以及我三年前亲手写下的、从未上报给集团的备用管理通道密钥。
那套密钥是用独立硬件加密狗生成的,加密狗一直挂在我脖子上,洗澡都没摘过。
出门。十点钟的太阳照在小区里,几个老太太推着婴儿车在花坛边聊天。我经过的时候,一个戴红袖标的大爷抬头看了我一眼,目光在我脸上停了半秒。我冲他点点头,往小区后门走。后门外是一条窄巷,通向隔壁的商业区。
手机在兜里震了一下。短信。陈建国。
“张伟,我们谈谈。条件你来定。”
我没回。
十点二十分,我坐在商业区一家咖啡馆的角落里,面前摆着一杯美式,没喝。周明从门口进来,四处张望了一下,看见我,快步走过来。他把一个银色U盘放在桌上,推到我的杯子旁边。
“拿到了。王总的人翻你抽屉之前我拿的,他们把你抽屉里的东西全装纸箱搬走了,连你那个破保温杯都没放过。”
“知道了。”
“哥,你到底怎么想的?”周明坐下来,脸凑近我,他的眼白布满血丝,显然一夜没睡,“现在集团上下都在传,说数据泄露是你干的,说你因为年终奖的事报复公司。李总昨晚在群里发了消息,说‘正在排查内部人员’,虽然没有点名,但所有人都知道你关机了。”
“王明远怎么说?”
“王总今天早上开了全员会,说‘个别同志思想有问题,把个人情绪带到工作中,给集团造成了不可估量的损失’。他倒是没敢直接点你的名,但行政部已经在走流程,说要冻结你的股权和年终绩效。”
我端起咖啡喝了一口。苦的。
“周明,你信不信是我干的?”
周明愣了一下,然后摇头,摇头的幅度很大,像在甩什么东西:“我不信。你张伟要是想搞公司,四千三百台服务器你随时能让它们全趴下,犯不着等年终奖发完再动手。再说了,那个脚本修改的时间是八点二十三分,你那会儿早就走了。”
“那他们为什么还要查我?”
周明沉默了。他低头看着桌面,手指无意识地抠着咖啡杯外面的纸套。
“因为你是最合适的人选。”我替他说了,“技术最好,权限最高,动机最明显——年终奖九百块。而且我昨晚关机,谁也联系不上。这锅我不背谁背?”
周明抬头看我,嘴唇动了动,但没说出话来。
我把U盘拿起来,在手里转了一圈,然后放进夹克内侧的暗袋里。
“周明,帮我个忙。”
“你说。”
“你今天正常上班,正常打卡,别主动联系我。如果有人问你今天有没有见过我,你就说没有。如果李万钧或者王明远让你签任何关于我的说明材料,别签。”
“那他们要开除我呢?”
“他们不会。”我把咖啡喝完,站起来,“你手里有研发中心十一个离职同事的联系方式,对吧?”
周明眼睛瞪圆了。他看着我,像看着一个陌生人。
“那些人的离职原因,每个人走的时候都找过我喝酒。”我说,“你告诉他们,这两天可能会有猎头联系他们,让他们别急着答应。等我消息。”
我走出咖啡馆的时候,手机又震了。这次是一条微信,王明远发的。语音转文字,只有一句话。
“张伟,你以为关机就没事了?你工位电脑里搜出来一份加密文件,我们已经交给网警了。你最好自己来公司说清楚。”
我站在人行道上,十一月的风从领口灌进来。我抬起头,对面那栋写字楼的LED大屏正在循环播放集团的最新广告——“安全、可靠、值得托付”。下面那行小字我看不清,但我记得。那行字是我三年前写的,当时李万钧说太长了要砍掉,我说留着吧,客户看着安心。
“安全、可靠、值得托付。”
我笑了一下,抬手拦了辆出租车。
“师傅,去城南。科技产业园。”
第3章
“你说什么?”
电话那头没有回应。我听见背景里有键盘敲击声,很急,像雨点打在铁皮棚上。然后那个南方口音又响起来,这次带着一丝笑意:“你听得很清楚。昨晚的事,只是第一步。”
“你是谁?”
“你不需要知道我是谁。你需要知道的是——那四百七十四个电话,你一个都没接,做得很好。如果你昨晚接了任何一个,今天早上被带走的人就是你。”
出租车在高架上并入匝道,司机从后视镜里瞥了我一眼。我压低了声音:“被带走?谁被带走了?”
“你很快就知道了。”对方顿了一下,“U盘在你身上吧。”
我没说话。手指不自觉地按了按胸口,那个银色的金属片贴着心脏的位置,隔着夹克和衬衫,凉的。
“你放心,我不会碰那个U盘。那是你的底牌,也是我们的底牌。留着它,别交给任何人。包括陈建国。”
“你到底代表谁?”
“张先生,你手底下四千三百台服务器,每天拦截的攻击次数是多少?”
“平均一万两千次。”
“那你有没有想过,为什么昨晚的流量能直接打进核心区?为什么切换脚本被人改过?为什么防火墙日志被清理得干干净净,连网警都查不到痕迹?”
“因为有人从内部动的手。”
“对。但这个人,不是你。”
电话挂了。
我盯着手机屏幕,通话时长停在47秒。陌生号码,回拨过去,无法接通。我靠在座椅上,把手机翻来覆去看了几遍。这台旧华为,没有任何多余的app,没有定位,没有指纹解锁,连微信都是三年前装的,只加了周明和另外两个人。其中一个是陈建国的私人号。
我把手机揣回兜里,抬头看窗外。出租车已经下了高架,拐进科技产业园区的道路。两旁的梧桐树叶子掉光了,枝杈光秃秃的,像一只只举起来的手。前方三百米就是集团大楼,黑色的玻璃幕墙反射着灰白的天空,楼顶的logo在阴天里显得灰扑扑的。
“师傅,靠边停。”
我在距离大楼还有一百米的十字路口下了车。没有直接去公司,而是拐进旁边的一栋写字楼。那是集团隔壁的孵化器园区,五楼有一间挂着“星锐科技”牌子的办公室,是我大学同学老赵的公司。做信息安全,规模不大,十几个人,但设备齐全。
老赵正在电脑后面啃煎饼。看见我推门进来,愣了一下,然后站起来。他是个胖子,一米七五的个头,两百斤,走路都带喘的。
“张伟?你怎么来了?你的事我听说了——”他左右看了一眼,压低了声音,“你们集团内部群炸了,说你把核心数据卖了。”
“你信?”
“我信你个鬼。”老赵把煎饼放下,油腻的手在裤子上蹭了蹭,“你当年在学校,黑客大赛拿了冠军,评委让你攻击教务系统改成绩,你说‘我不做这种事’,当着全校的面把服务器关了。你会卖数据?”
他在桌上翻出一台笔记本电脑,推到我面前:“干净的,没连过任何内网。”
我把银色的U盘掏出来,插上。U盘里只有一个文件,是我三年前做的运维中心全量架构图,每个机房的位置、每台核心设备的型号和序列号、每条光纤的走向,以及那套独立于集团内网的备用管理通道密钥。
“帮我查三件事。”我点开架构图,指着华南区的节点,“第一,昨晚攻击的流量特征,我需要原始pcap包。第二,我们集团内网在昨晚八点二十三分前后,有哪些账号登录过核心交换机的管理后台。第三——”
我停顿了一下。
“第三,帮我查一个人。王明远。三年前从外贸公司跳到我们集团,之前任职的公司叫‘鑫远国际贸易’,你查查这家公司现在还在不在,法人是谁,有没有和境外IP有过资金往来。”
老赵的眉头皱了起来:“你怀疑王明远?”
“我不怀疑任何人。我只想知道谁改了我的切换脚本。”
老赵坐下来,十根手指在键盘上飞舞。屏幕上跳出一行行代码,黑色的终端窗口里数据在飞速滚动。他一边敲一边说:“pcap包我这儿没有,得进你们内网镜像口抓,但你们现在肯定封了外网接入。不过……你那个U盘里的架构图上有备用通道密钥,我可以用这个进你们的内网旁路,不经过他们的防火墙。”
“多久?”
“十分钟。”老赵抬头看了我一眼,“但张伟我得提醒你,如果被他们发现有人在用备用通道,他们会知道密钥泄露了。到时候你最后这张底牌也没了。”
“用。”
老赵没再说话,胖手指在键盘上敲得更快了。屏幕上的数据流像瀑布一样倾泻而下。我站在他身后,盯着那些滚动的字符,脑子里却在想另一件事。
474个电话。从昨晚七点二十三分到今天早上八点零六分,平均每分钟一个。李万钧203个,王明远142个,陈建国11个,周明8个。这些数字里面,有多少是真心想找我解决问题,有多少是在演戏?
那个南方口音说“如果你接了任何一个,今天早上被带走的人就是你”。被带走。谁有能力在早上八点之前“带走”一个集团高管?除非,有人早就准备好了。
“张伟。”老赵的声音把我拉回来,“你过来看。”
我凑到屏幕前。终端窗口里,老赵调出了一段日志记录,是核心交换机管理后台的登录审计。时间是昨晚八点二十三分零七秒。
登录账号:wangmy。
登录IP:172.18.44.203。
“wangmy是王明远的域账号。”我说。
“对。但这个IP不对。”老赵指着屏幕上那行地址,“172.18段是你们集团办公区的网段,但44.203这个地址,是研发中心内网测试机房的保留段。王明远的办公室在18楼,他的电脑IP应该是172.18.2.x开头。”
“测试机房在几楼?”
“负一层。”
负一层。地下。离核心机房只有一条走廊的距离。
老赵继续往下翻。那个wangmy账号在八点二十三分登录之后,执行了一连串操作:上传脚本,覆盖切换配置,清理防火墙日志,最后执行了一条删除命令,把操作记录本身也抹掉了。整个流程一气呵成,总共用时四十七秒。
“四十七秒。”老赵靠在椅背上,转头看我,脸色有点白,“张伟,一个管行政出身的人,四十七秒完成一套完美的入侵和清痕操作。你信吗?”
我不信。但我没说出来。因为老赵又翻出了第二份记录。
那是备用通道的访问日志。从昨晚九点零三分开始,有人通过备用通道进入了核心机房的带外管理系统。登录IP是境外的一个VPS,用了三层跳板。这个人在里面待了整整六个小时,从九点零三分到凌晨三点十一分。凌晨一点四十七分,攻击开始。凌晨三点十一分,这个人退出,通道关闭。
“九点零三分。”我重复了一遍这个时间。那是我把手机屏幕朝下扣在茶几上之后大约四十分钟。
“这个人用的密钥,和你的备用通道密钥是同一套。”老赵看着我,“张伟,你的加密狗还在吗?”
我拉开夹克拉链,从衬衫领口里把那条黑色绳子拽出来。金属加密狗挂坠一样垂在胸前,上面刻着一串序列号。我检查了一下,外壳完好,没有插拔痕迹。
“密钥没有泄露。”老赵松了口气,“那这个人用的,应该是另一套备份密钥。你当初做备用通道的时候,做了几套?”
“两套。”我说,“一套我随身带着。另一套……”
“另一套在哪?”
我闭上眼。三年前那个下午,李万钧把我叫到办公室,说董事会要求所有密钥必须留一份在公司存档,万一我出了什么事,公司得有办法接管系统。我不同意,说这是安全底线。他最后让步,说存档密钥锁在集团保险柜里,保险柜密码只有他和陈建国知道。
“在公司保险柜里。”我说。
老赵沉默了一会儿,然后调出了第三份记录。那是一份邮件拦截日志。昨晚十点四十七分,从集团内网发出了一封加密邮件,收件人是一个境外地址,邮件大小2.7G,附件是一个压缩包。邮件在发出后零点三秒被集团的邮件安全网关拦截,但拦截日志显示,拦截动作来自一个白名单账号。这个账号自动放行了这封邮件,并且在放行后删除了拦截记录。
“白名单账号是谁的?”
老赵把账号名放大。屏幕上跳出一行字——
chenjg。
陈建国。
我盯着那行字看了很长时间。咖啡馆里那个南方口音的话在脑子里回响:“如果你接了任何一个电话,今天早上被带走的人就是你。”
陈建国打了11个电话。他是唯一一个我没有拉黑的人。昨晚我把手机扣在茶几上的时候,看到他的名字亮起来,犹豫过一秒钟。就一秒钟。
“张伟。”老赵的声音有点抖,“你这个事,比我想的大太多了。”
我拔出U盘,装回暗袋里。把加密狗塞回衬衫领口,贴着胸口,金属被体温捂热了。
“老赵,邮件的事,还有登录日志的事,你帮我拷一份加密存着。别联网,别告诉任何人。”
“你要去哪?”
我站起来,把夹克拉链拉到顶。
“去公司。他们不是在查我吗?我去让他们查。”
走出星锐科技办公室的时候,我的旧手机又响了。这次是一条短信,来自那个南方口音的陌生号码,只有一行字——
“保险柜里那套密钥,是假的。陈建国三年前就换了。”
电梯门在我面前敞开,王明远站在里面,一只手按着开门键,另一只手提着公文包。他脸上挂着那种我见过无数次的微笑——嘴角上扬十五度,牙齿露出六颗,不多不少,标准的商务礼仪培训产物。
“陈董让我来接你。”他又说了一遍,声音温和得像在播报天气。
我站在电梯口没动。老赵的办公室在五楼走廊尽头,身后是紧闭的玻璃门,身前是王明远和他那部擦得锃亮的黑色电梯。我算了一下距离——五步。电梯轿厢里除了王明远没有别人,顶上角落的摄像头亮着红灯。
“陈董怎么知道我在老赵这儿?”
“你大学同学嘛,档案里都写着。陈董说你可能需要找个信得过的人帮忙看看技术上的事,所以他让我来这儿接你。”王明远的笑容纹丝不动,“猜对了,是吧。”
他往旁边让了半步,给我留出上电梯的位置。
“我要是不去呢?”
“张伟,别这样。”他把公文包换到左手,右手从西装内袋里掏出一部手机,屏幕冲着我,上面是一张照片。周明坐在一间白墙房间里,面前摆着一杯水,身后站着一个穿制服的背影。“周明上午被请去协助调查了,网警那边需要了解一些情况。陈董说你配合的话,周明聊完就能走。”
我看着那张照片。周明的脸有点发白,但衣服穿得整齐,没戴手铐,桌子上的水杯是满的——刚坐下没多久。
“他老婆刚怀孕三个月。”我说。
“所以啊。”王明远把手机收回去,笑容淡了一点,“陈董在办公室等你,茶都泡好了。张伟,你这又是何必呢?”
我上了电梯。王明远按了关门键,按的是十八楼——李万钧办公室那层。电梯上行的时候,我们并排站着,盯着面前的不锈钢门板。轿厢里安静得能听见钢缆拉伸的吱嘎声。
“王总。”我看着门板上我们两个人的倒影,“你三年前在鑫远国际贸易,做什么岗?”
王明远的肩膀极轻微地僵了一下。如果不是我盯着倒影看,根本注意不到。电梯叮一声到了十八楼,门开了。
“行政总监。”他走出电梯,头也不回,“和现在差不多。”
走廊尽头就是李万钧那间办公室。门虚掩着,里面有人在说话。我跟着王明远走过去,他推开门,侧身让我先进。
李万钧坐在沙发上,领带松开了,衬衫领口皱巴巴的,烟灰缸里堆满了烟头。他看见我进来,猛地站起来,嘴唇哆嗦了一下,像是想说什么狠话,但最后只从喉咙里挤出一句:“张伟,你总算……”
“坐吧。”一个声音从办公桌后面传来。
陈建国坐在李万钧的椅子上,面前摊着几份文件,手里端着一杯茶。他六十出头,头发全白,但腰背挺直,脸上皱纹不多,看上去比实际年龄年轻。他抬手示意我坐到他对面的椅子上,动作从容,像在主持一场再普通不过的董事会。
我坐下了。王明远站在门口,没进来,顺手把门带上了。咔哒一声,很轻。
“张伟,喝茶吗?正山小种,上次去福建带回来的。”陈建国把另一杯茶往我这边推了推。
“陈董,周明呢?”
“网警那边问完了,已经让他回去了。”陈建国放下茶杯,双手交叉搁在桌上,看着我,“张伟,你手机为什么关机?”
“下班了。”
“四百七十四个电话,一个都不接。”
“下班了。”
陈建国笑了一下。那个笑容没到眼底。“好,那你告诉我,你下班之后,为什么去隔壁楼找星锐科技?为什么用备用通道进了集团内网?”
果然。他们监控了备用通道。我登录的那一刻,就已经暴露了。
“查日志。”我说。
“查什么日志?”
“查谁在昨晚八点二十三分动了我的切换脚本。查谁在凌晨一点四十七分发起了攻击。查谁在凌晨三点十一分把所有痕迹清干净了。”
陈建国的表情没有变化。他端起茶杯,吹了吹热气,喝了一小口。然后他放下杯子,从桌上那堆文件里抽出一张纸,推到我面前。
那是一份打印出来的邮件。发件人是chenjg,收件人是一个境外地址。时间:昨晚十点四十七分。附件大小:2.7G。邮件正文只有一句话:货已备齐,尾款按原计划支付。
“这封邮件,”陈建国的手指在纸面上点了点,“是从你的备用通道里发出来的。发件账号是系统自动生成的,但通道密钥对应的是你的加密狗。张伟,你怎么解释?”
“那封邮件被白名单自动放行了。”我说,“白名单账号也是chenjg。”
陈建国的手指停住了。
“我的加密狗一直挂在我脖子上。昨晚九点零三分,有人用另一套密钥从境外进了带外管理系统。陈董,集团保险柜里那套密钥,是你换的,还是别人换的?”
办公室安静了。李万钧站在沙发旁边,嘴微微张着,烟夹在手里,烧到了滤嘴也没察觉。陈建国看着我,目光沉了下去,像一潭水被石子打穿了表面的平静。
门突然被推开了。王明远站在门口,脸色不太对,手里举着一部手机:“陈董,网警那边来电话了。他们说刚才从张伟工位电脑里提取的那份加密文件……是空的。里面什么都没有,创建时间是昨天下午五点十四分,就是张伟打卡下班前一分钟。”
陈建国猛地转头看他。
“谁提取的?”我问。
王明远的嘴张了张,没说出话。李万钧在旁边哑着嗓子接了一句:“是……是我让行政部去收的电脑。王总说里面有加密文件,需要交给网警。”
“王总说的?”我看向王明远,“王总,你怎么知道我电脑里有加密文件?”
王明远站在门口,走廊的灯光从他背后照进来,把他整个人勾出一个轮廓。我看不清他的表情,只看见他的手垂下来,手机屏幕的光映在他下巴上,把嘴唇照得发白。
“张伟,”陈建国突然开口,声音比刚才低了很多,“你先回去。这件事,我会查清楚。”
“回哪去?”
“回你工位。你的权限暂时冻结,但你还是集团员工。在事情查清楚之前,你不要离开本市。”
我站起来。经过王明远身边的时候,他侧身让路,眼睛一直盯着地面。我走到走廊里,回头看了他一眼。他的喉结滚了一下,像在咽什么东西。
电梯门开了,我走进去。就在门要合上的时候,一只手伸进来挡住了。李万钧挤进来,领带歪到一边,眼睛里全是血丝。他按了关门键,然后转过身看着我,嘴唇抖了半天。
“张伟,”他的声音压得很低,低到几乎被电梯的嗡鸣盖过去,“那个加密文件的事,不是我让行政部去搜的。是王明远拿着陈董的签字来找我的。他说你工位上有证据,我……我以为是真的。”
“李总。”
“你信我。”
“我信你什么?”
“信我没参与。”他盯着我,眼眶发红,“昨晚八点二十三分那个登录,我的账号也在系统里。但我没动过任何东西。你知道的,我连交换机怎么登录都不会。”
电梯到一楼了。门打开,大堂里空荡荡的,只有保安在前台后面打哈欠。我走出电梯,李万钧没跟出来。他站在轿厢里,一只手撑着门框,看着我。
“张伟,那套密钥,陈董三年前确实换了。但他换的那套,后来又被换了一次。谁换的我不知道,但保险柜的备用钥匙,除了陈董,还有一个人有。”
“谁?”
“集团法务总监。周明的老婆,赵雪。”
电梯门开始滴滴作响。李万钧缩回手,门合上了。他的脸消失在两扇不锈钢门板之间。
我站在空旷的大堂里,头顶的吊灯发出日光灯特有的嗡嗡声。口袋里的旧手机震了一下,那个南方号码又发来一条短信。
“去地下车库,B3层,西侧消防通道。有人等你。”
声控灯灭了。黑暗里只剩下赵雪急促的呼吸声,和消防管道里水流涌动的闷响。我摸到墙壁上的开关,拍了一下,灯又亮了。惨白的光打在她脸上,颧骨上有一道红印,像是被什么东西硌的。
“谁带走的?”
“三个人,穿便衣,开一辆黑色帕萨特。”赵雪把信封递过来,手指在抖,“周明让我给你的。他说你看完就明白了。他走之前跟我说了一句话——‘告诉张伟,保险柜第二层夹板’。”
“夹板?”
“他说你听得懂。”
我接过信封。牛皮纸,没有封口,里面是一张折叠的A4纸和一枚U盘。U盘是黑色的,上面贴着一小条手写标签,字迹是周明的:2019.03.17。
“赵雪,你先回家。周明的事我来想办法。”
“你怎么想?”她的声音突然拔高了,在楼梯间里撞出回音,“他们说他销毁证据,是刑事案!他一个搞研发的,连运维的权限都没有,他能销毁什么证据?”
“你冷静点——”
“张伟,我怀孕四个月了。”她盯着我,眼眶里蓄满了水,但没掉下来,“周明昨晚一夜没睡,一直在查你们那个攻击日志。今天早上他跟我说,‘我可能发现了不该发现的东西’。然后就有人来敲门了。”
我把信封揣进夹克内袋,和银色U盘放在一起。“你回家等着,别联系任何人,别接陌生电话。周明不会有事的,我保证。”
“你拿什么保证?”
我没回答。因为我也不知道拿什么保证。我只是知道,周明留给我的这张纸和这枚U盘,可能是最后的机会。
赵雪走了。消防通道的门在她身后合上,声音很轻。我靠在墙上,把那张A4纸展开。上面是周明的手写体,潦草,有些地方笔尖戳破了纸面。
“哥,我查了一整天,只能长话短说。第一,昨晚的攻击不是从外部打进来的,是有人把核心数据库的备份文件伪装成业务流量,通过CDN回源的方式上传到了一个境外云存储。上传走的不是内网出口,是华南区机房那条独立备份专线。这条专线三年前就停了,但物理链路一直没拆,有人把它重新激活了。第二,激活专线的操作,需要一个动态令牌。这个令牌全集团只有三个人有——你,李万钧,还有王明远。但李万钧的令牌是旧版的,三年前系统升级后他就没换过,根本用不了新的认证协议。所以只可能是王明远。第三,也是最重要的,陈董的邮箱白名单是上个月被加进去的,操作人是法务总监赵雪的账号。但赵雪说她没有做过这个操作。她的账号在法务系统里的登录IP,上个月有一次是来自集团外面的星巴克。那个星巴克就在王明远家楼下。”
我把纸翻过来。背面还有几行字,写得更潦草,像是在极短时间内赶出来的。
“哥,我把证据藏在那个U盘里了。但我得告诉你一件事——我在查日志的时候发现,昨晚凌晨三点十一分,备用通道关闭之后,有人用你的账号密码登录了集团VPN,持续了六分钟,然后主动退出。登录来源是越南。哥,你从没去过越南对吧?我觉得这件事比我想的要大,可能不只是王明远一个人的事。你要小心陈——”
最后那个字没写完。笔尖在纸面上划了一道长长的痕。
我把纸折好,和U盘一起装进内袋。然后掏出旧手机,给那个南方号码回了一条短信:你是谁。
回复几乎是秒回的:一个你迟早会感谢的人。现在去B3,有人等你。别从电梯走,走楼梯。
我推开消防通道的门,沿着楼梯往下走。十八层走到负三层,四十二级台阶一组,中间转了六个弯。我的脚步声在空旷的楼梯间里回荡,越往下,空气越冷,水泥墙面上开始出现渗水的痕迹。负一层的灯是声控的,负二层换成了老式的拉线开关,负三层什么都没有,只有尽头一扇铁门,门缝里透出昏黄的光。
我推开门。地下车库的空气混着尾气和霉味扑面而来。B3层是集团大楼最早建的那批车位,水泥地面开裂,墙上的车位编号已经模糊不清,灯光稀稀拉拉,每隔十几米才有一盏。我往西侧走了大概五十米,看见一辆深蓝色的面包车停在消防通道旁边。车灯没开,但引擎在响。车旁站着一个人,背对着我,穿一件藏青色的冲锋衣,个头不高,肩膀很宽。
“张伟。”那人转过身来。一张完全陌生的脸,方脸,浓眉,下巴上有一道疤。他伸出手:“我姓郑,网安支队的。这辆车里有两个选择,你听完再决定上不上。”
“什么选择?”
“第一个,跟我们走。我们手里有你昨晚没接电话的记录、你进星锐科技的监控、还有你那个U盘里的备用通道密钥。如果你配合,这些都可以从证据链里抹掉。周明今晚就能回家。”
“第二个呢?”
“你继续单干,我们按程序走。今晚之前,你和周明都会被正式立案。王明远会跑,陈建国会切割,最后背锅的是你们两个。”
我看着他。他的眼睛在昏暗的灯光下显得格外沉,不像是在诈我。
“你们查了多久?”
“三年。”他拉开车门,“王明远跳槽过来的第一天,我们就盯上他了。他原公司鑫远国际,幕后老板是一个境外洗钱集团。那个集团专门收购有政府数据权限的技术公司,然后通过内部人把数据卖给境外买家。你们集团是他们在国内的第三个目标。”
“前两个呢?”
“第一个,一家做医保系统的。去年年底核心数据泄露,两千万条参保人员信息被卖到了暗网。第二个,做交通卡口的,全城监控数据被拖走。第三个就是你们。陈建国的邮件白名单、王明远的动态令牌、赵雪被冒用的账号,这些都是同一个手法。”
我上了车。老郑关上门,绕到驾驶座,发动引擎。面包车在空旷的车库里转了两个弯,往出口坡道开上去。经过坡道旁边的垃圾堆放区时,我透过车窗看见一辆黑色的帕萨特停在那里,车牌被泥糊了一半。老郑瞥了一眼后视镜,没说话。
“周明在哪?”
“安全的地方。赵雪也接过去了。”
“你们怎么知道我会下来?”
老郑从后视镜里看了我一眼:“那条短信,是我们发的。你那个南方口音的朋友,是我们的人。”
面包车开出地库,下午的阳光照进来,晃得我眯起眼。手机震了,是陈建国的来电。屏幕上那三个字亮着,亮了三秒,又灭了。未接来电变成475个。
老郑说:“接吧。开免提。”
我按了接听键。陈建国的声音从扬声器里传出来,沙哑,疲惫,完全没有了办公室里那种从容。
“张伟,你在哪?”
“路上。”
“你听我说。王明远刚才从后门走了,我拦不住。他手机关机了。还有——保险柜里那套备用密钥,确实被换过。赵雪刚才给我看了系统日志,换密钥的操作时间是今天凌晨四点零九分,用的还是她的账号。她现在在我办公室,哭得一塌糊涂。”
“陈董。”
“你说。”
“你那个邮件白名单,是被冒用的。我查过操作记录,登录IP在王明远家楼下的星巴克。你的邮箱没有发过那封2.7G的邮件,是系统自动生成的,用的你的账号模板。”
电话那头沉默了很久。久到我以为他挂了。然后陈建国的声音重新响起来,像是老了好几岁:“张伟,你回来。我把所有权限都开给你,你来查。王明远的事,我……我确实不知道。但保险柜的备用钥匙,三年前我换的那次,是王明远经手的。他说你出差了,董事会紧急要求更换,我就让他去办了。”
“陈董,你知道这意味着什么吗?”
“意味着我被人当枪使了三年。”
面包车上了主干道,车流开始密集起来。老郑在十字路口等红灯,侧过头看了我一眼,用口型说:“问他王明远往哪跑了。”
“陈董,王明远平时开什么车?”
“他……集团配的那辆黑色帕萨特,尾号7B。”
红灯变绿。老郑踩下油门,同时按了一下方向盘旁边的对讲机:“各单位注意,嫌疑车辆帕萨特尾号7B,从科技产业园方向出发,可能往滨海大道逃窜。请求沿线布控。”
对讲机里传来一串回应。我靠在座椅上,把加密狗从领口里拽出来,金属表面已经被体温捂得发烫。车窗外,城市在午后的光线里向前延伸,路边的梧桐树一棵接一棵地向后退去。
旧手机又震了一下。周明发来的短信,只有两个字。
“哥,疼。”
老郑把车停在滨海立交桥下的辅路边。警戒带已经拉起来了,两辆警车横在帕萨特前面,车灯还在闪。那辆黑色帕萨特歪歪斜斜地停在桥墩旁边,驾驶座车门开着,钥匙插在孔里,发动机还没熄火。
老郑下车跟同事打招呼。我坐在面包车里没动,透过车窗看着他们打开后座车门,从里面取出一个黑色公文包。包是皮的,拉链半开,侧面有一块暗褐色的渍。一个技术员拿棉签在那块渍上擦了擦,装进证物袋。
老郑走回来,拉开副驾驶的门,递给我一个透明证物袋。里面是半张撕碎的照片,边缘不规则,像是被人用力扯断的。照片上是我,穿着工装站在机房门口,大概是三年前拍的,那时候头发比现在多。背面那一行字我看了很久,黑色签字笔写的,笔迹压得很重,划破了相纸——
下一个就是你。
“笔迹比对过了吗?”我问。
“正在做。但你看这个。”老郑把证物袋翻过来,指着照片正面一个角落。那里有一个极小的红点,如果不仔细看根本注意不到。“这是针孔摄像头拍下来的。原片应该来自你工位附近某个角度。说明有人在你每天坐的位置对面,装了东西。”
我想起工位斜对面那盆绿萝。行政部去年换的,说净化空气。花盆是深绿色的陶瓷盆,摆在文件柜顶上,正对着我显示器的背面。
“那盆绿萝。”
老郑看了我一眼,拿起对讲机:“派人去张伟工位,把文件柜顶上那盆绿植带回来。连盆带土,整个端走。”
对讲机里应了一声。
“现在去哪?”我问。
“周明在人民医院。手上的伤不重,但受了惊吓,需要住院观察两天。”老郑发动车子,“你去看他,顺便把那个U盘里的东西当着他面打开。他留给你的时候太匆忙,可能自己都没看完。”
人民医院离立交桥不远,开车十分钟。老郑把车停在急诊楼侧门,带我穿过一条走廊,上了三楼。单人病房,门口坐着一个便衣,看见老郑点了个头。推开门,周明靠在床头,左手缠着纱布,右手拿着手机正在划。赵雪坐在床边,眼睛还是红的,但看见我进来,嘴角扯了一下。
“哥。”周明放下手机,声音有点虚,但精神还行,“他们跟我说你没事了。”
“你手怎么了?”
“他们带走我的时候,我攥着那个信封,其中有一个人掰我手指。”他低头看了一眼纱布,“小指骨裂,不严重。赵雪非让我住院。”
我拉了把椅子坐下。老郑站在门口没进来,门虚掩着。
“周明,你给我的U盘,我还没看。一起看?”
周明点头。我从内袋里掏出那枚黑色U盘,插在老郑递来的笔记本电脑上。文件夹打开,里面只有三个文件。第一个是文本,写着“动态令牌操作日志”。第二个是一段录屏视频,画面模糊,像是手机对着监控屏幕翻拍的。第三个是一张扫描件,集团保险柜的开启记录,上面有日期、时间、操作人姓名和签字。
我点开文本文件。日志记录从三个月前开始,王明远的动态令牌一共被使用过七次。前六次都是正常操作,登录时间在工作日的工作时段,时长不超过十分钟。但第七次,使用时间是昨晚八点十九分,登录地点显示为华南区机房专用接入点,操作内容:激活备份专线,部署伪装流量,启动数据迁移任务。
周明说:“那个伪装流量,就是把核心数据库切片,伪装成普通的视频流,通过CDN回源上传到境外。整个过程持续了六个小时,数据总量大约十五个T。”
“十五个T。”老郑在门口接了话,“你们集团三年的核心交易数据。”
“不止。”周明摇头,“还包括客户生物识别信息——人脸、声纹、指纹模板。这是最值钱的部分。暗网上一个完整的人脸库,单条信息能卖到五美元。你们想想十五个T里有多少条。”
赵雪在旁边捂住了嘴。
我点开第二段视频。画面很暗,是从监控室大屏翻拍的,能看到一块大屏幕上显示着数据流量曲线。时间戳是凌晨一点四十七分,曲线陡然上升,峰值几乎顶到屏幕顶端。然后画面晃动了一下,有人走过镜头,看不清脸,但从身形判断是个男人,肩膀宽厚,穿深色外套,右手里拿着一个东西。
我按下暂停键,放大画面。那人手里拿的是一部手机,屏幕亮着,上面显示着一个APP界面。界面的主色调是深蓝色,底部有几个白色图标。
“这是令牌管理APP。”周明说,“他当时在确认数据上传进度。那个APP只有总监级以上才能装,而且必须绑定设备。”
“王明远的手机。”
“对。但有一个问题——他的手机在昨晚八点之后就没有任何通讯记录了。他把手机卡拔了,只连了WIFI。所以定位不到。”
老郑走进来,看着屏幕上的暂停画面:“这个人从监控室出去之后,往哪个方向走了?”
“往负一层。”周明说,“负一层的监控那天晚上全‘故障’了,什么都没拍到。但我在系统日志里找到了一条记录,凌晨两点零三分,负一层核心机房的门禁有过一次刷卡进入。卡号是王明远的。他在里面待了四十分钟。”
我点开第三个文件。保险柜开启记录。扫描件上显示的日期是三年前,具体到分钟。签字栏里,一个名字是陈建国,另一个名字是王明远。但审批意见那一栏,手写着一行备注:“紧急更换,授权人:李万钧。”
“李万钧?”我抬头看周明。
“嗯。三年前那次换密钥,李万钧签了授权。但他跟我说他不记得了。”周明把手机关了,屏幕暗下去,“哥,我觉得李万钧在这件事里的角色,比我们想的复杂。他可能是真的不记得了,因为那天晚上——三年前那个换密钥的晚上——他喝醉了。”
“你怎么知道?”
“他当时在群里发过语音,凌晨两点,说他在应酬,喝多了。我听了好几遍,背景里有卡拉OK的声音,还有人在唱《朋友》。他语音里说‘你们先弄,我签个字就行’。那条语音后来被撤回了,但研发中心有个同事截图存了。”
病房里安静了几秒。老郑开口了:“也就是说,三年前换密钥这件事,实际经手人是王明远,李万钧是被拉来背书的。”
“对。”
我站起来,走到窗边。三楼窗户外是一排银杏树,叶子黄透了,风一吹就往下掉,在地上铺了薄薄一层。我掏出旧手机,给陈建国发了一条短信:“李万钧三年前签的授权,是被王明远灌醉之后骗签的。你可以查他当晚的报销记录,应该有一笔大额招待费,地点在城西的KTV。”
回复来得很快:“已经在查了。你那边有什么需要?”
我想了想,打了四个字:“恢复权限。”
“马上。”
三分钟后,我的工作邮箱开始疯狂弹出新邮件提醒。一封接一封,大部分是系统告警——从昨晚到现在,累计的告警邮件堆积了上千封,刚才我的账号被冻结所以没有推送。我点开最新的一封,是运维中心自动发出的,写着“华南区备份专线异常流量告警”,时间戳是两分钟前。
“老郑。”我把手机递给他看,“那条备份专线,现在还有流量在跑。”
老郑看了一眼屏幕,脸色变了:“王明远人跑了,但数据还在往上传?”
“他设了定时任务。只要上传完成,数据会自动清空本地的临时缓存,到时候死无对证。”我拿起笔记本电脑,拔出U盘,“得去机房。现在。”
周明掀开被子要下床,赵雪一把按住他。“你别动,我去。”我按住他的肩膀,“你把那个令牌APP的漏洞告诉我,怎么从运维端切断上传任务。”
“切断不了。他设了硬件级的定时器,在专线入口的服务器上插了一块物理定时卡,到点自动触发。除非把服务器整个断电,否则关不掉。”
“哪台服务器?”
“华南区机房,A排第七个机柜,从上往下第三台。型号是浪潮NF5280M5,序列号我发你手机上了。”
我转身往外走。老郑跟上来,一边走一边打对讲机:“滨海立交桥,增派一辆车到科技产业园南门,送张伟去华南区机房。沿途绿波带。”
下楼的时候,我的旧手机又响了。陈建国发来的第二条短信:“华南区机房那边,王明远早上派了两个人过去,说是‘设备维护’。你的权限恢复了,但他们可能不认你。”
我没回。上了老郑安排的车,一辆白色捷达,司机是个年轻人,穿着便服。车子驶出医院大门,往南三环的方向开。我靠在后座上,把那枚银色U盘重新插回笔记本电脑,打开运维中心的全量架构图,找到华南区的节点,放大。
A排第七个机柜,从上往下第三台。那台服务器是三年前我亲手装的,当时为了给备份专线做冗余,特意加了一块物理定时卡,用来在专线故障时自动切换。后来专线停了,那块卡一直没拆。
我拿起手机,给周明发了一条消息:“定时卡是什么时候被重新激活的?”
回复几乎秒到:“昨晚八点十九分。和王明远登录令牌APP的时间完全一致。”
车子上了南三环,车速提起来。窗外的建筑越来越矮,从写字楼变成仓库,又从仓库变成铁皮厂房。前方两公里就是华南区机房,那栋灰色的三层小楼,没有窗户,外墙刷着“数据重地”四个大字。
司机突然踩了刹车。我往前一看,机房大门口停着一辆白色金杯面包车,横在路中间,车头对着大门。两个人靠在车旁边抽烟,穿着灰色工装,胸口别着集团的工牌。看见我们的车过来,其中一个把烟头扔在地上,踩灭了。
“坐稳。”司机说,然后按下了方向盘旁边的警报器。红蓝灯光从车顶闪起来。