There are several kinds of attacks to which all software-based disk encryption is vulnerable. As with TrueCrypt, the VeraCrypt documentation instructs users to follow various security precautions to mitigate these attacks, several of which are detailed below.
Encryption keys stored in memory VeraCrypt stores its keys in
random-access memory (RAM); on some personal computers
dynamic random-access memory (DRAM) will maintain its contents for several seconds after power is cut, or longer if the temperature is lowered. Even if there is some degradation in the memory contents, various algorithms may be able to recover the keys. This method, known as a
cold boot attack, which would apply in particular to a notebook computer obtained while in power-on, suspended, or screen-locked mode, was successfully used to attack a file system protected by
TrueCrypt versions 4.3a and 5.0a in 2008. With version 1.24, VeraCrypt added the option of encrypting the in-RAM
keys and passwords on
x86-64 editions of Microsoft Windows, with a CPU overhead of less than 10%, and the option of erasing all encryption keys from memory when a new device is connected. The attacker having physical access to a computer can, for example, install a hardware or a software
keylogger, a
bus-mastering device capturing
memory or install any other malicious
hardware or
software, allowing the attacker to capture unencrypted data (including encryption keys and passwords) or to decrypt encrypted data using captured passwords or encryption keys. Therefore, physical security is a basic premise of a secure system. Some kinds of malware are designed to
log keystrokes, including typed passwords, that may then be sent to the attacker over the Internet or saved to an unencrypted local drive from which the attacker might be able to read it later, when they gain physical access to the computer.
Trusted Platform Module VeraCrypt does not take advantage of Trusted Platform Module (TPM). VeraCrypt FAQ repeats the negative opinion of the original TrueCrypt developers verbatim. The TrueCrypt developers were of the opinion that the exclusive purpose of the TPM is "to protect against attacks that require the attacker to have administrator privileges, or physical access to the computer". The attacker who has physical or administrative access to a computer can circumvent TPM, e.g., by installing a hardware
keystroke logger, by resetting TPM, or by capturing memory contents and retrieving TPM-issued keys. The condemning text goes so far as to claim that TPM is entirely redundant. It is true that after achieving either unrestricted physical access or administrative privileges, it is only a matter of time before other security measures in place are bypassed. However, stopping an attacker in possession of administrative privileges has never been one of the goals of TPM. (See for details.) TPM might, however, reduce the success rate of the
cold boot attack described above. TPM is also known to be susceptible to SPI attacks. == Plausible deniability ==