"I was at a meeting most of the morning," she launched in. "When I got here after lunch I found this on the screen."
She handed me a printout. On it were several SQL commands that allowed one to query the data base. At first my mind was blank as I stared at the printout. A Describe had been executed on the case table, and the upper half of the page was filled with column names. Below this were several simple Select statements. The first one asked for the case number where the last name was "Petersen," the first name "Lori."
Under it was the response, "No Records Found."
A second command asked for the case numbers and first names of every decedent whose record was in our data base and whose last name was "Petersen."
Lori Petersen's name was not included in the list because her case file was inside my desk. I had not handed it over to the clerks up front for entry yet.
"What are you saying, Margaret? You didn't type in these commands?"
"I most certainly didn't," she replied with feeling. "Nobody did it up front either. It wouldn't have been possible."
She had my complete attention.
"When I left Friday afternoon," she went on to explain, "I did the same thing I always do at the end of the day. I left the computer in answer mode so you could dial in from home if you wanted to. There's no way anyone used my computer, because you can't use it when it's in answer mode unless you're at another PC and dialing in by modem."
That much made sense. The office terminals were networked to the one Margaret worked on, which we referred to as the "server."
We were not linked to the Health and Human Services Department's mainframe across the street, despite the commissioner's ongoing pressure for us to do so. I had refused and would continue to do so because our data was highly sensitive, many of the cases under active criminal investigation. To have everything dumped in a central computer shared by dozens of other HHSD agencies was an invitation to a colossal security problem.
"I didn't dial in from home," I told her.
"I never assumed you did," she said. "I couldn't imagine why you would type in these commands. You of all people would know Lori Petersen's case isn't in yet. Someone else is responsible, someone other than the clerks up front or the other doctors. Except for your PC and the one in the morgue, everything else is a dumb terminal."
A dumb terminal, she went on to remind me, is rather much what it sounds like-a brainless unit consisting of a monitor and a keyboard. The dumb terminals in our office were linked to the server in Margaret's office. When the server was down or frozen, as was true when it was in answer mode, the dumb terminals were down or frozen, too. In other words, they'd been out of commission since late Friday-before Lori Petersen's murder.
The data base violation had to have occurred over the weekend or at some point earlier today.
Someone, an outsider, got in.
This someone had to be familiar with the relational data base we used. A popular one, I reminded myself, and not impossible to learn. The dial-up number was Margaret's extension, which was listed in the HHSD's in-house directory. If you had a computer loaded with a communications software package, if you had a compatible modem, and if you knew Margaret was the computer analyst and tried her number, you could dial in. But that's as far as you would get. You couldn't access any office applications or data. You couldn't even get into the electronic mailboxes without knowing the user names and passwords.
Margaret was staring at the screen through her tinted glasses. Her brow was slightly furrowed and she was nipping at a thumbnail.
I pulled up a chair and sat down. "How? The user name and password. How did anyone have access to these?"
"That's what I'm puzzling over. Only a few of us know them, Dr. Scarpetta. You, me, the other doctors, and the people who enter the data. And our user names and passwords are different from the ones I assigned to the districts."
Though each of my other districts was computerized with a network exactly like ours, they kept their own data and did not have on-line access to the Central Office data. It wasn't likely in fact, I did not think it was possible-that one of my deputy chiefs from one of the other offices was responsible.
I made a lame suggestion.
"Maybe someone guessed and got lucky."
She shook her head. "Next to impossible. I know. I've tried before when I've changed someone's electronic mail password and can't remember what it is. After about three tries, the computer isn't very forgiving, the phone line's disconnected. In addition, this version of the data base doesn't like illegal log-ons. If you type in enough of them when you're trying to get into SQL or into a table, you get a context error, whack the pointers out of alignment and crash the data base."
"There's no other place the passwords might be?" I asked. "No other place in the computer, for example, where someone might be able to find out what they are? What if the person were another programmer…
"Wouldn't work."
She was sure. "I've been careful about it. There is a system table where the user names and passwords are listed, but you could get into that only if you know what you're doing. And it doesn't matter anyway because I dropped that table a long time ago to prevent this very sort of problem."
I didn't say anything.
She was tentatively searching my face, looking for a sign of displeasure, for a glint in my eyes telling her I was angry or blaming her.
"It's awful," she blurted out. "Really. I don't have a clue, don't know what all the person did. The DBA isn't working, for example."
"Isn't working?"
The DBA, or data base administrator, was a grant giving select persons, such as Margaret or me, authority to access all tables and do anything we wished with them. For the DBA not to be working was the equivalent of being told the key to my front door no longer fit. "What do you mean it isn't working?"
It was getting very difficult to sound calm.
"Exactly that. I couldn't get into any of the tables with it. The password was invalid for some reason. I had to reconnect the grant."
"How could that have happened?"
"I don't know."
She was getting more upset. "Maybe I should change all of the grants, for security reasons, and assign new passwords?"
"Not now," I automatically replied. "We'll simply keep Lori Petersen's case out of the computer. Whoever the person is, at least he didn't find what he was looking for."
I got out of the chair.
"This time he didn't."
I froze, staring down at her.
Two spots of color were forming on her cheeks. "I don't know.
If it's happened before, I have no way of knowing, because the echo was off. These commands here" - she pointed to the print out "are the echo of the commands typed on the computer that dialed up this one. I always leave the echo off so if you're dialing in from home, whatever you're doing isn't echoed on this screen.
Friday I was in a hurry. Maybe I inadvertently left the echo on or set it on. I don't remember, but it was on."
Ruefully she added, "I guess it's a good thing-" We both turned around at the same time.
Rose was standing in the doorway.
That look on her face - Oh, no, not again.
She waited for me to come out into the hallway, then said, "The ME in Colonial Heights is on line one. A detective from Ashland's on line two. And the commissioner's secretary just called-"