4 ms·
Dragos's original writing is, in fact, mostly incoherent, and highly suspect. However, this article seems to be almost as far out. For instance, the author of
by jwise0 13y ago
Dragos's original writing is, in fact, mostly incoherent, and highly suspect. However, this article seems to be almost as far out.
For instance, the author of this story claims that UEFI binaries are not compatible with each other. The kernel and processor support blobs of a UEFI ROM are not interchangeable, but more and more, the drivers are: UEFI does not just provide an API, but it also provides an ABI for both drivers and binaries to run. (That's the whole point of it.) Graphics card vendors do not have to produce a new driver for each UEFI implementation and motherboard; and, of course, Microsoft and Red Hat each produce just one UEFI bootloader shim, designed to run on every UEFI-compatible machine. The modular structure of UEFI ROM images, if anything, makes it more plausible that malware could inject itself "cleanly"! [1]
The argument about the BIOS not being able to initialize sound hardware is also surprisingly less-than-true these days. A handful of UEFI ROMs are now capable of calling up the sound card to "speak" error messages, if things have gone wrong during boot. The audio codecs, even if the UEFI ROM doesn't have code of its own to initialize, are relatively well-known, and easy to find datasheets for; I would imagine that a driver for one could be packed into 5 to 10kB of tightly written code, so there's no reason why the BIOS couldn't have this.
As acdha said upthread, too, there are other problems: the author conflates RF and audio frequencies; the BIOS protects its read access through System Management Mode (and hence could hide itself); etc., etc., etc.
Now, none of what I said here is to say that I believe Dragos's claims -- I don't. There are lots of good ways to dismantle his claims, and many people already have. But, well, the "the BadBIOS Analysis is wrong" is wrong.
[1] The author also gets quite a lot more wrong about the PC boot sequence in his technicalities. For instance, the "2Mhz 8088" is just not true these days; different processors boot in different ways, and most of the time, there is not even any DRAM available when the first instructions run! I put this as an aside because it is not part of my main point, but it serves to illustrate additionally how the author is using things that just aren't quite right to back up his argument.
(edited: removed excessive ad hominem against the author. My apologies.)
- llimllib 13y agoCould you link some of the good Dragos debunkings? I should disclaim that I know nothing about the author of this piece, and my knowledge of this whole area of computing is extremely limited. I just mostly suspect that the BadBIOS story is ridiculous.
- Zancarius 13y ago> I just mostly suspect that the BadBIOS story is ridiculous. I agree. The Ars piece yesterday seemed a bit paranoid and short on details. Then this piece today seems to be blowing smoke in the opposite direction. Somewhere in between lies the truth. I'm hoping we'll hear of something more concrete in the coming days or weeks.
- pgeorgi 13y agoAs to your aside: the 2mhz 8086 claim was about UEFI Shell - which is as close to native (usually 64bit) UEFI code as can be. That, and the "UEFI binaries are unportable" bit really indicate that the author doesn't know very much about UEFI. (Aside of my own: there are typically at most two places in x86 UEFI where you can find 16bit code: first at the init vector, where it sets up the system to move to 32bit - and then 64bit modes - as fast as possible, even before initializing DRAM at all. The other place is the CSM, which provides the legacy BIOS interface, if necessary)