Jul 24, 2008
MDL Editorial Team

BitLocker, FileVault, dm-crypt, and TrueCrypt Encryption Key Crack via DRAM Cold Boot Attack with Program Source Code Download

A group of researchers in Princeton University have managed to prove and demonstrate that disk encryption mechanism used by BitLocker of Windows Vista; FileVault of MacOS X; dm-crypt of Linux, TrueCrypt and possibly other secure encryption software, can be cracked, hacked and defeated by imaging state of physical memory (DRAM modules) which still carry and retain traces of code bits, in what hackers called cold boot attack by dumping all data in memory to disk.

Princeton University Center for Information Technology Policy website describes how the attack is possible:

Contrary to popular assumption, DRAMs used in most modern computers retain their contents for seconds to minutes after power is lost, even at operating temperatures and even if removed from a motherboard. Although DRAMs become less reliable when they are not refreshed, they are not immediately erased, and their contents persist sufficiently for malicious (or forensic) acquisition of usable full-system memory images. We show that this phenomenon limits the ability of an operating system to protect cryptographic key material from an attacker with physical access. We use cold reboots to mount attacks on popular disk encryption systems – BitLocker, FileVault, dm-crypt, and TrueCrypt – using no special devices or materials. We experimentally characterize the extent and predictability of memory remanence and report that remanence times can be increased dramatically with simple techniques. We offer new algorithms for finding cryptographic keys in memory images and for correcting errors caused by bit decay. Though we discuss several strategies for partially mitigating these risks, we know of no simple remedy that would eliminate them.

Video clip published by the team shows that it’s possible to remove a DIMM from one computer after power loss, transport and traffic the RAM module to another PC, aiding by a typical canned-air spray to lower its temperature to lengthen the time which the DIMM will keep the data, and then boot the computer unit using a specially designed microkernel, and finally dump all data on the RAM chip to physical disk. The amount of bad (decayed) data depended on both the time a DIMM spent unpowered and the temperature at which it was kept. Nonetheless, the researchers managed to successfully reconstruct 128-bit AES encryption keys within seconds, even if 10 percent of the key had already decayed out of memory.

The Princeton University team has also released the source code for some of the software utilities that is developed in the course of this research. These prototype applications are intended to illustrate the techniques described in the encryption keys cool boot attack research paper, and should not be used for malicious or hacking attempt.

The source code for applications released for free download include USB / PXE (bios_memimage-1.0.tar.gz) and EFI Netboot (efi_memimage-1.0.tar.gz) memory imaging tools, AESKeyFinder (aeskeyfind-1.0.tar.gz) and RSAKeyFinder (rsakeyfind-1.0.tar.gz) automatic key-finder tools, and AESFix (aesfix-1.0.1.tar.gz) error-correction utility for AES key schedules.

Related posts:

  1. Download TrueCrypt Free (Alternative) Encryption Software for Vista
  2. Cold Hard Jolt about Encryption Protection
  3. Targeted Attack on Computer Networks
  4. Facebook Source Code Leaked
  5. Vista Brute-Force Keygen GUI 0.1 with Source Code

5 Comments

  • @Nate the IT Guy:

    It does involve physical access to the machine, but it could easily happen unknowingly if you perhaps leaving your computer, or a server, on overnight while you are out of the office. Or, if a laptop was stolen by a knowledgeable thief, knowing they had to defeat drive encryption. The video clearly shows that the RAM does not need to be taken out & cooled.

    A big point of drive encryption is that your data is safe even if your computer is stolen. Armed with the knowledge & tools of this exploit, your computer is no longer safe if the thief acts swiftly within the exploit time frame.

  • Can't you just use a triple layer encryption? I use a three cypher in cascade (3 times 256 bit) and I doubt that you'd get that out of a RAM drive after power off… or am I mistaken? In the example given they found a 128bit AES key in seconds, I don't think they'll find 3 256bit keys…

  • This method is wildly impractical. Lets say Mr. Investigator is needing data off of an encrypted computer. If he comes onto the scene with the computer off, chances are that it has been off too long for the data to still be present on the RAM. If he comes in and the computer is turned on, he would have to shut it off, immediately immerse the RAM in liquid nitrogen to keep it cool long enough to transport to a Lab for testing. But if he comes upon a computer that's turned on, he wouldn't risk data loss by doing this. While this method is unique and innovative, the chances of it actually being applied when it counts most is close to never… you have better luck with brute force/dictionary attack.

  • The solution I think is putting the keys in the low-memory, so the keys are over written as the computer boots!

    I really do not know how large the memory chunk has to be in order to record such key, though if 1/2 KB (512 Bytes) is enough, the adress where bios loades the MBR would be nice!

    Other neat places might be the adress of the BIOS IDT (Interrupt Description Table), as it's not needed any longer as the kernel enters PMod!

Leave a comment

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Subscribe

Free email subscriptions
Get latest updates in email for free:

Translate This Page