Kill Switch
Page 36
She turned and left.
Everyone looked at Igloo.
“Fine, I give up,” Diana said. “Where do we start, boss?”
Chapter 47
The C40 engines droned in the background as Enso continued his teleconference, which had unfortunately expanded to include an Air Force general, a side-effect of commandeering the plane that was now bringing him and other key BRI members to Portland.
The Deputy Director of the NSA was shaking his head. “Enso, I’m going to have to bring the Director in for this.”
Out of view of the camera, Enso repeatedly crushed a gel-filled stress-ball in one hand. “No. She needs plausible deniability. BRI has always been tied to the office of the Deputy Director for just this reason.”
“It’s not about BRI,” the deputy director said. “It’s about the national security implications of allowing a group of radicals to irreversibly encrypt and obfuscate the entire internet. Overnight, it would set our surveillance and intelligence capabilities back thirty years. Hell, the director is almost certainly going to bring in SecDef. Maybe even the president.”
“Don’t be a fool,” Enso said. “BRI exists to take care of these problems. If you escalate, then you limit the full range of operational alternatives. Might as well just make it a standard intel op, then.”
“Maybe we should, Enso.” This was from the Air Force general who was BRI’s liaison into that agency. “This exceeds BRI’s charter. We’re not talking about swaying one or two key individuals. This is the sabotage of one of the most influential tech companies in the world.”
“It’s not clear that BRI is equipped to handle this very well,” said the Assistant Director of the FBI Cyber division. “You botched both the initial operation against Angie and the follow-up.”
“We did not execute Angie.” Enso jammed his finger down on the table. “I don’t care what the local police are reporting. The cyber forensics they turned up are either due to another party or she killed herself and framed us.”
Doubting expressions filled all of the video chat windows. Even Enso had to admit it didn’t look good for his team. The forensics indicating someone pushed a firmware change to the battery charger bore the digital fingerprints of cybernetic infiltration tools created by the NSA that had leaked just three months ago. BRI could and had assassinated key targets on rare occasions. Contrary to popular media depictions, the concept was anathema to the other agencies.
“Look, if we haven’t been successful so far, it’s because we don’t have the proper resources.”
“Enso, you’ve got everything you asked for.” SigInt Director Feldson practically growled at him. “You’ve got the FBI, the NSA, and the Air Force involved, in addition to the BRI team. I’ve got forty FBI agents in Portland, plus the entire Portland contingent. You have an operative on the inside. Despite all of this, you’ve lost the T2 team again, for the second time in two days.”
“Sir, they have completely disappeared off the radar, and Robin has not made contact in two days.” Enso treated Griz with respect, if not outright wariness. Technically he might not be the ranking official here, but his pull far outweighed his official position. “That’s with your Signals Intelligence team tracking them. This isn’t about BRI’s competency. They have top-notch counter-intel capability, as I have been reporting for months.”
“Then let’s turn this operation over to the mainstream FBI and NSA and let them have free rein with it.”
“Which plays directly into Tapestry’s hands. Then we have no legal recourse to stop them.”
“For fuck’s sake,” the deputy director said, “then what would you have us do? According to your last report, they’ll be ready to release within days.”
“Give me carte blanche for forty-eight hours. Let’s mobilize every signals intelligence asset we can spare. Make this the top priority at the NSA to identify them. Local air coverage. Ramp up transit coverage to active terrorist threat level. We make it impossible for them to communicate or move without hitting one of our tripwires. Give me more FBI SWAT teams, so that when we do get a blip on the radar, we’re ready to take advantage of it. Keep everything under BRI so I have direct control.”
“There’s no way I can do that without letting the director know.” This was the NSA deputy director.
“Call it a training exercise. Hell, call all of it a coordinated multi-agency training exercise.”
“Easy for you to ask for,” Griz said. “Not so easy for the rest of us when we’re testifying to Congress.”
“This is what you’re called on to do. It’s the quid pro quo of BRI. You want us available to do what you can’t, then you’ve got to shield us.”
Everyone else looked to Griz to make the decision.
Griz, uncharacteristically, looked down at the table in front of him. He tapped his finger a few times, like he was mulling something over. Then he looked up decisively.
“Forty-eight hours, Enso,” Griz said. “You have this wrapped up by then, and cleanly. Not like the last few operations. If you don’t, we take this to the director and to SecDef and let them handle it how they will, and I’ll personally recommend you be replaced as head of BRI.”
Everyone else nodded their assent, and then Feldson dropped off.
Chapter 48
Igloo led everyone through the process of reiterating what was most essential for the release, scrawling a working backlog on a whiteboard near the desks. They’d cross stuff off the whiteboard as they worked. A few folks prepared to pair up, but most would solo program.
“Before we split,” Igloo said, “I’ve got one more thing. We need to take the time to bundle everything for a release this afternoon.”
“We won’t be done,” Ben said, pointing at the list.
“We’ll have the highest priority stuff,” Igloo said. “We need to be ready, in case anything happens. If we have to run again.”
“That’s not good enough, not if we all get snatched unexpectedly,” Mike said. “We should bundle up the release and have a dead man’s switch that goes off unless we reset it every two hours.”
Igloo nodded slowly. “Yes. As long as we’re free and still coding, we keep holding back that release. But if anything happens to us, the current release will be ready to go.”
Igloo stared at the list as the others broke away. There were still two important items not on the list. First, she had to decide what to do with Angie’s backdoor that had allowed her to manipulate everyone’s content en masse. Second, she needed to decide how to handle the encryption keys that they’d need to ensure the government didn’t pass off a compromised version of Tapestry as a legitimate one.
“What should I do?” Essie asked.
Igloo tore herself away from looking at the list. What exactly could Essie do? She had no coding skills. She’d been topping off everyone’s coffee so far, but that wasn’t enough to keep her busy. But she was a blogger and a writer. That could help.
“T2 needs a manifesto,” Igloo said. “You’ve heard me talk about privacy, data ownership, and abuses of the government. You know why we’re doing this. Can you draft a principles document that we publish at the same time we release T2? Interview folks. But don’t distract them. Just get a sentence or two from each person. Work with Maria. Mine my old blog posts if that helps. Maybe look at Angie’s old public statements. Can you do that?”
Essie nodded quickly. “Sure. That’s going to be useful?”
“Very. Thank you.”
“And me?” Maria said.
“No technical skills, right?”
“Correct.”
“Be a runner between everyone,” Igloo said, feeling weird giving direction to someone she viewed as her superior. “Keep checking in if anyone has any roadblocks and figure out how to solve them. And maintain the backlog, as well as helping Essie with the manifesto. Can you do all that?”
Maria nodded. “We also need to talk about what happened to Angie.”
Igloo looked up sharply.
Why would she bring this up now? Did she know that Igloo suspected? Still, she didn’t have the time. It would have to wait. “Not right now,” Igloo said. “This is all critical path.”
Igloo went back to staring at the board while she thought. Two things that she alone had to make the call on: Angie’s backdoor and encryption keys.
Well, there was one that was a relatively easy decision. She’d been opposed from the start to Angie’s idea of manipulating everyone. There was no way in hell that she was going to allow that backdoor to remain. Yes, she was fine with helping individuals out. She was fine with using the chat personalities to promote healthy ways of thinking. But she had to draw the line somewhere, and that somewhere was unilateral control over people’s feeds.
She remembered where Angie’s bit of trickery was implemented, and it took only a dozen lines of code to remove Angie’s contribution. She felt an immediate sense of relief, and for a moment, she realized that it was quite fine to be making decisions herself. She and Angie would have argued over that for weeks or months, and she might never have swayed Angie to her point of view. Now it was Igloo’s call. That was actually nice.
Now she had to decide how to handle the encryption keys that would be used to package Tapestry releases, and which the self-updating client would check before accepting new updates. Neither she nor any other single person could be entrusted with them, because if they fell into the wrong hands, that person could change Tapestry to do whatever they wanted.
The team had a technical solution to splitting up encryption keys, but they hadn’t resolved who would get those keys, and how the final decision making authority would occur. In the future, every code change would have to be audited to ensure that no manipulation of Tapestry, and especially no secret government intrusions, were snuck into the code.
She still had no good solution, so she set the problem aside, and cranked through the rest of her coding list, waiting for a meal break to discuss the encryption keys. The next few hours were a whir of activity with frequent interruptions from the rest of the team.
At some point, Essie shared a rough outline of the manifesto. Igloo highlighted where she should go deeper, and which points could be eliminated. Then she got back to coding.
Many hours later, the smell of Italian food seized her attention and her stomach growled. Someone had brought in trays of chicken cutlets and meatballs and pasta. It was a step up from pizza, the usual for all-night coding marathons.
Everyone looked up at each other, and then raced for the table. They barely talked at all until everyone had loaded up.
Ben, the first to fill his plate, headed back to his workstation.
“Don’t go,” Igloo said. “Let’s all eat together. We have a mutual decision to make.”
Ben reluctantly returned. “I need to code.”
“We all do, but this is important,” Igloo said.
Everyone gathered at the one long, empty table.
Igloo shoved a meatball into her mouth, and then spoke as she nibbled on garlic bread.
“You all know the problem: We need to distribute the encryption keys in such a way that no one person or no few people can release updates to Tapestry.”
“One per person,” Mike said, looking around at the group. “Nine keys.”
“We can’t require all the keys to do an update,” Diana said. “If someone loses theirs, dies, or gets arrested, then we could never update Tapestry again. We need to be able to sign an update with three or four keys.”
“That’s too few,” Ben said. “What if they torture us to get the keys? They’d only need a few people to give up their keys, and then they’ve compromised it forever.”
“Torture?” Carly said. “Jesus. I’m still hoping for some semblance of normalcy after this. I’m not signing up to have a big X on my back for the rest of my life. No way am I going to be a key holder.”
“It’s like we’re deciding what to do with the pieces of Voldemort’s soul.”
Everyone turned to look at Essie.
“Well, it is,” Essie said. “I mean, part of why it took Harry and his group so long is that they didn’t even know what horcrux was. If you give the keys to yourselves, then of course you’ve painted targets on your own backs. But if you give the keys to other people, then the problem gets much harder for the government.”
“For this to work,” Mike said, and he pointed around the table, “we all can’t know who those key holders are. Otherwise we’re just adding a single layer of obfuscation. The government will torture us to get to the key holders.”
“Even if we work that out,” Ben said. “Who can we really trust to do what needs doing? We’re not asking for something trivial here. We’re talking about people who can inspect code commits to make sure the system isn’t compromised.”
Maria cleared her throat. “You need people who are ethical, responsible, and committed to resisting the government. Who are in this for the long run.”
There was a long silence at the table.
Igloo stood so quickly she unsettled her plate and nearly knocked over a glass.
“We’re forgetting what Tapestry is,” Igloo said as she paced back and forth. “First and foremost, it’s a social network. It’s not us. It’s not a small team working in secret. It’s a network of hundreds of millions of users. The people we need are out there. They’re currently users. We just need to find them.”
“How?” Ben asked.
“We mine the database. We look for the people who are ethical and responsible. Who are talented coders. We recruit them. The same way that any big distributed system polices itself. Through volunteers in the community.”
“We can have hundreds or thousands of key holders,” Carly said.
Ben nodded. “We can require multiple reviewers to scrutinize each code change.”
“And have a majority of the key holders sign off on the update as a whole,” Igloo said. “We’re talking about a long-term governance model for Tapestry. The last three years, we had a benevolent dictator in the form of Angie. We don’t have that any more. This is important stuff that goes way beyond just keys.”
There were nods around the table.
“We need to make sure the feds can’t hack the system,” Ben said. “They’ll try to sign up millions of sock puppet accounts so that they can vote for leaders and key holders, and then suddenly they’ve compromised Tapestry the way they compromised TOR. We can’t allow that.”
“We’ll need counter-measures to protect against that,” Mike said.
“This is too complicated,” Diana said. “We fucking need to release today. You guys have just designed…well, frak. Not even a whole new feature. A whole new class of functionality. You want to replicate everything git does, and then some. It’s community voting, plus code review, plus key management, plus security features, plus user profiling. We’d need a month to build that.”
There were several nods around the table.
“I don’t see that we have a choice,” Igloo said. “This is what needs doing. It’s what is right to do. We’re not going to write it from scratch, and it doesn’t have to be perfect for the first release. It just needs to be good enough that none of us are targeted by the government. There are libraries for every one of those things you’ve mentioned, Diana. We need to glue it together just well enough to resist the feds for a few days or weeks, until we can improve it.”
Maria gestured at the wall clock. “People, it’s the middle of the night. I don’t know about you, but I haven’t had much sleep since Friday. I think you’d all be more functional if you got some sleep. In fact, we should all sleep together, so we can stay on the same cycle.”
Igloo bristled at Maria muscling in on her team. “You turning into the mother hen?” she said.
“Hey, I can’t code. But I can at least try to keep you all productive. Look, I’m not saying sleep for ten hours and have a leisurely breakfast. But look at yourselves. You look like the walking dead. How many hours of sle
ep have you slept in the last three days? Just get six hours of sleep at least.”
Igloo looked around at everyone. She glanced over at the whiteboard with the list of to-do items. They were less than halfway through. But what Maria said was true. She’d slept maybe three or four hours in as many days. And that had come on top of a week of surviving on four hours of sleep a night. There was no way they could cross everything off that list before they slept again.
“Let’s do it, people. We sleep, then get cracking in the morning.” She turned to stare at Maria. “I want to talk to you.”
The rest of the team made their way toward the cots behind the fabric wall.
Igloo directed Maria to the opposite corner, and they sat, almost touching, in the dark.
“You need sleep, too,” Maria said.
Igloo nodded, too tired to disagree. “In a few minutes.” She thought about Angie, how sometimes Angie would wrestle the truth from her with a few words, and only afterwards would she realize that Angie had been fishing. Always in those cases, Angie would simply speak the truth, and it would be impossible for Igloo to not respond to it.
“I know,” Igloo said. “I know about you.”
Maria blinked. “Know what?” Her voice was perfectly casual.
“I know you work for BRI. I know you’re an inside plant. I know you’ve been reporting on what we’ve been doing.”
“That’s absurd,” Maria said. “I don’t know what you’re talking about.”
“I also know that you’ve listened when I’ve talked. Those moments we had together, over coffee, they meant something to you. You care about what we’re doing. Even now, you’re trying to decide what to do, whether to help us or to turn us in.”
“You’re talking nonsense. I think the lack of sleep—”
“You can’t decide, because either path requires betraying your values. If you turn us in, you betray what you know is the righteous and just path. You know that BRI is a monster that will do anything to achieve its goals and maintain its own dominance, whether that’s framing the innocent, destroying an innovative company, or crushing a relationship between two people. But if you don’t turn us in, you’re betraying your loyalty to the government, to the duties you swore you would uphold.”