Why We Should be Grateful for Viruses

Why We Should be Grateful for Viruses

Robbert Haarman

2010-12-11


Introduction

Computer viruses are the bane of our modern, computer-dependent society. They infect and slow down personal computers, send out spam1 and cause millions of dollars of damage due to lost files and network outages. However, if we learn our lessons, they can have a very benificial influence on the software industry.


How Viruses Work

Computer viruses are pieces of code that a computer can execute. As such, there is no difference between a virus and a regular program. In fact, some viruses are disguised as useful or attractive programs – these are called trojans. A virus looks exactly the same to a computer as any other piece of code or data, and the computer will therefore just as happily execute the virus code as it will any other program. Of course, the virus needs to get on the computer first.

There are a number of ways a virus can get on a computer. In the case of a trojan, it's usually the user who installs the virus, thinking that it is a harmless program. Other viruses are sent as attachments to email messages, which, when opened, will install the virus. One of the most spectacular kinds of virus is the worm, which virtually crawls from system to system, entering each without requiring the user to do anything – in fact, users don't usually even notice the worm. These are just a number of examples. There are other ways a virus can spread, but you should have an idea of the possibilities now.

After a virus has installed itself on a computer, it can do anything a regular program can do, that is, pretty much anything the computer can do. It can send out emails with copies of itself to every email address it finds on the computer. It can destroy files. It can play a nice melody. It can wait until a certain date, and then send out an enourmous amount of messages to a server, which will then become unreachable for normal traffic, because several thousands of computers are sending the messages dictated by the virus. The possibilities are endless.


Monoculture

In order for a virus to work, it needs to run on a compatible system. Just like biological viruses that affect humans don't affect dogs, and programs written for a Macintosh don't work under Windows, a virus written for one system won't work on another, unless the two systems work the same way.

The two most important variables that determine if a virus will affect a computer are the machine architecture and the operating system. The machine architecture, informally, is the kind of computer. Macintoshes and PCs are of different architectures. This is why Macintoshes can run Mac OS, but PCs cannot. Similarly, a virus that targets PCs won't work on a Macintosh, because the Macintosh doesn't know how to execute it. The operating system controls the computer and provides the base on which applications run. An application that is written for Windows won't work under Mac OS or Linux, because each of them provides a different base. The same goes for viruses; a virus written for one OS does not work on another.

The impact of a virus is largely determined by how many systems it affects. This is mostly determined by how many systems use the combination of arghitecture and operating system (called platform) that the virus targets. It so happens that, currently, about 90% of home users operate PCs running various versions of Microsoft Windows. This monoculture is very helpful to virus writers; they only need to target one platform, and they can affect the bulk of computers out there.


Balance

In nature, almost everything is controlled by balance. If the number of worms grows, it will be easier for birds to catch them. Birds will have a better chance of survival, so there will be more birds. More birds will eat more worms, so the number of worms will be pushed back. The birds, in turn will have a higher chance of being caught by cats, keeping the number of birds in check. If the cat population rises too high, they will have a harder time catching prey, and they will starve.

In the software world, this balance is lost. Most computers used at home are PCs running Microsoft Windows. This makes it unattractive for developers to target other platforms; they would be spending time on writing software for a platform which covers only a small niche of the market, time they could have spent developing for the vastly larger share of Windows machines. This, in turn, leads to lack of available titles for alternative platforms, which makes these platforms unattractive to users. This reinforces and strengthens the situation, rather than balances it.

In a capitalist system, competition is fundamental. Competition compels comapanies to differentiate their products by making them better, selling them at lower prices, provide better customer service, etc. All this is to the benefit of the customer. Without competition, the system breaks down. A monopolist can charge a lot for their product, ship products of bad quality, provide poor customer service, and still thrive, as customers have nowhere else to go. The market forces in the operating systems industry reinforce rather than weaken the position of the strongest player, which now virtually holds a monopoly in that market. Fortunately, there are viruses.


Benefits

Virus writers target the biggest platform for a variety of reasons. First of all, infecting more machines is more of an achievement. Secondly, virus writers are more likely to have access to a common platform than to an uncommon one.

Because viruses mainly affect the major platform, it becomes less attractive to customers. This brings some balance to the market. It also forces the companies behind the major platform to improve their product – a platform that becomes unusable because of all the viruses would pretty soon drive customers elsewhere. However, software will always contain flaws, and it is unlikely that a platform becomes so hardened that no virus could affect it, without the platform becoming unusable, because of all the barriers that have been put in place.

If customers actually start leaving the major platform and employing alternatives, a number of additional benefits can develop. First of all, the competition between OS vendors would spring back to life, with all the improvements in quality at lower prices that can be expected to come from that. Moreover, software developers will no longer be able to assume their customers will be using a certain platform. This will encourage them to develop software for multiple platforms.. This will weaken the advantage of the largest platform more, and thus increase the balance. It will also drive the development of standard application programming interfaces, that will allow software to be written for multiple platforms at the same time. This will make the development of portable software (software that runs on multiple platforms) easier, and strengthen the balance even more.


Conclusion

Once customers start switching to alternative platforms, a whole cascade of beneficial effects is set in motion. Virusses are one way to make this happen, as they naturally target the largest platform, driving people away from it and to the alternatives. Perhaps we will, one day, be grateful to virus writers for opening our eyes and leading us to a better world, with a healthy, customer-friendly software industry.


1 According to a study by Sandvine, 80% of spam is sent from infected PCs running Windows.