Cold boot attack
From Wikipedia, the free encyclopedia
In cryptography, a cold boot attack, platform reset attack, cold ghosting attack or iceman attack is a type of side channel attack in which an attacker with physical access to a computer is able to retrieve encryption keys from a running operating system after using a cold reboot to restart the machine from a completely "off" state.[1][2] The attack relies on the data remanence property of DRAM and SRAM to retrieve memory contents which remain readable in the seconds to minutes after power has been removed.[2][3]
Contents |
[edit] Description
To execute the attack, the machine is cold booted (power is cycled "off" then "on" without letting the computer shut down cleanly); a light-weight operating system is then immediately booted (e.g. from a USB flash drive), and the contents of pre-boot memory dumped to a file. Alternatively, the memory modules are removed from the original system and quickly placed in another machine under the attacker's control, which is then booted to access the memory. Further analysis can then be performed against the information that was retrieved from memory to find the sensitive keys contained in it.
The attack has been demonstrated to be effective against full disk encryption schemes of various vendors and operating systems, even where a Trusted Platform Module (TPM) secure cryptoprocessor is used.[2] This is because the problem is fundamentally a hardware (insecure memory) and not a software issue. While the focus of current research is on disk encryption, any sensitive data held in memory are vulnerable to the attack.[2]
The time window for an attack can be extended to hours by cooling the memory modules. Furthermore, as the bits disappear in memory over time, they can be reconstructed, as they fade away in a predictable manner.[2] In the case of disk encryption applications that can be configured to allow the operating system to boot without a pre-boot PIN being entered or a hardware key being present (e.g. Bitlocker in a simple configuration that uses a TPM without a two-factor authentication PIN or USB key), the time frame for the attack is not limited at all:[2]
| “ | Notably, using BitLocker with a Trusted Platform Module (TPM) sometimes makes it less secure, allowing an attacker to gain access to the data even if the machine is stolen while it is completely powered off | ” |
[edit] Mitigations
[edit] Use advanced encryption modes
The default configuration for Bitlocker uses a TPM without a boot PIN or external key—in this configuration, the disk encryption key is retrieved from the TPM transparently during the operating system startup sequence without any user interaction. Consequently, the Cold Boot Attack can still be executed against a machine with this configuration, even where it is turned off and seemingly safely secured with its keys in the TPM only, as the machine can simply be turned on before starting the attack.
To work around this vulnerability in the default Bitlocker implementation, use two-factor authentication, such as a pre-boot PIN and/or a removable USB device containing a startup key together with a TPM.[4][5] In this mode, a PIN or startup key is required when turning the machine on or when waking from hibernation mode (a power off mode). The result is that once the computer has been turned off for a few minutes, the data in RAM will no longer be accessible without a secret; the attack can only be completed if the device is obtained while still powered on. No additional protection is offered during sleep mode (a low power mode) as the key typically remains in memory with full disk encryption products and does not have to be re-entered when the machine is resumed.
[edit] Power management
Shutting down a computer will usually discard the encryption keys from memory; in some cases, so will the hibernate feature (ACPI state S4). Therefore, ensuring that the computer is shut down or hibernating whenever it is in a position where it may be stolen can mitigate this risk.[2][6][7] Since hibernation involves writing the contents of RAM to a disk file or partition, in order for hibernation to protect against cold boot attacks, the hibernation file or partition would usually need to be included in the encryption.
By contrast sleep mode (ACPI states S1, S2 and S3) is generally unsafe, as encryption keys will remain in the computer's memory, allowing the computer to read encrypted data after waking up or after reading back the memory contents. Configuring an operating system to shut down or hibernate when unused, instead of using sleep mode, can help mitigate this risk.
[edit] Use TCG compliant systems
Another mitigation method is to use hardware and an operating system that both conform to the "TCG Platform Reset Attack Mitigation Specification",[8] an industry response to this specific attack. The specification forces the BIOS to overwrite memory during POST if the operating system was not shut down cleanly. However, this measure might still be circumvented by removing the memory module from the system and reading it back on another system under the attacker's control that does not support these measures.
[edit] Booting
Limit the boot device options in the BIOS to prevent another operating system from being booted.[5] Again, this cannot prevent the memory module from being removed from the system and read back on an alternative system that does not support this limitation. In addition, most chipsets allow the BIOS settings to be reset in hardware, allowing the default boot settings to be restored even if they are protected with a password.
[edit] References
- ^ Douglas MacIver (2006-09-21). "Penetration Testing Windows Vista BitLocker Drive Encryption"., HITBSecConf2006, Malaysia: Microsoft. Retrieved on 2008-09-23.
- ^ a b c d e f g J. Alex Halderman, Seth D. Schoen, Nadia Heninger, William Clarkson, William Paul, Joseph A. Calandrino, Ariel J. Feldman, Jacob Appelbaum, and Edward W. Felten (2008-02-21). Lest We Remember: Cold Boot Attacks on Encryption Keys. Princeton University. http://citp.princeton.edu/memory/. Retrieved on 2008-02-22.
- ^ Sergei Skorobogatov (June 2002). Low temperature data remanence in static RAM. University of Cambridge, Computer Laboratory. http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-536.html. Retrieved on 2008-02-27.
- ^ "BitLocker Drive Encryption Technical Overview". Microsoft. 2008. http://technet.microsoft.com/en-us/library/cc732774.aspx. Retrieved on 2008-11-19.
- ^ a b Douglas MacIver (2008-02-25). "System Integrity Team Blog: Protecting BitLocker from Cold Attacks (and other threats)". Microsoft. http://blogs.msdn.com/si_team/archive/2008/02/25/protecting-bitLocker-from-cold-attacks-and-other-threats.aspx. Retrieved on 2008-09-23.
- ^ "Don't Panic - Cold Boot Reality Check". Secude. 2008-02-21. http://finallysecure.com/html/index.php?id=1063. Retrieved on 2008-02-22.(registration required)
- ^ "Encryption Still Good; Sleeping Mode Not So Much, PGP Says". Wired. 2008-02-21. http://blog.wired.com/27bstroke6/2008/02/encryption-stil.html. Retrieved on 2008-02-22.
- ^ "TCG Platform Reset Attack Mitigation Specification". Trusted Computing Group. 2008-05-28. https://www.trustedcomputinggroup.org/resources/pc_client_work_group_platform_reset_attack_mitigation_specification_version_10/. Retrieved on 2009-06-10.
[edit] External links
- Lest We Remember: Cold Boot Attacks on Encryption Keys at YouTube
- McGrew Security's Proof of Concept

