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

“You misunderstand me,” Crow said. “We need to have a conversation, now.”

“Really, I’ve got more pressing matters than indulging Security’s paranoia.”

“You don’t have any choice, I’m afraid. We either talk now, or I have a marine come down and fetch you, and we’ll talk in the captain’s office. Pick one.”

Becca nodded: “Okay, fine. What would you like to know?”

Crow looked down at his tablet. “I’ve made up a list of questions. Some are very simple, but bear with me. I want to make sure I’m not making any wrong assumptions. You’ve had two incidents with Reactor 2 in less than twelve hours, but Reactor 1 is one hundred percent operational?”

“Correct. Unit 1 is behaving perfectly. And, to clarify, there’s no problem with the Reactor 2 or any of its related hardware, as far as we can tell. It’s the safety subsystem that keeps registering a coolant problem and shutting the core down. Which is exactly what it is supposed to do, except there’s no reason for it to be doing that.”

“What’s different about Units 1 and 2 and why hasn’t Unit 1 also gone off-line?”

Becca had to grudgingly acknowledge Crow’s talent for getting to the heart of the matter. “There’s the rub—there is absolutely no difference between the two units. The reactors, heat exchangers, turbines, and generators and the computer systems are absolutely identical. Well, the hardware is as identical as we know how to make it, and the software is one hundred percent identical. So, we’d expect a purely software glitch to appear in both units.”

“Meaning you think it’s hardware?”

“No, we’re nearly positive that it’s software, we just don’t understand why it’s showing up in only one system.”

“Is there any chance this subsystem malfunction is going to shut down both reactors?”

“No, absolutely not, not unless it replicates itself in Unit 1. The two power systems are completely separate. They run completely independently. They don’t share any resources, they don’t even swap data. We made them as perfectly firewalled, physically and virtually, as we could, so that any kind of failure in one could not trigger a failure for any reason in the other. It’s like they exist on different planets.”

“Got it,” Crow continued, ticking points off on his fingers. “Two identical twins, separated at birth, identical in every imaginable way. Except they’re not behaving identically. So they can’t be identical.” Crow paused for a moment. Then: “I see two possibilities. The first is that you guys didn’t do your job right and you missed some critical difference between the two units.”

Becca heated up: “I can tell you—”

“Shut up for a minute,” Crow said. “The second possibility is that I didn’t do my job right and you started out with two identical systems and somebody’s compromised one of them. You should assume the former: that it’s your screwup. Drill down until you find it. Then keep drilling. If you made one engineering mistake, you made more than one.”

“Mr. Crow, my team is very, very good. I’m very, very good. We are entirely competent to do our job—”

“I know that, Doctor, but you’re human and you’re not perfect. The past twelve hours proves that something here is not perfect. It’s got to have a presence, so find it,” Crow said. “In the meantime, I’m going to assume it’s my screwup. In truth, I think that’s more likely. Security is not the reliable business that nuclear engineering is. You think it’s a data glitch. I think it’s sabotage. I think you’re right about the ‘what,’ but I’ll bet you I’m right about the ‘why.’”

Becca nodded again. Crow’s analysis was plausible.

“I’ve got everybody I can working on it,” she said.

“Do it with the idea that it could also be sabotage. Don’t assume that it’s simply a data fault: think about how the fault could have been deliberately introduced.”

“I will.”

Crow disappeared from the screen.

Sabotage was outside Becca’s work experience. She needed to work with what she knew. Okay, keep most of the people looking for ordinary hardware or software problems, any kind of anomaly. Put the best computer jocks on cross-checking data dumps between the two systems and thinking about where an error might be injected into the system. A Trojan? Something coded directly into the process control software?

Back at his desk, Crow’s thoughts ran even darker. A casual computer cracker wouldn’t be able to infiltrate a nuclear power computer system. Nuclear plants had long been considered targets for cyber warfare and the code monkeys had long had procedures in place to prevent some malcontent from inserting a back door or sabotaging a plant.

That, though, was for a normal level of civilian nuclear security, attacked by ordinary crackers. The stakes were a lot higher here, and Crow had no doubt that his own people could break one of Becca’s nuclear plants if they really wanted to. Only the criminally stupid or naïve assumed the “other side” was less clever. And who would that be in this case?

The Chinese were the obvious possibility, but there were plenty of governments that would be happy to see neither the U.S. nor China get starship technology—and every major state or state-alliance had excellent crackers. Had the Chinese suffered sabotage? Was there any way he could find out?

If it were sabotage, indications so far were that whoever was behind it only wanted the American ship to lose the race, not to be destroyed. They’d only taken out one reactor, not both. Was that by intent, or lack of opportunity, given the system firewalls? Was the disabling of the reactor a warning shot across the bow, a polite attempt to dissuade, but one that could be followed by lethal force?

Another vagrant thought crossed his mind. What if the aliens…

No.

Crow launched a secure window request to Santeros’s office and cross-conferenced it to the science adviser. At this distance, the round-trip time for a data packet was just shy of two minutes; it’d take a while for the security computers to complete their handshaking. While he waited for them to respond, he reviewed the ship’s logs and status reports. Ten minutes later, he got the three-way alert and switched his attention to Santeros. He kept his report screens open. With a several-minute round-trip time at light speed, this was going to be a slow conversation. Santeros launched without preamble.

“Good morning, Mr. Crow. I presume you’re calling with regards to last night’s power problem on the Nixon. Jacob briefed me this morning. I was given to understand it was a singular event and under control.”

“Unfortunately, no. Reactor 2 just safed itself again. Dr. Johansson is proceeding as if it is an engineering fault of some sort, but I don’t think she really believes that. Nor do I.”

Four minutes. Vintner spoke up. “Run us through your thinking on that.”

“One failure could just be a bad byte of data, noise in the line,” Crow said. “That’s not supposed to get through, but it could. Two in twelve hours is statistically unbelievable. Hardware log checks didn’t turn up the phantom pressure drop. It’s a repeating problem that only appears in the control software’s data. The two power systems are supposed to be identical. Physically, it’s not possible to make them exactly the same, so there could be a hardware fault or construction error in one that isn’t present in the other. The control code, though, is identical, exactly duplicated in both systems. There should be no fault in one, that doesn’t show up in the other. If it was a simple fault, we should be able to isolate it and fix it. The engineers have not been able to do that.”

Crow went back to reviewing logs for a bit less than four minutes.

Vintner said, “Got it. If the software’s identical, one set can’t be throwing repeated faults when the other isn’t. Ergo, they’re not identical.”