dotmeme
Page 4
“How about this?” Gretchen said, when they were sitting in front of her computer. “There are all kinds of hackers in the world, from techies who just love the challenge, through the mischief makers, right up to career criminals. How does victorious select the ones they want to become … more involved in whatever it is they’re planning? How do they select out the ones they don’t?”
Ani thought about that. “Damn it,” she said. She should have spotted have spotted it herself. “It’s probably not from the recommendations of people like Eddie Wells.”
“In business, companies often hire other recruitment agencies to find staff for them to fill their vacancies,” Gretchen said. “It saves a lot of work for the human resources department of the company by suggesting people who could fit the job, and weeding out those that just won’t. They find a group of people who match the company’s needs. They’ll check their references, interview them, set tests, all the background stuff, but at some point, the eventual employer will probably want to interview the candidates themselves. Give their own tests.”
“So Eddie’s just a scout,” Ani said. “A low-level member of the group who suggests other members to the … to the management.”
“Exactly.”
“Where’s the follow-up interview, then?” Ani asked. “I mean, are they just slow? Or did I do something wrong?”
“Maybe they’ve already arranged the interview,” Gretchen suggested, her voice slightly higher in pitch, the words coming slightly faster. She was no longer rolling ideas around; she was homing in on something, Ani was sure.
It got her thinking harder, to keep up. And then she saw it.
“The code. The .onion sites. They’re the interview. The test. Like Cicada 3301, that alternate reality game of puzzles and cryptograms that appears on the net every year. They’re a set of puzzles to solve.”
“Could be.”
“Okay, okay,” Ani said, pulling out her YETI-issue laptop and opening up the code she’d been sent. “What if the exercise wasn’t to tidy up the code?”
“Talk me through it,” Gretchen said, encouraging her to continue.
“They sent me some code and asked me to improve it,” Ani started, staring at the code she’d been sent and the code she’d sent back, side by side. “But what if it was their way of setting a trick question? What if it wasn’t the improved code they wanted but, instead, for me to do something with the original code?”
“That would work,” Gretchen said. “Carry the thought through. What can you do with a few lines of code that are pretty much missing their context within their larger program?”
Ani chewed at her lip as she scrutinized her screen.
“I could try to finish the program based on the snippet they sent,” she said, then shook her head. “No, there’s not enough data here to make that kind of leap. It must be something else.”
“Something else … ?”
“Yes. Look. If this bit of code is a clue to something, then it must be findable. Probably online. Maybe …”
Ani facepalmed and sighed.
She copied the code to the tablet’s clipboard, then opened a new browser window, typed in an address and a search box appeared, under a minimalist banner heading: CodeHub
She pasted the code into the box and pressed ENTER.
“CodeHub?” Gretchen asked.
“I can be awfully dumb, sometimes. CodeHub is a search engine, but not for the usual page titles, keywords and metadata. It’s for code. If there’s a website out there with this code on it, CodeHub will find it.”
“Could it be that easy?” Gretchen asked.
The search results came back.
The answer was yes.
One hit, followed by half a dozen mirrors of that main site. Ani clicked on the main link and it opened onto a flash game, with retro 8-bit graphics and a soundtrack that sounded like something that a kid’s toy keyboard might make.
There was no doubt that she’d reached the right site.
The name of the game?
victorious.
“Guess you’d better play it, then.” Gretchen said.
Level one of the game was a pretty basic “endless running” side-scrolling platformer, that required the player’s character—a basic stick man—to hop across gaps and up onto ledges, avoiding occasional boulders and fire balls from above. There was a JUMP key for crossing gaps, hopping onto ledges, and avoiding ground obstacles, and a DUCK key for avoiding things that were at head height. That was it.
It wouldn’t get many stars on Google Play or in Apple’s App Store.
The game was terrible to look at—its background was untextured black and the level design was rudimentary—and it was very, very difficult to play. The ramping up of the level speed was merciless, going from slow “getting a feel for the controls” to brutal “no time to think, just to act” within the first twenty seconds.
Ani was no slouch when it came to video games, but this really was hard. She crashed and burned so many times that she was starting to contemplate a possible alternative approach to many a flash game—programming a bot in Python that could play it for her—but, instead, she calmed herself down, worked on slowing down her breathing, visualized the screen behind closed eyes, thought about the stakes she was playing for—infiltrating deeper into victorious— and then opened her eyes, pushed a lock of hair from her eyes, and announced, “I got this.”
Gretchen replied, “I know.”
With only two moves available, it was all about timing and Ani had spent years, and quite a lot of her YETI self-defense classes, developing that very thing. Hand-eye coordination required a perfect synergy between, 1) the parts of the central nervous system that related to vision, 2) her sense of touch, and 3) the muscles controlling her hand; synergy being the idea that “the whole” of a system becomes greater than the sum of its parts.
By controlling her breathing, and in doing so reducing the stress of the game’s intense speed, Ani was able to approach the game in a different way. Her moves were no longer frantic twitches of panic but, instead, became more controlled, more definite and, it turned out, a heck of a lot better.
It took Ani three more tries before she beat the level.
Level 2 was easier. A “Match 3” game mashed up with Tetris, where oddly-shaped blocks randomly changed every three seconds. It just meant that she had to make a quick survey of the board, find the best place for the descending block, and quickly slot it into place before the three seconds expired. It was almost too easy, but then her visual/spatial skills had been honed by years of similar games. She finished the level on the first try.
Level 3 was a tile flipping game. She needed to flip identical tiles, revealing one of eight different symbols on the other side. Flip two that didn’t match and they flipped back. Match two symbols, and they stayed flipped. Take too long and the tiles reorganized themselves, and the tiles she’d matched flipped back, putting her back at square one. Her short-term memory was pretty darned good, so she pretty much sailed through Level 3.
Before Level 4 a line of text flashed across the screen: Final Level – victorious.
Then: No retries. Fail, and it’s back to the start of Level 1.
The level started, and it took a good twenty seconds before Ani worked out what she was even supposed to do. A text block of code scrolled down the left-hand side of the screen, while another block of code scrolled up the right. They looked the same, but on closer examination, were slightly different. The trick was to highlight, exactly, the parts of code on the right that differed from the code on the left. The arrow keys of the keyboard moved the cursor around the text block. TAB selected each mismatched piece of code, and RETURN made the selection final. Easy enough, if the speed of the game wasn’t absolutely punishing. Ani’s fingers moved lightning fast, almost dancing across the keys, but she viewed them only peripherally, keeping her gaze fixed on the screen and relying mainly on muscle memory.
The first problem was that by the
time she’d worked out the point of the game, and the keys she needed to navigate to play it, she was already playing catch-up, which meant she needed pure concentration and total accuracy. The second problem was that there was no gauge or bar that showed her the progress she was making or how many mistakes until the level would end in defeat. The third problem was that she’d already been mashing keys for a while now, and her fingers were starting to feel tired.
Still, she’d be damned if she was going to play through all of those other levels again.
She focused her mind, letting her fingers move and her eyes observe. After what seemed like forever—with the speed and complexity of the tasks increasing until it felt like she was running on automatic—the level finished.
The feeling of relief that accompanied the sudden Game Complete, Well Done. was profound, but soon gave way to a crushing sense of disappointment.
Because that was all there was.
Just those words at the top of the screen and a whole void of black below.
And nothing else.
There was no “Welcome to victorious. Prepare for your first mission.” No link to an encrypted server with all of victorious’s secrets. Nothing.
“Aaargh.” Ani growled. “I thought that was it.”
Gretchen stroked her chin and grimaced.
“You did well,” she said. “And you went where the clues led you. It can’t be a coincidence that you ended up here, playing this game. What else is there you can do? Here, now.”
Ani looked at the screen.
Game Complete, Well Done.
Then she smiled.
“That’s a heck of a lot of blank real estate,” she said, pointing at the black screen below the message.
“What are you thinking?”
“Something could be hidden in all that black.”
“Ah,” Gretchen said. “Steganography.”
“Dinosaur writing?”
“You’re thinking of the Stegosaurus, which actually shares its origins with the same prefix. ‘Stego’ means ‘covered’ or ‘roof,’ like the plates that covered, or roofed, a stegosaurus’s back. But in this case, I mean using ‘covered’ as in ‘hidden.’ Steganography is hidden writing.”
Ani used the laptop’s left mouse key and track pad to select the black void on screen. The selection highlighted an area in the screen’s center where a black-on-black message was made visible by the highlighting: #180808 is #ICE14D
“Like that?” Ani asked.
“Absolutely,” Gretchen agreed. “But what are they? Twitter hashtags?”
“I think they’re HTML color codes,” Ani replied. “Tags that refer to a specific color on web pages.” She searched online for a list. “There we go.” Ani pointed at the screen. “It turns out that #180808 is a shade of black, while #ICE14D is a rather fetching shade of green.”
“So the code basically says ‘black is green’?” Gretchen asked.
Ani thought about it. “HTML is an acronym for HyperText Markup Language, it’s the way you specify the contents of a web page to the web browser.”
“It’s an initialism,” Gretchen corrected reflexively. “The word ‘acronym’ ordinarily refers to something pronounced as a word, like NATO or LASER.”
“Noted,” Ani said. “Anyway, maybe I need to go back to those web addresses?”
She got them both up in separate browser windows and put them side by side.
She pointed to the one on the right-hand side of the screen.
“This one has more black on it,” she said.
“So how is that green?” Gretchen asked. “The message said ‘black is green.’”
“Watch.”
Ani took her cursor arrow up to the VIEW bar of the browser window, selected DEVELOPER from the dropdown menu, and VIEW SOURCE from the submenu. The screen changed into a crowded window full of the code. Ani pressed the COMMAND and F keys and input the first color code into the FIND search box that came up. FIND found three matches, and Ani navigated to them, changed the first color code into the second one three times, then toggled back to the web page.
Now, instead of pure black on the web page there were three groups of letters visible, in green.
ddder
xglirl
fhnvnv.
Ani shook her head.
“Great,” she said. “The answer just makes everything more confusing. It’s gibberish. Or a code that might as well be gibberish, because there’s no key to solve it.”
“Hmmm,” Gretchen said. “Maybe there is a key. Why don’t you do the same color substitution to the other web page? There’s a bit of black on it.”
Ani repeated the VIEW SOURCE/FIND process and replaced black with green again.
Another message was revealed, although this time it was a lot shorter:
13 < and below it was a green text entry box with address written in it.
“Thirteen is less than …” Ani said. “Less than what? Fourteen? Forty? Four million?”
Gretchen grabbed a pad of paper and a pencil off the desk and put it down in front of Ani. The pencil was one of Gretchen’s stock of Palomino Blackwings—her favorite brand of pencil, which she ordered in bulk from the US. This one a #725 in Fender Stratocaster sunburst colors, a limited edition issued as a tribute to some folk festival.
“The number thirteen,” Gretchen said. “An interesting number for a lot of reasons. First, it has a lot of superstitions attached to it, and it’s often thought of as unlucky. Many buildings are constructed with twelfth floors and fourteenth floors, but skip the thirteenth. Triskaidekaphobia is the fear of the number thirteen. It’s also the smallest emirp—a prime forward, and backward: thirty-one. It’s a Fibonacci number, a happy number, and is one of only three Wilson primes that have been discovered.”
“And this is helping us how, now?” Ani admired Gretchen’s library brain, but it did need bringing back from the far edges of so what? occasionally.
Gretchen smiled apologetically.
“More relevant to this situation, though, is that it is half of twenty-six.”
“And there are twenty-six letters in the alphabet,” Ani said.
“In our alphabet,” Gretchen corrected, and it looked like she was winding up for another lecture on the different alphabets of the world before she thought better of it. Instead, she pointed to the pad of paper. “Write down the first thirteen letters of the alphabet.”
Ani did.
a b c d e f g h i j k l m
“Now look at the ‘less-than’ sign on the website,” Gretchen said. “Couldn’t that be a directional arrow?”
Ani squinted at the screen again.
“I guess,” she said uncertainly.
“So put the next thirteen letters of the alphabet underneath the first thirteen, but going backwards.”
Ani did as she was told.
a b c d e f g h i j k l m
z y x w v u t s r q p o n
“There’s your key.” Gretchen said. “A equals Z. B equals Y. G equals T. It’s called the Atbash Cipher. Low level cryptography, even without the 13< clue it wouldn’t have been difficult to crack.”
It only took a minute for Ani to decode ddder xglirl fhnvnv using the new key and find that it spelled out wwwvictorio usmeme and two seconds longer to put them together into one string wwwvictoriousmeme. From there, it was just a matter of entering a couple of periods, before the address, www.victorious.meme, was retrieved from what once had been chaos.
“Shall I?” Ani asked.
“It really would be rude not to,” Gretchen said.
So Ani entered www.victorious.meme into the search box she had revealed beneath the final clue to the puzzle, and pressed ENTER.
CHAPTER FOUR
CHALLENGE ACCEPTED
Abernathy was happy, and that was so rare that Joe thought it might need Instagramming, if it weren’t for the fact that he’d be fired from YETI for putting a picture of his boss anywhere near the Internet. Oh, and the other fact that he�
�d never Instagrammed anything in his life.
And that wasn’t just because the intelligence services needed to keep a low profile.
Most forms of social media activity baffled Joe, but top of his list of “You Could Explain It to Me Until the End of Time and I Still Wouldn’t Get It” was the need to capture a moment and share it with the world. Maybe it was just the spy in him, but geotagging your location on selfies and letting the whole web have a look seemed like stupidity of the highest order. All those people worrying about the surveillance state and about how Big Brother was watching them, and it turned out that they just reported their own locations and activities willingly. Twitter and Facebook and Instagram might as well have been dreamed up by the intelligence services as a way of getting people to voluntarily surrender to a program of surveillance and then to run it themselves.
Still, there should be some way to record Abernathy’s delight over the Luton operation—a glee which Joe was sure had more than a little to do with the fact that the other intelligence services had thought it didn’t deserve any attention. Instead, he just grinned back.
They were together in the briefing room at YETI, going over the details of the fallout from the Luton job.
Any triumph, of course, did not last long.
“There’s a problem,” Abernathy said, fixing Joe with one of those looks that meant it wasn’t just a problem—soon it would be Joe’s problem.
“What kind of problem?” Joe settled back in his seat. If this was about to become one of those sessions he wanted to get comfortable.
“The crew you busted were middlemen at best,” Abernathy said. “They didn’t have the wit, the bank, or the imagination to come up with all of that by themselves. None of them are talking, other than to say it was all their own idea, but they’re certainly protecting someone. Still, they’d rather take the fall than talk. Offering them deals has failed. What does that tell you?”
“That they’re smarter than you give them credit for? Hang on. What am I saying? The guy in charge had a 666 tattoo on his face. So we’re looking for the next tier up, huh?”
“Among other things,” Abernathy said, tersely. “Now, I know I said they’re not talking, but one of them sort of did. He tried to make a deal, but didn’t have enough information to make it worthwhile. He mentioned the name of the Mr. Big he claimed they all answered to but, according to him, none of them had ever met the guy. And even if it’s true, it seems unlikely that the name the kid provided is anything but an alias.”