I'm looking at my huge field of corn, millions of ears ready for harvest, every one genetically engineered to be identical. From the root structure to the tips, every stalk's the same, and offers the maximum yield made possible by modern science. But enhancing production is only part of what the breaking of the genetic code can offer me. Should the need arise, I can release specially modified viruses into my field, allowing each infection to make minute alterations to the DNA of the crop, updating my harvest. In this way I can provide protection against unforeseen pathogens, and modify the very blueprint of my harvest to suit climate or market conditions.
Hopefully the above image has you reeling in horror. "What of the real disease?" "What of genetic diversity?" "Such a crop could be wiped out overnight!" But that is what we risk in making everything we use compatible and connected to the Internet.
As long as all of our devices are different, no attack can damage them all. But with every standard comes increased risk. In 1988 the Internet Worm knocked out most of the computers connected to the Internet in less than 24 hours. It travelled through a bug in a program called fingerd, and was able to move so fast because every computer was running the same version of it.
At that time UNIX was the operating system of choice for the connected individual, and while different versions of UNIX existed, they all made use of the same software. In a similar fashion, programs such as the "I Love You" virus have paralyzed companies whose systems were based around Microsoft Outlook, no matter which version of Windows was being used, while those of us using competitive applications looked on in bemusement. The adoption of standard systems software has opened the door to standard attacks.
Mobile telephones, PDAs, and other wireless devices have remained pretty much immune to the kinds of attacks I've described, but for how long? As capabilities increase, and software becomes standardized, the chances of an attacker knowing everything about your system (more than you do!) increase. The most secure system is one no one understands.
The first thing an attacker has to do is work out what kind of computer system you're using, and what software you're running on it. Finding this out can be as simple as looking around your office (most hacking is done by employees and ex-employees), or phoning you and asking. (Pretending to be a firewall vendor is traditional; you'd be amazed at what people will tell you over the phone if you ask.)
I recently got ADSL at home, and am delighted to have my computer connected to the Internet 24/7 at proper speeds. What did surprise even me was the number of people pinging my machine to see if my IP address was valid, then attempting to connect to port 139, generally early evening and averaging three or four attacks every day. It took me a while to remember that 139 is the port used by Windows Networking, which I had obviously switched off, but these attackers were just trying their luck to see if I was running Windows and had left file sharing switched on. While Apple OS and Linux users may look smug, the rest of us have to be doubly careful not to leave ourselves open to a standardized attack.
I'm not suggesting that we all adopt custom operating systems, or that using a standard automatically makes your system insecure, but no computer system or network can be secure against every possible attack. It's only through diversity that we can protect our devices from a standardized attack. So next time you're cursing a customer for having an incompatible system, or wishing that every mobile phone was using the same OS, take comfort in the fact that as long as we're all different, our diversity may provide the strength we need to survive.