Computer viruses have evolved from an annoyance to a national security threat. In 2013, the Department of Homeland Security told us todisable Javaon our home computers (a thing that few of us knew how to do) because of flaws that left it vulnerable to viruses. And by most accounts, the US has used viral programs like Stuxnet and Flame in cyberwar against Iran.
Why do we call these programs viruses?Maneesh Agrawalais a computer scientist, MacArthur “genius” fellow, and an advisor toStudio 360’sScience & Creativity series. “DNA is in some sense a program that describes how to manufacture proteins,” he explains. A virus consists of little more than DNA or RNA, programmed to hijack the host’s cellular machinery to replicate itself. “A computer virus is a computer program that describes a sequence of operations that need to be performed.” Both biological and computer viruses are defined by their ability to self-replicate.
Computer viruses were not always malicious. Agrawala explains that self-replicating code was theorized byJohn von Neumann, a mathematician and pioneer of computer science. Such programs were built by computer scientists in the 1980s — and hackers soon got in on the action. In 1988, a particularly aggressive virus was unleashed onto computer networks. Affected computers spent all their processing power replicating the code; nobody knew yet how to stop such a virus, and machines were freezing up all over the country.
Agrawala cautions that we shouldn’t take this analogy between DNA and code too far. Viruses survive by evolution — they mutate faster than the host’s responses to them (which is why we never stop getting the common cold). Computer code never mutates. But developers of viruses learn from their experiences to alter their programs. “It’s more similar to intelligent design than to natural selection,” he explains.
We want to hear your feedback so we can keep improving our website, theworld.org. Please fill out this quick survey and let us know your thoughts (your answers will be anonymous). Thanks for your time!