Выбрать главу

Becca jumped in again. “Oh, I could get a lot more devious than that. We played pranks like this back at MIT. If I were being really nasty, I’d trigger a fault that would load code that was buried in the data log itself. Here’s how I’d do it in a couple of lines:

“When the attack code reads the trigger data, it loads the Easter egg code from the log. The Easter egg executes, and the first thing it does is erases its code from the log, along with the trigger data. Then it writes itself and new trigger data back into the log at a different point. That way the Easter egg is a moving target in memory and in time. That’s a lot harder to pinpoint. Next it triggers the reactor shutdown. Once it’s done that, it tells the operating system that it’s finished with this task and it’s relinquishing the block of memory it’s sitting in so that the operating system can load a standard library component back into that chunk of memory. It’s erased its footsteps—nothing to find.

“It’s all just strings of binary. The computer treats what’s in the operating system as programming instructions and what’s in the logs as data values. But there’s no reason it can’t load data from the logs as a program to be run. Normally, that wouldn’t make any sense, it would just crash the operating system and it would reboot. But if there really is code buried in there…”

Crow nodded approvingly. “Considerably simpler than what my colleagues had in mind, but it’s a starting point. Have you ever thought of coming to work for me? I could find a place for you.”

“I like my world fine, thank you very much,” Becca retorted. “But I’ll take the compliment.”

Crow said, “If it is sabotage, we don’t know this is what the saboteur did or exactly how they did it, what they’re using as a trigger. Could be a specific data value, could be an untrapped out-of-bounds fault, there’s a dozen ways to do this. And because it only takes a few lines of code to set it off, looking through the code factory’s maintenance and revision records wouldn’t tell you anything. If the Easter egg were resident in the operating system, there’d be thousands of lines of code, and you’d find the discrepancy in the records. But all that’s in the operating system is the tripwire. A couple of lines of odd code? That gets written every day. It can be as simple as a few typographical errors getting corrected. Nobody reviews the quality control records for a couple of lines of code unless it misbehaves, and this is designed to never misbehave without the trigger.”

Fang-Castro: “So why has this affected only one reactor and not the other?”

Becca responded, “I can think of several reasons. Maybe someone didn’t have time to insert it into the logs on both systems. Or maybe it got inserted in and then flushed and scrubbed in one of the log modifications. The logs are just big repositories for the data that’s collected from the two power plants. Essentially they’re nothing more than storage bins, and beyond making sure that they’re operating the way they’re supposed to, we don’t worry about them much. We don’t treat them exactly the same way.”

Fang-Castro ran her hand through her hair. “So you’re saying we got lucky. Or half lucky, half unlucky.”

Crow said, “I doubt that luck has anything to do with it.”

“And we can’t bring both reactors back online?”

“If I do, I’m pretty sure the second one is just going to shut down again,” Becca said. “I don’t see what we’d gain by it. Plus, these emergency shutdowns are hard on the system. That’s not the way it’s designed to be run. We keep this up and we’re going to break something before the mission is done.”

“How about wiping the data logs and starting from scratch?” Fang-Castro asked.

Becca started to say, “We could try that… ,” but Crow cut her off in mid-sentence.

“That’s such an obvious thing to do that if I were in charge of this little hack, it’s the first thing I’d make sure wouldn’t work,” Crow said. “It’d be very easy to circumvent.”

Fang-Castro sighed. “So we’re stuck with half power indefinitely. Assuming that, and that things don’t get worse, I had Navigation work up a revised trajectory for us.” She pulled up an orbit plot on the wallscreen. “The dashed line is our old trajectory. The solid one our new course. You can see there isn’t much difference.” She zoomed in on the part of the trajectory near the sun. “The main difference is we don’t need to come in quite as tight by the sun, because we won’t be traveling as fast. A perihelion of thirty-five million kilometers will be close enough for the sun’s gravity to swing us onto the right vector for Saturn. That should make you a little happier, Becca.”

Becca smiled just a bit. “I’ll take what good news I can get, Captain. It’ll put a little less strain on the radiators. Plus, since we will be running at half power anyway, we won’t need to throttle back when we’re close to the sun, like we had to in our original plans. The radiators have more than enough capacity to shed the waste heat, even that close to the sun.”

Fang-Castro continued. “That’s good. Of course, the bad news is that with only half the thrust we had before, we’re not going to get there as quickly. Fortunately we were already moving at a decent clip, fifty kilometers per second relative to the sun, when we lost Reactor 2. Consequently, the impact isn’t as bad as it could’ve been. When all is said and done, we’re going to arrive at Saturn about thirty days later than we’d originally planned. Our new ETA is January 23, 2068. That’s still more than three months ahead of the Chinese.”

She continued: “Mr. Crow, please have your colleagues put in some more thought on this problem and let me know if they come up with any ideas for eliminating the Easter egg from System 2. If there is one. In the meantime, Dr. Johansson, I suggest you reassign most of the System 2 personnel to System 1. Just keep as many people on 2 as you think you need to continue looking for the source of our problems there, but I want the priority to be pampering our one remaining power system and keeping it as happy as possible. So—let’s go.

“Ahh, Dr. Johansson?” Becca looked at Fang-Castro, who was tapping her slate. “I’m reinstating your med computer regimen. No more all-nighters. In fact, as soon as you finish reassigning personnel, and I’m giving you exactly one half hour to do that, I’m ordering you to go shower and get at least two hours’ sleep.” Fang-Castro looked at Becca more closely. “No, make that three hours. We’re out of crisis mode, and I need you in the best possible physical and mental shape to see that we don’t slip back into it. That’s all.”

Becca started to protest, but the look in Fang-Castro’s eye made it very clear that this was not a negotiating point. She closed her mouth, nodded, smiled a wan smile, and left the conference room.

25.

Even with one reactor shut down, the Nixon was by far the fastest ship humanity had ever built. By late August, less than a month into its flight, it was crossing the orbit of Mercury; six more days would see it at perihelion, thirty-five million kilometers from the surface of the sun. Its velocity was already ninety kilometers per second, more than twice as fast as the Chinese Martian Odyssey. The combined pull of the sun and the thrust of the VASIMRs would add another twenty kilometers per second to that before it crossed perihelion.

The earth had dwindled to a starlike pinpoint of light on the screen in the Commons, while the sun had visually swelled to two and a half times its normal size. It would nearly double that again before it started to dwindle on the outward leg of Nixon’s voyage.

Power management and waste heat disposal required some adjustment, but nothing Becca and her engineers couldn’t handle. The closer they got to the sun, the less effective the radiator sails were at disposing of their burden of heat. At closest approach, the amount of solar energy hitting the sail, head-on, would have been almost half the amount it needed to radiate.