A computer consultant is embarking where Apple has refused to go, adding a security measure known as ASLR to iPhones to make them more resistant to malware attacks.
Short for address space layout randomization, ASLR has been noticeably absent from all iOS devices since their inception, making possible the types of attacks that commandeered a fully patched iPhone at this year's Pwn2Own hacker contest. By randomizing the memory locations where injected code is executed, ASLR aims to thwart such exploits by making it impossible to know ahead of time where malicious payloads are located.
Starting with Windows Vista, Microsoft has baked ASLR into its operating system, and the recently released mobile version of Windows 7 is also endowed with the protection, said Charlie Miller, a principal security analyst at Independent Security Evaluators, who cited private conversations with Microsoft engineers. By comparison, Apple has built only limited ASLR into Mac OS X and has left it out of iOS altogether.
At a conference scheduled for next week, Stefan Esser, a security consultant and application developer for Germany-based SektionEins, plans to unveil a process for jailbreaking iDevices that automatically fortifies them with ASLR. It works by reordering the contents of dyld_shared_cache, a massive file that houses the libraries.
The hack will come as good news to those who want to jailbreak their iDevices but don't want to make them unnecessarily more vulnerable. As things stand now, jailbreaking iPhones, iPod Touches and iPads diminishes another security protection known as DEP, or data execution protection, and another measure known as application sandboxing. It also introduces a command shell and other features that can enable attackers.
“When you jailbreak it, it breaks a lot of security of a normal iPhone,” Miller told The Reg. “With Stefan's stuff, now maybe it's an option, if you're a security-conscious person, to still jailbreak your phone because you can pick up ASLR, which is going to make it a lot harder to do exploits.”
Esser will present his method at the Power of Community security conference on December 14 in Seoul, South Korea. He said he also plans to release a tool titled antid0te, that simplifies the process.
“This enables users with jailbroken iPhones to create their own set of dyld_shared_cache files that have completely different library load addresses from every other iPhone in the world,” Esser wrote in an email. “This is already a better ASLR than what exists on Snow Leopard because different applications can use different shared caches and therefore different load addresses.”
The method also randomizes the base address of the dynamic linker and the main thread's stack, which also bests ASLR protections of OS X, he said. ®
This article was updated to correct the day of Esser's presentation.