Apple Engineers missed a key opportunity to implement an industry-standard technology in their latest operating system that would have made it more resistant to hacking attacks, three researchers have said.
Known as ASLR, or address space layout randomization, the measure picks a different memory location to load system components each time the OS is started. While Microsoft has had it implemented since the roll-out of Windows Vista, the analogous protection in Snow Leopard, which went on sale Friday, suffers from a crucial deficiency: It fails to randomize core parts of the OS, including the heap, stack and dynamic linker.
That means that attackers who identify buffer overflows and similar bugs in OS X components have a much better chance of causing the vulnerability to execute malicious code that compromises the machine. The halfhearted attempt at implementing ASLR has been a chief complaint of security researchers since Leopard, Snow Leopard's predecessor. Many had hoped it would be made more robust in the new version.
"ASLR is really only useful if EVERYTHING is randomized," Charlie Miller, co-author of The Mac Hacker's Handbook, wrote in an email to The Register. "If there is anything that is not randomized, it defeats the purpose mostly. This is a major shortcoming of Apple, and I'm disappointed they didn't take this opportunity to implement full ASLR."
Dino Dai Zovi, who also co-authored the Mac-hacking book, and fellow researcher Rich Mogull, CEO of Surosis, agreed that there is no discernible improvement in Snow Leopard's implementation of ASLR compared with Leopard.
"Randomizing the location of dyld is no small task, but Apple had a perfect opportunity to make the change with Snow Leopard since so many other important parts of the operating system were being updated," Mogull wrote here. "With dyld in place, an attacker has a roadmap to continue their exploitation and potentially take over your system."
What's more, as applications built for Snow Leopard proliferate, it may make it harder for Apple to add the feature later on, Dai Zovi said.
"The concern among many people in the security community is when will that change and how quickly," he said in an interview.
Not that the new OS hasn't improved some security offerings. One, called DEP, has been greatly expanded in Snow Leopard. It prevents shellcode and similar data that is supplied by a user from being executed by the OS. Had OS X had the protection over the past two Pwn2Own hacking contests neither of Miller's winning exploit entries would have worked.
One possible weakness with the new DEP offering: several parts of the Safari browser remain both writable and executable, a shortcoming that may make it easier for attackers to strike at one of the most targeted Apple applications.
QuickTime has also been mostly rewritten from scratch. While the jury is still out on how big an improvement the new code base contains, Miller said a vulnerability that works in the most recent version of Leopard doesn't work in the QuickTime for Snow Leopard. Another improvement: Several highly targeted OS X components, including the H.264 video codec, now come with sandboxing, which tightly restricts the types of activities they can carry out.
Apple has made additional changes, including expanded menu options in its firewall and Safari plug-ins that run as separate processes. While Mogull said the latter should make it harder to exploit buggy add-ons, Dai Zovi worried that the change might allow attackers to repeatedly crash them unbeknownst to the user.
And as reported earlier, Snow Leopard comes with new malware protection that in some cases warns users if they are about to install a malicious file. The feature is extremely limited at the moment, but it wouldn't be surprising to see Apple expand the offering over time.
No doubt, all the new features will be used and abused over the coming weeks and months, as researchers and hackers put them through their paces. As they report their results, we'll bring them to you here first. ®