by Barry Eisler
“Does he tell you anyway?”
“Of course.”
“Then I will, too. What you’re describing? It’s like stealing. Stealing an inheritance the person doesn’t even know she has. Will she miss the money? Will she even know it’s gone, or feel diminished by its absence? No. But just because the person isn’t aware of the theft doesn’t make you any less a thief.”
“They teach you that in law school?”
“What happened with you and Alex, anyway?”
“We drifted.”
“Come on, no one drifts like that. He doesn’t even know you were married, or that he has a niece.”
He looked away from her for a moment, trying to decide what, or whether, to tell her. He didn’t know where to begin. “We had a sister,” is what came out. And he went on from there. He didn’t mean to say much. But once he started talking, he found it hard to stop.
“Your poor family,” she said, when he was done. “I thought mine had problems.”
He laughed harshly. “What family? There’s no one left.”
“There’s you and Alex.”
“Alex blames me for the whole thing.”
“He told you that?”
“Not in those words. But he does.”
They were quiet for a moment. She said, “Did you enlist to get away from what happened with your sister?”
“No. I had decided before the accident. My parents didn’t want me to. They put a lot of pressure on me, but this is what I wanted. Since I was a kid.”
“I think it’s good you enlisted.”
He looked at her, surprised. “Are you serious? I thought you thought I’m a sadistic, torturing baby killer.”
“I don’t think that. I was just trying to get under your skin. Anyway, that’s not what I meant. I think it’s good you enlisted because it’s what you wanted. I wish I had your attitude about standing up to my parents. But … you were right in the bar, too. I don’t know what I want.”
He didn’t respond.
She said, “Why are you helping Alex?”
He looked at her. “This is helping him?”
She laughed. “He doesn’t have to know about this.”
“Yeah, I think that’s best.”
“Why, though? I mean, you’re so estranged and everything. And yet, here you are.”
He thought about it for a moment. The bottom line was, he wasn’t sure himself.
“He needs my help,” is all he could think to say.
He wanted her to ask more. Maybe it would help him figure it out.
Instead she said, “You really think he’s … interested in me?”
“Come on, look at you.”
“That’s all you’re going on?”
“Believe me, that’s a lot. But no. Like I said, I can tell. What about you? You were never interested in him?”
There was a pause. She said, “He’s a good-looking guy, and there’s a lot to like. But … I don’t know, he reminds me of the guys I went out with in college and law school. I don’t want to keep repeating myself.”
“What do I remind you of?”
She looked at him. “You don’t remind me of anything. But at the same time, you do.”
He shook his head. “I don’t follow you.”
She smiled. “You don’t have to.”
“Yeah, but—”
“Shhh. Why don’t you just apologize to me again?”
“I’m sorry.”
She eased a leg over his body, then moved astride him, her hands on the floor on either side of his head. She leaned in close, her hair cascading down past his face, enveloping him, and looked into his eyes.
“That’s not much of an apology,” she said.
He put his hands on her waist.
“Let me rephrase it,” he said.
26 LIKE A DREAM
After they’d made love again, Ben told Sarah he had to sleep for a while or he wouldn’t be any good the next day. They’d crawled up onto the bed and he was gone almost instantly. Now she was watching him, exhausted herself, but too wired to sleep.
She’d never come like that before. Never. And now twice in one night. With her two previous boyfriends she had thought of intercourse as a pleasant option, but nothing indispensable. Now she finally understood what all the fuss was about. She ached in a delicious way, a physical reminder of how much pleasure she’d just had, and thinking about him inside her made her want to wake him and do it again. They hadn’t used any protection, and she knew that was incredibly stupid. She knew she should be upset with herself about that, at least, and yet she wasn’t. Maybe later she would worry about it, but for now she just couldn’t.
She wondered what would happen between them when this was all over. Her two boyfriends were the only other men she’d been intimate with. She’d known them before anything happened, and there was structure and context for everything that happened after. The man lying naked beside her now … she didn’t know him at all, and the little she did know was unnerving at best. He was a killer. He stood for—in fact, personified—things she abhorred. He was damaged, he was violent, he was the antithesis of everything she had previously conceived as suitable. So why? What was it?
She smiled. Why think so much? When he woke up, she would seduce him again. That would be enough for now, and after that, they could play it by ear.
She had wanted to ask more about his relationship with Alex. But he’d been reticent, and she didn’t want to push.
She wondered, though. She didn’t understand how Alex could blame Ben. First, because none of it seemed like Ben’s fault to her, not really. And even if there was what lawyers called “but for causation,” certainly there was no “proximate cause,” the kind of cause that’s legally blameworthy. And even if there were, how could someone hold a grudge like that? Against his own brother? She reminded herself she had only one side of the story. And Ben didn’t exhibit a whole lot of brotherly love for Alex, either.
But why was he here, then? If Alex blamed him for what had happened to their family, was Ben’s presence now a kind of … apology? Expiation? And if so, why couldn’t Alex accept it?
She watched the rise and fall of his chest. Initially, she had thought he was a Neanderthal and nothing more, but now she realized he’d been feeding her that image, and that she had been all too ready to swallow it. He was actually extremely smart. The stuff he’d said about her in the bar … yes, he was trying to be hurtful, but he’d seen a lot.
She wondered for a moment whether she was giving him too much credit for his insights. Because if someone dumb had seen that deeply into her, it could only mean she was shallow. Better to credit his laser insightfulness than blame her transparent superficiality.
Or maybe she wanted a way to believe he was smart because if he was smart it would mean that earlier she’d been so wrong about him?
She chuckled softly. She was being an idiot, overanalyzing when what she really needed to do was just drop it and get some sleep. The sun was going to be up in just a few hours. She and Alex still had a lot to do if they were going to figure out what had made Obsidian so dangerous to them.
Alex. Could he really be in love with her? She’d never seen any sign. On the other hand, in his way, he was as tightly controlled as his brother. Look at the subterranean depths of his family history, something she’d never seen before, or even sensed. Who could say what other currents roiled beneath that smooth surface? Maybe she’d been taking him for granted. On the other hand, what else could she do when he showed so little?
Thinking about him made her feel guilty. If Ben was right, and if Alex sensed what had just happened here, it was apt to make their situation even more complicated.
Well, there was no reason for him to know. They certainly weren’t going to tell him, and he wasn’t going to find out.
She put her head on the pillow and let out a long sigh. She felt sleep descending, finally, and the last thing she remembered before surrendering to it was what Ben had
said in the bar, that this was all going to seem like a dream.
27 WE’RE DONE
Alex sat hunched at the desk, his eyes roving over the laptop screen, reading Hilzoy’s notes for what felt like the thousandth time. He’d been up all night, going through the notes forward, then backward, then randomly. He thought if he approached Hilzoy’s thinking out of order he might spot something he and Sarah had missed. But nothing.
The Obsidian toolbar was designed like a typical commercial software application, with functions laid out horizontally, each clickable to reveal a drop-down submenu of options related to the primary menu function. You could customize the menu to add functions or hide them, but none of the functions allowed him to do anything but obvious variations of encryption. He tried every version of the menu he could think of. He customized it. He hid functions, then brought them back.
Hidden functions. That’s what he was looking for. But where were they? Not in Hilzoy’s notes, that was for sure. Alex practically had them memorized at this point. There was nothing there.
Was there another version, maybe? Something Hilzoy didn’t even trust his lawyer with?
Maybe. But if there was some sort of double, secret set of notes, Hilzoy would have needed to back that one up, too. Why have Alex hold the backup for one but not the other? It didn’t make sense. There wasn’t another version. It all had to be right here.
Another version, he thought, rubbing his eyes. Another version.
He cursored up to the menu and scrolled through it. File. Edit. Tools. He selected Tools, then cursored down. Macros, Customize … Track Changes.
Track changes.
Track changes … from previous versions.
Damn. Could it be that simple?
He selected Show Previous Versions. Nothing happened.
Shit.
He scrolled down through Hilzoy’s notes. Midway, the numerals one through ten appeared in blue alongside a list of functions, the functions all relating to creation of a macro. The numbers were out of order. Alex stared at them, not understanding. He scrolled through the rest of the notes, but there were no other changes.
He scrolled back up to the numbers. It looked like in a previous version of the notes, Hilzoy had numbered these functions. But why? And why were the numbers out of order?
It had to be significant. If there had been any previous versions, Hilzoy had accepted all the changes, effectively erasing them all. Except for these numbers. He wanted a record of these. But a hidden record, apparently. That couldn’t be an accident. It had to mean something.
All right, what if he just performed the functions in the order of the hidden numbers? Worth a try.
He followed the steps, one through ten, then hit enter.
Nothing happened.
Damn. He’d really been hoping there.
He scrolled up to the menu bar again, checking each function. File, nothing new. Edit, same. Tools …
He blinked and leaned forward. The Tools menu had three new entries: Creation. Concealment. Delivery.
“Holy crap,” he said aloud. “This is it. It has to be.”
Hilzoy had built an Easter egg into Obsidian. And not the usual, just-for-laughs version you could find in so many DVDs and so much commercial software. No, this looked like a whole new application for the technology.
But an application for what?
His heart pounding, he started working the keyboard. He got so immersed, he lost track of time, and didn’t even remember where he was until light started creeping into the sky outside his window. What he found was electrifying.
At six-thirty, he showered and got dressed. He put the gun Ben had given him in his pocket, acutely aware of its weight and bulk. He couldn’t imagine what it would be like to carry a gun—make that two guns—all the time.
He went across to the other room to tell Ben. The tough guy had walked out last night when things had gotten heated, but whatever. Alex wasn’t sorry for what he’d said. Part of him wished he’d said more. Maybe that was the problem. Ben was obtuse. You couldn’t expect him to understand something, especially something he didn’t want to understand, unless you beat him over the head with it.
He tried his key card, but it didn’t work. Shit, Ben must have engaged the privacy lock. He might still be sleeping. But the hell with it, this was worth waking him for.
Alex knocked, then waited. No answer. He knocked again, louder. After a minute, he heard Ben’s voice.
“Give me a second. Gotta put some clothes on.”
Half a minute went by, then Ben opened the door, wearing only a towel. He said, “You’re up early.”
“I did it,” Alex said, walking in past him. “I cracked it. I know what Obsidian is really about.”
Ben closed and locked the door behind him. “Hold on,” he said. “I need to hit the head.”
He disappeared into the bathroom for a minute. Alex looked around the room. One of the beds had the covers pulled off it. There was a pile of clothes on the floor. Looked like the jacket and shirt Ben had been wearing the night before.
Ben came out wearing one of the hotel’s robes. He sat down on one of the beds. “Tell me,” he said.
“We have to get Sarah. She needs to hear this, too.”
“She’s probably sleeping, don’t you think?”
Alex was a little surprised by Ben’s solicitude. Yesterday he wouldn’t even let Sarah stop to use the bathroom. Now he was concerned about not waking her?
“She’ll want to hear this, trust me,” Alex said. He walked over to the common door and opened it, then knocked on the door on the other side. “Sarah, it’s Alex. Are you up? I found what we were looking for.”
“I’ll be right there,” he heard from the other side of the door. A minute later, she came in, wearing a hotel robe. Her hair was tied back, she wasn’t wearing any makeup, she was rubbing sleep from her eyes … and she was still beautiful.
It was funny that she and Ben were both in the robes. “Am I the only one who was getting anything done last night?” Alex asked. He meant the comment to be funny, but neither of them laughed, or even said anything. In fact, they seemed almost awkward. Well, he had just woken them both up.
“What is it?” Sarah said, leaning against the wall next to the door.
“I found an Easter egg,” Alex said. “In Obsidian.”
“Easter egg?” Ben said.
Alex nodded. “A hidden feature set. Something the programmer builds into the application but doesn’t document, that’s only accessible via a weird sequence of commands. Hilzoy built one into Obsidian. He documented the sequence in his notes, and hid the documentation so that it was only visible if you checked the current set of notes against a previous version.”
“You’re losing me,” Ben said. “What are the secret functions? And why document them if they’re supposed to be secret?”
“The sequence was complicated. It had to be, otherwise someone might have stumbled onto it by accident. Hilzoy was afraid he would forget it. So he included it in the notes in a kind of invisible ink.”
“He wasn’t worried someone would find it?”
“Of course not. No one else had the notes, they were just part of a backup copy of the program he kept with his lawyer, and why would his lawyer bother reading his programming notes? And even if I, or someone else, did read them, why would anyone think to look for earlier versions? And even if you did look for an earlier version, the clues he left wouldn’t mean anything to you. You’d have to already know something was hidden, and be racking your brains trying to find out what it was, as Sarah and I were. And even then, you could easily miss it.”
“Well, what is it?” Ben said.
Alex wondered why Sarah was being so quiet. Ordinarily, she got impatient with other people’s explanations and was quick to add her own.
“The whole thing is a Trojan horse,” Alex said. “On the surface, it’s an excellent, efficient program for encrypting data. What it’s really ideal for, though,
is encrypting a virus.”
“Cryptovirology,” Sarah said, looking at him.
Alex nodded, pleased that she understood right away. “Exactly. Malicious cryptography.”
“Sorry, guys,” Ben said, “you’re getting a little ahead of me here.”
“Okay,” Alex said. “You know what a computer virus is, right?”
“Sure. A piece of code that someone sneaks into a system to mess things up.”
“Yeah, pretty much. Now, there are typically two ways viruses get detected and blocked—signatures and heuristics. Signatures basically means the antivirus software has a list of known viruses with instructions to block or isolate them. It’s like the name of a suspected terrorist. It goes on a no-fly list, and if the name comes up, the guy can’t get on the plane. It’s the name you’re keying on, or in the case of viruses, a kind of digital fingerprint.”
“Okay …”
“The second method is heuristics. Here, the virus is unknown, and you try to spot it by analyzing typical virus behaviors. To stay with the airplane analogy, this would be like passenger profiling. The guy’s name doesn’t trigger any alarms, but is he doing things we associate with terrorist behavior. If so, he can’t get on the plane.”
“Okay, I get it.”
“So the biggest problem for the virus writer is avoiding detection. If it’s a new virus, you don’t have to worry about its signature being detected, only viruslike behaviors. But if you eliminate all the viruslike behaviors, you’re left with something that’s no longer functional as a virus. Undetectable, maybe, but also useless.”
“So we’re talking about concealment,” Ben said.
“Exactly. That’s where the encryption comes in. You use the encryption to create a polymorphic virus.”
Ben raised his eyebrows, and Alex realized he didn’t understand. He paused for a minute, trying to think of a way to explain.
“‘Polymorphic’ means constantly changing,” Sarah said. “We’re talking about code that mutates while keeping the original algorithm intact. Which is, generally speaking, how encryption works. If you encrypt the virus, the viruslike behavior is hidden beneath a constantly shifting cloak. Antivirus software doesn’t know what to look for.”