Showing posts with label tpm. Show all posts
Showing posts with label tpm. Show all posts

Wednesday, September 07, 2011

Anti Evil Maid


Anti Evil Maid is an implementation of a TPM-based static trusted boot with a primary goal to prevent Evil Maid attacks.

The adjective trusted, in trusted boot, means that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mechanism is to somehow attest to a user that only desired (trusted) components have been loaded and executed during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system boot. It's a common mistake to confuse it with what is sometimes called secure boot, whose purpure is to prevent any unauthorized component from executing. Secure boot is problematic to implement in practice, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re must be a way to tell which components are authorized for execution. This might be done using digital signatures and some kind of CA infrastructure, but this gets us into problems such as who should run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CA, what should be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 policy for issuing certificates, etc.

The adjective static means that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole chain of trust is anchored in a special code that executes before all ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r code on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform, and which is kept in a non re-flashable memory, whose sole purpure is to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 initial measurement of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next component that is going to be executed, which is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS code. This special code, also known as Core Root of Trust for Measurement (CRTM), might be part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS (but kept on a special read-only memory, or implemented by some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r entity that executes before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS reset vector, such as e.g. Intel ME or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 processor microcode even. Once measured, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS code is executed, and it is now its turn to measures cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform configuration, Option ROM code, and MBR. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 loader (stored in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR), such as Trusted GRUB, takes over and measures its own next stages (ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR sector), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor, kernel, and initramfs images that are to be loaded, togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir configuration (e.g. kernel arguments).

As explained above, trusted boot can only retrospectively tell cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r correct (trusted) software has booted or not, but cannot prevent any software from executing. But how can it communicate anything reliably to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, if it might have just been compromised? This is possible thanks to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM unseal operation that releases secrets to software only if correct software has booted (as indicated by correct hashes in select PCR registers).

So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea is that if a user can see correct secret message (or perhaps a photo) being displayed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it means that correct software must have booted, or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM would not release (unseal) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret. Of course we assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 adversary had no ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way to sniff this secret and couldn't simply hardcode it into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid – more on this later.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way to look at it is to realize that Anti Evil Maid is all about aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticating machine to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, as opposed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usual case of aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine/OS (login and password, decryption key, token, etc). We proceed with booting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine and entering sensitive information, only after we get confidence it is still our trusted machine and not some compromised one.

Installing Anti Evil Maid

Anti Evil Maid should work for any Linux system that uses dracut/initramfs, which includes Qubes, Fedora and probably many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r distros. You can find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Anti Evil Maid source code in a git repository here. You can also download a tarball with sources and prebuilt rpm packages from here (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y all should be signed with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Qubes signing key). Qubes Beta 2, that is coming soon, will have those RPMs already per-installed.

To install Anti Evil Maid, follow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 instructions in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 README file.

Some Practical considerations

If you decided to use no password for your TPM SRK key (so, you passed '-z' to tpm_takeownership, see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 README), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you should definitely install Anti Evil Maid on a removable USB stick. Ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise, if you installed it on your disk boot partition, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would be able to just boot your computer and note down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret passphrase that will be displayed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can compromise your BIOS/MBR/kernel images however she likes, and just hardcode cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret passphrase to make it look like if your system was fine.

If you decided to use custom TPM SRK password (so, you did not pass -z to tpm_takeownership), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you can install Anti Evil Maid onto your regular boot partition. The attacker would not be able to see your secret passphrase without knowing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRK password. Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can try anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Evil Maid attack to steal this password, but this attack is easy to spot and prevent (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next section).

However, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is still a good argument to install Anti Evil Maid on a separate USB stick racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than on your built-in disk boot partition. This is because you can use Anti Evil Maid as a provider of a keyfile to your LUKS disk encryption (as an additional file unsealable by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM). This way you could also stop adversary that is able to sniff your keystrokes (e.g. using hidden camera, or electromagnetic leak), and capture your disk decryption passphrase (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next section).

In any case it probably would be a good idea to make a backup stick that you might want to use in case you lose or somehow damage your primary stick. In that case you should have a way to figure out if your system has been compromised in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meantime or not. Use anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r stick, with anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r passphrase, and keep it in a vault for this occasion.

Finally, be aware that, depending on which PCRs you decided to seal your secrets to, you might be unable to see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret even after you changed some minor thing in your BIOS config, such as e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 order of boot devices. Every time you change something in your system that affects cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot process, you would need to reseal your secrets to new PCR values as described in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 installation instructions.

Attacks prevented by Anti Evil Maid

The classic Evil Maid attack is fully prevented.

If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker is able to steal your Anti Evil Maid stick, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker gets access to your computer, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would be able to learn your secret passphrase by just booting from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stolen stick. This is not fatal, because user should get alarmed seeing that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick has been stolen, and use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backup stick to verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system (with a different secret messages, of course), and later create a new stick for every day use with a new secret message.

A variation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above attack is when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker silently copies cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 content of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick, so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user cannot realize that someone got access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick. Attacker cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n uses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 copied stick to boot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's computer and this way can learn cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret passphrase. Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can infect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer with Evil Maid, and can also bypass Anti Evil Maid verification by just hardcoding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret message into Evil Maid. So, even though TPM would know that incorrect software has booted, and even though it would not unseal cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user would have no way of knowing this (as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret would still be displayed on screen).

In order to protect against this attack, one might want to use a non-default SRK password – see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 installation instructions. Now an extra SRK password would be needed to unseal any secret from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM (in addition to PCRs being correct). So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker, who doesn't know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRK password, is now not able to see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret message and cannot prepare cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack (doesn't know what secret passphrase to hardcode cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re).

