下一章 上一章 目录 设置
17、截图 “她是我妈 ...
-
第二天早上下了雨夹雪。
不是那种能积起来的雪,是混在雨水里落地就化的那种。张若木到市局的时候前额的发梢已经湿了,他在门口甩了甩伞上的水,收起来挂在门厅的伞架上。值班室的暖气开得足,和室外温差太大,眼镜片上起了一层雾,他摘下来擦了擦才往里走。
姚天籁已经在技术科了。她面前的桌上摊着三台笔记本和一块外接屏幕,屏幕上密密麻麻的数据列表让人看一眼就不想再看第二眼。她手里端着一杯速溶咖啡,看到张若木进来也没打招呼,直接说了一句话。
“第三段的IP我查完了。”
张若木拉了一把椅子坐下来。椅子腿在地砖上蹭出一声短促的尖响,他调整了一下坐姿,等她说下去。
姚天籁把其中一台笔记本转过来对着他。屏幕上是一张网络拓扑图,好几个节点连在一起,其中一条链路用红色标了出来,指向一个地址。
“这个IP在十四天前的凌晨两点十七分,接入过云城人民医院的内网。不是普通访问,是系统层的接口调用,对面在内网里走的是管理员的权限通道。”她把笔记本往回拉了一下,敲了几个键,屏幕上切换成另一张数据表格,“而且不是一次,是连续三天,每天都在同一时段,持续大约四十分钟。”
张若木看着屏幕上那串时间和数字,脑子里已经把这些信息串联起来了。一个暗网平台的技术人员,用经过跳转的IP地址,连续三天在凌晨时段接入人民医院的内部网络——这不像是普通的黑客行为,更像是一种已经部署好的定时任务。
“接入之后做了什么。”他问。
“这才是最麻烦的地方。”姚天籁端起咖啡喝了一口,皱了皱眉——大概是咖啡凉了,“对方在内网里放了东西。”
“什么东西。”
“一段脚本。挂号在病案管理系统的数据接口下,处于休眠状态,没有激活过。从技术实现上来看,这段脚本的功能是在收到特定外部信号之后,从病案系统里提取数据并发送到一个预设地址。”
张若木的后背靠到椅背上。他的手放在膝盖上,指节慢慢收紧了一下。
“医院的系统我们自己人能不能查?”
“能查,但没有权限不行。得跟院方沟通,让他们配合。”
张若木站起来,拿起搭在椅背上的外套。姚天籁看他这个动作就知道他要出门,她把杯子放下问了一句:“你要去医院?”
“现在去。”
“那个小孩呢,要不要叫他一起?”
张若木停了一下。他本来想说不用,但转念想到那段脚本他不一定能看懂,带云飞去是实用的选择。他点了点头,拿出手机给云飞发了一条消息。
云飞到市局门口的时候雨夹雪已经停了,但天还是阴沉沉的,路面湿漉漉的反射着灰白的光。他穿了一件黑色的连帽卫衣,外面套了一件薄羽绒服,跟昨天一样的耳机挂在脖子上。他拉开车门坐进副驾,带进来一股雨后空气的清冷味道,混合着洗衣液淡淡的皂香。
“去医院查什么。”他一边系安全带一边问,语气随意得像在问晚饭吃什么。
“你看了姚天籁发的报告没有。”
“在路上扫了一眼。”云飞说,“第三段IP连到人民医院的内网,放了一段脚本。脚本没触发过,在等待激活信号。”
他说这些的时候语气很平淡,但张若木注意到他系好安全带之后手指在安全带的织带上捻了两下——那是云飞紧张时的小动作,他自己可能都没意识到。
车从市局开往人民医院的路上,两个人都没怎么说话。电台放着一首老歌,主持人插播了一段路况信息。张若木趁红灯的时候偏头看了一眼云飞,发现他正看着窗外,目光落在远处某个看不到的点上,脸上的表情很淡,淡到几乎没有表情。
“你在想什么。”张若木问。
“没想什么。”
“你上车之前不是这样的。”
云飞转过头来,跟张若木对视了一秒。他张了张嘴,像是想回一句嘴,但最终什么也没说,又转回去看窗外了。
人民医院的门诊大楼是一栋九十年代建的老楼,外墙贴过白色瓷砖,但年久失修,有些瓷砖已经脱落了,露出下面灰色的水泥层。大楼入口上方挂着红色的十字标志,在灰暗的天色下显得格外醒目。门口的人流不断——推着轮椅的护工、拎着胶片袋的患者、抱着小孩的家长、拿着手机打电话的中年男人——所有人的脸上都带着一种医院特有的疲惫和麻木。
云飞下车之后站在门口看了一眼那栋楼。只看了很短的时间,大概两三秒,但张若木注意到了。他没有催,站在旁边假装在看手机上的通知,等云飞先迈步。
“走吧。”云飞说,声音比刚才低了一些。
信息科的办公室在二楼,走廊两侧的墙面刷着淡绿色的墙裙,那种只有医院才会用的绿色,看久了让人有种说不出来的压抑。科长姓刘,五十出头,头顶已经秃了大半,戴着一副黑框眼镜。他看到张若木的证件之后先是愣了一下,然后表情变得不太好看。
“你们说我们的系统里有外部脚本?”
“不是推测,已经技术确认了。”张若木说,“我们需要查看服务器,找到那段脚本。”
刘科长犹豫了几秒,最终还是点了头。他领着他们下到地下二层。
机房在地下二层的最深处,走廊很长,头顶的白炽灯管有一根坏了,一明一灭地闪,发出细微的电流声。机房的门是厚重的钢制防火门,推开之后一股凉气立刻涌出来。温度很低,比走廊里低了至少十度,空调系统嗡嗡地运转着,散发出一股电子设备和塑料外壳被冷却后的特有气味——微热的灰尘味混合着臭氧味。
几排机柜整齐地排列着,指示灯在暗处闪烁着绿色和蓝色的光。云飞走进去之后没有等刘科长给他指路,他已经根据姚天籁发来的网络拓扑图锁定了目标机柜的位置。他走到第三排中间的一台设备前蹲下来,看了一眼背面的网线接口,确认了设备编号。
“这台机器的管理员权限我需要。”
刘科长站在旁边,脸上的表情介于配合和不情愿之间。云飞没有催他,就蹲在那里等着,手搭在膝盖上,目光一直没有离开那台服务器。
刘科长最终拿出手机打了个电话,几分钟后一个年轻的信息技术员跑下来,用管理员的账户帮云飞登进了系统。
云飞接手之后没有说话。他的手指在键盘上快速移动,屏幕上的命令一行一行地往上滚。张若木站在他身后,看不懂那些代码,但他看得懂云飞的动作——流畅、精准、没有多余的操作。每隔一小会儿他的手指会停一下,头微微侧向一边,像是在辨认什么。
机房里的空调一直在吹,张若木站久了也觉得手臂上起了一层鸡皮疙瘩。他没有开口打扰。刘科长和信息技术员站在门口,小声说了几句话,然后安静下来等着。
大约过了四十分钟,云飞的手停了。他把屏幕上的代码拉到最开始的部分,重新看了一遍,然后说了一句话。
“我找到了。”
张若木往前迈了一步,弯下腰看屏幕。屏幕上显示的是一段他完全看不懂的脚本代码,但在代码的中间部分,他看到了一行备注——不是技术说明,而是一串病案号。
“这段脚本的目标很明确,”云飞指着屏幕上那行备注说,“它就做一件事——找到这个病案号对应的患者数据,提取出来,等待外部信号触发之后发送出去。”
“能查到这个病案号是谁吗?”
云飞的手指在键盘上停了一瞬,然后输入了一串命令。屏幕上弹出了一个查询结果,只有几行字——病案号、姓名、入院日期、出院日期、死亡日期。
云飞的手指从键盘上抬起来了。
他没有立刻把结果显示出来,只是看着屏幕,背微微僵住了。张若木站在他斜后方,从他的角度看不清云飞的脸,但他能看到云飞握着鼠标的手指——指节泛白,握得太紧了。
“是谁?”张若木问。
云飞没有回答。过了大概五秒钟,他把身体往旁边侧了一下,让屏幕完全暴露在张若木的视线里。
屏幕上显示的名字张若木不认识。但他看到了死亡日期——三年前的秋天。他又看了云飞一眼,云飞的表情已经不是他平时那个样子了。脸上没有笑容,没有漫不经心,什么都没有,干净得像一张白纸。
“你认识这个人?”张若木问。
云飞把屏幕关了。他没有回答那个问题,而是站起来,面朝着那排闪烁的指示灯站着。机房的冷气吹着他的后背,他卫衣的帽子垂在肩后,整个人在惨白的灯光下显得很安静。
“她是我妈。”
他说这句话的时候声音不大,在机房空调的嗡嗡声里几乎被淹没。但张若木听清了。
张若木站在原地,一时间没有合适的回应。他不知道云飞的母亲在三年前去世了,他也不知道她是死在这家医院里的,更不知道云飞的母亲跟这个案子有这样一种方式被联系起来。所有的巧合在这一刻串成了一条线,但这条线的另一端通向哪里,他看不到。
“三年前的事,”云飞说,声音还是平的,像是在陈述一件档案记录,“她做了个常规手术,术后感染,没救回来。我一直都觉得那次感染不应该是致命的。”
“你做过调查吗?”
云飞摇了摇头。没有解释为什么没有。可能是查过但没有结果,可能是查了结果更让人难受,也可能是一开始就不敢去查。
张若木站在那排机柜旁边,跟云飞并肩看着面前那些闪烁着的指示灯。他没有说安慰的话,因为他觉得在机房这种地方说安慰的话很奇怪。他也没有伸手去碰云飞,因为他觉得这个时候碰他可能会让他更难受。
他就这样站了一会儿,然后说了一句话。
“不管那段脚本是谁放的,我一定会查清楚。”
云飞没有回答。他站在那里,看着那些指示灯闪烁了很久,然后弯下腰把屏幕重新打开了。他把那段脚本从头到尾又读了一遍,这一次读得很仔细,比刚才更仔细。读完之后他说了一句:“这个写脚本的人手法很眼熟,可能是我认识的某个人。”
张若木没有追问是谁。他站在云飞身后,看着他重新投入工作的背影,心想丁鹤昨天说的那句话也许比他自己意识到的重要得多——有人在查云飞。有人在绕着弯子查云飞。用一段在医院病案系统里躺了三年没有被触发的脚本,用一个已经去世了的患者的病案号,用一种云飞不可能不注意的方式。
他不敢去想这个“有人”到底想让云飞知道什么,又或者——想让云飞知道之后做什么。