Original URL: http://www.theregister.co.uk/2009/01/19/cold_boot_countermeasures/

Security boffins attempt to freeze out cold boot crypto attack

Cache from chaos

By John Leyden

Posted in Security, 19th January 2009 15:12 GMT

Security researchers have developed prototype countermeasures to defend against the recently developed cold boot crypto attack.

Cold boot is a technique for snatching cryptographic keys from memory, creating a means to circumvent disk encryption. A targeted machine that's been left hibernating would be turned off and quickly rebooted using an external hard drive, loaded with customised software, in order to extract encryption keys stored in memory.

The technique works because DRAM circuits used in modern PCs retain data for a short time after they are powered down, contrary to popular opinion. Cold boot attacks are of potential interest to both hackers and computer forensics experts.

Crypto boffins are on the way to defending against the attack. By saving cryptographic keys in CPU cache, instead of potentially vulnerable DRAM, the attack can potentially be frustrated.

"By switching the cache into a special mode one can force that data remains in the cache and is not written to the backing RAM locations," write the security researchers behind the Frozen Cache blog. "Thus, the encryption key can't be extracted from RAM. This technique is actually not new: LinuxBIOS/CoreBoot calls this Cache-as-RAM. They use it to allow "RAM access", even before the memory controller is initialized."

The researchers have developed a proof-of-concept implementation of the defence that works under Linux but many problems remain, particularly in recovering from hibernation.

"Disabling/freezing the CPU's cache severely degrades the performance," the researchers write.

"However, this seems acceptable if one considers that this special mode only needs to be set whenever the screen is locked (all efforts are pretty much worthless if an unlocked laptop is stolen). A very first proof-of-concept test on Linux shows that there's quite a bit of performance optimization necessary to make even just the act of unlocking the GUI an acceptable experience (from a performance/usability perspective)."

Other factors, such as developing an approach for machines with multi-core CPUs, as well as optimisation (fine-tweaking) problems remain to be addressed. Interested parties can follow the evolution of the idea through the Frozen Cache blog here. ®