Выбрать главу

I’ll do it. But you have to keep the goons away from me and my family. I can’t work fearing for my life.

The reply came a few seconds later. Leon glanced at the clock, wondering what time it was in Moscow and whether his uncle ever slept. The reply back was big — Leon watched his bandwidth meter spike for a moment. But the text message was short:

Ok. But I can only keep them off your back for three days. Then you and I both will be in trouble if you can’t deliver. - Alex

“Shit,” Leon mumbled. What had he gotten himself into?

The attachment to his uncle’s message was massive. Leon swiped his desk screen, breaking the file into pieces and looking at each one in turn. Source code for a dozen viruses that his uncle had written. Binaries for dozens more viruses collected from around the world. Interface specifications for the admin tool Alex used to take control of the infected computers. Reverse engineered specs for anti-virus tools. Newsgroup threads for virus writers. His uncle must have been expecting he’d say yes and prepared this colossal archive of virus knowledge.

Leon’s jaw dropped. What was he going to do with all this? He slumped back in his chair, closed his eyes, and thought.

* * *

Hours later, Leon trudged to the kitchen. He grabbed a can of Japanese sweetened coffee from the refrigerator, and a piece of cake from the counter. He tiptoed to the front door, mouth full of cake, and looked out the peephole. Finally, they were gone. It had been a while since he had contacted his uncle, and the goons must have gotten the word that he agreed to help. He was relieved at some level, as he didn’t know how he would have explained them to his parents.

Leon still had a mess of work to do, but he had at least decided on a general approach for the virus. He had looked over the samples sent by his uncle with interest. But as he had no experience writing computer viruses, he eventually realized it would be impossible for him to understand all the exploits and techniques used by people with some skill in that area. Once he realized that, it became obvious that he needed to leverage what he did understand, which was biology and evolution.

In the real world, life adapted. A biological virus changed over time due to genetic mutations. As hosts built up immunity to a given virus, that one might die off or mutate to become a new species. Life in general mutated due to natural selection. A genetic variation that conveyed a benefit to survival would spread and become more common, while a different variation that was a barrier to survival would become less common as organisms that contained those genes would not survive to reproduce.

Leon thought about how evolution occurred through both sexual reproduction, in which a child received a mixture of genes from each of its parents, as well as simple mutation, in which genes experienced random changes due to errors in copying the DNA. For a computer virus, the closest parallel to DNA were the software algorithms the virus used.

Leon drew diagrams on his computer screen, dividing the problem up into the three primary functions of a virus. Propagation was the way a virus got from one computer to another. Infection was the way a virus took over a computer and installed itself. Countermeasures were how a virus evaded detection by antivirus software.

If Leon was going to write an evolutionary virus, it would need to contain a variety of methods of propagation, infection, and countermeasures. And as the virus reproduced, it should include the most successful of these methods and discard the least successful ones.

But looking over the materials provided by Alex, he realized that this approach alone wouldn’t be enough. If the algorithms Alex had provided worked well, then Alex’s viruses should be spreading. If they weren’t, it was a sure sign that the underlying algorithms were not effective.

That meant that Leon’s organism needed to find new sources of algorithms. He shoved the last bite of cake into his mouth and pulled up notes from his cultural anthropology class. He thought the problem was similar to what happened with small indigenous tribes: they needed new genetic material from outside the tribe. Leon swiped through his notes looking for the section on tribal outcasts.

Reviewing the notes, Leon found that tribes exchanged members to achieve this genetic diversity. Sometimes people ended up as outcasts, sometimes members of the tribes were captured in war, and sometimes they raided each other for women. All of these mechanisms brought new genetic material into the tribe and enhanced its survivability. What appeared to be savage behavior to “civilized” people was in fact a sophisticated long-term approach to maintaining species health, diversity and viability.

His virus would need to raid other software programs to acquire new genetic material. That meant he needed it to detect useful behaviors. If a piece of software transmitted data to other computers that would support propagation by his virus, then it was a candidate for inclusion. If another piece of software started up other programs as part of its code, that would support infection, since it was necessary to run a program for it to infect a computer. It too would be a candidate for inclusion.

As for counter-measures to avoid detection, Leon thought that he was off to a good start since his virus would mutate frequently and would mimic other software programs by stealing their code. He decided to go one step further, and incorporate useful functionality into the virus: if the virus looked like a duck, and quacked like a duck, most people would think it was a duck, rather than be suspicious. He needed some source of random functionality. Where could he get that?

He could raid app repositories. Everyone ran competing app stores these days, trying to lock up the software market. The app stores listed free software in addition to paid software. If Leon had the virus download a small, free app, and then bolt that functionality onto the virus executable, it would also appear as a regular program to users.

The rough plan for the virus was finished. The computer screen swam with animated architecture diagrams. Leon looked down, surprised to see an empty dinner plate on the table. He heard his parents in the living room. He unfolded himself from his chair and looked out the window to see that it was dark. How many hours had passed? His mother probably thought he was working on schoolwork and had brought him dinner. He couldn’t recall eating.

Leon’s head swam with visions of the virus. He had an architecture. It was like drawing a house on paper. Now he actually had to build it. Oh man, and he only had three days. He needed to crank. After a quick visit to the bathroom, Leon sat back at his desk and got to work.

* * *

“Leon, come on.”

“One minute, I said.”

“Your father and I are waiting at the door with our coats on.”

It was three days and three hours since he starting working on the virus. He had skipped school all three days, fudging the school’s attendance system so that it looked as if his mother had submitted an absence report for a family vacation. He had worked around the clock, telling his mom he was working on a school report.

Leon looked over the message for the last time and hit send. He looked at the clock: half past seven. That meant it was half past three in the morning in Moscow. Would his uncle still be up?

“Leon, come now!” His father’s voice was harsh and thick with accent.

“Coming, I’m coming.” Leon’s hands were sweating. He hadn’t thought about God in a long time, certainly hadn’t talked to him since he was a little kid. But he clasped his hands together and muttered a little prayer. “Please God, please make sure this virus doesn’t get traced back to me.” He paused for a moment. “And please let me get a scholarship too.”