Google shakes up Android Jelly Bean to fend off malware meanies
ASLR shuffles 4.1's pack... and properly this time
Android Jelly Bean 4.1 promises to be more secure than previous versions of the Google's mobile OS.
The big news is that the software now properly implements Address Space Layout Randomization (ASLR), a technique designed to make malware-based attacks more difficult. The latest Jelly Bean iteration was released to select devices last week but is not due to come bundled with mainstream Android smartphones and tablets much before the end of the year.
What is ASLR?
ASLR shuffles the pack and position of libraries, heap, and stack, in a process's address space. That means even if a hacker finds a vulnerability in a device, they will have a far greater problem finding the location of infected shellcode in a stack, for example, making it much harder to craft a working exploit. The technology is often combined with other memory protection techniques, such as non-executable memory protection.
ASLR has been a mainstay of security defences in desktop machines for years, appearing in Windows Vista and Mac OS X since 2007, for example. More recently it has featured in iOS 4.3, released in March 2011, marking its migration onto smartphones, and more recently in Android 4.0.
The initial debut of the tech on Android – in Ice Cream Sandwich – was somewhat half-cocked and the Android 4.1 Jelly Bean implements the technology properly for the first time, according to smartphone security experts at Duo Security.
Why it didn't quite work in Ice Cream Sandwich
Jon Oberheide, the security firm's CTO, praised the implementation of the tech in Jelly Bean as fixing the deficiencies of ASLR's implementation in Ice Cream Sandwich.
"The ASLR support in Android 4.0 did not live up to expectations and is largely ineffective for mitigating real-world attacks, due to the lack of randomization of the executable and linker memory regions," he wrote in a blog post at the time the technology was introduced in February 2012.
ASLR is only effective if everything is randomised. If portions of memory are consistently left alone by the process then hackers can still gain a foothold by sticking to these areas. In a blog post on Monday, Oberheide said Google has now applied randomisation (properly) across the board.
But Oberheide qualified his praise – noting there was plenty of room for further improvement. For example, Google could push ASLR down to the Android kernel, allowing it to catch up with Apple.
While Android is still playing a bit of catch-up, other mobile platforms are moving ahead with more innovative exploit mitigation techniques, such as the in-kernel ASLR present in Apple’s iOS 6. One could claim that iOS is being proactive with such techniques, but in reality, they’re simply being reactive to the type of exploits that typically target the iOS platform.
An overview from Google of how exploit mitigation has evolved on the Android platform can be found here. ®