The attacker might want to perform an additional Evil Maid attack targeted at capturing this SRK password, e.g. by infecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's stick. This, however, could be immediately detected by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user would see that after entering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct SRK password, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was no correct secret passphrase displayed. The user should cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick got compromised togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRK password, and should start cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backup stick, verify that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backup secret is correct, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n create new AEM stick for daily usage.

If an attacker is able to capture cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's keystrokes (hidden camera, electromagnetic leaks), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker doesn't need Evil Maid attack anymore, and so doesn't need to bocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with compromising cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system boot anymore. This is because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can just sniff cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk decryption password, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n steal cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop and will get full access to all user data.

In order to prevent such a “keystroke sniffing” attack, one can use an additional sealed secret on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Anti Evil Maid stick that would be used as a keyfile for LUKS (in addition to passphrase). In this case cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 knowledge of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sniffed LUKS passphrase would not be enough for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker to decrypt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk. This has not been implemented, although would be a simple modification to dracut-antievilmaid module. If you decided to use this approach, don't forget to also create a backup passphrase that doesn't need a keyfile, so that you don't lock yourself from access to your data in case you lose your stick, or upgrade your BIOS, or something! You have been warned, anyway.

Attacks that are still possible

An adversary that is able to both: sniff your keystrokes (hidden camera, electromagnetic leak) and is also able to copy/steal/seize your Anti Evil Maid stick, can not be stopped. If a non-democratic government is your adversary, perhaps because you're a freedom fighter in one of those dark countries, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you likely cannot ignore this type of attacks. The only thing you can do, I think, is to use some kind of easy-to-destroy USB stick for keeping Anti Evil Maid. A digestible USB stick, anyone?

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r type of attack that is not addressed by Anti Evil Maid is an attack that works by removing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 “gears” from your laptop (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard and disk at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very least), putting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re a fake board with a transmitter that connects back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker's system via some radio link and proxies all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 keyboard/screen events and USB ports back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original “gears” that execute now under supervision of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker. Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way of thinking about this attack is as if we took cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard and disk away, but kept all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cables connecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop's keyboard, screen, and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r ports, such as USB (yes, very long cables). The attacker cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n waits until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user boots cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine, passes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine-to-user aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntications (however sophisticated it was), and finally enters cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk decryption key. In practice I wouldn't worry that much about such an attack, but just mentioning it here for completeness.

Finally, if our adversary is able to extract secret keys from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM somehow, e.g. using electron microscope, or via some secret backdoor in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM, or alternatively is able to install some hardware device on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard that would be performing TPM reset without resetting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n such an attacker would be able to install Evil Maid program and avoid its detection by SRTM. Still, this doesn't automatically give access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user data, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would need to obtain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key first (e.g. using Evil Maid attack).

Implementation Specific Attacks

In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion above we assumed that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted boot has been correctly implemented. This might not be true, especially in case of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS. In that case we would be talking about attacks against a particular implementation of your BIOS (or TrustedGRUB), and not against Anti Evil Maid approach.

