Welcome to the sequel to The Alexandria Project, a cybersecurity thriller. If you'd like to read the book this series is based on, you can read the first three chapters for free here.
Frank gazed out over the immeasurably vast canyon that stretched for miles before him, bedazzled by the silent, bright sunlight of an early autumn morning. The enormity of the view was so overwhelming that the infinitely crenellated details of mesa and river, cliff and spire seemed dimensionless and unreal.
It was unusual for him to sit so placidly for so long. Usually he would notice an internal flaw of logic in some random thought passing through his mind, setting his brain in motion until the underlying, disharmonious concept had been identified, the random thought properly rephrased, and the result mentally stamped as ‘resolved.’ Or perhaps some inscrutable object or action would catch his eye, presenting a puzzle that needed solving before his mind would permit his eye to move on.
But not today.
Barely a breath of wind stirred, and the only sound discernible was the twittering of the swallows that curveted in the void just below where he sat in his trusty folding chair, a few feet back from the edge of the shear wall that plunged down 1,000 feet or more beneath him. Normally, the actions of the birds would have piqued his interest. It would not have taken long for him to conclude they must be feasting on insects wafted upwards as the bright light of the rising sun warmed the shear walls of the north rim of the Grand Canyon.
Have you discovered
The Alexandria Project?
Buy at Amazon: click icon at right
Buy at iTunes Store
Buy at Barnes & Noble
But the sun was wonderfully warm on his face, and the temperature of the air was perfect. Beneath the brilliant blue arc of the sky, the vista extending below and beyond was too varied and colorful, and the details too precise, to risk diminishment by analysis or understanding. He was infused with a near-narcotic sense of tranquility that he was loath to surrender.
At some level Frank was aware that it was not simply the perfection of the scene and the moment that was keeping his normally overactive mind at rest. Procrastination was also in play, because he had not yet begun to delve seriously into the perplexing poll results he had agreed to investigate. If he was going to earn his keep on this project he was going to have to buckle down and get started. He knew that once he did, though, the riddle would torment him until he had the answer. Until then, there would be no more pleasant reveries like this.
Should he get to work, he mused idly? He noticed that a single, small, white cloud was drifting imperceptibly from west to east. Perhaps he should make a promise to himself that if the cloud should pass between him and the sun, he would get up and get to work. It seemed like a safe bet. The sky was vast, the cloud was small, and the sun was also in motion. The courses of sun and cloud seemed just likely enough to intersect to make the promise not entirely shameless, but not so likely as to present a clear and present danger of actually obligating him to take action. Feeling that his virtue could be established an acceptably low risk, he checked the mental “I promise” box and looked forward to a long and luxuriant bask in the sun.
Soon, however, it became clear that the routes of small sun and tiny cloud might well cross at the same time and place in the vast and empty vault of the heavens. Frank felt his pleasant languor begin to evaporate. And then, far away, he saw the sinister shadow of the cloud itself, moving slowly but inexorably up cliffs, across mesas, and down canyons. It was headed directly towards him.
By the time his face turned cool in the sudden shade, he was resigned to the inevitable. It seemed that the implacable spirits of the canyon had determined that it was time for him to quit goofing off and get on with it.
So be it then. With a sigh he opened the computer that had been sitting idle in his lap and pressed the start button. Then he stared out across the canyon once again, seeking inspiration in the erosional order that pervaded the geologic chaos beneath him. Winding somewhere amid the welter of data through which he would now have to sift there would be a slender stream of clues he would need to find and follow. Likely enough he would need to infer what was afoot rather than see it, just as could infer but not visually confirm the existence of the Colorado River weaving invisibly through the canyons below and beyond.
That analogy pleased more than helped him, though. He knew where he should begin looking for clues, but what sort of clues should he be looking for? He drummed the fingers of his right hand lightly on his thigh and pondered that question.
After the icons had flashed and settled down on his laptop screen, Frank opened the investigation report sent to him by the anonymous agency for which he now worked. Since he wasn’t allowed to know which agency that was, he had decided some days before to call it ‘Marvin.’ Frank read on for an hour, looking for something that Marvin might have missed. But nothing leaped out at him, so he closed the report. It was time to go to the source, or at least the next best thing, and perform his own investigation.
He logged onto his local Wifi network and called up the directory of one of the servers inside his camper. The hard drive of each server had been divided up into a number of “virtual machines,” each one comprising an independent computer system. Some of these VMs were clean and ready to be used however he wished. But others were exact clones of existing systems already in use in the field. Together, they would provide the laboratory within which he would do his research.
Frank called up a clone of a server used by one of the polling services whose data had been compromised. He hoped that whatever had happened on the original computer would be reflected in the duplicate system he had downloaded with Marvin’s assistance.
Frank’s approach would necessarily be virtual as well, at least to start with. He’d need to make assumptions, and then test them to see whether he was on the right track. And the first was this: should he assume that the data had been altered before it entered the pollster’s machine, or afterwards? The Marvin investigators had concluded that the data was still clean when it arrived. Frank wasn’t prepared to believe anything until he could confirm it himself, but for the time being he decided to take their conclusion as a fact.
Assuming they were right, the next step should be to determine what someone could do to a system to alter data without leaving any breadcrumbs? The Marvinites had already looked into this as well, by comparing a computer that yielded flawed results to a clean system straight from the supplier. When they input the same data into the clean system that had been entered into the old one and then ran a report of the polling results, both showed the same inaccurate results.
If Frank was the bad guy, he mused, how would he go about designing an exploit that would produce the same outcome?
Well, most obviously, he could have a confederate at the supplier monkey with the code of the system before it was delivered. That would be easy, given that all of the major pollsters used the same software. Or, given how old some of the field units were, more likely he would corrupt a software release that would be used to update field units as well as new ones still under production. He already knew from the report that each installed system had received software updates of all kinds – bug fixes, security patches and so on. All of this new input had been carefully tabulated, indexed and compared by Marvin’s nameless minions. He made a note that he would need to see if he could narrow the field of suspect code further on his own.
The last way would be to hack into the installed units as well as the new units and infect all of them with some sort of malware. Frank reopened the report to see if the new units had been connected to the Internet prior to delivery and couldn’t find the answer to that question. If that was typical of Marvinite work, no wonder they hadn’t made any progress yet.
By now, Frank had broken through his procrastination barrier and was wholly immersed in the quest. He set his laptop aside and began pacing back and forth on the edge of the canyon, his hands by turns clasped behind his back, plunged into his pockets, or laced behind his neck. Sun and view were now forgotten, along with lunch.
Had Frank looked upward, he would have seen a rare sight – a California Condor. It was one of the small number introduced in the Grand Canyon area in an effort to establish a breeding population. The only other place that Condors had been reintroduced into the wild was in California, years after the handful of birds remaining alive at that time had all been captured and patiently bred back into a large enough flock to risk releasing a few once more. Hideous to behold at close range but majestic in flight with its nine foot wingspan, the great vulture soared ever higher on a thermal, idly noting that Frank by turns paced, returned to his chair and laptop for a time, and then went to pacing once again.
The bird exited the thermal and crossed the canyon. On the other side, it found what it had sought, a freshly killed deer inadequately hidden by a cougar and located conveniently near the edge of a mesa. Two hours later, the now bloated scavenger launched itself awkwardly into the air, instantly transforming itself once more into the skilled and graceful aeronaut that it was. Soon it was rising effortlessly on a thermal, keeping its wings canted ever so slightly to one side so that it corkscrewed its way ever higher in the column of rising air.
But as the bird rose, the sun sank. Soon the shadow of the canyon’s rim began to cross the mesa’s surface, and the upward rise of the thermal became ever more gentle. Time to head back across the canyon, back to the limestone crag and cave where the condor made its nest.
Reaching the North Rim, the great bird lowered its right wing, and pivoted to the east. As it did, it noted that the human next to the camper was still pacing back and forth, back and forth in the lengthening shadows far below.
– 0000 – 0001 – 0010 – 0011 – 0100 – 0011 – 0010 – 0001 – 0000 –
Reader Challenge: Frank will solve this first puzzle in chapter 9. If you’d like to hazard a guess now on how the hacker has done his mischief, put it in a comment below. I won’t tell you here if you get it right, but I will by email – and I’ll also send you a free eBook copy of The Alexandria Project, which is now available at Amazon in that form. Be sure to also send me an email with your own address so I can reward you if you’re right.
If you’re wrong but I like your hack better, I’ll use that instead in chapter 9, and let everyone know when I post it that you’re better at coming up with a hacking exploit than I am. I’ll also send you a hard cover copy of The Alexandria Project (when it becomes available later in the month) inscribed with my thanks. And I’ll give you credit in the Acknowledgements section of The Lafayette Deception when it’s published as well.
If you’re enjoying The Lafayette Deception, please tell your friends!
Read the first chapter here
Read the next chapter here
We have a partial winner! Congratulations to Horace Stoica, who accurately guessed how the hacker gained entry to the polling system, and also suggested an equally plausible mechanism for changing the results after getting inside.
Since Horace’s answer hasn’t been publically posted here, feel free to post your own suggestion for the perfect hack.