The Enceladus Mission: Hard Science Fiction
Page 4
“FD to Valkyrie, no, just a cross-check.”
Something in Stone’s voice made Martin nervous. In the cockpit video stream, he could see Francesca had unbuckled her safety belt. Had she noticed something?
For a second, the image on Martin’s monitor wobbled. Valkyrie seemed to try to leap forward, but was held in place by something. Alarm messages were scrolling on the right edge of the screen.
“Valkyrie to FD, what the hell is going on? That really shook us up!”
Francesca seemed to be on the verge of screaming into the microphone.
“FD to Valkyrie, my apologies. We tried to restart the vehicle.”
“Without telling us? What is really going on there?”
“Sorry, we did not want to alarm you. Please be patient for a while!”
Martin shook his head. This certainly isn't standard NASA procedure. Once this test is over, there will be repercussions. He already heard his colleagues bitching about the private partners. However, NASA could no longer maintain its research program without external investment.
“FD to Valkyrie, please report status.”
A useless request, as the monitors clearly showed all systems working within normal parameters.
“This is Valkyrie, status of all stations optimal.”
“FD to Valkyrie. There is a problem. Valkyrie refuses to start up.”
“It refuses?”
“It's a safety protocol,” Stone said. “Some fool prohibited starting it if the radar detects an obstacle less than 30 meters away.”
This was a reasonable limitation—during the phase of diving into the ice Valkyrie could not be steered by software. The vehicle simply followed the laws of physics and that did not allow for evading an obstacle. The programmer had not considered one thing—there was a difference between a cold start at the surface and a restart in the middle of the ice, where Valkyrie was already in a vertical position. Martin was glad he was not the one who had programmed the system. Why hadn't I simulated this condition, though? Because it did not seem threatening enough to me, Martin answered himself.
“FD to Valkyrie. No reason for concern. I am going to find a good programmer. I already have an idea.”
June 30, 2045, Antarctica
“So there's enough oxygen for three hours. I am gradually starting to be worried.”
Francesca’s voice sounded calm and controlled. She's either a great actress or really hard-nosed, Martin perceived.
“Yes, I am working on it.” He suppressed a don’t you worry that was on the tip of his tongue. The fact she had contacted Martin via the open network rather than through the direct connection with the Flight Director confirmed that she was worried—and she knew she had every reason for it—and he knew this, too. Despite this, the problem was actually quite trivial. Because the radar saw an obstacle in the direction of travel, the drill jets would not activate. This behavior made sense for a launch at the surface, but at a depth of 300 meters it might be deadly. Otherwise, the technology was completely functional. The laser supplied the vehicle with energy, so Francesca and Devendra were neither sweating, nor would they die of hunger or thirst. They could communicate with the entire world.
However, they would suffocate in about three hours. The expedition had been planned to last for only a few hours, but as of now it had gone on for almost two days. During this time, Martin had not slept, unlike the crew members, who had been told to nap as long as possible to save on air. He imagined how he would have reacted, stuck deep inside the ice. Would I have been able to sleep a wink? Up here, he at least had the feeling of being able to achieve something. He tried to ignore the responsibility resting in his hands, in his fingers that tried again and again to hammer new lines of code into the keyboard.
After all, he had not programmed the Valkyrie software. When Mission Chief Stone—who knew very little about programming—had first described the problem, Martin had still been optimistic. He had thought, How complicated could it be to outwit a safety mechanism that was obviously overreacting, like the immune system in the case of an allergy? The true degree of difficulty only emerged gradually. It had to do with the fact that he did not know the software well enough. While he had tested it in simulations, he did not understand the concept behind it. Being too familiar with the code was potentially bad for testing, because you ran the risk of ignoring bugs that ought to be prevented by the software architecture.
First, he had needed to grasp the concept, and Stone had provided him with all the material he needed. Martin could have logged into the NASA supercomputer, or even used it all by himself if this would have helped somehow. However, this was not a problem that could be solved by sheer computing power. Several times Martin had believed he found the decisive routines—and he had been wrong each time. The programming team did good work, he concluded. In the final analysis, the control software was supposed to be functioning ‘space-safe’ at the highest level of safety, without human intervention. Out there, the crew would be working light hours and millions of kilometers away from any human help.
Since the system had a modular structure, Martin had first tried to rewrite the entire launch control module and then overwrite the old one. He analyzed the functions of the existing module, removed everything not absolutely necessary, and wrote thousands of lines of code in a daze. He did without real-time tests and added the new module in the ‘this ought to work’ state. It had taken him twelve hours, and he only made it with the help of a lot of caffeine from sweetened coffee that also provided the necessary calories. He then asked Stone not to tell the crew anything and to attempt a restart, but nothing happened. Martin bit his lips until he tasted blood.
The software had recognized his intrusion. The checksums are no longer correct. Martin had been aware of this. However, he had not suspected how cleverly the system would react. Instead of running the new module, it had simply loaded a copy of the old one from shadow memory and then launched it. This is really smart thinking, Martin concluded, as it prevents an outsider from interfering with the system. The memory the safety copy was based on was only readable, not writable, and it was aboard Valkyrie. So they could not simply swap the program.
Martin brooded over this. How else can I succeed in reaching the backup memory? It was on an add-in board plugged into the circuit board of the main computer of Valkyrie. The memory communicated with the system via encoded channels. It was not enough to simply connect a flash drive with the on-board computer, even if there was a flash drive aboard Valkyrie. “Perhaps there is a second Valkyrie to bring supplies to the crew from outside?” he posited, but Stone shook his head. The replacement vehicle was still being constructed, and the previous model was currently being used in the Alps for glacier research.
He wiped the sweat from his forehead and attacked the source code of the security system. There has to be a gap somewhere that will allow me to insert my own code. No one was able to write error-free programs because even computers made mistakes, and they could neither predict nor prevent bit-switching, the random change of a memory location. Be that as it may, Martin noticed very soon that Stone had hired very capable programmers who had been extremely well-informed about all current vulnerabilities and how to get rid of them. Martin briefly considered whether he should talk to them directly and ask them about potential weaknesses. Yet it appeared they had actively tried to close any back doors, and had certainly not left any gaps they were aware of.
Two hours later, Francesca had called him. He had not even noticed how much time had passed. Rather than feeling pressured, he was actually grateful to hear from her. He knew he had done nothing wrong, but a software problem he could not solve was simply not an option. He tried to imagine what the programmers had been like. In his life, Martin had already analyzed millions of lines of code. He thought, their style in writing the source code indicates they must have just graduated from college. That is why they were so well-informed about current vulnerabilities. They used the recommended countermea
sures in a very systematic—but not particularly creative—fashion. A more experienced programmer would have taken shortcuts here and there, which were not mentioned in textbooks, but worked as well and looked even better. Aesthetically pleasing programming was a skill most did not develop until later, when they were bored with their normal work, because they felt like they had solved every problem several times already.
Martin contemplated, In this instance, how much attention did these programmers pay to software archeology? This subject had only become part of programming curriculums a few years ago. Its basic idea was to learn from the mistakes of the past. There were rather practical applications, though. Surprisingly enough, errors occurred in modern systems that ought to have been removed 50 years ago. The reason for this was that proven solutions were often copied—for good reason; you did not have to reinvent the wheel with each new piece of software. Troubleshooting such old code was always more complicated than troubleshooting code the programmers had written themselves. Therefore an ancient bug, now and then, would infect completely new systems that had not even been designed when the bug first occurred.
Can I maybe locate such a bug and exploit it? Martin considered this as he went through his own notes and tried to find suitable candidates that would structurally fit. Three bugs offered possibilities: one was from the 1980s; one had first shut down computer systems worldwide in 2008; and the third was by now twenty years old. Like a virus must match its host, not every bug was suitable for every technical system. Finding the bugs in the code of the control model took hardly any time. Martin programmed a bot for this purpose. Ten minutes later, it reported a result—no bugs found.
He must inform Stone. Yes, his programmers had worked well, too well. I've just sentenced two people to death. He felt so nauseous he leapt to his feet and ran outside. Even though the biting wind tugged at him, he did not feel cold. Martin vomited. He had remembered just in time to turn downwind. His stomach contents were blown away. The small amount he saw fall to the ground froze immediately. Then he started to feel the intense chill. He rushed back to the computer.
Martin wondered, If I cannot change the software, can I do something else? Of course he did not possess the power to remove the obstacle that prevented the system from restarting. But, how does the system perceive reality? Via the on-board radar, which works like an echo-sounder. Radio signals moved into the ice, sensors received reflections and measured the return time to calculate the locations of the obstacle. Can we possibly trick the radar? It did not work to simply turn it off, as the system would still refuse to restart. Instead, what if we send the signals in a different direction from what the vehicle is expecting? Then the software would generate a different—false—image from the new measurement data. The obstacle would appear to move, then, hopefully so far that the system no longer considered it a threat.
He called Stone via the encrypted line and described his idea. The company director briefly talked to his chief engineer. Stone’s answers confirmed it would not be easy to implement his plan.
“A crew member would have to misalign the radar. This in itself is not complicated—a pair of pliers would suffice. However, the system will quickly recognize the changed state, so we will have to trigger the restart at exactly the same time.”
“That sounds doable, doesn’t it?” Martin asked.
“The access to the radar module is located near the hot water jets. If we start the drill jets, they might scald the person holding the pliers.”
Martin leaned back. It was not his job to negotiate with the crew. He turned off the sound but continued watching the conversation on his monitor. Both Francesca and Devendra remained calm. They probably would argue among themselves who would be allowed to save the mission by dying. Typical space heroes! he concluded. I'm not one of them. If I were in the Sikh’s place, I would gladly let Francesca go first.
“Ground staff, I have an announcement to make,” Stone said via the general radio channel. Everyone wearing headphones could hear his words. His voice also came over the loudspeakers. The man described how they would attempt to save the crew.
“We ran the calculations again. If we do nothing, the risk of both of them dying is 100 percent. The risk of the crew member being killed immediately while working on misaligning the radar is 35 percent. With a probability of 90 percent, this person will suffer severe burns. If Valkyrie then restarts successfully, it is going to surface as quickly as possible. We have already prepared medical teams. There is a chance of about 50 percent that the treatment will happen in time. Thank you for your attention and best of luck to the crew, particularly Devendra Singh Arora, who has volunteered to manipulate the radar module.”
July 1, 2045, Antarctica
The two people deep inside the ice stayed rational up to the last minute. Martin’s admiration grew for the Indian man who would have to risk his life due to a stupid software bug. He also respected Francesca, the pilot, who had to sit and watch while this man probably saved her life. The two of them spent the waiting time sleeping, saving oxygen. The people in charge wanted to delay the action as long as possible, so emergency medical personnel could arrive. The medical team was being transported via helicopter from an American aircraft carrier cruising in the Antarctic Ocean. According to plan, Valkyrie would emerge from the ice after the emergency physician was already waiting with his equipment. After a successful restart, the drill vehicle would have to turn around and make its way through 300 meters of ice, which would take time.
Ten minutes before the event, Stone had them wake the crew. On his monitor, Martin saw how Francesca stretched as if she just had enjoyed a relaxing nap. He himself was extremely tired, but sleep had been out of the question. Devendra unbuckled his safety belt and opened a door in the wall, behind which there obviously were tools. He reached specifically for a pipe wrench. He looked down at himself, closed a button on his blue tunic, and adjusted his turban.
“Reporting for duty,” he said.
“Flight Director to mechanic,” began Stone, “I think I am speaking in everybody’s name when I thank you.”
“Now, just let me do my job first. You can always thank me afterward. And then I would like a nice, cold beer.” Devendra gave a broad smile. The smile was genuine. Martin thought, How did he manage to do that?
“We have seven minutes left. You know the procedure?”
“Confirmed.”
“Okay. Then you should get started with the cover.”
Devendra turned around and bent down. He lifted the floor covering near the wall and rolled it backward. A round cover with a latch could be seen. Lift, turn, and the cover opened. The hole below was dark and large enough for one person.
“This is FD. There are twelve steps leading down.”
The Sikh briefly looked at the hole, got down on one knee, and started to carefully descend. After nine steps, his head had disappeared.
“Is everything okay?” Stone asked. “You have now reached the bottom of the hole. It won’t go any deeper. You'll have to stoop. I know it is rather cramped. At shoulder height you should see a glowing mark at the three-o-clock position.”
“Confirming.” Devandra’s voice sounded muffled, which must be caused by the acoustics of the access hole.
“What do you see?”
“Three crosses. Who came up with that idea?”
“Good.” Stone ignored his question. “Directly below the crosses there is another lever that locks the radar chamber. The chamber is about as deep as the access tube. According to our data, its bottom is filled with cold water. In the upper area of the exterior wall you will find the radar module. Don’t worry—it is electrically shielded, so there is no danger that way.”
“This is Arora. I am opening the chamber. Just a moment, I am shining my light into it. Everything is as described.”
Martin heard the Sikh wheeze and groan as he climbed into the chamber.
“Man, it is cold here.”
“Don’t worry, it w
ill soon be warmer than we would like.”
“Okay, I have arrived.”
“The module is facing forward and rests on a sheet bolted to the exterior wall. It doesn’t look pretty, but it works. You have to loosen the two lower bolts.”
“Right now?”
“Yes, do that now. Nothing is going to happen yet. The exterior pressure holds the sheet tight.”
“Okay, I am unscrewing them.”
The screen only showed a light shining erratically at metal surfaces in a dark room. Martin assumed, Devendra probably stuck the flashlight under his armpit. Martin heard him swear while working on the second bolt, probably because his wrench had slipped.
“It's finished.”
Stone continued, “Okay, well. Now you have to push the sheet outward as hard as you can. This will confuse the radar system for at least a moment. We are going to start the system at that instant. If this doesn’t work, I don’t know what to do. Then some cold water will trickle through the gap and you two are going to suffocate after a while. However, if it works, the jets will be activated. And then the water streaming through the gap into the chamber will be hot. Very hot.”
“I understand and accept the risk.”
“Devendra Singh Arora, I will be glad to get you out of Valkyrie quickly and unharmed,” said Stone. He then made an announcement on the general radio channel.
“FD to everyone. I am about to start the countdown. At minus three seconds I will deactivate sound transmission from Valkyrie.”
A good decision, Martin thought.
“Ten... nine... eight...”
Martin switched off the screen. He folded his hands on his lap and looked at his fingernails. Whatever happened down there now, they would not feel it up here. The laser pumped its energy silently into the drill vehicle. The generators created a deep hum, which was sometimes drowned out by a cracking noise. The ice was shifting, and deep inside the ice, two people were fighting for survival.