One typical problem might be related to how CRTM is implemented – if it is kept in a regular BIOS reflashable memory, than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker who can find a way to reflash cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS (which might be trivial in case your BIOS doesn't check digital signatures on updates) would be able to install Evil Maid in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS but pretend that all hashes are correct, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker controls cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 root of trust.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r possible implementation problem might be similar to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack we used some years ago to reflash a secure Intel BIOS (that verified digital signatures on updates) by presenting a malformed input to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS that caused a buffer overflow and allowed to execute arbitrary code within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS. For such an attack to work, however, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS should not measure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 input that is used as an attack vector. I think this was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 logo picture that was used in our attack. Ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise, even if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was a buffer overflow, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chain of trust would be broken and thus cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack detected. In ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possibility of such an attack seems to be racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r slim in practice.

What about Intel TXT?

Intel TXT takes an alternative approach to trusted boot. It relies on a Dynamic instead of Static Root of Trust for Measurement (DRTM vs. SRTM), which is implemented by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction and special dynamic PCR registers that can be set to zero only by SENTER. Intel TXT doesn't rely anymore on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS or CRTM. This offers a huge advantage that one doesn't need to trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS, nor cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot loader, and yet can still perform a trusted boot. Amazing, huh?

Unfortunately, this amazing property doesn't hold in practice. As we have demonstrated almost 3 years ago (!), it is not really true that Intel TXT can remove cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS away from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chain of trust. This is because Intel TXT is prone to attacks through a compromised SMM, and anybody who managed to compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS would be trivially able to also compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM (because it is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS that is supposed to provide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMI handler).

Thus, if one compares SRTM with Intel TXT, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 conclusion is that Intel TXT cannot be more secure than SRTM. This is because if an attacker can compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can also bypass Intel TXT (via a SMM attack). On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, a BIOS compromise alone doesn't automatically allow to bypass SRTM, as it has been discussed in a paragraph above.

It really is a pity, because ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise Intel TXT would be just a great technology. Shame on you Intel, really!

Alternative approaches to mitigate Evil Maid Attacks

Various people suggested ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r methods to prevent Evil Maid attacks, so lets quickly recap and discuss some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m...

The most straight forward approach suggested by most people, has been to disable booting from external devices in BIOS, togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with locking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS setup with an admin password.

There are two problems with such an approach. First, all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOSes have a long history of so called default passwords (AKA maintenance passwords). You don't want to rely on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lack of BIOS default passwords when protecting your sensitive data, do you?

Second, even if your BIOS doesn't have a backdoor (maintenance password), it is still possible to just take your disk away and connect to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r laptop and infect its boot partition.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r suggested approach has been to keep your boot partition on a separate USB stick. This solution obviously doesn't take into account cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker might install Evil Maid into your BIOS. Many consumer laptop BIOSes do not require digital signatures on BIOS firmware updates (my Sony Vaio Z, a racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r high-end machine, is among cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m), making it simple to install Evil Maid cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most trivial attack is to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS always boot from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 HDD instead of whatever ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r device cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user wanted to boot from).

Finally, some people pointed out that many modern laptops comes with SATA disks that offer ability to “lock” cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk so that it could only be used with a specific SATA controller. Using this, combined with setting your BIOS to only boot from your internal disk, plus locking access to BIOS setup, should provide reasonable protection. This solution, of course, doesn't solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem of a potential maintenance password in your BIOS. Also being skeptical and paranoid as I am, I would not trust this mechanism to be really robust – I would expect it would be fairly simple to unlock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk so that it could be paired with anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, unauthorized controller, and that this probably is a matter of NOP-ing a few instructions in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 controller firmware... In fact it seems like you can buy software to unlock this mechanism for some $50... And apparently (and not very surprisingly) some drives seems to continue on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 'default passwords' tradition.

FAQ 

Q: Bitlocker implemented this already several years ago, right?
A: No.

Q: But, two-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication can also be used to prevent Evil Maid, right?
A: No.

Q: Does it make any sense to use Anti Evil Maid without a full disk encryption?
A: No.

Q: Are you going to answer 'no' for each question I ask?
A: No.

Q: Why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no negative indicators (e.g. a big scary warning) when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unseal process fails?
A: The lack of negative indicators is intentional. The user should keep in mind that if somebody compromised cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir computer, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would be able to display whatever she wants on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen, and especially to skip displaying of any warning messages. The only thing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would not be able to display would be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret message. Thus, it would make no sense to use negative indicators, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y would likely not work in case of a real attack. One solution here would be to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unsealed secret as a keyfile for disk encryption (as discussed above), which would make it impossible to decrypt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user disk (and so generally proceed with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot) without successfully unsealing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secret from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM.

Friday, April 30, 2010

Remotely Attacking Network Cards (or why we do need VT-d and TXT)

I've finally found some time to study Loic Duflot's and Yves-Alexis Perez's recent presentation from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last month on remotely attacking network cards. You can get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides here.

In short, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're exploiting a buffer overflow in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network card's firmware by sending malicious packets to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 card, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y gain full control over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 card's firmware, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can e.g. issue DMA to/from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host memory, effectively fully controlling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host (that's anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r example of "Ring -3 rootkit" I would say). The buffer overflow is in some exotic management protocol (that I think is disabled by default, but that's irrelevant) implemented by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NIC's firmware (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NIC has its own RISC processor, and memory, and stack, which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y overflow, etc.).

I like this research very much, because it demonstrates several important things:

First, it shows that it is definitely a good idea to isolate/sandbox all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS networking code using IOMMU/VT-d. And this is exactly what we do in Qubes.

Second, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack provides a real-world example of why Static Root for Trust Measurement (SRTM) is inferior to Dynamic RTM (DRTM), e.g. Intel TXT. To understand why, let's make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following assumptions:
1) The OS/VMM properly uses IOMMU to isolate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network card(s), just like e.g. Qubes does.
2) Once cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker got control over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NIC firmware, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can also modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 persistent storage (EEPROM) where this firmware is kept. This has been confirmed by Loic in a private email exchange.
3) The system implements trusted boot via SRTM, i.e. using just BIOS and TPM, without Intel TXT.

Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 firmware in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 EEPROM and this will allow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker to survive cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform reboot. The card's firmware will start executing early in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot process, definitely before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS/VMM gets loaded. Now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 compromised NIC, because it is capable of doing DMA to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 host memory, can compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 image of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 VMM in a short time window between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time it got measured and loaded by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 (trusted) OS loader, e.g. Trusted GRUB, but still before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time VMM had a chance to setup proper IOMMU/VT-d protections for itself.

