Can Your BIOS Be Flashed By Malware?
Alan: Can any vector currently re-flash the BIOS?
Joanna: No! There has been lots of confusion about it in the recent months. Some people thought that SMM attacks allow automatically to re-flash the BIOS. This is not true. Also, there was a bit unfortunate presentation at CanSecWest earlier this year by two researchers from Core, who presented on "Persistent BIOS Infection." I saw their slides and they made it look like if they found a generic way of re-flashing any BIOS and that there is hardly any way to protect against their attacks. Nothing could have been further from the truth, in fact.
First, they chose to attack two low-end, dated BIOSes: an Award BIOS and also VMWare's BIOS (that itself doesn't even count, as it's not a real BIOS). Those two BIOSes didn't require firmware updates to be digitally signed by the vendors. So, no big deal that it was possible to inject some malicious code there. On the other hand, most of the currently used BIOSes (Intel or Phoenix BIOSes) allow only signed firmware updates to be re-flashed. This mechanism has been used for years, and it has nothing to do with TPM or any of the Trusted Computing technologies.
This situation is especially not very comfortable for us, because next month at Black Hat, Rafal and Alex will be presenting on the real attacks on BIOS re-flashing, that would involve getting around Intel BIOS re-flash protection. So, Rafal and Alex will show how to re-flash a secure Intel BIOS, despite the fact that it normally only allows signed updates. This is going to be a really hardcore talk, and the actual exploit is really a masterpiece. I doubt, however, that malware would start using any similar attacks--they are just too complex and too much BIOS-specific. Yet, from the research point of view, the attack is extremely valuable with potential impact being more then just persistent BIOS infections. More on this next month, though.
Alan: I’m looking forward to that! So what's this talk about Ring -3 attacks now?
Joanna: This is going to be the second talk presented next month at Black Hat by Alex and Rafal. It's going to be something totally new, again very hardcore, but potentially offering even more power then SMM rootkits. How can something offer more privileges than SMM, when that already offers all of them? Unfortunately, I cannot say anything more right now. Let me just point out that we have been in touch with Intel for quite some time about the issues we exploit in both of the talks, and that Intel is targeting patch releases to be available a few weeks before the conference.
Alan: So what can you tell us about HyperCore?
Joanna: HyperCore is a thin hypervisor for laptop computers developed by Phoenix Technologies. We have been hired by Phoenix to do research on various technologies that could potentially be used to secure the hypervisor. As it is customary in the industry, I'm not at liberty to publicly discuss much about this research, and whether or how much of it has actually been used in the actual product.
Alan: So far, most of your research involves getting closer and closer to the CPU. What about the other approach, getting closer to the user. If you can take over the GPU memory, couldn't you spoof a password prompt and get the user to volunteer their admin password? Or how about taking over the USB controller and logging keystrokes?
Joanna: Oh, and you think that getting closer to the CPU means farther from the user? Really? It is the CPU that is the central part of the system. Everything that user does, all of his or her programs data, are eventually processed by the CPU. It's the closest element to the user one can imagine. It's where all the data are eventually being decrypted, and where all the actions are eventually being executed.
Alan: I’m a 3D graphics guy, a GPGPU guy, and my hobbies are photography and cinematography. Of course I think the GPU is closer to the user than the CPU! At the end of the day, it all comes back to your senses. What you can’t see can’t hurt you. You know how you sometimes find old food stashed somewhere in the back of the fridge that has gone bad? In the time that you had forgotten it and before you saw it, smelled it, tasted it, felt it, or heard it, you wouldn’t know anything or even care. It’s like Schrödinger’s Cat, but with food.
Joanna: As for your suggestion about taking over GPU memory--I think this would not be a very practical attack for malware. Even the traditional passwords are being entered in the "asterisked" form, so GPU would have troubles seeing what's under the asterisk!