[Infowarrior] - Apple keyboard firmware hack
Richard Forno
rforno at infowarrior.org
Sun Aug 2 02:06:38 UTC 2009
Apple keyboard firmware hack demonstrated Apple needs to patch it ASAP
by Charlie Demerjian at Defcon 17
July 31, 2009
http://www.semiaccurate.com/2009/07/31/apple-keyboard-firmware-hack-demonstrated/
APPLE KEYBOARDS ARE vulnerable to a hack that puts keyloggers and
malware directly into the keyboard. This could be a serious problem,
and now that the presentation and code is out there, the bad guys will
surely be exploiting it.
The vulnerability was discovered by K. Chen, and he gave a talk on it
at Blackhat this year. The concept is simple, a modern Apple keyboard
has about 8K of flash memory, and 256 bytes of working ram. For the
intelligent, this is more than enough space to have a field day.
The machine and keyboard in the demo
K. Chen demonstrated the hack to S|A at Defcon today and it worked
quite well. You start out by running GDB, and set a breakpoint in
Apple's HIDFirmwareUpdaterTool. This tool is meant to update the
firmware in human interface devices, hence the name. The tool is run,
a breakpoint set, and then you simply cut and paste the new code into
the firmware image in memory. That's it.
The breakpoint, code and presentation
Nothing is encrypted, decrypted, and the process is simple. You then
resume HIDFirmwareUpdaterTool, and in a few seconds, your keyboard is
compromised. Formatting the OS won't do you any good, the code is in
keyboard flash. There are no batteries to pull, no nothing, the
keyboard is simply compromised.
While you can re-flash a keyboard, that is fairly hard to do if you
don't have a keyboard. Apple internal keyboards are USB devices, as
are the external ones, so the same hack works for them too. Think
about that when you count the dwindling number of external USB ports
on modern Macs.
The new firmware can do anything you want it to. K. Chen demo'd code
that you put in a password, and when you hit return, it starts playing
back the last five characters typed in, FIFO. It is a rudimentary
keylogger, a proof of concept more than anything else. Since there is
about 1K of flash free in the keyboard itself, you can log quite a few
keystrokes totally transparently. If you want the code, it is on page
170 of the PDF presentation linked above.
This exploit is simple and does things by the rules. K. Chen is very
careful not to do anything in an illegal way, and you have to do all
the steps manually. It can't easily be done remotely. That said, bad
guys intent on stealing your data probably won't have the same high
moral standards, and it probably wouldn't take much to exploit the
same vulnerability remotely, silently, with code from a compromised
web page.
Apple needs to patch this problem ASAP. It is completely remotely
exploitable, and almost impossible to remove, especially if you don't
know it is there. This huge hole that Apple has in it's hardware turns
any remote exploit, Apple is full of them, into a huge security problem.
We would have called Apple to let them know about this, but the last
few times we did, they would not so much as return our phone calls.
Until Apple releases a way to detect the validity of keyboard firmware
and patches this huge hole in their system, anyone using Apple
hardware, regardless of the OS running, is vulnerable. Don't believe
them when they try to spin this as minor, owning a keyboard gives you
ownership of a system.S|A
More information about the Infowarrior
mailing list