Microsoft explains how it missed critical IE bug
Programmers and testing tools overlooked years-old bug, admits company's secure code expert, but Vista's 'Protected Mode' worked
December 22, 2008 12:00 PM ETComputerworld - Microsoft Corp.'s developers missed a critical bug in Internet Explorer because they weren't properly trained and didn't have the right testing tools, a noted proponent of the company's secure code development process acknowledged last week.
The bug, which Microsoft patched last week with an emergency update, had gone undetected for at least nine years.
In an insider's description on Microsoft's Security Development Lifecycle blog, Michael Howard, a principal security program manager at the company, offered a postmortem analysis of the IE vulnerability and Microsoft's code-writing and reviewing process.
Howard, who is perhaps best known for co-authoring the book Writing Secure Code, said the flaw was a "time-of-check-time-of-use" bug in how IE releases data binding objects.
The vulnerability was not found by programmers because they had not been told or taught to look for them in such cases, Howard said. "Memory-related [time-of-check-time-of-use, or TOCTOU] bugs are hard to find through code review," he said. "We teach TOCTOU issues, and we teach memory corruption issues, and issues with using freed memory blocks; but we do not teach memory-related TOCTOU issues."
Microsoft's testing tools -- including "fuzzers," which are automated tools that drop data into applications, file formats or operating system components to see if and where they fail -- also missed the bug, Howard acknowledged.
"In theory, fuzz testing could find this bug, but today there is no fuzz test case for this code," he said. "Triggering the bug would require a fuzzing tool that builds data streams with multiple data binding constructs with the same identifier. Random (or dumb) fuzzing payloads of this data type would probably not trigger the bug, however."
Howard said Microsoft would update its developer training to account for memory-related TOCTOU bugs like this one.
Several parts of Windows' security tool kit didn't help protect users from exploits of this bug, Howard added, including ALSR and NX, technologies available only in Windows Vista and Windows Server 2008. "Even though Windows Vista and Windows Server 2008 have both ASLR and NX enabled by default, Internet Explorer 7 does not opt-in to these defenses owing to compatibility issues with many common applications," Howard noted.
Before Microsoft released last week's patch, and after it had confirmed that attacks were in progress, it urged users to take countermeasures, including enabling DEP (data execution prevention), another term for NX, in IE7.
Another Microsoft defense, however, did protect users running Vista or Server 2008, said Howard, who argued that "Protected Mode" did its job. Protected Mode essentially "sandboxes" IE and its add-ons so that actions taken within the browser are prevented from accessing the operating system generally.
Microsoft
Additional Resources



White Papers & Webcasts
Share our Strength
Download Now
Lower the Cost and Complexity of a Mobile Workforce through Automation
Download This Resource Now!
Top 10 Things to Know about Data Protection
Download Now
Managing Mobility: Improve Data Security, Compliance and Manageability
Download This Resource Now!
Managing Secure File Transfer to Save Time, Money and IT Resources
Learn how companies are using innovative technology to overcome these challenges and improve user productivity by offloading e-mail attachments and replacing FTP with...
Ponemon Study: The Business Risk of a Lost Laptop
Download Now
Security Convergence Equals Network Security Cost Savings
Listen to IBM Internet Security Systems' take on network security convergence.
Airport Insecurity: The Case of Lost Laptops
Download Now
Disaster Recovery 2008: Reduced Costs and Improved Performance
How long can your Enterprise afford to be without your data? With an accelerated disaster recovery program, you never have to answer this...
