Apple's lackadaisical updating of the open-source components it uses in Mac OS X is inexcusable and "negligent", according to one of the researchers who went public with the first iPhone vulnerability last month.
"Apple has a habit of not keeping [Mac OS X's] open source [components] up to date," said Charles Miller, a researcher with Baltimore-based Independent Security Evaluators (ISE) who presented at last week's Black Hat security conference in Las Vegas. "Open-source software is as secure, I think, as closed source, but Apple isn't keeping up with fixes.
"If they're going to rely on open source, if they're going to tout Mac OS X as more secure than Windows, it's their responsibility to keep the operating system up to date."
In other reports, Miller was quoted as using the word "negligent" when describing Apple's treatment of outdated code. "Negligent, that's a tough word, but yes, it is."
Miller, along with two fellow ISE researchers - Jake Honoroff; and Joshua Mason - disclosed the first iPhone vulnerability in late July, and wrote a proof-of-concept exploit that snatched complete control of any iPhone from its owner. They had reported the bug to Apple on July 23, and gave the company until August 2 to patch it; Miller presented the trio's findings that day at Black Hat.
Apple came in under the deadline when it issued the iPhone 1.0.1 security update on July 30.
But Miller's convinced that Apple will have more bugs to patch in the iPhone's operating system and in its big brother, the standard Mac OS X desktop client software because of its bad habit of letting patches slide.
After Miller, Honoroff and Mason fuzzed the vulnerability out of WebKit, the application framework that forms the foundation of Safari - specifically from the Perl Compatible Regular Expression (PCRE) handling code within WebKit - they discovered that the flaw they'd rooted out had been fixed by the open-source project over a year before. Apple, however, had not updated its version of PCRE within WebKit.
"This wasn't a one-time affair," said Miller, who noted that he and the others had dug up another vulnerability in WebKit that had been patched in its original open-source code months before. He also pointed to the recent episode with Samba, the open-source file- and print-sharing software used by Mac OS X. In that case, Apple left its Samba code unpatched for more than two months after the code was updated.
"And that wasn't just since May," added Miller, referring to the Samba vulnerability. "Until last week, Apple hadn't updated its Samba code in over two years."
(Apple did patch a single bug in its Samba code in March, but last updated the file-sharing component in March 2005.)
Miller said his problem isn't with open source - it's often patched faster than commercial, proprietary software, he said - but with Apple's sluggish pace in implementing fixes and/or updates of the open-source pieces and parts it uses in Mac OS X. Apple's approach, he said, puts users at risk. Hackers, even the least experienced, can easily find flaws to exploit just by doing a little compare-and-contrast.
"All you have to do to find a zero-day [vulnerability] is to find an open-source package used in Mac OS X, look through the change logs [of that open-source component] and you're done. You don't have to do any real security research at all."
Apple's security researchers may have been psychic, however, in divining Miller's criticism: Of the 45 flaws fixed by the latest Apple security update, dubbed 2007-007, more than three-fourths were patches applied on open-source code used in Mac OS X.
That doesn't mean Apple hasn't left users unprotected in the past, said Miller, or might not again in the future. "Any product has problems if you don't keep it up to date," he said.