Book Read Free

Unexpected Rain

Page 6

by Jason LaPier


  “And one of the victims,” Runstom added, finding Milton in the list of names he’d recorded. “Wait a minute,” he said, looking up. “You mean Brutus and Porter had documentation of a debt – of you owing this Brandon Milton money – and you did not actually owe him money?”

  “Right.”

  “For how much?”

  “Ten thousand Alleys.”

  “Seems like the kind of thing you would remember. If you owed your supervisor ten grand, that wouldn’t have slipped your mind.”

  “Yeah, exactly,” Jax said, nodding.

  “But it makes a good motive.” Runstom tapped his pencil against his notebook. “Killing someone because you owe them money, I mean.” Before Jax could object, he continued, “So if someone made this fake document, and did so to set you up, who did it? Who wanted you to take the fall for murder?”

  The operator sighed wearily. “I don’t know. I’ve been thinking about it for three days and I just don’t know.”

  “Okay. Maybe it’s someone you know, maybe it’s someone you don’t know. Let’s just say for now that someone out there framed you, and we don’t know who it is. So the next question is, how did they do it?”

  “That’s something else I’ve been thinking about non-stop for the past three days. The way I see it, there’s two parts to it.” He raised one finger and then another as he talked. “One, they would have had to figure out a way around the safeties on the doors to open both at the same time. And two, they would have had to make it look like it came from my console, because the commands were in my log file. Which means they either ran the commands directly from my console, while I was sitting at it and logged into it, or they ran the commands somewhere else in the system and managed to write the history to my console logs.”

  Runstom quickly jotted down some notes, although he wasn’t entirely sure what the operator was talking about. “So, overriding the safeties …” he started to say.

  “That’s the easier one, honestly,” Jax said. “Because it’s mostly theoretical. From my perspective? It’s impossible. But I can tell you what part of the system they would have to break to make something like that work.” He put his elbows on the table and brought his hands together, slowly cracking his long fingers one by one. “The safeties are just checks, right? So when every command is punched into a console, it has to pass a bunch of tests to make sure that it’s okay for the system to run that command.” Jax looked at Runstom, as if trying to read something; as if trying to make sure the officer was keeping up. Runstom put down his pencil to give the other man his full attention.

  “Let me give an unrelated example,” Jax continued, his voice picking up speed. “There’s a command called ‘rain’. Now, residents don’t like climate-related surprises, so we have to turn on the rain warning at least twenty minutes before executing the ‘rain’ command.” He grabbed the notebook and pencil from Runstom, who didn’t resist. “So first you punch up a ‘rain-warning’ command. Somewhere in the system, a variable is set. Something like this,” he said as he wrote two phrases on the paper, one below the other. “Then, if you were to run the ‘rain’ command, the system would do a test and see if the current time is at least twenty minutes more than the variable we set with the ‘rain-warning’ command. If it’s not, the ‘rain’ command fails. Otherwise, it starts some subroutine that makes it rain in the dome.”

  He finished scribbling and flipped the notebook back over to Runstom. The officer took a look and saw what might have been a series of math formulas. The only words that jumped out were RAIN and WARNING, both written in upper case.

  “If I were to punch up RAIN at 10:10AM, it would fail the test,” Jax said, tracing his finger along the jumbled words on the page. “And I’d get this error message. If I were to do it after 10:20AM, it would succeed.”

  “What is this?” Runstom asked. “Some kind of code, right?”

  “It’s complex.”

  “Yeah, I can see that. Goddamn complex.”

  “No, I mean it’s COMP-LEX,” Jax said, exaggerating the syllables. “It stands for Computational Lexicon. It’s a common programming language for operational environments.”

  “Oh.” Runstom looked at the operator’s scribbled words and symbols carefully. “Okay. So you’re saying that if someone punched in a command that opens the inner doors, then some – variable?” Jax nodded and Runstom continued. “Some variable is set that tells the system the inner doors are open. Then when someone runs a command to open the outer doors, the system would have run some check—”

  “Yes, exactly. A check on the state of the inner doors. If they are already open, the command to open the outer doors fails and you get an error message. Same goes for the reverse – if you try to open the outer doors first and then the inner.”

  “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.”

  “Updates?”

  “Yeah, bug-fixes and stuff. Revisions to the program code that are supposed to make it run better.”

  “Okay.” Runstom started thinking out loud again. “So someone could have used this up-link to put the program into your LifSup. Does that mean they would have used a satellite somehow?”

  “Yeah. Well. Not necessarily a satellite. But in order to speak to the receiver down here, they’d have to do it from somewhere in orbit around the planet. I don’t know much about satellite communication. But it seems like it’d be possible for someone in some other kind of space vessel to carry the same kind of transmitter that a satellite would use, and beam the signal down to our receiver.”

  Runstom took a moment to digest that. “Wouldn’t the data coming down from a satellite be secure?”

  “Yes, I’m sure there’s an identification process,” Jax said. “Plus an encryption layer. So we’re talking two possibilities here. Either they somehow mimicked a known satellite, which would be tricky, because they’d have to get information used to generate the identification of the specific piece of hardware out there in space.”

  “And we are already looking at the possibility of someone who has enough inside information about a LifSup system to be able to circumvent the safety checks,” Runstom said. “So we can’t rule that out.”

  Jax nodded slowly. “Yeah, true. The other possibility is that they knew of some other channel, some back-door or something into a LifSup system.”

  “You mean like some other up-link?”

  “Well, not really. I mean the same up-link, but during the handshake – when the signals are being sent from each end to identify itself – there could be some kind of code that you could send to the LifSup side to get direct access to the system.”

  “Why would there be some secret code?” Runstom asked. “I mean, if they can already send updates through the up-link, why would they need a ‘back-door’ into the system?”

  Jax pulled his arms up and twisted his upper body in his chair, popping a few kinks in his back as he did. “Well, it’s just an idea. I’ve seen technicians when they’re working on a system that’s not behaving normally. When something subtle is off, they like to use a special port somewhere on the LifSup main unit. They plug directly into it with their personal computer and send it some special code that gives them full-access to the system. I figure it’s the kind of thing that’s universal across LifSup systems, or at least LifSup systems of the same model. It’s just there for troubleshooting purposes.”

  “So you figure that there’s another back-door in the up-link that works the same way a technician uses a physical port to get into a system,” Runstom reasoned.

  “Now, I don’t know that for a fact,” the operator said, spreading his hands out in front of him. The more he had to explain technology, the more physically mobile he seemed to get. “Let’s just say, I wouldn’t be surprised if there were such a back-door.”

  “Okay, okay.” Runstom nodded and looked down at his notes. It was all speculation, and it was all hinging on this prisoner being wrongfully accused. Runstom willed himself to resist judgment one way or the
