I found that 86 percent of all announced vulnerabilities were client-side attacks requiring end-user interaction, and 14 percent were noninteractive remote exploits.
Of the noninteractive, remote exploits (39 out of the 270), 79 percent required no authentication to work, while 21 percent required an authenticated user account connection or even an administrator connection (much more likely with Windows Server 2003).
Even if I pull out all the end-user application vulnerabilities (IE, Office, and so on), the overall conclusions are the same: Client-side vulnerabilities are far more prevalent than remote attacks. Most malicious attacks require the end-user to click on a link or file.Â
What does it mean? IT shops should spend at least as much time blocking client-side attacks as they do on preventing remote attacks (using firewalls, IPSs, and more). The biggest threat to your environment isn't the external hacker or the internal intruder; it's the accidental insider who unknowingly infects their computer, compromises the entire network, and undoes all your hard work. Again, this is nothing new, but we have some facts and statistics to back it up this time.
My analysis is far from conclusive. For one, I didn't factor in severity information, whether or not the exploited component is installed by default, or whether the exploit was widely used against the general public. Those are big factors to ignore. I also included local privilege escalation attacks into the client-side attacks, simply to differentiate between the local and truly remote access needed to accomplish the attack. This slightly skews the results in favor of client-side attacks, but in reality, if an attacker has local user access on your system, it's pretty much "game over" anyway.
This analysis confirms that client-side attacks are indeed the No. 1 threat by a far margin. There's no surprise here, but now we have numbers versus warm fuzzies and gut feelings. If someone did the same analysis for Linux and OS X, I'm fairly confident the results would be the same.
Of course, most remote exploits against Internet-based servers occur because of human-coded application errors, such as SQL injection, inadequate permissions, and misconfigurations, which require an entirely different analysis altogether. What I wanted to show is how prevalent client-side attacks were versus completely remote exploits, requiring no end-user interaction.