雨下了整整一夜。
陈寻回到安平市区的时候,全身已经湿透了。他在公寓楼下抖了抖身上的水,上楼,换了衣服,把湿衣服挂在卫生间里。然后他坐到桌前,打开笔记本,把今天的信息一条一条整理进去。
他写得很慢,每个字都写得很用力,像是在用笔尖把那些信息刻进纸里。
整理完之后,他看着笔记本上密密麻麻的文字,忽然意识到一件事——他手里的证据,从数量上说已经不少了:周海平的U盘备份、招办机房的系统截图、王志强提供的王浩真实成绩、牛德厚的成绩单和录取截图、匿名老师寄来的照片、王建国亲口承认“省里有人挡”的录音(他没有录,但他可以写进报告里)、周明远的奥迪A6出现在清平县城的线索。
但这些证据的“硬度”不一样。有些是原始数据,有些是证人证言,有些只是间接线索。要把王建国钉死,他需要最硬的那一种——有法律效力的技术鉴定。
技术鉴定是什么?就是对IP地址、MAC地址、作志这些电子数据进行司法鉴定,出具一份具有法律效力的鉴定报告。这份报告可以在法庭上作为证据使用,也可以在纪检调查中作为定案的依据。
但要做技术鉴定,他需要找到一个有资质的司法鉴定机构,然后由办案单位委托鉴定。而办案单位只能是公安机关或者纪检监察机关。
公安局会帮他做这个鉴定吗?
陈寻想起王志强之前说过的一句话:“我们公安不好手你们教育系统的事。”这不是王志强的推诿,而是实情。高考成绩篡改,如果没有人报案,没有立案,公安机关确实没有义务配合做鉴定。
但陈寻还是想试一试。
第二天早上,他给王志强打了一个电话。
“王支队,我需要做一个技术鉴定——对清平县招办服务器上的作志进行司法鉴定,证明那个IP地址和MAC地址对应王建国的电脑。”
电话那头沉默了几秒。
“陈寻,我跟你说过,这个事情我不方便以官方身份介入。”王志强的语气有些为难,“你要做鉴定,得先立案。谁立案?公安局立案需要有受害人的报案,或者上级机关的指定。你那个案子,受害人是牛小军,但他本人没有报案,是他父亲牛德厚在举报。牛德厚的精神状况又有争议,公安局不会轻易立案。”
“那如果我从省里拿到授权呢?”
“如果你能从省公安厅拿到正式的协查函,我们市局可以配合。但省公安厅的协查函,需要省教育厅或者省纪委先出函。”王志强叹了口气,“你看,这就是一个循环。你要证据才能立案,但立案才能拿证据。”
“所以我需要绕过这个循环。”
“怎么绕过?”
陈寻想了想:“我能不能以个人名义委托鉴定机构做鉴定?不做司法鉴定,只做技术分析,出具一份技术报告?这份报告虽然没有法律效力,但可以作为我调查的参考,也可以作为我向上级报告的依据。”
“这个可以。技术公司就能做。”王志强说,“你找一家有资质的网络技术公司,让他们帮你分析数据,出一份技术分析报告。报告本身没有法律效力,但如果分析结果是客观的,将来走司法程序的时候可以作为参考。”
“你推荐一家?”
“安平市有一家‘晨光网络科技有限公司’,做网络安全和数据恢复的,资质还可以。他们的技术主管我认识,叫张晨光,人比较靠谱。你可以去找他。”
陈寻听到“晨光网络科技有限公司”这个名字,心里一动。这个名字他见过——就是在县招办那份假的《数据恢复情况说明》上,落款就是这家公司。周海平说过,那份报告是假的,是王建国让他编造的。
但王志强推荐的也是这家公司。
这意味着晨光科技和王建国有过——他们参与了伪造数据丢失的谎言。但同时,这家公司也可能掌握着真相。
陈寻决定冒一次险。
上午十点,陈寻找到了晨光科技。
公司在安平市经济技术开发区,一栋三层的小楼,门口挂着“晨光网络科技有限公司”的牌子,旁边还有一个“安平市网络安全协会理事单位”的铜牌。门面不大,但看起来还算正规。
陈寻推门进去。前台是一个年轻小伙子,穿着格子衬衫,正在敲代码,看到有人进来,抬起头:“你好,找谁?”
“我找张晨光。王支队介绍的。”
“张总在二楼,我带你上去。”小伙子站起来,领着陈寻上楼。
二楼是一个开放式的办公区,十几个工位,大部分都坐着人,都在对着电脑屏幕工作。最里面是一间独立的办公室,门上挂着“总经理”的牌子。
小伙子敲了敲门:“张总,有人找,说是王支队介绍的。”
门开了。张晨光三十七八岁的样子,中等身材,戴着一副黑框眼镜,穿着一件深色的POLO衫,看起来不像传统的老板,更像一个技术出身的工程师。
“你好,我是张晨光。你是?”他伸出手。
“陈寻,省教育厅特派专员。”陈寻握了握手,直接亮明了身份。
张晨光的表情微微变了一下,但很快恢复了正常。他侧身让陈寻进去,关上门,示意他在沙发上坐下。
“省教育厅的?王支队介绍来的?”张晨光的声音里带着一丝试探,“什么事?”
“我想请你们公司帮我做一个技术分析。”陈寻从背包里拿出一个U盘——不是周海平给的那个原件,而是一个拷贝,“这里面是清平县招办2023年高考的作志和部分成绩数据。我需要你们帮我分析几件事:第一,这些志是否完整、是否被篡改过;第二,志中记录的作IP地址和MAC地址是否能对应到具体的设备;第三,作时间是否连续、有无异常。”
张晨光看了一眼那个U盘,没有伸手去拿。
“陈专员,你这个事儿,我可能帮不了。”他的语气很客气,但态度很明确,“我们是一家小公司,主要做政府机关的网络维护和数据处理。你让我分析的这个东西,涉及到政府部门的数据,没有官方的授权,我们不敢碰。”
“我理解。但我不需要你们出具具有法律效力的鉴定报告,只需要一份技术分析报告,供我内部参考。这不需要官方的授权。”
“技术分析报告也不行。”张晨光摇了摇头,“陈专员,你可能不了解我们这个行业。在安平市,做我们这行的就那几家,大家都指着政府的吃饭。你让我分析清平县招办的数据,如果我分析出来的结果对他们不利,他们以后就不会找我们做事了。我们公司几十号人要吃饭,我不能为了一个单子把所有的路都堵死。”
“如果我付费呢?”
“不是钱的问题。”张晨光的语气很坚决,“陈专员,我建议你去找省里的鉴定机构,找那种不依赖地方政府的第三方公司。我们这种地方上的公司,做不了。”
陈寻看着张晨光,没有急着说话。
他在判断。张晨光的拒绝,是出于商业上的谨慎,还是因为他知道什么内情?从张晨光的表情和语气来看,他似乎是害怕得罪清平县招办。这本身就是一个信息——清平县招办在安平市的IT服务商中有影响力,这种影响力来自于王建国。
“张总,我有个问题想问你。”陈寻换了一个角度,“去年年底,清平县招办的服务器‘中了勒索病毒’,是你们公司做的数据恢复?”
张晨光的身体明显僵了一下。
“那个……”他顿了一下,“对,是我们做的。”
“那你们应该很清楚,服务器到底有没有中勒索病毒。”
张晨光看着他,眼神里多了一种说不清的东西。
“陈专员,这个事儿我不能说。我跟清平县招办签了保密协议。”
“张总,我不是让你违反保密协议。我是想请你从技术角度告诉我,一个中了勒索病毒的服务器,它的志文件会不会刚好在事发的那个时间段被覆盖?一个中了勒索病毒的服务器,它的数据恢复报告会不会是伪造的?”
张晨光的喉结动了一下。
“陈专员,你问的这些,我回答不了。”他站起来,走到门口,把门打开了一条缝,像是在暗示陈寻该走了。
陈寻没有动。
“张总,我知道你们公司给清平县招办出了一份假的《数据恢复情况说明》,说服务器中了勒索病毒,数据无法恢复。但事实上,服务器没有中病毒,数据是被人为删除的。周海平已经告诉我了。”
张晨光的脸色变了。
他快步走回办公桌后面,坐下,拿起桌上的水杯喝了一大口水,手微微发抖。
“周海平跟你说的?”他的声音压得很低,“他还说了什么?”
“他还说,那份假的报告是你按照王建国的要求出的。”
“不是!”张晨光的声音突然大了起来,然后又立刻压低,“不是按照王建国的要求,是周海平来找我,说服务器出了故障,需要出一份情况说明。我当时不知道那是假的。后来我才知道……”
“你后来知道什么?”
张晨光沉默了很久。
“陈专员,我跟你实话实说。”他终于开口了,声音很低,像是怕人听见,“那份报告是假的。服务器没有中勒索病毒,是有人把数据删了。我出那份报告的时候,不知道情况。后来周海平跟我承认了,说那是王局长让他这么做的。我上了贼船,下不来了。”
“所以你不敢帮我做技术分析,是因为你怕王建国知道你在查他的事?”
“对。”张晨光点了点头,“我已经出了一份假报告,如果再帮你做分析,王建国那边会认为我在跟他作对。他会把假报告的事情翻出来,说是我和他一起造假的。那我就完了。”
“张总,如果你现在帮我做分析,出具一份真实的技术报告,将来追责的时候,你就是主动纠正错误,是从轻的情节。如果你继续隐瞒,等事情查清楚了,你就是共犯。”
张晨光看着陈寻,眼神里有一种被到墙角的表情。
“你让我想想。”他说。
“我没有太多时间。”陈寻说,“但我可以给你一天。明天这个时候,我等你答复。如果你愿意帮我,我给你一份书面承诺,保证你的配合会被记录在案,将来不追究你的责任。如果你不愿意,我也不强求,我会找别的公司。”
陈寻站起来,把自己的名片放在桌上。
“张总,你自己决定。”
他转身走了出去。
从晨光科技出来,陈寻没有回安平市,而是去了清平县城。
他要去一趟县公安局。
虽然王志强说公安局不会立案,但他还是想试一试——不是为了立案,而是为了从侧面了解一下公安系统对这个案子的态度。如果公安局愿意配合,哪怕不立案,只是出一个初步的技术分析意见,也能增加他手里证据的分量。
清平县公安局在县城中心,是一栋四层的灰色大楼,门口停着几辆警车。陈寻走进大厅,看到一个值班民警坐在前台后面,正在看手机。
“你好,我想找一下网安大队的负责人。”
值班民警抬起头:“网安大队在三楼,你直接上去就行。”
陈寻上了三楼。网安大队的办公室门开着,里面坐着两个穿警服的人,一个三十出头,一个四十多岁。年长的那个正在看文件,年轻的那个在摆弄电脑。
“你好,我是省教育厅特派专员陈寻,想咨询一些技术问题。”陈寻出示了工作证明。
年长的警察站起来,伸出手:“网安大队长刘建国。你有什么事?”
“我想请你们帮忙做一个技术鉴定——对清平县招办服务器上的作志进行分析,确认IP地址和MAC地址对应的设备。”
刘建国听了,表情变得有些微妙。
“你是说清平县招办?王建国那个?”
“对。”
“这个事儿……我跟你说实话吧。”刘建国坐回椅子上,双手交叉放在桌上,“你来找我做技术鉴定,我没办法做。首先,你没有报案材料,我们没有立案依据。其次,清平县招办的服务器属于教育系统的内部系统,不在我们常监管范围内。你要做鉴定,得先有上级部门的指令。”
“如果我拿到省公安厅的协查函呢?”
“那当然可以。只要有正式的协查函,我们无条件配合。”刘建国说,“但在那之前,我不能碰这个事儿。”
“刘队长,我能不能问一个问题?”
“你说。”
“去年,牛德厚来公安局报过案吗?”
刘建国想了想:“报过。牛德厚来过我们局里,说他的儿子高考成绩被人改了。我们当时接警的同志跟他聊了,发现他情绪不太稳定,说话有些前言不搭后语。后来我们联系了清平县教育局,教育局的人说他精神有问题,我们就没立案。”
“你们核实过他的精神状况吗?”
“核实过。教育局提供了一份诊断书。”
“哪家医院开的?”
“安平市精神卫生中心。”刘建国说,“我们当时也打电话去问了,那边说确实有这个病人的记录。”
陈寻心里一动。王志强说过,安平市精神卫生中心没有牛德厚的诊断记录。但刘建国说他们打电话去问了,那边说“有这个病人记录”。这说明要么是王志强的信息不完整——精神卫生中心可能有纸质档案没有录入系统;要么是有人冒充精神卫生中心的工作人员接了电话。
“刘队长,那份诊断书你还留底了吗?”
“时间太久了,可能找不到了。”刘建国摇了摇头,“而且当时我们只是初步了解,没有正式立案,所以没有保留材料。”
陈寻点了点头,没有再追问。他已经得到了想要的信息——公安局对牛德厚的案件定性为“精神问题者举报”,没有立案。而那个“诊断书”的来源,至今存疑。
从公安局出来,陈寻站在门口,在笔记本上写下了几条:
“清平县公安局网安大队长刘建国证实:去年牛德厚报案,公安局因其‘精神有问题’未立案。依据:教育局提供的诊断书(安平市精神卫生中心‘有记录’)。但王志强查无此记录。矛盾需核实。”
他合上笔记本,看了一眼时间——中午十二点十分。
肚子饿了,他找了一家面馆,要了一碗牛肉面,边吃边想下一步。
公安局的拒绝是意料之中的。他没有指望能从这里拿到突破。晨光科技的张晨光是他现在最有希望的突破口——只要张晨光愿意帮他做技术分析,他就能拿到一份具有说服力的技术报告。
但张晨光在犹豫。他在害怕。
陈寻需要给张晨光一个不得不帮他的理由。
他吃完面,在面馆里坐了一会儿,拿出手机,给张晨光发了一条消息:
“张总,我刚才去了一趟清平县公安局。网安大队的刘队长告诉我,他们不能做技术鉴定,因为没有立案。但他同时说,如果有人能提供充分的技术证据证明篡改行为,他们可以考虑重新评估是否立案。你手里的技术能力,可能就是这个案子的关键。”
他没有等张晨光的回复,把手机收了起来。
下午两点,陈寻回到了安平市教育局。
他走进自己的办公室,关上门,打开电脑,开始整理一份新的文件——《关于请求对清平县高考数据异常进行技术鉴定的申请》。
这份申请是写给省教育厅的。他需要让省教育厅正式委托一家有资质的鉴定机构对数据和志进行鉴定。虽然周明远可能从中作梗,但程序上他必须要走这一步——如果省教育厅拒绝了他的申请,那这个拒绝本身就是一份证据,证明有人在阻止调查。
他写得很仔细,把每一个需要鉴定的问题都列了出来,引用相关法规,说明鉴定的必要性和紧迫性。写完之后,他打印出来,签了名,装进信封。
然后他拿起座机,拨了省教育厅办公室的电话。
“你好,我是安平市专项工作办公室的陈寻。我需要向厅里提交一份正式申请,是通过机要通道还是直接发EMS?”
电话那头转了几次,最后是一个女声:“你好,机要通道需要走你们市教育局的办公室。你先把申请发到我们办公室的邮箱,我们打印出来按程序办理。”
“好的,谢谢。”
陈寻挂了电话,把申请扫描了一份,发到了省教育厅办公室的邮箱。然后又打印了一份纸质版,装进信封,准备通过教育局的机要通道寄出去。
他拿着信封,去了李国良的办公室。
李国良正在和一个人说话,看到陈寻进来,对那个人说“你先回去”,然后转向陈寻,露出笑容:“陈专员,什么事?”
“李主任,我需要通过机要通道寄一份材料到省教育厅。”陈寻把信封递过去。
李国良接过信封,看了看上面的收件人——省教育厅办公室,然后翻了翻看看背面封口,表情有些微妙。
“行,我帮你登记一下。”他拿起一本登记簿,写了几个字,“到了会打电话通知你。”
“谢谢。”
陈寻走出李国良的办公室,没有直接回自己的办公室,而是在走廊里站了几秒。他注意到李国良在他转身的时候,拿起那个信封翻来覆去地看了几遍,像是在犹豫要不要拆开。
机要通道的信封是封口的,拆开会有痕迹。李国良应该不敢拆。但他会不会拍照?会不会把内容透露给别人?
陈寻知道自己没有办法防止这一切。他能做的,就是把最重要的信息不写在申请里——申请里只写了要求鉴定的请求,没有写具体的证据内容。
这样即使被泄露了,也不会造成太大的损失。
下午四点,陈寻的手机响了。
张晨光打来的。
“陈专员,我想好了。”电话那头的声音有些沙哑,像是做了很大的决定,“我帮你做技术分析。但我有条件。”
“你说。”
“第一,你不能把我的名字写进任何报告里,除非到了最后定案的时候。第二,你必须在分析报告里注明,这份报告只供内部参考,不具法律效力。第三,如果将来有人追究我出假报告的事情,你要出面证明我是被的,是主动纠正错误。”
“第一条,我可以做到。在最后定案之前,我不会透露你的名字。第二条,没问题。第三条,我可以给你写一份书面承诺。”
“那行。”张晨光说,“你什么时候把数据拿过来?”
“现在。我马上过去。”
陈寻挂了电话,收拾东西,下楼,打车直奔晨光科技。
四十分钟后,他到了晨光科技的门口。张晨光在二楼办公室等他,桌上摆着一台高性能的笔记本电脑,旁边连着几块外接硬盘。
“把U盘给我。”张晨光伸出手。
陈寻把拷贝U盘递给他。张晨光进电脑,打开里面的文件,看了看。
“这是数据库导出的文件,格式是SQL脚本。”张晨光皱了皱眉,“谁导的?周海平?”
“对。”
“导得还不错,数据完整性可以。我先把这些文件导入到我本地的数据库环境里,然后跑一下校验,看看有没有篡改痕迹。”
张晨光的手指在键盘上飞速敲击,屏幕上闪过一行行代码。陈寻看不懂那些技术细节,但他看得懂张晨光的表情——从专注到凝重,从凝重到惊讶。
“怎么了?”陈寻问。
“这个作志……太完整了。”张晨光指着屏幕上的几行数据,“你看,这是每一笔作的详细记录,包括时间戳、作人ID、客户端IP、服务器IP、作类型、修改前的内容、修改后的内容。这种级别的志,不是一般系统能保存的。招办的那个系统,按理说应该只保存最近三个月的作志,六个月前的志会自动覆盖。但这个U盘里的志,一直保存到了去年七月。”
“这说明什么?”
“说明周海平是故意保存的。他可能在系统里设置了志不自动覆盖,或者他定期手动导出备份。”张晨光转过头看着陈寻,“这说明周海平很早就开始准备后手了。他知道这些志将来可能会成为证据。”
陈寻没有说话。他在想,周海平到底是一个被良心驱使的人,还是一个工于心计的老机关?也许两者都是。在体制内了二十年的人,不可能没有一点城府。
“你现在帮我做几件事。”陈寻说,“第一,确认这些志有没有被人为篡改过的痕迹。第二,从志里提取出所有作人ID为‘wangjg’的记录,按时间排序。第三,把那个IP地址和MAC地址对应到设备的信息做一个技术说明。”
“可以。但需要时间。这些志有几十万条,我要写脚本跑分析。”张晨光想了想,“最快明天下午能出结果。”
“我等你。”
陈寻站起来,从背包里拿出一张纸,在上面写了一段话——“兹证明,晨光网络科技有限公司张晨光先生于2024年3月对我所提供的数据进行了技术分析,其配合调查的行为系主动纠正前期工作中的错误。待本案查清后,将对其从轻或免于追究责任。”然后签了名,写上了期。
“这份承诺你先收着。等事情结束,我会想办法让省里出一个正式的证明。”
张晨光接过那张纸,看了看,小心翼翼地折好,放进了抽屉里。
“陈专员,我还有一件事要告诉你。”张晨光的表情变得严肃起来,“你让我分析的那个MAC地址——00:E0:4C:12:34:56——对应的是联想ThinkPad X1 Carbon,型号比较新。这种电脑在清平县教育局里不多。但我从我们的客户记录里查到,王建国在去年年初通过我们公司采购了一台同型号的电脑,作为他的办公用机。”
“你是说,那台电脑还在用?”
“应该还在用。而且——”张晨光犹豫了一下,“我这边有一个监控工具,可以实时查看教育局内网的活跃设备。如果你想知道那台电脑现在是不是在线,我可以帮你查一下。”
陈寻心里一动。“现在查。”
张晨光打开另一个系统,输入了一串指令。屏幕上跳出一个列表,显示着当前连接在清平县教育局内网上的设备。
他指着其中一行:“你看,MAC地址00:E0:4C:12:34:56,设备在线。IP地址是10.12.34.56——和你志里的那个IP地址一致。登录时间是今天上午8:47,说明王建国在用他的办公电脑。”
陈寻盯着屏幕上的那行信息,心跳加速。
这一刻,证据不再是过去的痕迹,而是此时此刻正在发生的现实。王建国正坐在他的办公室里,用那台他用来篡改成绩的电脑,正常地工作。他不知道的是,他的电脑的MAC地址,已经被记录在了陈寻的调查笔记里。
“能不能把这个屏幕截图给我?”陈寻问。
张晨光点了点头,截了图,保存成图片文件,复制到U盘里。
“还有一件事。”张晨光说,“你刚才让我查的那个IP地址,10.12.34.56,是教育局内网的地址。但这个内网里,还有一台设备也经常使用这个IP——那是一台华为MateBook,使用者我查不到。这台设备的登录时间大多是晚上,经常在夜里十一点以后。”
“你能确认那台华为的使用者吗?”
“需要从教育局的网络管理员那里才能查到。但我可以给你一个信息——那台华为的设备,第一次出现在内网的时间是2023年7月初。也就是你志里那些作记录之前不久。”
陈寻把这个信息记在了心里。
从晨光科技出来,天已经快黑了。
陈寻站在路边,仰头看着天空。今天的晚霞很漂亮,橘红色的云层像是被火烧过一样,铺满了半边天。
他忽然觉得,这个案子正在朝他预期的方向发展。虽然公安局拒绝了鉴定,虽然省考试院设置了障碍,虽然王建国和省里的某个人在联手掩盖——但他找到了周海平,找到了张晨光,找到了一个个愿意帮他的人。
这些人不是因为他有多大的权力或者多高的级别才帮他。他们帮他,是因为他们心里有一杆秤,因为他们在某一个瞬间,选择了站在正义这一边。
陈寻的手机震动了。一条新短信,还是那个匿名号码。
“你今天的行踪:上午去了晨光科技,中午去了清平县公安局,下午又去了晨光科技。你在和张晨光谈什么?他是不是在帮你做技术分析?”
陈寻看完这条短信,手紧紧地握住了手机。
对方对他的行踪了如指掌。每一步,每一站,都有人在盯着他。今天的这个人,是在晨光科技门口等他的,还是在公安局门口等他的?或者,是在安平市的任何一个角落?
他没有回复那条短信。而是打开通讯录,找到了王志强。
“王支队,我需要你帮我查一件事。我今天的行踪被人全程掌握了。有内鬼。可能是教育局的人,也可能是晨光科技的人,也可能是我在清平县接触过的某个人。你能不能帮我分析一下,谁最有可能在向王建国那边通风报信?”
王志强回复:“这事交给我。你先别声张,照常行动。”
陈寻把手机收起来,打了一辆车回公寓。
出租车上,他靠着车窗,闭上眼睛。
他在心里默默地说:不管你是谁,不管你有多大的权力,不管你背后站着什么人——我一定会查到底。
车子在夜色中穿过安平市的大街小巷,路灯的光一块一块地滑过他的脸。
他没有睡着,他只是在让自己的大脑休息。
明天,还有很多事要做。