[coreboot] Possible security enhancement?
rminnich at gmail.com
Thu Feb 21 21:55:13 CET 2008
On Thu, Feb 21, 2008 at 12:10 PM, Paul Millar <paul at astro.gla.ac.uk> wrote:
> Apparently, the problem here is DRAM doesn't fade fast enough. If the reboot
> is fast, then the memory contents are preserved, so exposing the in-memory
> cache of the disk encryption key. Boot off a memory stick and one can
> analysis the memory's content.
yes, this is a problem and has been for as long as DRAM has been
around. I kept wondering if anyone would notice :-)
I used to debug DRAM-based micros by power cycling them and then
dumping DRAM. Most of it survived. I won't even mention how long ago
> The (perhaps flippant ;-) remark from "bootman" about storing the keys
> somewhere where the data will be erased by the BIOS led me to wonder if
> coreboot could do something like this.
yes, very easily.
> Perhaps coreboot could add the option of wipe the memory contents before
> handing over to the payload, maybe a "wipe-memory" payload that fails over to
> the next, main payload?
We could do it in initram with no trouble.
You pretty much have to do a full memory write to reset the ECC tags
anyway (note: NOT zero. Just write). I'm kind of opposed to zeroing
memory, since frequently, you want the contents of memory for
port-mortem. That said, I'm surprised their attack worked since I
assumed all those wonderful "secure" BIOSes -- such as EFI -- would
zero all of memory. There must be something else going on here. Oh,
there is -- they turned off memory wipe. I'm not that astonished, I'm
surprised that anyone is ... DRAM retention is a widely known issue.
>If erasing the whole memory would take too long,
> could it wipe some part of the memory and (by convention) that part of the
> memory be used for storing secrets?
HMM, the K8 has 3.2 GB/sec memory bw at minimum. Put 128 GB on a
single CPU ->40 seconds. People might get upset. But people who care
about security should not.
It's funny. Those incredibly slow BIOSes disable a very important
security item to get faster boot :-)
> Neither offers a completely solution to the problem: apparently, as the
> temperature is lowered, the data in DRAM will survive longer---at liquid
> Nitrogen temperatures it can last for hours---but perhaps it could help.
The problem is easily solved -- on some machines, it should not be
possible to disable (at minimum) a full zero'ing of memory.
Neat paper though. It makes a widely known but not much discussed
problem more widely known.
More information about the coreboot