Independent researcher Peter Vreugdenhil waged a heap overflow attack on IE 8 and used a zero-day vulnerability he discovered in the browser to bypass Windows 7's built-in anti-exploit features, Data Execution Prevention (DEP) and Address Space Layout Randomization (ASLR).
Other successful hacks in the annual contest held at CanSecWest in Vancouver were a non-jailbroken iPhone, Firefox on Windows 7, and Safari on Snow Leopard, each conducted by other researchers who also won the big cash prize. A hacker known as "Nils" hacked Firefox on Windows 7 -- also bypassing DEP and ASLR with an exploit of his own, the details of which were not available at the time of this posting.
Vreugdenhil used a two-part exploit: First he located a specific .dll file to evade ASLR, and then used that information to trigger an exploit that disabled DEP. He used a heap overflow attack to get the address of the .dll file, he said in a paper (PDF) describing the attack. He would not reveal the vulnerabilities in IE 8 that he exploited, however: "But I might disclose them someday when Microsoft has them patched," he wrote.
Just how simple would such a hack be to execute? "The technique Peter wrote about would apply to any heap overflow within Internet Explorer, but it would still require a newfound vulnerability to make any use out of," says HD Moore, creator of Metasploit and chief security officer for Rapid7. "The methods he used to bypass ASLR and DEP could apply to other applications, but they would have to expose a similar level of memory control to the attacker."
Moore says the hack bypassing DEP and ASLR reflects a trend for future exploits. "On one hand, the skill required to develop reliable browser exploits is increasing, but new techniques, such as the memory leak used in this exploit, prove that OS-level exploit mitigations are still no excuse for writing vulnerable code," Moore says. "These types of techniques are possible only when the attacker has precise control over the process space, which is relatively easy with client-side applications, like Web browsers, but can be much more difficult with server-side applications."
And proponents of exploit-mitigation technology such as Microsoft's likely will dismiss this kind of an attack as an exception to the rule, Moore says. "[But] almost all reliable exploits are exceptions -- we simply don't hear about the rest," he says.
Jerry Bryant, Microsoft's senior security communications manager lead, said in a statement that Microsoft expects to get the vulnerability report tomorrow and "will begin investigating the issue at that time."
"We are not aware of any customer risk at this time due to this vulnerability," Bryant said.
Vreugdenhil isn't the first hacker to bypass Microsoft's DEP and ASLR: Core Security Technologies recently disclosed a flaw in the Microsoft Virtual PC hypervisor's memory management that can be used by an attacker to cheat DEP and ASLR. Microsoft maintains that it's not a new vulnerability, but that the exploit takes advantage of existing vulnerabilities.
And VUPEN Security earlier this year said it was able to bypass DEP on IE 8 and execute arbitrary code, and that it had sent its exploit code to Microsoft to examine.
DEP -- which helps quell code execution in non-executable memory -- was one of the key defenses against the original Operation Aurora exploit code. ASLR is a security feature that basically protects the system from an exploit attempting to call a system function. It places code in random areas of memory that makes it more difficult for an attacker to run malware on a machine.
Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.