Kill Switch
Page 40
“You okay?”
Doug was good, getting the essentials done first. No time to reply.
She logged into the FTP server. Footsteps pounded outside. The door opened.
She hit transmit.
Chapter 57
The Coast Guard plane droned on, flying a new radio surveillance path over Beaverton. There were thousands of access points and other radio towers they could exploit for an internet connection. They were swapping access points every ten minutes now.
Igloo stood next to Mike in the small radio room just behind the cockpit.
“They’re going to eventually figure out how we’re doing this,” Mike said.
Igloo patted him on the shoulder. “I know. Just keep switching it up.”
Doug yelled out Igloo’s name, and she rushed out of the radio room, back to Doug’s side at one of the workstations in the main cabin.
“Get ready. I just heard from Forrest. She asked for the FTP credentials.”
Igloo was already in her seat by the time that sunk in. “Ben knows the credentials.” She looked at Doug, but he was staring at his phone.
“Ben knows the…” Igloo trailed off. Something happened to Ben.
Essie was by her side, squeezing Igloo’s shoulder. “Stay focused, Igs.”
There was a squelch of static as the intercom came online. “We’ve got a pair of National Guard fighters pacing us. They’ve ordered us to stop radio transmissions and land immediately. Whatever you’re doing back there, we need you to shut down ASAP.”
Igloo glanced out the window. There really was a fighter plane flying alongside them. Holy shit.
“I’ll handle this,” Doug said. He unbuckled and headed for the cockpit.
A notification flashed as soon as her code detected files in the FTP site, and she breathed a sigh of relief. There was nothing for her to do. She’d already written a script to do everything that needed doing, so that she wouldn’t have to rush in the heat of the moment. She’d even updated her openssl libraries this morning. It should only take moments to grab the private key, regenerate the signing key for the update domain, then sign the package. They were ready to push an IP routing hack that would allow the Tapestry clients to find the update.
Her code regenerated a signing key for the update domain, then—
Wait, what was this error message? How could she not have the required openssl header files? She felt a pit of despair in her gut at the pages of error messages scrolling up the window.
“Uh, Mike? Melanie? Someone, help!”
“I saw this,” Melanie said, rushing to her side. “Accept the Xcode license.”
“Did you install an update?” Mike asked.
“It’s a mismatch between your openssl libraries and Xcode,” Carly said. “You need to give it the right library path.”
“Brew upgrade and brew update,” Jeff added.
“No—that’ll update all her packages. It’ll take forever,” Carly said.
“Everyone stop arguing!” Igloo said. “What do we need to do to fix this?”
“Give me a copy of the keys, and let me try on my machine,” Melanie said. “Then you can keep debugging your machine in parallel.”
Igloo sent a copy to Melanie.
“Did you compile Ruby or install binaries?” Carly asked.
“Fuck if I remember.”
“Then let’s do a clean install.”
Igloo took a deep breath. Why couldn’t everything just work?
Doug came back from the cockpit. “How long?”
“I don’t know,” Igloo said.
“They’re threatening to shoot us down if we don’t cut radio transmissions. They said we have thirty seconds to comply. Cut it now, Mike.”
Mike glanced at Igloo. She nodded.
The internet died.
“Ah, I can’t install packages,” Melanie said.
“I have a local mirror of the top GitHub repos,” Diana said. “Let me pair with you.”
“This is ridiculous,” Igloo said. “Someone on this plane has to have a machine that openssl is running correctly on. Can we all just check?” She glanced at Doug. “They’re not going to shoot us down as long as we’re not transmitting?”
Doug nodded. “Yes, but they’re forcing us to land at Portland International. We’ll be on the ground in ten minutes.” He ran a hand over the stubble on his head. “Probably arrested. Wasn’t really expecting that.” The last was an aside to himself.
“Peeps,” Igloo said, addressing her team. “We need to get that package signed before we’re on the ground, squirt it as fast as possible, and hope they don’t shoot us when we do. I need you to get that done while I buy us some time.”
She turned to Doug. “How do we get another hour in the air? We need the package released and widely distributed.”
“There’s no way,” Doug said. “The Coast Guard pilots are not going to disobey a direct order to land. And there’s nothing you can do from here to stop those fighters.”
Igloo considered options. Maybe they could take over the plane’s flight controls from back here. Maybe they could execute a remote attack on the fighter planes. She shook her head. She was dreaming. Not even Angie could bring down an F-16. And she looked around at the plane they were on. It had to be twenty, thirty years old or more. For all she knew, the flight controls were hardwired to the control surfaces. Besides which, with no Internet, she couldn’t even find or download or create the exploits she’d need, even if they existed.
Igloo closed her eyes and fought a rising panic. She had no options, no way to take control of the situation. The lack of control triggered her in every possible way. It just wasn’t fair. There was no way out, nothing she could do. There was no way she could talk her way out of this situation.
Wait. There was no way she could talk her way out, but that didn’t mean someone else couldn’t. She didn’t need to take control of this plane or those fighters. She just needed to take control of the pilots, and that was a far easier problem.
She turned to Doug. “Who’s in charge of everything?”
“Enso. Head of BRI.”
“Except he’s not directly talking to these pilots. He’s not in charge of the Coast Guard and the Air Force.”
“National Guard,” Doug corrected. “But no. He’s relaying orders through their chain of command.”
“How? What communications channel?”
“Secured VOIP phone calls.”
“Routed over the public internet?”
“Yes, or…”
“Over DOD milnet, I know. But as long as they’ll accept calls coming in over the regular Internet, we can crack their communications.”
Doug shook his head. “Those calls are secure. Protected by public key cryptography. The same cryptography you also rely on.”
Igloo shook her head. “Don’t worry about the details. You have a secure phone and samples of Enso’s voice?”
He nodded. “I’ve got messages.”
“Give them to me.”
Chapter 58
Enso stared down at Forrest’s body. He wanted to yell at her, but it would do no good now.
“Sorry, Sir.” The agent looked at his feet. “I told her to stand down, but she had her service arm out.”
“You did the right thing.”
Enso turned to his second in command. “Alice, what’s the status of the plane?”
“National Guard is forcing them to land. They’ll fire on it if we detect transmissions.”
Enso thought about what would have happened if they’d gotten the T2 release out. The Internet would have fallen into utter chaos. Untraceable, untappable, untamable. No centralized control. No safety. He’d just singlehandedly prevented a cyber disaster of epic proportions.
He needed the plane on the ground, and the entire T2 team disappeared before he could relax. None of them could ever be permitted to get anywhere near a computer again.
This was validation of everything BRI was invented to
fight. To do what needed doing to ensure the greatest good for the greatest number, regardless of laws and other short-term concerns.
He’d need to testify before the committee. BRI would be more secure than ever before.
“Sir…”
He looked at Alice, who was ignoring him now, staring at her phone.
“Yes?”
Alice ignored him, put the phone up to her ear.
“No, we don’t tell them to stand down.” She waited. “I don’t know where that order originated.”
“What the fuck is going on?”
Alice held her hand over the mouthpiece. “The F-16s are returning to base. Trying to figure out why.”
“Gimme that.” He grabbed the phone. “Who am I talking to?”
“This is Major Conway.”
“Conway, we need that plane out of the air, now.”
“With all due respect, ten minutes ago you wanted them called off. Can you make up your mind?”
Enso gritted his teeth. “That wasn’t me. Our communications are being attacked. We need that plane down now.”
“If comms can’t be trusted, how can I know this is a legitimate order?”
“Logic, Conway, logic. They’d want you to call off an order to bring them down, and the real me would want them shot down. If they transmit their payload, it will be the biggest cyberattack in history. I need that plane down now. If you have to shoot them over downtown Portland, do it.”
There was a long pause. Enso could guess that Conway was having second thoughts.
“Conway, we don’t have all day. If they release their data payload…”
“Yes, Sir. I’m transmitting the order. Hold on…”
Enso held his hand over the phone. “They’re cracking our phone calls. We need the whole operation to move to a new SCI compartment.”
Alice nodded, and turned to another agent.
“Enso, you there?” Conway was back.
“Go ahead.”
“We’ve lost voice comms with our pilots and the Coast Guard plane. Telemetry on the F-16s still says they are returning to base.”
“What else have you got that can bring that plane down?”
“Nothing, unless we scramble out of Seattle. I’d need to bump that up the chain of command. But we can have the F-16s back in the air in less than fifteen minutes.”
“Give them an order, in person, to take down that plane, and not to rescind regardless of what they hear via communications.”
“Sir, but there is no way I can do that.”
“Excuse me?”
“I can’t give a shoot to kill order over American soil in a downtown area and not have a way to recall.”
“Unless you want to personally be chewed out by the President of the United States tomorrow morning, I suggest you find a way to do so.”
Enso ended the call without waiting for a reply. People and their goddamn ethics.
Chapter 59
Igloo glanced out the window. There was the Columbia River. They were so close to the Portland airport. It had been a very near thing.
Ten minutes ago, she’d run the voice samples she had for Enso through her sequencer, generating a voice model she could use for text-to-voice. It was the same code she’d written for the chat personality voice interfaces.
She used Doug’s phone for the calls, since it already possessed the necessary hardware encryption layer. Substituting Enso’s credentials, she called the base commander and used the text-to-voice ability to impersonate Enso, instructing the base commander to order the planes back to the ground. That took only two minutes, and she watched as the F-16s peeled away.
She repeated the same trick with the Coast Guard, telling the administrator to relay the order to the pilots to stay aloft, using the excuse that a miscommunication with the Air Guard had been cleared up.
Soon after, she felt the Coast Guard plane ascend again, then turn until they were westbound once more.
“How’s the package coming?” Igloo asked.
“Almost there,” Melanie said.
“What can we do to jam Enso’s communications?” Igloo asked. “I don’t want him countermanding the steps we just took.”
Doug pointed down the plane. “The same gear we’re using to transmit should be able to drown out signals to those fighters. Or to the ground station.”
“Can you do it?” Igloo asked.
Doug shrugged.
“We’ll figure it out,” Carly said. “Mike, help me.” Mike joined Carly in front of the radio console.
“The package is ready,” Melanie said.
“Don’t wait. Push it out.”
Melanie nodded. Igloo joined her at the computer. They watched as the update uploaded over their Internet connection.
“It’s out,” Melanie said.
“Seeding via Bittorrent,” Jeff said. “And replicating to CDNs.”
With a valid, signed update binary out there, the only thing left was to tell the hundred million Tapestry clients about it. Those clients would check Tapestry servers periodically for an update. Unfortunately, the servers they’d be looking for had all been shut down by the government. Worse, the government had, by court order, re-routed all Tapestry traffic to a government-owned IP address. In effect, hundreds of millions of Tapestry clients were trying to hit servers that weren’t replying.
“Spawning EC2 instances across all regions, all zones,” Diana said. “Launching load balancers. Attaching instances to the load balancer.” Dozens of load balancers spread the flood of Tapestry traffic among the thousands of servers they leased for the day. Over the next few minutes, those thousands of web servers would come online, booting a software image they prepared the previous day.
All the while, in the back of her mind, Igloo couldn’t stop thinking that at any moment they could be shot out of the sky.
Igloo pulled out her last wild card. A zero-day DNS vulnerability. Time to route around the government. She forced the Tapestry traffic to hit the servers under her control, despite the steps the government used to take control of Tapestry’s IP addresses.
“Traffic coming in,” Melanie said. “A hundred requests. DNS must be switching over.”
A cheer went up around the plane and Igloo exchanged a couple of fist bumps with members of the team.
“Sweet,” she said. But her enthusiasm was tempered. It would take a full day before all the cached DNS entries expired.
Traffic built steadily over the next several hours. Until Tapestry hit a critical mass, meanwhile, she and her team were still at risk.
“Hey, Igs!” Mike and Carly called her simultaneously.
She left her station and went over to radio control. “Yeah?”
“We tracked those F-16s back to Portland,” Carly said. “They landed, which means they could be taking off again at any second, assuming they get new orders once they hit the ground.”
“We need to get out of the air quick. If we’re on the ground, they won’t shoot us.”
“Are we done?” Mike said.
She realized they’d been so focused on their radio-jamming task they’d missed the cheer that had gone around the plane. “Yeah, we’re done. The software is out.”
Carly and Mike leaned back in their seats.
Igloo spun around. “Doug, get those pilots to land this plane.”
“You got it, Igloo. Good job.”
“Oh man,” Melanie said. “We’re already at five hundred requests per second.”
They had to hope their cobbled together infrastructure held under the crushing load of Tapestry users.
“There’s nothing more we can do,” Igloo said. The plane abruptly veered, and she guessed they were heading for the airport. “The servers will hold, or they won’t. Either way, the software is out there, and it’ll—”
The plane thudded, then jerked sideways. Igloo slammed into the wall, then felt her stomach rise as the plane veered downward suddenly. The engine noise, already loud, roared and drowned out al
l communication.
She tried to rise to her feet, but the plane twisted again, and she flew the across the narrow aisle, crashing into something sharp. Strong hands grabbed her as Doug pulled her into a seat next to her station.
They worked together to buckle her in as the plane veered again, engines straining.
Suddenly the plane leveled out. Igloo looked out the window to see treetops flashing by.
The engine noise backed off, and the click of the intercom came on.
“We just took machine gun fire from a military vehicle about a couple of miles west of the airport,” one of the pilots said. “We’re keeping it under two hundred feet for the remainder of our approach.”
“We have a problem,” Doug said. “Enso really wants us dead. We didn’t consider things objectively. Rationally, there’s no point for the government to kill us because the software is already out there. Killing us changes nothing. But—”
“Enso is desperate,” Igloo said. “If we’re dead, he gets to spin the story however he wants.”
Doug nodded. His face was white.
“Lucky for us,” Igloo said, “I included something in the software release about what’s happened. Enso is screwed either way.”
Chapter 60
Welcome to Tapestry 2.0.
This is your operating manual for the future.
Two hundred and fifty years ago, the United States justified its proclamation of independence with these words: We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.
In today’s modern age, we cannot have life, liberty and the pursuit of happiness without foundational digital rights. These include the right to digital privacy, to own and control our own personal digital data, to read and to publish unbiased sources of information, and to free, unfettered communication and association with anyone we choose.
Current events have shown that we cannot delegate our responsibility to others and expect to have these basic human rights guaranteed. Therefore, to ensure the security and availability of free communication, every citizen has not just the right, but the moral and social obligation to own and control their own means of communication.