Researchers have devised a new attack that can bypass one of the main exploit mitigations in browsers: address space layout randomization (ASLR). The attack takes advantage of how modern processors cache memory and, because it doesn’t rely on a software bug, fixing the problem is not easy.
Researchers from the Systems and Network Security Group at Vrije Universiteit Amsterdam (VUSec) unveiled the attack, dubbed AnC, Wednesday after having coordinated its disclosure with processor, browser and OS vendors since October.
ASLR is a feature present in all major operating systems. Applications, including browsers, take advantage of it to make the exploitation of memory corruption vulnerabilities like buffer overflows more difficult.
The mitigation technique involves randomly arranging the memory address space positions used by a process so that attackers don’t know where to inject malicious code so that the process executes it.
There are methods to bypass ASLR, but they often involve chaining multiple vulnerabilities together, including one that allows for memory disclosure. This new attack removes the need for such additional vulnerabilities, making the exploitation of remote code execution bugs much easier.
What makes the attack interesting is that it does not depend on any particular software feature. It takes advantage of the way in which the memory management unit (MMU) of modern processors perform memory caching to improve performance.
The same researchers devised a different ASLR bypass attack last year that worked against Microsoft Edge. That attack relied on a software feature called memory deduplication that Microsoft later disabled to protect users.
That’s not possible in case of AnC, because the core of the problem is at the hardware level and can’t be fixed in existing CPUs. However, browser vendors can make certain tweaks that would make the implementation of the attack harder.
The researchers suggested several changes to CPU, OS and browser vendors that could make AnC-like attacks harder to pull off, but some of them might have performance implications that need to be further investigated. So far, the Apple Product Security Team worked with the researchers to harden WebKit against the AnC attack.
“The problem is fundamental as it is in hardware and cannot be completely eradicated with software countermeasures,” said Cristiano Giuffrida, an assistant professor at VU Amsterdam and one of AnC’s authors, via email. “And even hardware countermeasures are perhaps too expensive to consider to save ASLR (as hinted by some hardware vendors we talked to).”
If this is not the last nail in ASLR’s coffin, it’s very much the last nail in the coffin for ASLR as we know it, Giuffrida said.
It’s not clear if this attack will lead to a resurgence of browser exploits. For the past several years, the exploit kits that are used in large-scale, drive-by download attacks have mainly focused on targeting vulnerabilities in browser plug-ins like Flash Player, Java or Silverlight instead of flaws in the browsers themselves.
Time will tell, but bypassing ASLR is just one of the exploitation puzzle, Eiram said. Browsers have other security mechanisms in place, like sandboxes, that also need to be defeated to achieve arbitrary code execution, he said.