other, but he felt like he had to decide if it was even possible for someone to exploit the system in such a way. Was it even possible for Jax to have been set up? “So we have so far. One, someone who knows the internals of Life Support systems writes some code that would open both sets of venting doors on a block. Two, they disguise this code and set it up to run as a replacement for a login prompt, knowing that it would cause some operator to unwittingly execute it. Three, they beam the code down from a transmitter of some kind to the satellite up-link of the LifSup system at block 23-D.”

  “Yeah, I guess that’s about it,” Jax said, looking off into the distance. He seemed to be lost in thought for a moment, his eyebrows furrowing and his mouth opening slightly as if he were about to add something else. Then he simply shook his head, then nodded. “Yeah, that sounds about right.”

  Runstom studied the other man and they both lapsed into silence for a few minutes. The door to the interrogation room opened and the rookie B-fourean officer came through. He held the door open and George Halsey came in after him.

  “Oh, hey, George,” Runstom said, feeling his face redden with guilt.

  “Officer Runstom,” Halsey said, standing over the table. “I see you decided to question the prisoner.” He eyeballed Runstom. “Just like we talked about.”

  Runstom stood up. “Uh, yeah. Like we talked about.” He tried to make his voice power through the sheepishness he was feeling in getting caught by his partner.

  Halsey used the next awkward pause to grab the top of the chair Runstom had been sitting on and wheel it over to himself, swooping it beneath him, sitting, and lifting his feet up and dropping them crossed onto the table in one continuous motion. His head lolled back in a kind of relaxed apathy. If there was an art to laziness, Halsey had mastered it.

  Runstom frowned at Halsey, then glanced back at the one-way window that stretched across the back of the room. “So you watched some of the interview, right? Or do I need to catch you up?” He cast a sideways glance at Jax, who was looking at both of them timidly. Runstom was worried that Halsey’s sudden entrance undid all the work he’d done to open the prisoner up.

 

‹ Prev