Of course, in practice, it might be tricky for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 compromised NIC firmware to precisely know this time window when it should send a compromising DMA write request. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DMA was issued too early, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted OS loader would calculate a wrong hash and put a wrong value into a PCR register, which would later prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system from completing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot, and prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DMA was issued too late, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 IOMMU/VT-d protections would already be in-place, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack would again be unsuccessful. But, hey, much harder obstacles have been worked around by smart exploit writes in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past, so don't comfort yourself that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack is hard. If it's possible, it means this technology is flawed, period.

And this is where DRTM, AKA Intel TXT, shows its advantage over simple SRTM. When you load a hypervisor using TXT, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SENTER instruction would first apply cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 VT-d protections around cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervsior image, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 measurements, and only cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n load it, with VT-d protections still in-place.

The above is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory. A few months ago we demonstrated an attack against this scheme, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack was exploiting a flaw in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT implementation, not in its design, so it didn't render TXT useless as a technology.

A much bigger problem with Intel TXT is, that Intel still has done nothing to prevent SMM-based attacks against TXT. This is what we demonstrated about 1.5 years(!) ago. Our research stressed that TXT without protection from SMM is essentially useless. Intel cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n promised to come up with a spec on how to write an STM, and how TXT should work with STM (when to measure/load it, etc), but nothing has been released by Intel for all this time AFAIK...

Now, without STM (which is supposed to provide protection from potentially compromised SMM), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TXT cannot really prevent Loic and friends from owning cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system, even if it uses such a securely designed OS as Qubes. This is because Loic would be able to modify e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system boots (thanks to DMA ability of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 infected NIC firmware), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n attack an SMM from this MBR (I can bet lots of money Loic & co. would easily find a few ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r SMM exploits in any recent BIOS if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y only wanted to), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n having infected cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will be able to compromise TXT-loaded hypervisor, and finally compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole system.

I know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are some people from various governments reading this blog. If you really want to have secure systems, consider pushing on Intel to finally do something about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SMM-based attacks against TXT. Beware, Intel will try to tell you that, using TXT LCP you can seal your secrets to only "trusted" SMM images and would try to convince you it's a way to prevent SMM attacks on TXT. It is not. Only true SMM sandboxing is a proper way to address this problem.

Anyway, congrats to Loic and colleagues for yet anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r very interesting and meaningful system-level research!

Friday, October 16, 2009

Evil Maid goes after TrueCrypt!

From time to time it’s good to take a break from all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ultra-low-level stuff, like e.g. chipset or TXT hacking, and do something simple, yet still important. Recently Alex Tereshkin and I got some spare time and we implemented cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack against TrueCrypt system disk encryption in a form of a small bootable USB stick image that allows to perform cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack in an easy “plug-and-play” way. The whole infection process takes about 1 minute, and it’s well suited to be used by hotel maids.

The Attack
Let’s quickly recap cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack. The scenario we consider is when somebody left an encrypted laptop e.g. in a hotel room. Let’s assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop uses full disk encryption like e.g. this provided by TrueCrypt or PGP Whole Disk Encryption.

Many people believe, including some well known security experts, that it is advisable to fully power down your laptop when you use full disk encryption in order to prevent attacks via FireWire/PCMCIA or ”Coldboot” attacks.

So, let’s assume we have a reasonably paranoid user, that uses full disk encryption on his or her laptop, and also powers it down every time cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y leave it alone in a hotel room, or somewhere else.

Now, this is where our Evil Maid stick comes into play. All cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker needs to do is to sneak into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user’s hotel room and boot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid USB Stick. After some 1-2 minutes, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target laptop’s gets infected with Evil Maid Sniffer that will record cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk encryption passphrase when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user enters it next time. As any smart user might have guessed already, this part is ideally suited to be performed by hotel maids, or people pretending to be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.

So, after our victim gets back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hotel room and powers up his or her laptop, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrase will be recorded and e.g. stored somewhere on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk, or maybe transmitted over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network (not implemented in current version).

Now we can safely steal/confiscate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user’s laptop, as we know how to decrypt it. End of story.

Quick Start
Download cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 USB image here. In order to “burn” cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following commands on Linux (you need to be root to do dd):

dd if=evilmaidusb.img of=/dev/sdX

Where /dev/sdX should be replaced with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device representing your USB stick, e.g. /dev/sdb. Please be careful, as choosing a wrong device might result in damaging your hard disk or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r media! Also, make sure to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device representing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole disk (e.g. /dev/sdb), racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than a disk partition (e.g. /dev/sdb1).

On Windows you would need to get a dd-like program, e.g. this one, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 command would look more or less like this one (depending on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual dd implementation you use):

dd if=evilmaidusb.img of=\\?\Device\HarddiskX\Partition0 bs=1M

where HarddiskX should be replaced with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual device cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 represents your stick.

