by Jon Evans
It takes her a moment. “Yes.”
“Our friends need help. They’re trapped in the place they went. They can’t get out. But they need to get out very soon. Understand?”
For a moment she thinks he means Estelle. Then she goes cold with understanding. Angus and Laurent are trapped in the Kishkinda offices. “Yes.”
“I need you to go to the door they’re stuck behind.”
“Me? The – the main door? And do what?”
“I’ll give you the key. To open the door.”
“Oh,” Danielle says, remembering that Kishkinda’s door is opened by an external keypad. “OK. I can do that. What’s the key?”
“I’ll have to call you back. I don’t know yet.”
“You don’t know yet?”
“Just go,” Keiran says. “Call me back when you get there. Hurry. Our friends can’t stay there much longer, you understand?”
* * *
Keiran types with furious speed. Angus and Laurent don’t have much time. There is still a faint hope that the police turn the power back off again, but they haven’t yet, and that means it’s not likely. Instead the Paris bomb squad is doing a floor-by-floor sweep of the tower. And they have dogs. Angus and Laurent can probably smash their way out, and Keiran supposes that is better than being arrested right now, but once Kishkinda realizes their office was broken into, the game is all but up. Their security will quadruple, the police will start looking for clues, and despite all precautions there’s a good chance they’ll find something: a hair, a fingerprint, a Handicam shot of Angus and Laurent entering the building in uniform. In this day of DNA analysis and ubiquitous cameras, the only way to be certain the police won’t find them is to ensure nobody knows a crime has been committed. Always be invisible. But if Keiran can’t get the security door’s override keycode in the next ten minutes, their invisibility is dead.
He still has a chance. He already hacked into the corporate network of Krull Security, the company that built Kishkinda’s security door, when he determined that the door would open when the power went out. Now all he needs is the factory override key used by the manufacturer if their clients forget their codes, or if the authorities need to execute a stealth search warrant. It will be somewhere in Krull’s corporate network. There is still a chance.
His beachhead on the Krull network is, as is so often the case, a machine running Shazam. This gives him the permissions of an ordinary Krull employee, but Keiran needs more, he needs root – the access level that makes him God, permits him all things, gives him the power to access anything on Krull’s network. Shazam can’t give him that. There is no time for social engineering. He has to break in the hard way; with an exploit.
There are many ways to hack into a computer. You can social-engineer a user into giving you their password, often by simply calling them, claiming you’re the help desk, and asking. You can take advantage of users who fail to change factory default passwords. You can steal passwords by installing a hidden camera, or a key logger; by tricking users into giving it away via a phishing or man-in-the-middle attack; or simply by watching them type it. You can dupe users into downloading a program that gives them access, an email attachment that claims to be a nude picture of Britney Spears but is actually a virus, or a program like Shazam that is useful but also a Trojan horse. Or you can do it the hard way, the most effective way, without the user being involved at all; by finding and using tiny little flaws in one of the basic programs running on a machine. An exploit attack.
Keiran connects to his beachhead computer, calls for a view of its network. Far away, in San Jose, California, disk drives spin in the Krull office, network information is assembled, and this information is parcelled out in thousands of packets, each of which is sent on a journey across the Internet, directed by a chain of thirty routers scattered across North America and Europe, before they reach Keiran’s laptop and are reassembled into a diagram on his screen. It all takes less than a second. Keiran looks at the resulting network map and sees that its hub, Krull’s main data server, is a machine called LOCKBOX. He uploads a basic hacker toolkit to his beachhead and initiates a port scan of LOCKBOX.
A port scan is basically an interrogation: LOCKBOX is asked “Do you run this program? How about this one? Or this one? Or this one? Or –” Ten seconds and sixty-five thousand such questions later, a list of the programs that LOCKBOX admits to running appears on Keiran’s laptop. He knows exploits for most of these programs – but all have been patched. Part of the ongoing war between hackers and software companies; the former find exploits, and the latter release fixes, or “patches”, as soon as they are aware of the need. But keeping security patches up-to-date is a time-consuming and complex job, and companies are often very slack about it. Keiran hopes that this is true for Krull as well. He opens up his box of exploits, selects those that might penetrate Krull’s software, and begins to try them. It is like finding a door with a dozen keyholes, any of which will open the door, and having keys for all of them, but not knowing if any of them will work.
The seventh lock, a buffer overflow in Microsoft NetMeeting, has not been patched by Krull since its key, the exploit, was discovered three months ago. The door opens. Keiran is root on LOCKBOX. He glances at his watch. Ten minutes have already passed since he sent Danielle into the Tour EDF. And he still has to figure out Krull’s database structure and find out where the door-keycode information is held.
The good news is that this isn’t hard. The database is well designed, structured in much the same way Keiran would have done it himself. It only takes him a minute to find the factory override code for the door behind which Angus and Laurent are trapped. The bad news is that the 10-digit keycode has been encrypted into 256 characters of gibberish. And he has only a few more minutes before the riot dissipates and the bomb squad reaches Kishkinda.
His headset rings. Keiran switches windows and checks the caller ID. Danielle. He answers.
“I’m there,” she says. She sounds exhausted. “Sorry I’m late. The doors were locked. I had to get a black bloc guy to smash the glass. Then the elevators were all locked down, I had to take the stairs.”
Keiran takes a moment to check that he is still filtering the building’s security systems. Yes: as far as anyone looking at its security cameras knows, the door remains unbroken, nothing has moved in front of the cameras since the building emptied, and there is no one inside but the bomb squad. But anyone looking at these pictures – and Keiran strongly suspects this list includes the police – will soon start to wonder why the cameras in the lobby don’t show the riot outside. Another deadline.
“Just a moment,” he says.
Keiran can tell by the 256-character size of the encrypted gibberish that the keycode has gone through a relatively weak encoding process known as a “hash function.” A single modern computer, if it was given a few years to work on nothing else, would be able to break it by the brute-force technique of running every possible 10-digit number through SQL Server’s hash function. Keiran has a few minutes, not a few years. But he knows the hash function SQL Server uses – and he has several million computers at his disposal. Shazam. His botnet.
Keiran hesitates a moment. He has rarely used Shazam’s full capabilites before. Every time he does, there is a chance, small but nonzero, that someone will notice the extra network traffic and begin to understand Shazam’s true nature. But right now that risk is tiny compared to the alternative.
Another call. Angus. “Mate,” the Scotsman says in a fierce whisper, “we can hear them on the stairs right below us, they’ve got fucking dogs, we have to get out now. We’re going to break the door with a fire axe.”
“No!” Keiran says, alarmed. “No. Trust me. I’ll have you out in forty seconds.” His fingers are flying over the keyboard even as he speaks. He has written software to use Shazam for this kind of parallel computation before, against a future need. Today’s future need.
Keiran composes his command and hits ENTER. In
structions fly out from Keiran’s laptop to the global Shazam network. His command ripples through the Internet like a tidal wave. Around the world, on seven million different computers, the Shazam program takes a break from its usual pursuit of uploading and downloading stolen music and video files, and devotes itself singlemindedly to cracking the keycode. In homes and businesses and universities and government offices, computers suddenly devote all of their processing power to running several thousand 10-digit codes through the hash function they just received, and reporting whether the result matches that found in Krull’s database. Between them they try all ten billion possible combinations in thirty seconds.
“Danielle,” Keiran says, after the single successful computer reports back to him. “Listen carefully. You get one chance to get this right.”
* * *
Danielle enters the code into the keypad, her finger trembling a little. She has the presence of mind to cover her finger with a scrap of paper from her pocket, thinking of fingerprints. She enters the tenth digit. The lock releases with an audible click, the door opens, and Angus and Laurent are there, dressed in police uniforms. Angus’s face is drawn with tension. Laurent seems more relaxed, but when he looks at Danielle, his eyes widen.
“Are you all right?” he asks.
She shrugs. She must look awful, covered in soot, with devil-red eyes and matted hair, her face bruised and bloody and smeared with tears, limping and exhausted in torn clothes. “I’ll live.”
“Chat later. We have to go,” Angus says, his voice humming with near-panic. He pushes past Danielle towards the stairs. Laurent stops long enough to close the door behind him, takes Danielle’s hand, and leads her after the Scotsman. He has to let go after the first couple of floors, they can’t descend rapidly while holding hands, but she appreciates the gesture. Danielle almost falls, once. Laurent, ahead of her, hears her stumble, turns quick as lightning, ready to catch her. She clutches at the banister and manages to right herself. They exchange a quick grin and continue to run downstairs as fast as they can.
They go out the same way she came in, through the window smashed by a black-bloc man with a huge pipe wrench. Danielle shivers at the thought of the encounter. Clad in all black over body armour, wearing a gas mask, the man looked like an alien from a sci-fi movie. Danielle asked him in desperate English to break the window, then mimed it, since he clearly didn’t understand a word. Danielle isn’t sure if that’s because he never learned English or he was too far gone in primal rage to understand anything other than his mother tongue. His snarls as he smashed the glass were pure animal. When he finished he turned to Danielle, wrench held high, and she is sure for a moment, drunk on bloodlust, he had thought of smashing her face as well. Instead the man had let out a yodelling howl and raced back into the crowd, looking for something or somebody else to destroy.
In the ten minutes since, the riot seems to have cooled into a kind of standoff. The police are arrayed on the northern edge of the Esplanade, the rioters to the south by the Tour EDF. Smoke- and gas-obscured no-man’s-land lies between them, strewn with overturned barricades. About a hundred protestors, most of them black bloc, are chained to metal fences behind the police with plastic ziptie handcuffs. Windows have been shattered along both sides of the Esplanade. The protestors shout and chant. The remaining black bloc members are in the front of the crowd, snarling fury visible on the faces of those without gas masks.
It occurs to Danielle that somehow, incredibly, she is the architect of all this.
Everyone who intended to flee has gotten away by now. But despite the tear gas, clubs, and rubber bullets, at least a thousand, probably more, have remained. When Danielle, Angus, and Laurent emerge from the Tour EDF, the people around them, civilian protestors all, dressed in tie-dyed hemp or sober business wear, turn to stare at the two newcomers in police uniforms with expressions of shock and rage.
“We need to go,” Laurent says. “By now even the pacifists must have their blood up.”
He leads the way. Angus and Danielle follow. The people around them watch with angry expressions, not sure how to react to their sudden appearance. The crowd thins out as they approach the fringe, populated by bystanders keeping their distance from the action. Danielle thinks they have gotten away. Then two twentysomething goateed men, dressed in jeans and black T-shirts, eyes red with tear gas, step into Laurent’s path.
Without breaking stride, Laurent spins on one leg, kicks high with the other, and his foot comes around in a wide arc and knocks one of them senseless. Before the first man even hits the ground, Laurent punches the other in the stomach so hard he topples over and falls sideways, clutching his gut, his mouth open in a stunned O. A shocked gasp comes from all around around them, followed by furious, dismayed shouting. Laurent grabs Danielle’s hand and pulls her after him, running hard, pushing people out of their way, shoving between them or spinning around them like an NFL running back. Angus has to sprint to follow. The vengeful muttering around them intensifies, and Danielle is sure they will be chased and beaten, they are outnumbered a hundred to one.
Then the voices around them falter, become doubtful and afraid, as does the roar of the crowd in the distance. Danielle looks up. They have almost detached themselves from the protest now, they are right on its eastern edge, next to little sculptures of gnomelike heads set in banks of terraced plants. Ahead and to her left, she sees a tide of uniformed police with riot shields and gas masks emerge from the parking-lot entrances on the northern side of the Esplanade, rank after rank of them, heading towards the crowd with a slow, unanimous, unstoppable gait. Danielle is crazily reminded of Star Wars storm troopers. Then she hears chunking noises from the police ranks, sees metal canisters fly overhead, land in the crowd. More tear gas.
The first man this marching wall of police encounters shouts at them desperately in French. They club him to his knees and handcuff him. The wall of gendarmes swirls and reforms around the small knot formed by this event. They don’t even slow down. They march straight into the demonstrators, squeezing the crowd against the buildings on the south side of the Esplanade, the Tour EDF and the Quatre Temps shopping centre. As the gendarmes force the last dregs of the crowd to disperse, Danielle, Angus and Laurent flee south towards the Sheraton. All she feels is relief.
* * *
Keiran opens the door. Danielle, bruised and battered, stands there, leaning on Laurent, who like Angus beside him is apparently untouched by the riot.
“No offense,” Keiran says to Danielle, “but they let you in looking like that? This is a five-star hotel. Their standards are clearly slipping.”
“Don’t,” she warns him, her voice dangerous. “I’m not in the mood.”
He nods apologetically. “Come in.”
They enter. Danielle sags onto the couch, and Laurent sits next to her. Angus remains standing. “Where’s Estelle?” he demands.
Keiran says, “She’s fine. A little bruised, is all. I just talked to her. She’s trying to find her way here. The police have shut down the demonstration zone, she’s on the other side, by the Grande Arche.”
Relieved, Angus sits.
“You did good work, all of you,” Keiran says. “Excellent work.”
They nod. Keiran bites back a sigh at their lack of reciprocation. He just ad-libbed a feat of near-superhuman hacking, saving them from certain incarceration, and they take it as no more than their due.
“Did it work?” Laurent asks.
“Seems to have done. The network is alive and reporting, all our little listeners accounted for. We won’t get any actual information from it until tonight’s update though.”
Angus says, “Once we clean up we should go back to the apartment.”
“We can’t stay here?” Keiran asks, looking around at the luxury hotel suite. “This is proper.”
“Sorry,” Angus says. “The foundation’s pockets are not bottomless. Even if they were, I’m sure they could find better things to spend money on than your outrageous r
oom service bill.”
“Name one.”
“World peace,” Laurent suggests.
“I’ll take the room service.”
“Sometimes, Keiran, I think you are not a true believer,” Laurent says, amused.
“I’ll believe anything you like for five hundred a day plus expenses. Now give me a hand packing my gear. And be gentle. It’s very sensitive. Like me.”
“What’s the plan for tomorrow?” Danielle asks.
“With any luck,” Keiran says, “tomorrow we crack Kishkinda open like a walnut.”
Chapter 20
“So, in short,” Angus summarizes, “we have nothing.”
“We have quite a lot,” Keiran says. He looks around the dining-room table at the others. It is very quiet, as if the whole 11th arrondissement is listening to his report. “We have access to their internal corporate network. That’s not nothing.”
“But it gives us nothing.”
“We have home addresses and phone numbers galore. You wanted to go after the suits? Now we know where they live.”
“But nothing culpable,” Angus says angrily, as if it is Keiran’s fault. “No evidence that Kishkinda is knowingly dumping toxic chemicals.”
“I found plenty of documents which seem to indicate that they’re not. I mean, half of them are in French, maybe you can correct me, I’ve only got an A-level and two years of uni,” Keiran is being sarcastic, “but these seem to claim that as far as Kishkinda knows, they’re not dumping anything, and the soil and groundwater samples they take have chemical levels well within international standards.”
“Don’t be an idiot. Of course they have documents like that. You think they make the real ones available to everyone in the company? No. Only a very small group know the truth.”
“Like who?”
“Like the CEO,” Angus says. “Gendrault. What do the files on his machine say?”