“在洛丽的案子中,可能碰到窗外砖墙突出的部分,或粗糙的木头窗棂。”
“可能。而且我们在那个案子中发现的深色纤维可能就是从某件连身装掉下来,甚至就是这一件,只是我们永远也不能确定。”
我下楼回到办公室,坐下来仔细想了一会儿,接着打开上了锁的抽屉,拿出那五个被杀女子的卷宗。
我开始寻找有没有被我疏忽的地方,并且重新搜索这些案子的相关之处。
这五个女人有什么相通的地方?为什么凶手要选上她们?他怎么与她们接触?
一定有某种相关。我根本不相信凶手只是随机找上她们,也不认为他开车到处逛,碰到谁就杀谁。他的选择自有理由。他先同她们有某种接触,然后跟踪她们回家。
地理位置、职业、外表容貌,这些女人没有共同之处,我试着反过来思考,什么是她们最不相同的地方?我再次回到塞西尔·泰勒的身上。
她是黑人,其他四个被害人是白人。一开始我就对此感到迷惑,现在仍旧如此。凶手犯了错?可能他没有想到她是黑人,他其实想杀另一个女人?比如说,她的朋友芭比?
我一页页翻阅,浏览我口述的验尸报告,检查收集到的证据、文件和从一家圣路易医院要来的老档案。塞西尔五年前曾因宫外孕在那里接受治疗。我从警察的报告中得知,她唯一的亲属是住在俄勒冈玛特利斯的妹妹。马里诺从她那里问到塞西尔的背景,知道她曾与一个住在泰德沃特的牙医结过婚。
我把X光片从信封中拉出时,那些片子发出像锯子刀刃被折到的声音。我把它们一张张对着桌灯迎光照去。除了在左胳膊肘有个早已愈合的撞伤外,塞西尔并没有其他骨伤。我无法断定撞伤的年代,但可确定绝非新伤,可能发生在多年前,与她的死亡无关。
我再度想到弗吉尼亚医院。洛丽·彼得森与布兰达·史代普最近都去过急诊室。洛丽在那里是因为轮到实习急救外科,布兰达在那里则是因为出了车祸。要说塞西尔可能也去那里治疗肘伤似乎扯得太远,但现在我愿意考虑任何可能性。
我根据马里诺留下的资料,拨了塞西尔妹妹的电话号码。
铃声响了五次后,有人接起电话。
声音很不清楚,而且我一定打错了。
“抱歉,我打错了。”我说得很快。
“请你再说一遍。”
我提高声调重复了一遍。
“你拨的电话号码是多少?”像是个二十余岁的女子。从她的声音判断,她受过相当程度的教育,而且带有弗吉尼亚口音。
我重说了一遍号码。
“号码没错,请问你找哪位?”
“弗朗西斯·欧康纳。”我看着报告回答。
那个年轻、有教养的声音说:“我就是。”
我亮明身份,听到她轻轻喘了口气。“据我了解,你是塞西尔的妹妹。”
“是。上帝!我不想再谈这件事,请你不要再问了。”
“欧康纳太太,塞西尔的事太不幸了。我是办她案子的法医,打电话来是想问你知不知道她左胳膊肘是怎么受伤的。她左胳膊肘有个已愈合的骨折。我正在看X光片。”
她没有立刻回答,我听得出她在思考。
“她在慢跑时出了意外。她在人行道上跑步时绊倒了,双手先着地,有只胳膊肘因撞击而骨折。我记得,因为她打石膏的那三个月,正好逢上有记录以来最热的夏天,她受了很大的煎熬。”
“哪个夏天?在俄勒冈吗?”
“不,塞西尔没有在俄勒冈住过。那是在弗雷德里克堡,我们成长的地方。”
“这个意外发生在多久以前?”
她又停了一下。“九年,或十年了。”
“她在哪里接受治疗?”
“我不知道。一家在弗雷德里克堡的医院。我不记得名字了。”
塞西尔的骨折不是在弗吉尼亚医院治疗的,而且发生的时间太久远,不会有任何关联。但我不在乎。
我从未在塞西尔生前遇见她,也没和她讲过话。
我只是假设她会有黑人口音。
“欧康纳太太,你是黑人吗?”
“我当然是黑人。”听得出来她很不高兴。
“你姐姐说话跟你像不像?”
“跟我像不像?”她的声音提高了不少。
“我知道这个问题很怪——”
“你的意思是她是否跟我一样说起话来像白人?”她开始发怒,“不错,她是!难道教育不就是这一套?所以黑人可以说话像白人?”
“请你不要误会,”我真诚地说,“我绝对无意要冒犯你,但这点很重要…”
我对着电话向空气道歉。
露西知道第五桩勒杀案,也知道所有那些被杀的女子。她也知道我在卧室里放了把点三八口径的手枪。晚饭后她已问过我两遍。
“露西,”我冲了一下盘子,将它们放进洗碗机,“别去想那把枪。要不是我独自一人住,我才不会去买枪。”
我一直想把枪藏在她找不着的地方。但自从发生调制解调器那场风波后,我发誓一定要对她坦白。几天前,我已经把调制解凋器跟电脑接通了。只要露西还住在这里,那把枪就依旧放在我衣柜上层的鞋盒里,但枪里并没有子弹。最近我每天早上把子弹退膛,晚上再装回去。至于弹匣,我放在一个她永远不会想到去找的地方。
我看着她,她的眼睛睁得很大。“你知道我为什么要有枪,露西。你应该也明白枪支有多危险…”
“枪可以杀人。”
“对,”我们边说边走进客厅,“没错。”
“你有枪,所以你可以杀人。”
“我不想杀人的事。”我严肃地告诉她。
“嗯,就是这样。”她坚持道,“这是你买枪的理由,因为有坏人。”
我拿起遥控器,打开电视。
露西撸高她粉红运动衫的袖子,抱怨道:“这里好热,姨妈。为什么这里老这么热?”
“要我把空调调冷一点吗?”我漫不经心地翻过电视的节目表。
“不要。我讨厌冷气。”
我点起烟,她又抱怨我抽烟。
“你的书房好热,又有一股好臭的烟味。我打开窗,还是一样臭。妈妈说你不该抽烟,你是医生还抽烟,妈妈说你知道不该抽的。”
多萝茜昨天很晚的时候打来电话。她和她的插画家丈夫在加州,我不记得到底在哪里。我已经尽力对她礼貌了,原本我还想提醒她:“你有个女儿,亲骨肉露西,记得吗?你还记得她吗?”但我没有说出口,而且很保留,几乎达到宽宏大量的地步,其实主要是为了露西,她就坐在桌旁,紧紧抿着嘴唇。
露西和她母亲大概讲了十分钟,就再也无话可说。之后她将全副精神放在我身上,挑剔我,顶嘴,指使我往东往西。柏莎说她今天一天都是如此,晚上柏莎要走时索性叫她“麻烦鬼”。柏莎告诉我,露西几乎没有踏出我的书房。从我一离开,她就坐在电脑前,直到我回家为止。柏莎最终放弃要她到厨房吃饭的想法,她得以在我桌旁进餐。
电视上的闹剧好像越发荒谬,我与露西也在客厅上演我们的闹剧。
“安迪说如果你有枪但不会用,比没有枪还要危险。”她大声宣布。
“安迪?”我心不在焉地问。
“罗夫之前的那一个。他常去垃圾场打瓶子,他可以从很远的地方射中。我打赌你射不中。”她好像在控告我般的审视我。
“你说对了。我的枪法说不定没有安迪好。”
“我就知道。”
我没有告诉她,事实上我对枪支颇有心得。买那只不锈钢卢格点三八之前,我去过办公楼地下室的室内射击场,在枪械检验室专家的专业指点之下,试用过各型手枪,而且我常常练习,成绩还很不错。如果形势需要,我不认为自己会迟疑着不能开枪,但我不打算同我的外甥女讨论。
我平静地问她:“露西,你为什么要挑我的毛病?”
“因为你是个大笨瓜!”她的眼睛里充满泪水,“一个老笨瓜。如果你去试,只会害死自己,他才不会被你抓到。然后你也死了,他会杀死你,就像电视上演的一样。”
“如果我去试?”我不解地问,“如果我去试什么?露西?”
“如果你想先杀他。”她愤怒地抹掉泪水,小小的胸脯剧烈起伏。我瞪着电视上的家庭闹剧,却视而不见,一句话也说不出来。我冲动地想逃回办公室,关起门来忘情于工作,但我慢慢靠过去,把她拉过来。我们就这样坐了很久,没有说一句话。
我不知道她在家时与谁说话。我无法想象她和我妹妹能够深谈任何事。很多写书评的人赞誉多萝茜及其儿童书籍“别有创见”、“深刻动人”、“情感洋溢”。多么讽刺!多萝茜把心力都投注在不存在的小孩身上。她爱护他们,花很多时间在各种细节上。她考虑他们会怎样梳头,穿什么衣服,思索他们的问题和成长的关键。露西则在一旁渴求她母亲的关爱。
我回忆以前在迈阿密时与露西共处的时光,我、她、我母亲和多萝茜共度的假期,也想到露西上次的来访。我从不记得她提到任何朋友的名字。我想她没有朋友。她会谈她的老师、她母亲那群乱糟糟的男朋友、对街的斯普纳太太、清理院子的詹克和来来去去的女佣。露西是一个个子小小、戴副大眼镜、无所不知的小天才,比她大的小孩忌妒、厌恶她,与她同龄的小孩又不能了解她。她处处不调和。我想我和她一般年纪的时候,就和她一模一样。
我们逐渐被平和与温暖所笼罩。我对着她的头发说:“前几天有个人问我一个问题。”
“关于什么?”
“关于信任。有人问我全世界我最信任谁。你知道是谁吗?”
她往后靠,抬头看我。
“我想那个人是你。”
“真的吗?”她难以置信地说,“最信任我?”
我点点头,平静地继续:“是。现在,我要请你帮我做一件事。”
她坐直看着我,眼睛明亮警醒,非常开心。“噢,当然,你快说。我会帮你的,姨妈!”
“我必须弄清楚侵入我城里电脑的人是如何办到的——”
“不是我,”她脱口而出,表情像是被人打了一巴掌,“我已经告诉你不是我。”
“我相信你。有别人做了,露西。说不定你能帮我找出来?”
我不认为她可以,但我要给她一个机会。
她精神一振,又兴奋起来,很有信心地说:“很简单,任何人都可以做。”
“简单?”我忍不住微笑。
“因为系统管理权。”
我掩饰不住惊讶。“你怎么知道系统管理权?”
“都在书里,它是上帝。”
像现在这样的时刻,我不由得想到露西高得惊人的智商。她第一次做完智商测验后,辅导员坚持要她再做一遍,因为分数太高,一定出了错。的确有错。第二次的结果比第一次还要高十分。
“就是从那里打开结构化查询语言(SQL)的,”她叽里咕噜地说下去,“你看,除非你有系统管理权,否则不可能获得存取权。所以你要有系统管理权,上帝。你和上帝一起获得存取权,之后你要做什么都可以。”
做什么都可以,我静静思索。比如说分派我办公室的用户名与密码。这是个大发现,但又如此简单,我从没想到过。我想玛格丽特也是。
“你只需要进入就可以了,”露西径直继续,“如果他知道上帝,他就可以获得存取权,把存取权做成数据库管理员,然后他就可以进入你的数据库。”
在我的办公室,数据库管理员被称为“深喉”。玛格丽特偶尔还是有幽默感的。
“你用系统管理权进入结构化查询语言,然后你打入:连接存取权,来源,数据管理员,凯。”
“说不定就是这样发生的,”我边想边说,“如果有人可以用数据管理员,他就不但能看数据,还可以改数据。”
“当然,他爱做什么就做什么,因为上帝告诉他他可以。数据管理员是耶稣基督。”
她的神学比喻如此荒谬,我忍不住大笑起来。
“我就是这样进入结构化查询语言的。”她认了罪,“你没有告诉我任何密码,但我想进入结构化查询语言去试一些书上的指令。我给你的数据管理员一个我编的用户名和密码,然后我就进去了。”
“等一等,”我要她慢慢说,“你说你指定了一个密码给我数据管理员的用户名。这是什么意思?你怎么知道我的用户名?我又没有告诉你。”
她解释给我听。“它在你存取权的档案里,在你的目录中,你有一个档案叫Grant.SQL,你在里面替所有图表数据编了代号。”
事实上,不是我做的。去年玛格丽特做好后,我带了很多备份磁盘回家,输入家里的电脑。在办公室的电脑里会不会也有这么个存取权档案?
我牵着露西的手,我们从沙发上站起。她热切地随我走进书房。我让她坐在电脑前,自己拉出把矮椅。
我们打进玛格丽特城里办公室的号码。在电脑运作时,我们注视着屏幕下端的倒数。顷刻之间电脑接通了,几个指令之后,深色的屏幕上可以看到一个绿色的字母C在闪动。突然间我的电脑像面透镜,另一面是十英里之外我办公室的秘密。
我微微感到不安,因为我知道我们的电话装了追踪设备。我必须记得告诉韦斯利,免得他浪费时间去找谁是侵入者。这次入侵的人就是我。
“用寻找的指令,”我说,“去找任何可能叫存取权的档案。”
露西做了,但电脑显示没有找到。我们再试了一次。我们试着找“同义字”,还是没找到。然后她想到去找任何档案扩展名叫SQL的。因为通常当一个档案里有用到SQL的指令时,它的扩展名就会是SQL。而用SQL便可替办公室的数据图表造出公共的同义字。屏幕上出现了很多名字,其中一个引起了我们的注意。它叫“Public.SQL”。
露西打开那个档案,我们检查里面的内容。我感到既兴奋又不悦。里面包括玛格丽特很久以前替办公室数据库的图表做公共同义字时所写的指令。我不是电脑程序员,我听过公共同义字,但不确定到底是什么。
露西在翻阅程序手册。她找到关于公共同义字的章节,充满自信地要帮忙。“你看,很好玩的。当你做图表时,你必须先有一个用户名和密码。”她抬头看我,厚厚的镜片后双眼发亮。
“不错,”我说,“有道理。”
“如果你的用户名是‘姨妈’,密码是‘凯’,然后你造出一个图表叫‘游戏’,那么电脑给它的名字其实是‘姨妈·游戏’。图表的名字跟在用户名的后面。如果懒得每次都打入‘姨妈·游戏’,你可以造出一个公共同义字。你打入指令,给图表另一个名字,简称为‘游戏’。”
我瞪着在屏幕上的一长串指令,上面有个单子列出所有在法医办公室电脑里制作出的图表,并显现出每个图表在哪个用户名之下被做出来。
我不明白。“就算有人看了这个档案,露西,他还是不知道密码。只有数据库管理员的用户名列了出来,如果你没有密码,就不能进入我们被害人案子的图表。”
“你要和我打赌吗?”她把手指放在键盘上,“如果你知道数据库管理员的用户名,就可以更改密码,做出任何想要的东西,然后你就进去了。电脑才不在乎呢。它让你在任何时间都可以更改密码,并不会因此影响程序。很多人为了安全理由常常更改密码。”
“所以你可以用用户名如‘深’,给它一个新密码,然后进入我们的数据库?”
她点点头。
“你做给我看。”
她不确定地看我。“你告诉我永远不要进入你办公室的数据库。”
“这次是例外。”
“如果我给‘深’一个新密码,姨妈,旧的就没有了。你再用旧密码的话,就进不去。”
我忽然想起来,当我们刚发现有人想偷看洛丽的案子时,玛格丽特提到数据库管理员的密码出了问题,害她要重新取得数据库管理员的存取权。
“因为我做的新密码取代了旧密码,所以旧的就不再管用了。”露西心虚地瞄我一眼,“但我会修好它。”
“修?”我心不在焉地问。
“你这里的电脑,旧的密码不能再用了,因为刚刚我改了密码才能进结构化查询语言。但我会修好它。我保证。”
“等一下,”我飞快地说,“待会儿再修。我要你做给我看怎样可以侵入。”
我试着理清思路。看来应该是可能的。这个侵入法医办公室电脑数据库的人对这系统有相当的认识,知道可以在Public.SQL里找到用户名,之后在这名称下造了新密码。但他没注意到这样做之后旧密码会失效,使我们不能再使用,当然我们会注意到并起疑。他也没想到,他的指令会因为电脑设在回显而出现在我们的屏幕上。如此看来,电脑被侵入应该只发生了一次。
如果他曾经侵入,就算没有回显,我们也会知道。因为玛格丽特会发现密码“喉咙”不再管用了。但为什么?
为什么有人侵入,专门去找洛丽·彼得森的档案?
露西的手指在键盘上敲动。
“你看,”她在说,“假装我是坏人想进来,我会像这样做。”
她先输入指令,取得系统管理权,进入结构化查询语言,然后以“深”为用户名,打了“接通/资源/数据库管理员”的指令,以及一个她造的新密码“混乱”。存取权有了。这是一个新的数据库管理员,她可以用这个进入所有办公室图表。这个新的数据管理员权限大得可以让她做任何想做的事。
当然也包括篡改数据,例如改变布兰达·史代普的记录,将“黄褐色布带”列在“衣物、个人用品等”这一项之下。
是他做的吗?他知道他那些案子的细节。他也看报,对每个提到他的字都不放过。别人还没有发现,他就已注意到新闻报道不正确的部分。他想显示他有多聪明,所以故意改变我办公室的数据来挑衅?
侵入发生的时间是在艾比报道了布兰达·史代普死亡案件的两个月后。
但数据库只被侵入过一次,而且最近刚发生。
艾比报道的细节不可能得自法医办公室的电脑。难道电脑的数据得自新闻?说不定他小心地读遍在电脑里的勒杀案数据,找寻与艾比的报道不一致的地方。也许当他看到布兰达·史代普的档案时,发现了不一致的地方。他输入“黄褐色的布带”取代了原有的“肉色丝袜”。或者他可能在离机前,才突然想到去找洛丽·彼得森的档案,只是好奇,不见得有别的原因。这可以解释为什么玛格丽特会在屏幕上发现那些指令。
我是不是惊恐得丧失了理智?
这件事与贴错标签的采证袋有关系吗?那个硬纸档案上有发光的残余物,万一它不是从我的手上来的呢?
“露西,”我问,“有没有办法知道,我办公室电脑的数据是不是被别人改过?”
她想也不想便回答:“你的资料有备份,对不对?有吗?”
“不错。”
“那么你可以把旧数据找出来,比较两者有没有不同。”
“问题是,”我在思索,“就算发现有人作了修改,我也不能确定是不是我的办事员加上去的。从案子进入数据库后,一个星期、一个月后都不断有新数据进来,所以它还在不断改变。”
“我想你只好问他们了,姨妈,问他们有没有改过。如果他们说没有,而且存底的旧数据与现在在电脑里的不同,那么可不可以看出来?”
我承认可能可以。
她把密码又改了回来。我们把屏幕上的指令一扫而光,让明早在法医办公室的电脑上也能同样光洁,然后关机。
几乎十一点了。我打电话到玛格丽特家,问她数据备份的事,以及她是否有电脑被侵入前的备份数据。她好像微有醉意。
不出所料,没有这么好的事。“不,斯卡佩塔医生,办公室并没有保存那么久之前的数据。每天晚上我们备份一次,以前的就会被取代。”
“该死。我一定要找出一份在过去几个星期都没有被更新过的数据库。”
一阵沉默后,她低语道:“等一下,可能有一个档案有。”
“有什么?”
“我不确定…”她迟疑着说,“我想有过去六个月的资料。人口动态统计要我们的数据。几个星期前我曾输入各区的数据,并把所有档案放在一起。后来我把这些数据经由电话线传到他们的主机——”
“多久?”我插进去,“几个星期前做的?”
“这个月的第一天…我想在六月一号左右。”