After preparing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid USB stick, you’re ready to test it against some TrueCrypt-encrypted laptop (more technically: a laptop that uses TrueCrypt system disk encryption). Just boot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick, confirm you want to run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool (press ‘E’) and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrueCrypt loader on your laptop should be infected.

Now, Evil Maid will be logging cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrases provided during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot time. To retrieve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recorded passphrase just boot again from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid USB -- it should detect that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target is already infected and display cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sniffed password.

The current implementation of Evil Maid always stores cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last passphrase entered, assuming this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct one, in case cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user entered cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrase incorrectly at earlier attempts.

NOTE: It’s probably illegal to use Evil Maid to obtain password from ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir consent. You should always obtain permission from ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people before testing Evil Maid against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir laptops!

CAUTION: The provided USB image and source code should be considered proof-of-concept only. Use this code at your own risk, and never run it against a production system. Invisible Things Lab cannot be held responsible for any potential damages this code or its derivates might cause.

How cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid USB works
The provided implementation is extremely simple. It first reads cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first 63 sectors of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 primary disk (/dev/sda) and checks (looking at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first sector) if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re looks like a valid TrueCrypt loader. If it does, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code is unpacked (using gzip) and hooked. Evil Maid hooks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TC’s function that asks user for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrase, so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hook records whatever passphrase is provided to this function. We also take care about adjusting some fields in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR, like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 boot loader size and its checksum. After cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hooking is done, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 loader is packed again and written back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk.

You can get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid infector here.

Possible Workarounds
So, how should we protect against such Evil Maid attacks? There are a few approaches...

1. Protect your laptop when you leave it alone
Several months ago I had a discussion with one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrueCrypt developers about possible means of preventing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack, perhaps using TPM (see below). Our dialog went like this (reproduced here with permission from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrueCrypt developer):

TrueCrypt Developer: We generally disregard "janitor" attacks since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y inherently make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine untrusted. We never consider cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 feasibility of hardware attacks; we simply have to assume cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worst. After an attacker has "worked" with your hardware, you have to stop using it for sensitive data. It is impossible for TPM to prevent hardware attacks (for example, using hardware key loggers, which are readily available to average Joe users in computer shops, etc.)

Joanna Rutkowska: And how can you determine that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker have or have not "worked" with your hardware? Do you carry your laptop with you all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time?

TrueCrypt Developer: Given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scope of our product, how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user ensures physical security is not our problem. Anyway, to answer your question (as a side note), you could use e.g. a proper safety case with a proper lock (or, when you cannot have it with you, store it in a good strongbox).

Joanna Rutkowska: If I could arrange for a proper lock or an impenetrable strongbox, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n why in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world should I need encryption?

TrueCrypt Developer: Your question was: "And how can you determine that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker has or has not worked with your hardware?" My answer was a good safety case or strongbox with a good lock. If you use it, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you will notice that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker has accessed your notebook inside (as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case or strongbox will be damaged and it cannot be replaced because you had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct key with you). If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 safety case or strongbox can be opened without getting damaged & unusable, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it's not a good safety case or strongbox. ;-)

That's a fair point, but this means that for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security of our data we must relay on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 infeasibility to open our strongbox lock in a "clean" way, i.e. without visually damaging it. Plus it means we need to carry a good strongbox with us to any travel we go. I think we need a better solution...

Note that TrueCrypt authors do mention cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possibility of physical attacks in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 documentation:
If an attacker can physically access cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer hardware and you use it after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker has physically accessed it, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n TrueCrypt may become unable to secure data on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer. This is because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker may modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hardware or attach a malicious hardware component to it (such as a hardware keystroke logger) that will capture cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password or encryption key (e.g. when you mount a TrueCrypt volume) or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer.
However, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do not explicitly warn users of a possibility of something as simple and cheap as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack. Sure, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y write "or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise compromise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer", which does indeed cover e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack, but my bet is that very few users would realize what it really means. The examples of physical attacks given in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 documentation, e.g. modifying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hardware or attaching a malicious hardware, is something that most users would disregard as too expensive an attack to be afraid of. But note that our Evil Maid attack is an example of a “physical” attack, that doesn’t require any hardware modification and is extremely cheap.

Of course it is a valid point, that if we allow a possibility of a physical attack, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can e.g. install a hardware keylogger. But doing that is really not so easy as we discuss in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next paragraph. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, spending two minutes to boot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine from an Evil Maid USB stick is just trivial and is very cheap (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 price of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 USB stick, plus cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tip for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 maid).

2. The Trusted Computing Approach
As explained a few months ago on this blog, a reasonably good solution against Evil Maid attack seems to be to take advantage of eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r static or dynamic root of trust offered by TPM. The first approach (SRTM) is what has been implemented in Vista Bitlocker. However Bitlocker doesn’t try to aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticate to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user (e.g. via displaying a custom picture shot by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 picture decrypted using a key unsealed from a TPM), so it’s still possible to create a similar attack against Bitlocker, but with a bit different user experience. Namely cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid for Bitlocker would have to display a fake Bitlocker prompt (that could be identical to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real Bitlocker prompt), but after obtaining a correct password from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user Evil Maid would not be able to pass cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 execution to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real Bitlocker code, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SRTM chain will be broken. Instead, Evil Maid would have to pretend that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password was wrong, uninstall itself, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n reboot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 platform. Thus, a Bitlocker user that is confident that he or she entered cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct password, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS didn’t boot correctly, should destroy cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop.

