The slideshow published by Core Security, provides the overview, which I'll summarize here with what I can remember of the technology and tools used to enable the hack shown at the conference.
First is getting a copy of a BIOS to hack. There are two options, and one which made the researcher's lives easier, VMware supplies both a generic "virtual" BIOS and a debugger which makes testing and developing the patches easier. A generic tool also exists which they have created to retrive, modify and reflash the BIOS based on previous work by pinczakko.
The second thing talked about is the structure of the BIOS which gets executed by the CPU when the computer first boots, and the operating system has not yet loaded. The whole point of describing this structure is that BIOS structure differ between different manufacturers and models of motherboards, and these differences make it difficult to predict where to make certain changes. The researchers found that almost all modern BIOS versions however use the identical decompression utility used to expand other pieces of code in the BIOS for devices such as video cards, north and south bridges, etc. This code is easy to find using pattern matching in the BIOS. Once this section of code is found, it can be patched with a different decompression utility, making the hack possible. The other cool thing, if I'm not mistaken, about the decompression utility is that it is OS independent meaning that it will run on multiple CPU architectures (x86, AMD64, etc).
One of the key features of the BIOS is having access to the computer's hardware before the operating system, which makes doing things like patching hard disk bytes possible. Once just has to know what to search for (password files, ini files, etc) and changes can be made directly.
They also hint at being able to do other things with the code, like utilizing, accessing, modifying other devices which are interfaced with at boot time (video, ethernet, RAID, etc). This is cool because one of the things that loads in most modern BIOS is netboot or Preboot Execution Environment (PXE). Imagine that as the PC boots that a network stack is enabled, a malicious site is contacted for updated code, and additional hacks performed as desired, seems like the ultimate, very-hard to detect rootkit.
Even more concerning would be the creation of BIOS resident blue-pill type hypervisor.
UPDATE: Alfredo has informed me that the did not develop CoreBoot, they use the great opensource tools found here.
*Very cool stuff indeed.*
4 comments:
Oh, one more thing Alfredo also mentioned that there is an easy way to prevent infection - by hardware shorting two of the pins. Time to get out the tinfoil hat and soldering kit!
I recently came accross your blog and have been reading along. I thought I would leave my first comment. I dont know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
Sarah
http://laptopseries.net
I recently came accross your blog and have been reading along. I thought I would leave my first comment. I dont know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.
Sarah
http://laptopseries.net
Excellent review of our Talk, I'm glad that you liked it! Only want to point out that Core Security didn't develop CoreBoot, it's just an unfortunate name coincidence :) Coreboot is a great opensource project on it's own.
Post a Comment