36

Both my boot partition and my data partition are encrypted with TrueCrypt. My password is lengthy, so I find myself avoiding a reboot of my system whenever possible. When going to lunch (for instance), I have been putting my laptop into "Sleep" mode, which requires me to enter my Windows password to get back into Windows. (My Windows password is weak; more to keep the kids out of my account than anything else.)

I'm aware of software that can remove Windows passwords easily, but I am not aware of a took that can remove a password without rebooting. (If they reboot my machine, they will have to re-enter my TrueCrypt password.) How sophisticated would an adversary have to be to get data from my computer when it is only in "Sleep" mode?

adam.baker
  • 657
  • 6
  • 9

4 Answers4

39

For virtually all disk encryption tools, your encryption key will be stored in RAM while the computer is in use or in sleep mode. This of course presents a fairly significant vulnerability, because if someone can dump the contents of your RAM while keeping its contents intact, it is likely they can extract the key from the RAM dump using widely available commercial software such as Elcomsoft Forensic Disk Decryptor which claims to extract Truecrypt, Bitlocker, and PGP keys.

To protect yourself against this, you'll have to make it harder for an attacker to obtain a RAM dump. The easiest way to obtain a RAM dump is by using software programs that come with many forensics toolkits (which are also freely available). However, the catch is that in order to run these programs, they would first have to unlock your computer. If they can't unlock your computer to run programs, they can't launch any RAM dump utilities. For this reason, having a strong Windows lock screen password is important!

(Also, just to be realistic and state the obvious, the lock screen password is also important because if an attacker is able to guess it, they could just grab a copy of your files right then and there and not even worry about finding your encryption key. For a run-of-the-mill thief interested in obtaining your data, this would probably be the most realistic threat IMO)

A more sophisticated way is to use a cold boot attack; this takes advantage of the fact that contents of memory will remain there for some time (from a few seconds to a few hours if the RAM is cooled with a refrigerant) even after power is turned off. The attacker can then bypass Windows and boot into a RAM dump utility or physically move the RAM to a different machine for reading. This kind of attack significantly harder to protect against.

Lastly I'd also mention that development of Truecrypt stopped a year ago for unknown reasons and it is no longer supported, so I would recommend moving to one of its forks such as Veracrypt.

forest
  • 64,616
  • 20
  • 206
  • 257
tlng05
  • 10,244
  • 1
  • 33
  • 36
  • 15
    I would point out that while the development of Truecrypt did stop. It is currently AFAIK the only actually independently audited full disk encryption software. In most plausible scenarios of why development stopped (XXX started pushing for a backdoor or shutdown of operations, developers got tired, deadman switch on website was triggered) the audited version of the truecrypt software 7.1a is probably one of the currently most trustworthy pieces of full disk encryption software there is. – DRF Jun 02 '15 at 20:18
  • 1
    DMA attacks, for example using PCI express or Firewire ports, are another way of obtaining a full memory image which may contain sensitive information. It is also possible to use the same technique to write to memory, which can allow unlocking without credentials (by patching the code responsible for checking the password). – David Jun 03 '15 at 16:46
  • 3
    @DRF: it's swings and roundabouts really, isn't it? TrueCrypt is audited, but has several flaws identified in the audit. VeraCrypt fixes most (all?) of the identified flaws, but hasn't AFAIK been re-audited. So TrueCrypt is indeed more trustworthy (if you trust the auditors more than you trust the authors of VeraCrypt), but one of the things you can trust it to do is contain the flaws. For some uses the flaws matter, for others they don't. – Steve Jessop Jun 04 '15 at 08:46
8

An attacker could perform what's known as a "cold boot" attack. Sleep mode keeps all the contents of memory active, and the key for your truecrypt volume is stored in memory. The memory contents persist longer without power when the memory is cold. All an attacker has to do is cool down the computer (say by putting it in a freezer), and reboot the machine with a specially crafted OS that can read the contents of memory and look for the key.

The sophistication of this attack only relies on the tools, which only need be written once and could then be utilized by anyone with a freezer and a USB stick. I don't know if easy use tools currently exist to exploit TrueCrypt via a coldboot, but it likely wouldn't be terribly hard to write. In general attacks like this that rely on automation only become easier with time, and filter down into lower and lower skilled attackers.

Steve Sether
  • 21,480
  • 8
  • 50
  • 76
4

If you don't have to reenter your TrueCrypt password, then Windows still has access to the contents of the TrueCrypt volume. An attacker would only have to guess the Windows password to access your data while you are at lunch.

TrueCrypt (or any other disk encryption) will only protect the data from being copied straight from the disk itself, not access through the OS. (The common example is a stolen hard drive or a powered-down laptop.)

ztk
  • 2,247
  • 13
  • 22
-1

I would just wake your computer and then put it into hibernate mode that stores RAM to the hard drive... then I can cut power to your box, remove the hard drive, copy the contents to another disk (which includes the hibernation file - basically a copy of your RAM), put it back in, then put the hard drive back and power on the system.... Then put it back into sleep mode. This would not require any significant sophistication and does not suffer from cold boot or other limitations.

While I didn't go and test this with truecrypt it should (in theory) work.

I would recommend you can disable hibernation to make this infeasible.

Nick
  • 437
  • 2
  • 9