“So someone might have reset that variable, the one that tracks the state of the doors after opening one set of doors.”
“Well, it’s not that simple. Those are actually system variables. No one has access to them from the console.”
Instead of replying, Runstom took a drink from his cup. He managed not to gag, and had another sip, waiting for Jackson to continue.
“Okay,” the operator said. “That’s where the theoretical stuff ends. I don’t know how they changed a variable only known to the system. I mean, the variable names we used here – I just made those up for the sake of a simple example. Operators like me have no idea what actual variables are used in the system, let alone have access to modify them. We can’t even be 100 percent certain of the conditional tests.” Jax paused momentarily, then finished in a soft voice, “That’s stuff only the system engineers would know.”
Runstom nodded slowly, trying to absorb the information he’d just gotten. “Okay, so let’s say somehow someone wrote some code that broke the safety check. Let’s go to the next question: How did they make it look like it came from your console?”
“How did they make it look like it came from my console?” Jax repeated quietly. “This part I’m not so sure about. I was logged into the system at my console. I didn’t punch in those commands, but somehow they were run as if I did punch them in. Or at least it was logged that way.” He trailed off.
Runstom took another drink of the cold coffee. He watched Jack Jackson and began to wonder if that nagging doubt in the back of his mind was right. That this was going nowhere. That this was really just a waste of time. He swallowed and tried to clear his head of doubt. It wasn’t as if he had anything better to do with his time. But he couldn’t help thinking that if an officer couldn’t trust his gut, he couldn’t trust anything. He shot for a simple explanation. “Maybe someone punched it in while you were away from the console? Did you take any restroom breaks?”
“No, that’s not it,” Jax said, shaking his head without looking up. “There’s some kind of body-detector at the console. Any time you get up and then come back to it, you have to re-authenticate to the system. Biometrics and all. Even if you just get up to stretch.”
“Sounds like a pain in the ass.”
“Yeah, it is.”
“Look, maybe we need to move to some—”
“Wait,” Jax interrupted. “There was one thing. One weird thing I remember from that night.” His cool gray eyes suddenly lit up. “That’s it! That has to be it! There was one time when I got up for a few minutes. When I sat back down, I re-authenticated, and it didn’t take. I had to do it again!”
Jax looked at Runstom expectantly. The officer started, “I don’t understand, why would …”
“Don’t you see? An op like me has to authenticate to a console dozens of times during each shift! By voiceprint, fingerprint, and typing in a password.” He enumerated the three actions on his long, white fingers. “Voiceprint, fingerprint, password. Voiceprint, fingerprint, password.”
“So you typed it in wrong?”
“No!” Jax said. “Did you hear what I said? Voiceprint, fingerprint, password. Dozens of times during every shift. I can type that password in my sleep. You could gouge out my eyes and sit me in front of that console and I’d still be able to authenticate.” He had a desperate look on his face, but Runstom, despite trying to keep an open mind, had trouble believing there was any significance to this story. “Check the logs.” Jax looked at the B-fourean guard, then back to Runstom. “Tell them to go get the logs. The console logs!”
The guard’s smile drooped slightly at being brought into the conversation by the prisoner. He looked at Jax and then at Runstom.
“There’s a file for this prisoner,” Runstom said. “A file that has to go to the System Attorney out at the court on Outpost Alpha. Could you please bring me that file?” The guard started to move, but hesitated. Runstom flipped through his notebook, as if looking for something. “I have a copy of it, but I left it back in my quarters,” he lied awkwardly. “I know the detectives left a copy that gets transferred with the prisoner. Could you please just have someone bring me that copy?”
The guard gave him a conspicuous look, like he didn’t trust Runstom completely, but then apparently decided he didn’t much care, because he shrugged and left the room. He came back a few seconds later and said, “Someone will bring it in just a moment, Officer.”
“Thank you very much,” Runstom said. He turned to Jax. “Okay, Jax. What’s the deal? What if you did have to authenticate twice? What will we see on those logs?”
“If I mistyped my password, then you’ll see an authentication failure. Followed by a successful auth a few seconds later,” Jax said. “But I don’t think we’ll see any failed auths.”
“And what does that mean? If there are no authentication failures?”
“It means that I wasn’t authenticated the second time. I just thought I was.”
“I don’t follow you,” Runstom said, desperately trying to focus.
“It was another program. Something that gave me a fake login prompt. Even though I was already logged into the system, I saw the login prompt and thought I was not logged in yet. I give it my voiceprint, fingerprint, and password again, and the prompt goes away. And that program runs whatever it is meant to run.”
Runstom rolled around the concept in his brain, thinking out loud. “So you see a login prompt. You think you are authenticating, but really you are telling some program to run. This program runs some commands, and it’s running them from your console – because you told the program to do it.”
“Yes!” exclaimed Jax.
A B-fourean officer came back into the room and handed a folder to Runstom. He was an officer Runstom hadn’t seen before, an astonishingly young rookie. Runstom thanked him and the officer exchanged smiles with the guard in the room and went on his way.
Runstom dove into the folder, digging out the console logs. He came around to the other side of the table and he and Jax pored over the printouts together. “The incident occurred at 2:03AM,” Runstom said.
“Here!” Jax excitedly poked the page. “Look. Here’s when I authenticated, at 2:01AM. No auth failure. Only one auth success.”
Runstom stared at the log in silence. His heart pounded as the realization dawned on him that his hunch was right. This was no open-and-shut case, as much as his detectives wanted it to be. There was a wrinkle, and Stanford Runstom was onto it.
“So now what?” Jax said anxiously.
Runstom stood up and paced slowly around the table. He could feel the thrill of the discovery enticing him, but he had to remind himself that this double-authentication trick only meant something if Jax was telling the truth. Even if he weren’t deliberately lying, he was only going on a memory of having to log in twice. There was nothing in the printouts that corroborated the anomaly Jax was describing.
“If we could get back into your LifSup system, could we find this hidden program?”
“Yeah, but I wouldn’t get my hopes up,” Jax said. “Anyone who was smart enough to design this kind of program probably knew enough to cover their tracks.” He paused, and Runstom was forced to cock his head in bemusement to get him to extrapolate. “The invasive program’s final command was most likely to delete itself.”
“Right,” Runstom said, resignation in his voice. “Okay. So how did it get there?”
“Well,” Jax replied, lost in thought. “There are no data ports on the consoles themselves. And the controls on the console are only set up for running commands. So you couldn’t sit at a console and enter in the program code manually. They could have jacked into the LifSup system itself, but access to the hardware is locked down tighter than a drum.” He stopped and thought for another minute or two, folding his hands together and bending his fingers, occasionally finding a knuckle to crack. “Of course, there’s always the up-link access. There’s a satellite up-link built into each LifSup system so that Central Engineering can push down updates.”