Microsoft has been steadily mitigating, if not eliminating, the major deficiencies in the security of its products.
Its easy to forget the dismal security quality of the products Microsoft shipped not too long ago, although I would argue that such quality was the industry norm. Everyone has improved the security—or perhaps I should say “securability”—of their products, but nobody has improved as much as Microsoft.
Its not too long ago that Microsoft finally abandoned the Win9x kernel, a platform that was completely non-securable and couldnt even be made stable for long periods of time. The versions of Microsoft Office from the 1990s suffered similar weaknesses of architecture that prevented those versions from being made secure.
It wasnt until Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1 that the platforms were no longer easy to hack. Clearly there was no premium placed on finding overflows and other weaknesses in code at Microsoft until that point. Products also came with default configuration choices that were designed to showcase new features, but were terrible choices from a security standpoint. The most infamous of these was turning IIS on by default on Windows 2000 Server, which exposed all of those servers to Code Red and similar worms.
But if you run the current generation of products and have your head screwed on right about security, you are at least as secure as with Microsofts products as with competitive products. UAC, despite some reasonable criticism, is generally considered a big step forward by security experts. Overflows are much rarer (although not unheard of), and defaults generally are restrictive. Consider this chart for a comparison of architectural design to facilitate security.
And even though the company has begun to address it, Microsoft has one big problem that will take years to fix completely: the old Office file formats.
You might have noticed, over the last year or so, a succession of code execution vulnerabilities in Office file formats, many accompanied by zero-day attacks. Ive read research, from Kaspersky I believe, to indicate that there is an inexhaustible supply of these, and that a fundamental change to fix the problem would cause more compatibility trouble than its worth.
What to Do About
The only reasonable approach for Microsoft to take is to create a new, improved file format, and it has done just that with Office 2007. The new files are zipped XML files (although, ironically, the link is to a .DOC file). Of course its possible, perhaps even likely, that they have their own vulnerabilities, but these will have been created in an era when people care about secure development
Unfortunately, there are a lot of .DOC and .XLS files out there in the world. What to do? At the same time Microsoft would obviously like for everyone to upgrade to Office 2007, but moving users to the new formats is important to the company, even at the cost of making old versions tolerable for a few more years. Thus, it released the Office Compatibility Pack for Word, Excel and PowerPoint 2007 File Formats. This allows Office XP and Office 2003 to open Office 2007 documents and for Office 2000 to convert them.
This is just about all Microsoft could do, at least in the big picture. Its hard to push users off of a file format thats so popular, even among other companies products. But the company has to do what it can, because indications are that the vulnerabilities will keep coming and Microsoft will have to patch them and a continuing crisis will characterize the next couple of years.
One common argument—Ive made it myself—is that we need to rely on anti-virus to detect Office files with vulnerability exploits in them. AV programs are scanning the file anyway and they have an understanding of the file formats in order to look for malware written in them, so perhaps they should find the exploits. They do try, but how well do they do?
Andreas Marx of AV-Test, as reported in PC-Welt, tested AV protection against known (patched) and new (zero-day, unpatched) MS Office exploits (DOC, XLS, PPT and MDB). The article is in German, but its pretty easy to read: The table shows the name of the product, the number detected, the detection percentage, the number missed and the percentage missed.
I have to say the results are not good enough. Andreas argues that this shows that Microsoft needs to patch more quickly, and of course the faster it patches the better, but I think what it shows is how deep the hole we are in is. Microsoft cant patch these holes fast enough. It can only throw the old formats overboard and sail as far and as fast as it can.
Check out eWEEK.coms Security Center for the latest security news, reviews and analysis. And for insights on security coverage around the Web, take a look at eWEEKs Security Watch blog.