The dynamic root of trust approach (DRTM) is possible thanks to Intel TXT technology, but currently cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no full disk encryption software that would make use of it. One can try to implement it using Intel’s tboot and some Linux disk encryption, e.g. LUKS.

Please also note that even if we assume somebody “cracked” cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM chip (e.g. using an electron microscope, or NSA backdoor), that doesn’t mean this person can automatically get access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 encrypted disk contents. This is not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM is used only for ensuring trusted boot. After cracking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would still have to mount an Evil Maid attack in order to obtain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrase or key. Without TPM this attack is always possible.

Are those trusted computing-based approaches 100% foolproof? Of course not. As signalized in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous paragraph, if an attacker was able to mount a hardware-based keylogger into your laptop (which is non-trivial, but possible), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker would be able to capture your passphrase regardless of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted boot. A user can prevent such an attack by using two-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication (RSA challenge-response implemented in a USB token) or e.g. one-time passwords, so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no benefit for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker to capture cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 keystrokes. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker might go to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extreme and e.g. replace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DRAM, or even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CPU with malicious DRAM or CPU that would sniff and store cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key for later access. We’re talking here about attack that very few entities can probably afford (think NSA), but nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretically possible. (Note that an attack with inserting a malicious PCI device that would try to sniff cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key using DMA can be prevented using TXT+VT-d technology).

However, just because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NSA can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretically replace your CPU with a malicious one, doesn’t mean TPM-based solutions are useless. As for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 great majority of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people that do not happen to be on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Terrorist Top 10, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se represent a reasonable solution that could prevent Evil Maid attacks, and, when combined with a proper two-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication, also simple hardware based attacks, e.g. keylogger, cameras, remote keystroke sniffing using laser, etc. I really cannot think of a more reasonable solution here.

3. The Poor Man’s Solution
Personally I would love to see TrueCrypt implementing TPM-based trusted boot for its loader, but, well, what can I do? Keep bocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ring TrueCrypt developers with Evil Maid attacks and hope cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will eventually consider implementing TPM support...

So, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meantime we have come up with a temporary poor man’s solution that we use at our lab. We call it Disk Hasher. It’s a bootable Linux-based USB stick that can be configured in quite a flexible way to calculate hashes of selected disk sectors and partitions. The correct hashes are stored also on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick (of course everything is encrypted with a custom laptop-specific passphrase). We use this stick to verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unencrypted portions of our laptops (typically cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first 63 sectors of sda, and also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole /boot partition in case of Linux-based laptops where we use LUKS/dm-crypt).

Of course cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are many problems with such a solution. E.g. somebody who can get access to my Disk Hasher USB (e.g. when I’m in a swimming pool), can infect it in such a way that it would report correct hashes, even though cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk of my laptop would be “evilmaided”...

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r problem with Disk Hasher solution is that it only looks at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk, but cannot validate e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS. So if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker found a way to bypass cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS reflashing protection on my laptop, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n he or she can install a rootkit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re that would sniff my passphrase or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key (in case I used one time passwords).

Nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less, our Disk Hasher stick seems like a reasonable solution and we use it often internally at ITL to validate our laptops. In fact this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most we can do, if we want to use TrueCrypt, PGP WDE, or LUKS/dm-crypt.

FAQ

Q: Is this Evil Maid Attack some l33t new h4ck?
Nope, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 concept behind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Attack is neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r new, nor l33t in any way.

Q: So, why did you write it?
Because we believe it demonstrates an important problem, and we would like more attention to be paid in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 industry to solving it.

Q: I’m using two-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication, am I protected against EM?
While a two-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication or one time passwords are generally a good idea (e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can prevent various keylogger attacks), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y alone do not provide protection from Evil Maid-like attacks, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker might modify his or her sniffer to look for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 final decryption key (that would be calculated after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 2-factor aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication completes).

Q: How is Evil Maid different from Stoned-Bootkit?
The Stoned Bootkit, released a few months ago by an individual describing himself as “Software Dev. Guru in Vienna”, is also claimed to be capable of "bypassing TrueCrypt", which we take to mean a capability to sniff TC's passphrases or keys. Still, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 biggest difference between Stoned Bootkit and Evil Maid USB is that in case of our attack you don’t need to start cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 victim's OS in order to install Evil Maid, all you need to do is to boot from a USB stick, wait about 1 minute for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 minimal Linux to start, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n press ‘E’, wait some 2 more seconds, and you’re done. With cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Stoned Bootkit, according to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author’s description, you need to get admin access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target OS in order to install it, so you eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r need to know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows admin password first, or use some exploit to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 installer executing on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target OS. Alternatively, you can install it from a bootable Windows CD, but this, according to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 author, works only against unencrypted volumes, so no use in case of TrueCrypt compromise.

