As the end of the year approaches, a strange phenomenon begins. As we relax and prepare for the holidays, we feel a strange compulsion to predict the future. For some, this compulsion is so overwhelming that it bursts the bounds of late night family dinners and explodes onto the pages of blogs, magazines, newspapers and the ever-dreaded year-end specials on TV.
Ah, year's end. Legions of armchair futurists slobber over their keyboards, spilling obvious dribble that they either predict every year until it finally happens or is so nebulous that they claim success if a butterfly flaps its wings in Liechtenstein.
As you can tell, I've never been the biggest fan of these year-end predictions, especially in the security business. Since the days of the slide rule, scores of pundits have consistently, inaccurately predicted a devastating SCADA attack or the next big worm.
Change is inevitable you don't have to be clairvoyant to see that. So, rather than predicting next year's big attack or the next hot tech trend (yes, people will buy iPhones for work), I'd like to focus my "year-end" perspective on two major trends that will force our industry to change.
Client-side vulnerabilities are becoming the favorite target of attackers just as we are in the midst of a major shift in operating system security. We're moving away from perimeter security such as firewalls and antivirus tools and toward anti-exploitation technologies like Address Space Layout Randomization (ASLR). Vista is the best example of a (eventually, maybe, though not in my house) widely deployed operating system with significant anti-exploitation technologies.
With this trend, endpoint security shifts from "patch, detect, and block" to "vulnerabilities are always there, so I'll make them harder to exploit". Apple has made the first baby steps in this direction (although its technology doesn't work yet), and anti-exploitation will become common in all widely deployed operating systems.
In fact, rumor is some attackers are so concerned about this trend that they are dumping zero-day exploits before PC users upgrade their OS not that people are leaping enthusiastically to Vista. But in the future, bad guys thus will be forced to rely more on dumb users installing malware for them, or leverage holes from lazy application vendors weakening the OS. On the good side, maybe we'll finally see people dump their nearly useless antivirus programs.
The other major trend is that bad guys are clearly exploiting Web applications with impunity. Aside from being a gold mine of data, Web apps are complex beasts rarely developed by trained security programmers. And the truth is, programmers will always make mistakes, technologies will evolve more rapidly than our ability to understand all the security risks, and new, unexpected exploits will continue to be created.
Vulnerability scanning, secure software development, and programmer security training cannot solve the Web application security problem. They help, but we're starting to see the early movement toward anti-exploitation technology at the application server and database levels.
In the future, we'll no longer rely on imaginary perfect code or perfect users. Instead, we'll build tools into the application infrastructure to reduce the chances of a successful attack. Unfortunately, our over-focus on vulnerability scanning and code review will delay the shift towards the more effective anti-exploitation tools. It's hard to shift the momentum of large acquisitions.
Oh, and there is one specific prediction I'll make for next year: Someone will predict a successful SCADA attack, and it won't happen. Until it does.