The encryption system implemented by popular solid-state drives (SSDs) is affected by critical vulnerabilities that could be exploited by a local attacker to decrypt data.
The flaws were discovered by researchers Carlo Meijer and Bernard van Gastel at Radboud University in the Netherlands, the duo discovered that it is possible to bypass password-based authentication to access to encrypted data stored on the drives.
Experts pointed out that encryption keys used to protect data are not derived from the owner’s password, this means that an attacker with a physical access to the drive could reprogram it via a debug port in order to accept any password. Once reprogrammed, the SSD will use its stored keys to cipher and decipher stored data.
The attack scenario devised by the experts was successfully tested on three Crucial and four Samsung models of SSDs, the researchers discovered that the devices failed in implementing the TCG Opal standard of encryption.
“We have analyzed the hardware full-disk encryption of several SSDs by reverse engineering their firmware. In theory, the security guarantees offered by hardware encryption are similar to or better than software implementations. In reality, we found that many hardware implementations have critical security weaknesses, for many models allowing for complete recovery of the data without knowledge of any secret.” reads the research paper published by the experts.
“BitLocker, the encryption software built into Microsoft Windows will rely exclusively on hardware full-disk encryption if the SSD advertises supported for it. Thus, for these drives, data protected by BitLocker is also compromised.”
Some SSDs fail to associate the owner’s password with the actual data encryption key (DEK), both secrets are stored in the drive. Normally the firmware on the storage use the DEK only after the owner has provided the correct password. Anyway, an attacker can reprogram the firmware to ignore the password and use the DEK.
Experts also discovered that many drives use a single DEK for the entire SSD, even if the vendors declare that the devices use different sections with different passwords.
The experts were able to modify the routine for the password-checking to accept any password before using the DEK to encrypt or decrypt the device.
With some SSD models, the experts were also able to retrieve the keys by modifying the firmware, in other cases, they were able to access to the key by exploiting a code injection vulnerability in the password routine.
“The analysis uncovers a pattern of critical issues across vendors. For multiple models, it is possible to bypass the encryption entirely, allowing for a complete recovery of the data without any knowledge of passwords or keys.” continues the paper.
“The situation is worsened by the delegation of encryption to the drive if the drive supports TCG Opal, as done by BitLocker. In such case, BitLocker disables the software encryption, relying fully on the hardware implementation. As this is the default policy, many BitLocker users are unintentionally using hardware encryption, exposing them to the same threats.”
The researchers suggest to store the decrypt key off the equipment, for example on the host using full-disk encryption software, and encrypts and decrypts data before it enters and after it accesses the drive using a key derived from a password provided by the user.
“The results presented in this paper show that one should not rely solely on hardware encryption as offered by SSDs for confidentiality,” the paper concluded.
“We recommend users that depend on hardware encryption implemented in SSDs to employ also a software full-disk encryption solution, preferably an open-source and audited one.”
The security duo suggests using VeraCrypt that allows for in-place encryption while the operating system is running, the encryption software can also coexist with hardware encryption.
“In particular, VeraCrypt allows for in-place encryption while the operating system is running, and can coexist with hardware encryption,” they said. “Furthermore, BitLocker users can change their preference to enforce software encryption even if hardware encryption is supported by adjusting the Group Policy setting.”
Let me suggest reading the research paper, it is very interesting.