Cat5bird Seat

Would You Install a Windows Patch From This Man?

Security fixes you obtain from the official source or a third party should still undergo the same scrutiny as any software you'd roll out to the troops.

Back in January, you may recall, we had a bit of a fuss over a vulnerability in Windows. Microsoft referred to it as "Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution" but most everyone else just called it "the WMF hole." Whatever name you choose, this was pretty close a doomsday scenario. Just by browsing to a Web page containing a malicious image file, and doing nothing else (not even clicking on OK), you could get your computer taken over by The Bad Guys.

To their credit, Microsoft recognized the severity of this problem and pushed out a patch in record time, issuing it on a Thursday ahead of the usual Patch Tuesday. At that point, most Windows users with a clue deployed the patch via Windows Update, Windows Software Update Services, or some third-party patch management solution, and the forces of evil were thwarted for another few months.

It's what happened in between the public unveiling of the vulnerability and the delivery of the official patch that I want to talk about here. You see, there's no question that this vulnerability was real, and that it was being actively exploited by nasty Web sites and e-mails and instant message worms in the wild. While none of these infections reached a critical mass, they were starting to spread while most companies were out on their end of year holidays, and many people in the security community were worrying about what would happen January 2 when the business world started creaking back to life. There was a work-around (unregistering a particular DLL), but that was pretty obscure and scary for the average user.

So it was that Ilfak Guilfanov, developer of the IDA Pro disassembler and debugger, released his own patch to the world, a week before Microsoft released the official patch. Guilfanov isn't just some bozo, but a respected and experienced low-level Windows developer who took the time to understand what was going on with the vulnerability and to explain his fix. He also shipped the full source code as well as a compiled patch, so anyone could verify that the patch did what he said it did. Several security groups took him up on this, including the well-respected SANS Internet Storm Center, who unhesitatingly recommended using this unofficial patch until Microsoft's official fix was available.

Well, judging by the reactions of some others in the security community you would have thought that they were recommending boiling babies in oil. Some very vocal folks in blogland were quick to issue blanket condemnations of non-Microsoft patches, going so far as to say that you should immediately stop listening to any security professional who would recommend such a dastardly step as installing a patch from anyone but Microsoft. To hear them tell it, perfect code comes only from Redmond. (I suppose the vulnerabilities get inserted into Windows on the days that the perfect coders take a vacation.)

That attitude baffles me. If I've learned anything in the past decade of fighting security issues on my own network and its connections to the Internet, it's that evaluating vulnerabilities and fixes is a complex and individual art. No one has a monopoly on the right answers, including Microsoft. As far as I'm concerned, if you blindly apply every Microsoft patch as soon as it comes out you're just as foolish as someone who blindly applies a third-party patch without taking the time to evaluate its source, direct effects, and side effects on your own network. Getting a patch directly from Microsoft may give you confidence in the source, but it does nothing to free you of the responsibility to perform the rest of the evaluation.

Just about every time a security patch comes out, it breaks some existing application or Web site that depended on the old, insecure behavior. For most users, this isn't an issue, but if your business depends on one of the broken applications, you're in trouble. That's why even Microsoft tells you to test patches in a sandbox (such as a Virtual PC or VMware image of your typical server or workstation) before rolling them out across your organization. You need to understand, not just what the patch is supposed to do, but what it actually does on your own mix of hardware and software.

And you can apply the same skills for evaluating software to a patch created by a third party. Does it come from someone you trust, or who is trusted by someone you trust? Have you inspected the source code (hey, Microsoft doesn't let you do this!)? Have you tested it in a sandbox to make sure it only fixes the hole, and doesn't have side effects on your necessary applications? If all of those factors give you green lights, and the vulnerability is serious enough (and the WMF hole certainly was), why on earth wouldn't you deploy it?

Ultimately, if running a network were a purely mechanical activity that didn't call for judgment, we could write a computer program to do it. Until then, those of us in the sysadmin business need to use our heads, and not just take dogmatic stands based on superstition or the hope that Mama Microsoft will make it all better. We owe our users nothing less.

Did you consider the unofficial patch? Or will such things never cross your network? Let me know at [email protected].

About the Author

Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.

comments powered by Disqus
Most   Popular