Q: I've disabled boot from USB in BIOS and my BIOS is password protected, am I protected against EM?
No. Taking out your HDD, hooking it up to a USB enclosure case and later installing it back to your laptop increases cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack time by some 5-15 minutes at most. A maid has to carry her own laptop to do this though.

Q: What about using a HDD with built-in hardware-based encryption?
We haven’t tested such encryption systems, so we don’t know. There are many open questions here: how is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrase obtained from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user? Using software stored on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk or in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS? If on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk, is this portion of disk made read-only? If so, does it mean it is non-updatable? Even if it is truly read-only, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can reflash cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n he or she can install a passphrase sniffer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS. Of course that would make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack non-trivial and much more expensive than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original Evil Maid USB we presented here.

Q: Which TrueCrypt versions are supported by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current Evil Maid USB?
We have tested our Evil Maid USB against TrueCrypt versions 6.0a - 6.2a (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latest version currently available). Of course, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 “shape” of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrueCrypt loader changed dramatically in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n Evil Maid USB would require updating.

Q: Why did you choose TrueCrypt and not some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r product?
Because we believe TrueCrypt is a great product, we use it often in our lab, and we would love to see it getting some better protection against such attacks.

Q: Why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no TPM support in TrueCrypt?
The TrueCrypt Foundation published official generalized response to TPM-related feature requests here.

Acknowledgments
Thanks to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ennead@truecrypt.org for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 polemics we had which allowed me to better gacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r my thoughts on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 topic. The same thanks to Alex and Rafal, for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 polemics I have had with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m (it's customary for ITL to spend a lot of time finding bugs in each ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r's reasoning).

Thursday, February 19, 2009

Attacking Intel TXT: paper and slides

The new press release covering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 basic details about our TXT attack is here.

The paper is here.

The slides converted to a PDF format are here. There is also an original version of slides in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Keynote format here for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Mac people. And for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people who don't use Mac, but still value cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aescá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tics (?!), I have also generated a QuickTime clickable movie out from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Keynote slides -- it can be found here, but it weighs 80MB.

Enjoy.

Wednesday, January 21, 2009

Why do I miss Microsoft BitLocker?

In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous post, I wrote cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only one thing I really miss after I've switched from Vista to Mac is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker Driver Encryption. I thought it might be interesting for ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs to understand my position, so below I describe why I think BitLocker is so cool, and why I think ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r system disk encryption software sucks.

So, it's all about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Trusted Boot. BitLocker does make use of a trusted boot process, while all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r system encryption software I'm aware of, does not. But why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted boot feature is so useful? Let's start with a quick digression about what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted boot process is…

Trusted boot can be implemented using eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r a Static Root of Trust or a Dynamic Root of Trust.

The Static Root of Trust approach (also known as Static Root of Trust Measurement or SRTM) is pretty straightforward — cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system starts booting from some immutable piece of firmware code that we assume is always trusted (hence cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 static root) and that initiates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 measurement process, in which each component measures cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next one in a chain. So, e.g. this immutable piece of firmware will first calculate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hash of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS and extend a TPM's PCR register with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value of this hash. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PCI EEPROMs and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR, before handling execution to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader measures cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS loader before executing it. And so on.

An alternative method to implementing trusted boot is to use Dynamic Root of Trust (often called Dynamic Root of Trust Measurement or DRTM). Intel's TXT technology, formerly LaGrande, is an example of a DRTM (more precisely: TXT is more than just DRTM, but DRTM is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 central concept on which TXT is built). We will be talking a lot about TXT next month at Black Hat in DC :) This will include discussion of why DRTM might sometimes be preferred over SRTM and, of course, what are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 challenges with both.

Essentially, both SRTM and DRTM, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 context of a trusted boot, are supposed to provide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same: assurance cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system that just booted is actually cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system that we wanted to boot (i.e. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted one) and not some modified system (e.g. compromised by an MBR virus).

BitLocker uses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Static Root of Trust Measurement. SRTM can really make sense when we combine it with eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r TPM sealing or attestation feature. BitLocker uses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 former to make sure that only cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted system can get access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk decryption key. In ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words: BitLocker relies on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM that it will unseal (release) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key (needed to decrypt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system partition) when and only when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 state of chosen PCR registers is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same is it was when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key was sealed into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM.

