grack.com

Welcome to grack.com

Get Firefox

If you're wondering: Why grack?

News

RSS Validate

Microsoft's BitLocker - mostly insecure?

Out of curiousity, I started reading about Microsoft’s BitLocker technology. This is a way of encrypting a whole hard drive that stores keys in the machine’s trusted platform module (TPM).

My conclusion (though I may be wrong) is that a laptop that uses BitLocker without either an external crypto token or a secure boot ROM is likely susceptible to some relatively easy hardware attacks. BitLocker may defend against casual snooping on random stolen laptops, but a determined attacker with a deliberate target probably won’t be thwarted unless the extra precautions mentioned above are taken.

While on the surface it appears to be a good idea, it seems to have a number of flaws that seem apparent at first glance.

Note that asking for a PIN would add some complexity to the attack, but would be vulnerable to poor PIN choices.

1. The algorithm assumes that BIOS code is immutable. Since the OpenBIOS/LinuxBIOS people have been replacing BIOS chips for a while, this seems to be something that can be easily circumvented. The replacement BIOS need only extend the base PCR with the original BIOS image, effectively inserting itself into the chain of execution.

Note that Microsoft’s document here talks about BIOS upgrades and how they can destroy keys. See this BitLocker presentation for some more information.

The solution for this problem is getting laptop manufacturers to add a secure bootloader that checks the cryptographic signature of the BIOS and embeds a secret key in the TPM. This would be a tricky operation – requiring a hidden boot ROM like what is available on the XBOX.

Difficulty: best case: replacing socketed BIOS or backup BIOS. Worst case: desoldering/resoldering chips.

2. The TPM can be transplanted. By running the TPM in a controlled environment, any software can extend the PCR registers as they would be extended on a real boot, which would then allow the TPM to unseal the keys. The solution, again, is to have a hidden boot ROM that embeds a secret key.

Diffculty: desoldering/resoldering chips.

3. The whole authentication system can be emulated after boot in a non-secure OS. It might be possible to reset the TPM without resetting the system itself. I don’t have specific facts here, but I know that the TPM does have a way to reset the PCR registers, but this doesn’t reset an internal “resets after reboot” counter. An alternative might be to cut one of the Vcc leads of the TPM and allow it to be power-cycled externally.

Once the TPM has been reset, the user may then use an x86 emulator such as QEMU to run the BIOS and boot loader and recover the decryption keys from memory or a more sophisticated attack.

Difficulty: best case: software-only attack, worst case: hardware hack to reset TPM after boot.

Comments

  1. null said 2 days later:

    Well these are all Platform and or BIOS attacks. Last time I checked Microsoft only responsible for the OS. So if a platform vendor screws up the desgin, it is the problem of the OEM and not Microsoft.

    I think when you select a platform to use BitLocker on it, is is important that the OEM can show some penetration test results.

    So a techically more correct title for your entry should be:”Insecure Platforms make BitLocker Insecure”

  2. null said 2 days later:

    Observation 1 - most laptops that get ‘found’ are ‘found’ by someone who has a problem with fish and chips let alone soldering iron and chips.

    Observation 2 - Aren’t other pre-boot multifactor auth options available - like key on a USB flash drive?

    Observation 3 - Targeted attacks make up a very small %age of losses

(leave url/email »)

  

RSS Validate

Note: If you're not sure where you are, you may have come here looking for one of my old addresses.

If you are looking for something in particular, you can search this site via Google:

Google
 
Web www.grack.com