LAS VEGAS — The big iPhone hack has
now been publicly presented. Too bad for the bad guys
that Apple already patched by the bug, or have they?
Charlie Miller, a researcher with Independent Security
Evaluators, took the stage at Black Hat Thursday and explained explained in line-by-line detail how he exploited the
iPhone and why the Mac Operating system that powers the
iPhone is easy to attack.
Though speaking at Black Hat Miller noted that he told
Apple about the exploit early on.
“I gave them the exploit before anyone else, I gave them
the content of the talk and I gave them a patch too,”
Miller told the audience. “I told them to have the patch
out by august 2nd when I was giving the talk, they needed
to do it and they decided to do it.”
Miller had originally been scheduled to talk about security in Apple’s “Leopard” OS for the Mac, but ended up shifting to the iPhone for a number of reasons. For one thing, the fact that Leopard’s release has been delayed by Apple. Fundamentally though, Miller argued that the iPhone is just using a stripped down
version of the Mac OS so his general line of reasoning
still made sense.
“There is a prevailing belief is that Apple is more secure
than Windows,” Miller said.
But in his view, that belief is misplaced. He said the same reasons why
Macs are cool are the same reasons why they are so easy to
“Macs are easy to hack because they are easy to use,”
Miller said. “To enable them to be friendly they have a
lot of setuid root programs.”
Additionally Macs have very good crash reporting which
makes attacking them even easier than Windows.
“When fuzzing you usually have to monitor a target to know
when it has crashed,” Miller explained. “On a Mac it … provides a crash report which helps
you to fuzz.”
Miller argued that exploitation is easy on a Mac since the
system is very predictable. Apple doesn’t randomize
anything, stack, heap, or location of dynamic libraries, which
makes it easy to identify attack vectors.
Even worse is the fact that Apple uses open source
software that is often several versions behind what the
most current releases are. To prove his point, Miller
noted that until Apple’s Mac OS recent update, the version
of Samba, which is a Windows file sharing tool, was
several versions out of date and had a remote exploit in
it that had been open since February of 2005.
Miller alleged that the way to find a Zero-day (define) bug on a Mac is
a simple exercise of finding open source packages that
are out of date.
Miller alleged that some of those old open source
applications may be on the iPhone though that’s not how
they found the big iPhone bug that Apple has now fixed.
The iPhone exploit is a heap overflow exploit and Miller
explained that he found it the old fashioned way, fuzzing.
Fuzzing is a popular technique that does automatic code
injection in an effort to brute force compromise an
“We fuzzed the iPhone with various javascipt regular
expressions containing “[[**]]”, ” Miller explained. “We
then sorted through the crash reports and then eventually
found a good bug. It took a couple of days.”
Miller and his team also figured out how to use some
privacy data stealing shellcode that could read and write
to iPhone. He also wrote shellcode that could do other
interesting stuff such as trigger the iPhone to vibrate on
Even though Miller thinks Macs are easy to hack, he’s not
“Macs have security problems but I still like them and I’m
still friends with my Mac.”
This article was first published on InternetNews.com.