Ok, why is this trusted boot process so important for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system disk encryption software? Because it protects against a simple two-stage attack:
  1. You leave your laptop (can be even fully powered down) in a hotel room and go down for a breakfast… Meanwhile an Evil Maid enters your room. She holds an Evil USB stick in her hand and plugs it into your laptop and presses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 power button. The system starts and boots from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 USB. An Evil version of something similar to our BluePillBoot gets installed into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR (or to a PCI EEPROM). This Evil Program has only one task — to sniff out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 encryption software's password/PIN and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n report it back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 maid next time she comes...
  2. So, you come back to your room to brush your teeth after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 breakfast. Obviously you cannot refrain from not turning on your laptop for a while. You just need to enter your disk encryption passphrase/PIN/whatever. Your encryption software happily displays cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 prompt, like if nothing happened. After all how could it possibly know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Program, like BluePillBoot, has just been loaded a moment ago from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR or a PCI EEPROM? It can not! So, you enter cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 valid password, your system gets cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key and you can get access to your encrypted system...
  3. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you have an appointment at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hotel SPA (at least this little fun you can have on a business trip, right?). Obviously you don't want to look so geeky and you won't take your laptop with you to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SPA, will you? The Evil Maid just waited for this occasion… She sneaks again into your room and powers up your laptop. She presses a magic key combo, which results in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Program displaying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sniffed decryption password. Now, depending on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir level of subtleness, she could eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r steal your whole laptop or only some more important data from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop. Your system disk encryption software is completely useless against her now.
(Yes, I know that's 3 bullets, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid had to sneak into your room only twice:)

So, why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker would not allow for this simple attack? Because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker software should actually be able to know that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system gets compromised (by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Program) since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last boot. BitLocker should cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n refuse to display a password prompt. And even if it didn't and asked cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password, still it should not be able to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual decryption key out from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 values in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 certain PCR register(s) will be wrong (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will now account for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 modified hashes of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR or PCI EEPROM or BIOS). The bottom line is: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 maid is not getting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption key (just as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user now), which is what this is all about.

At least this is how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker should work. I shall add a disclaimer here, that neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r myself, nor anybody from my team, have looked into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker implementation. We have not, because, as of yet, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re have been no customers interested in this kind of BitLocker implementation evaluation. Also, I should add that Microsoft has not paid me to write this article. I simply hope this might positively stimulate ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r vendors, like e.g. TrueCrypt (Hi David!), or Apple, to add SRTM or, better yet, DRTM, to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir system encryption products.

Of course, when we consider an idiot-attack, that involves simply garbbing somebody's laptop and running away with it (i.e. without any prior preparation like our Evil Maid did), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n probably all system disk encryption software would be just good enough (assuming it doesn't have any bugs in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crypto code).

Some people might argue that using a BIOS password would be just as good as using trusted boot. After all, if we disable booting from alternate media in BIOS (e.g. from USB sticks) and lock down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS using a password (i.e. using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Power-On password, not just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS supervisor password), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above two-stage attacks should not be feasible. Those people might argue, that even if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid had cleared cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CMOS memory (by removing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CMOS battery from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rboard), still cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y would be able to notice that something is wrong — cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS would not longer be asking for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password, or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password would be different from what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y used before.

That is a valid point, but relaying on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOS password to provide security for all your data might not be such a good idea. First problem is that all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BIOSes have had a long history of various default or "maintenance" passwords (I actually do not know how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation looks today with those default passwords). Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r problem is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker might first clear cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CMOS memory, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n modify her Evil MBR program to also display a fake BIOS password prompt, that would accept anything cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user enters. This way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user will not be alerted that something is wrong and will be willing to provide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real password for drive decryption when prompted later by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual drive encryption software.

One might ask why can't cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 similar attack against BitLocker? Even if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real BitLocker uses trusted boot process, we can still infect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR, display cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fake BitLocker PIN prompt and this way get into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possession of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's PIN.

This attack, however, can be spotted by an inquisitive user — after all, if he or she knows cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y provided cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 correct PIN, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it would be suspicious not to see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system being booted (and it won't boot, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fake BitLocker will not be able to retrieve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM). If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fake BitLocker wanted to boot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS (so that user didn't suspect anything), it would have to remove itself from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n reboot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system. Again this should alert cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user that something wrong is going on.

There is also a much more elegant way of defending against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above attack (with fake BitLocker prompt) — but I'd racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r let Microsoft to figure it out by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves ;)

By cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way, contrary to a popular belief cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker doesn't protect your computer from boot-stage infections, e.g. MBR viruses or BIOS/PCI rootkits. As we have been pointing out since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first edition of our Understanding Stealth Malware training at Black Hat in August 2007, BitLocker should not be thought as of a system integrity protection. This is because it is trivial, for any malware that already got access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 running Vista, to re-seal cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker key to arbitrary new system firmware/MBR configuration. Everybody can try it by going to Control Panel/BitLocker Driver Encryption, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n clicking on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Turn Off BitLocker" and choosing "Disable BitLocker Drive Encryption". This will simply save your disk decryption key in plaintext, allowing you to e.g. reflash your BIOS, boot Vista again and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n to enable BitLocker again (this would generate a new key and seal it to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TPM with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new PCR values).


This functionality has been provided obviously to allow user to update his or her firmware. But what is important to keep in mind is that this process of disabling BitLocker doesn't involve entering any special password or PIN (e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BitLocker's PIN). It just enough that you are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 default user with admin rights or some malware running in this context. Pity cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y decided on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 simplest solution here. But still BitLocker is simply cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one coolest thing in Vista and something I really miss on all ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r OSes...