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).

55 comments:

Mark Linton said...

Great proof Joanna! I throw my vote in for TC to get TPM capability soon!

Anonymous said...

Joanna...

Do you ever sleep? I love your research and you poke in all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 deep dark corners bringing to light all kinds of evilness.... how can you sleep knowing that this is all out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re???

keep up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good work... hopefully ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs (including me) can learn something from it.

Jason said...

Nice work, Joanna! I'm sure that maids everywhere are preparing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir USB drives as we speak. :)

Maybe this tool will give TrueCrypt furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r incentive to implement TPM support.

Wolven Deer said...

Very interesting post. I never really thought about this aspect of attack against full disk encryption, but it makes sense. Would it also follow cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n that a modification of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid Infecter could install a backdoor password into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TC loader that records cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password and enters it whenever said backdoor password is entered? It seems for non-laptop toting Evil Maids that this would be an easier approach than merely displaying a password that for a reasonably paranoid person would be unreasonably long.

Vladimir Korennoy said...

I agree that developers of TrueCrypt is not responsible for user's password security.
In fact, I think, it doesn't matter how maid will get passphrase - buy keylogging or buy reading it on a shit of paper attached to laptop :)

Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 interesting reading.

Anonymous said...

it's a problem of trust.
Don't trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y enter a pass phrase, so hackers log cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pass phrase, using whatever tech knowledge. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hackers are trusted.

Zimmerman showed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way, always require a 2 key approach.

Don't trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user ever, make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication process hardware to hardware over a quantum entanglement link, negating echelon.

AJA

Unknown said...

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r poor-man's alternative would be to put cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrueCrypt loader on a bootable business-card CD, that you carry around with you in your wallet (or even on a chain on around your neck...). Might be a good idea to sign cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 label side in your own hand, too.

You could even take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CD into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pool :)

Oh yes, and for anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r level of assurance, when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS boots up it should verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CD to make sure it hasn't been tampered with (against a hash stored within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 encrypted partition itself) before ejecting it, so that you don't forget to take it out.

Anonymous said...

Good article, but you win cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 award for most inappropriate/overuse of "e.g."

Joanna Rutkowska said...

@Wolven: yes, it's certainly possible.

@Vladimir: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem here is not a careless user who writes his or her password on a yellow sticker attached to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop! The problem here is that, with most full disk encryption programs, an average user cannot really protect his or her passphrase, even if he or she is reasonably careful. Evil Maid is not about exploiting carelessness of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user! It's about exploiting lack of integrity verification in a bootloader.

@Anonymous: As I explained it in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 2-way aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication would *not* prevent Evil Maid attack, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can always sniff cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 final key.

@caf: yes, that's anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r approach, still having cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same problems as our Disk Hasher approach, e.g. not possible to ensure BIOS integrity.

Vladimir Korennoy said...

@JOANNA:
Yes, I understand that.
I meant that TrueCrypt is not a 'complex security tool', so it's not about to secure all system from all sides.
Of course I agree that integrity checking would be a nice feature, but it's a high priority task for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.
May be someone of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m will implement it at spare time on Saturday evening :)

Offtopic: did you get my letter?

Vladimir Korennoy said...

@JOANNA:
in my previous post cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's a typo: must be "NOT a high priority task for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m"...

Unknown said...

Q: What about using a HDD with built-in hardware-based encryption.

Some time ago I've checked this type of encryption on HPs' laptops, and changing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hdd to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r laptop (hp one too, with disabled password) didn't help. It didn't rocognize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hdd at all.

e40 said...

Joanna, thanks for an interesting post.

Can/have you made your disk hasher available? I like that solution.

Joanna Rutkowska said...

@Think Secure: that's probably something called "HDD lock". Never had a chance to study this, but apparently cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a way for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OEM to bind (pair) given HDD with a given SATA controller. Not sure how "breakable" this is, but still relaying on this means you relay on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security of your BIOS (BIOS password and reflash protection). Of course this make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid more difficult, but still I would prefer to have a good SRTM or DRTM trusted boot instead. I just think it's harder to break that, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n a BIOS ;)

Ahuramazda said...

Joanna, you are making my data tremble with fear with your research :(

sham said...

Or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y could install a camera which records you typing your password, or....

Great to see someone finally implement this and release publicly. One method I personally use with LUKS on linux is to carry my kernel on USB drive and always boot from that. It falls to ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r attacks such as malicious BIOS, but deals with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most common cases I'm worried about.

Joanna Rutkowska said...

@sham: just carrying your kernel on a USB is not a good solution, as it doesn't prevent even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 basic Evil Maid attack.

Anonymous said...

Now if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user is really smart, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 important things (that may be on his or her laptop) will be encrypted again with TrueCrypt or stored offsite for access later. :) Then alll that work just went to waste!

Anonymous said...

Hello, I would like to ask you about your comment to @sham, that he's carrying kernel on USB stick.
I use it also this way, I have my ery small USB stick that I ALWAYS! take with me anywhere. On this usb stick i have linux kernel and specialy crafted initrd. On my HDD cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's only dm-crypt/luks encrypted partition, no /boot partiotion etc.
Could you provide me more info why this is wrong solution?
I've always assumed that I have to prevent anyone from access to mys usb stick and I'll be safe...

Thx, MK

Anonymous said...

Hey,
Good stuff. Means what you should always remember: physical security is important.

First, with TrueCrypt you can have hidden volume inside encrypted volume. So being paranoid you could have hidden (encrypted) volume inside encrypted file-based volume on encrypted system drive. Should make life more complicated for everyone :)

Second, what do you think of generating password using scheme like [static part of password][add all digits in date+current hour]? It should beat keylogger for a moment, esp. if you replace non-static part with something more complicated (I am thinking generated one-time password).

Rgds, B.

Joanna Rutkowska said...

@anonymous-smartass:

Now if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user is really smart, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 important things (that may be on his or her laptop) will be encrypted again with TrueCrypt or stored offsite for access later. :) Then alll that work just went to waste!

If that was such a great solution why would anybody need full disk encryption at all? Not to mention that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passprases/keys for your TC containers can be also sniffed by a modified Evil Maid (resident keylogger).

@anonymous-MK:
You cannot let any code to execute from HDD, even MBR, if you want to prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid attack. So, if you use GRUB/lilo and it is installed on your /dev/sda, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n no matter if it uses kernel/initrd located on some USB key -- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid can be started from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR. Of course this time it would have to be a slightly more complicated keylogger racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n a simple patcher. The proper solution would be to *boot* from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 USB key, i.e. have GRUB/lilo installed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. Of course cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is still a problem of a potential e.g. BIOS compromise.

@anonymous-B: hidden volumes do *not* make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid attack any more difficult. The password generation scheme you propose is nothing else like a special case (a very poor one) of one-time password scheme, and I already explained in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article why it does *not* prevent Evil Maid-like attacks.

Anonymous said...

@Joanna

"Not to mention that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passprases/keys for your TC containers can be also sniffed by a modified Evil Maid (resident keylogger)."

On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 response to 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 user, what if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user was running in a VM and using keyfiles? Would keyfiles assist at all with protecting from such or not?

R,
Jeffrey

Anonymous said...

This makes me miss when Trucrypt originally made it so if you modified cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR in anyway and messed up TrueCrypt's bootloader your system would not start. At least cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you would know your machine was messed with.

Anonymous said...

Does something like KeyScrambler Premium (http://www.qfxsoftware.com/index.html#premium) help with protecting from your Evil-Maid "sniffing" keystrokes? Or is it useless since your Evil-Maid has already patched cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBR? Just curious. :)

Anonymous said...

This works against Truecrypt on both 32bit and 64bit systems correct?

Joanna Rutkowska said...

@Jeffrey: Nope. A VM is *not* (and cannot be with present technology) protected from a potentially compromised VMM.

@Anonymous #1: No, software-enforced MBR integrity protection would not help. Think: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid could be implemented as e.g. Blue Pill Boot.

@Anonymous #2: No, such tricky software (gee, what people will not come up with!) will not protect you. Evil Maid can always go directly after your e.g. AES key (racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n a passphrase).

@Anonymous #3: Yes.

simo said...

http://www.engadget.com/2009/10/18/origin-unveils-750gb-and-1tb-data-locker-encrypted-external-hdds/

Joanna Rutkowska said...

Data Locker looks very interesting indeed. We might consider moving our DiskHasher onto such device.

But... Hey, it has upgradeable firmware:
http://www.datalockerdrive.com/firmware-update.html

Now: how is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 firmware update aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365nticated? Can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 update mechanism be circumvented? Some guys did it recently with Intel vPro BIOS via BMP integer overflow ;)

Still, it looks like a very cool thing.

Anonymous said...

I suggest anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r poor man solution: The "immutable" MBR. This would have to be implemented in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk firmware, which shifts cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack level to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disk firmware and it has to be immutable as well. Hm... Unfortunately this also won't protect against BIOS changes.

medo said...

Thanks for sharing

Joanna Rutkowska said...

@Anonymous: The "Immutable MBR" solution would not work, because all FDE loaders take more cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n just one sector.

Vincent said...

Do you think it will worked against ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r HDD encryption solution such as Mcafee Safeboot? This seemed to be a very strong solution and often use by enterprise and maybe some government agencies.

Does it mean we need to understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 function call used by Safeboot for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 passphrase during preboot in order to modify Evil Maid to hook to it?

http://www.mcafee.com/us/enterprise/products/data_protection/data_encryption/endpoint_encryption.html

Lance said...

For all who speak German: in his blog Michael Ritter came up with a racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r simple interim-solution (until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stubbern TC-developers do something about it): he wrote a batch file checking 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 boot drive for manipulation at every logon. If you see a manipulation, re-write cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader, re-encrypt your drive (new master key) and Bob's your uncle. I like it!

http://www.sicherheitsblog.info/blog/index.php?/archives/249-2009-10-17.html

S. Hamid Kashfi said...

As of "poor man's solutions" section you've mentioned protecting BIOS and in comments I see points to password protected (read locked) hard disks.

Locking HDD with password will prevent plug-it-in-anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r-system case. I've previously played with this protection and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re`s really no easy software based way to bypass it. Considering you have enough time, changing HDD chipset board with an unlocked (& same brand/model) one is a solution but it`s not always possible in hotel situations & also not working for all brands.

Joanna Rutkowska said...

@Vincent: unless McAffe uses some hardware-based supported integrity checking technology, e.g. TPM-supported trusted boot, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it is vulnerable. We don't necessarily need to understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FDE's loader code in order to implement Evil Maid-like sniffer. Instead, we can implemented cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sniffer as a resident keylogger, e.g. using interrupt hooking, or in a more modern way, using Blue Pill Boot approach.

@Hamid: keep in mind that BIOSes have long history of "admin" or "support" password backdoors... Relaying on BIOS to secure your laptop is a bit of a stretch to me...

Vincent said...

Hi,

I think this (http://www.digisafe.com/products/products_DiskCryptMobile.htm)maybe a better product as compared to Datalocker.

DiskCrypt store its keys in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smartcard instead of in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device itself such as Datalocker.

Joanna Rutkowska said...

@Vincent: Digisafe looks interesting indeed.

everyday_normal_guy said...

@Think Secure & @Joanna,
"HDD Lock" or simply ATA Password is very easy crackable on 97% of HDDs. The mechanism of this in laptops is that BIOS stores a correct ATA password for a given HDD. When you swap disks, BIOS-stored password and HDD password will not match. Some RAID controllers will also setup vendor-default password on any connected HDD.
You can use ATA terminal to exploit flaws in HDDs firmware and recover cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password. On some HDDs you can use standard 0x20/0x21 ATA commands, but you have to send special 'unlocking' command first (for example, 57 44 43 00 00 a0 8a). So - don't think ATA password is some kind of security. It's an ilusion of security.

samyee said...

Run TrueCrypt on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backend server and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n RDP into it. It will foil Joanna's attack, unless cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hotel maid can sneak into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data center server. In our POC of deploying TrueCrypt on Microsoft Presentation Virtualization (Present-V), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 keyfile is stored in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user smart token (in user's possession) while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process is always on 24x7 at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backend terminal server (i.e no boot-up process).

See my blog: http://networkerslog.blogspot.com/2009/10/truecrypt-on-present-v.html

Joanna Rutkowska said...

@Samyee: Your setup would not prevent compromise of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop (think e.g. Blue Pill Boot, instead of simple Evil Maid). This means cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Maid can still infect your laptop and get access to any resource you will be accessing from your compromised laptop, no matter what aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication is used between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop and 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 resource.

Anonymous said...

There is something similar to attack Sophos' Utimaco, you can read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper here: http://www.mentat-solutions.com/whitepapers/57-utimacosafeguardeasy45xuserpasswordlogging

Vincent said...

If I have enabled 2-factor using smartcard with TC, does that make it safer since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 evil maid need my smartcard to unlock my encrypted HDD?

Anonymous said...

I don't get what all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fuss is about.

The maid could just replace your computer with an identical-looking model (or swap drives, or set cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bios to netboot, or whatever) that had a bogus password entry program.

Joanna Rutkowska said...

@Vincent: Ignoring for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that TC doesn't support smart cards, or even keyfiles, for system disk encryption, still cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem with using a smartcard is that in most cases cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption will be carried by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CPU and not by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smarcard for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 performance reasons. Evil Maid can always catch cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key if it gets to system DRAM.

@Anonymous-smartass: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big deal here is about how cheap, fast, and simple this attack is.

Anonymous said...

Great article! There are however two counter-measures that I don't see mentioned that are quite simple, yet effective:

1. Install Windows on a SATA-stick, e.g. from OCZ, and always keep it in personal custody (except perhaps while in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pool). Only use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 built-in HDD as a volume-encrypted secondary drive, if at all.

2. Store cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 laptop in a sealed envelope when left unattended, e.g. in a hotel room. Easy to use sealings are available in many qualities, e.g. postal security tape, depending on your level of paranoia.

In addition, of course also use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 onboard TPM with all static measurements, enable BIOS admin & boot passwords, HDD ATA passwords (on secondary drives), etc, and never leave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 computer unattended with Windows still in RAM.

Joanna Rutkowska said...

@Anonymous: unfortunately things like swimming pool activities, which might seem strange to many computer geeks, are examples of things that normal people actually do, and cannot be simply ignored. Plus this doesn't protect you against BIOS/firmware compromise.

Good point about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sealed envelope though, it seems certainly better cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n carrying a strongbox. Although, personally, I still believe it is more difficult to break TPM, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it is to open a sealed envelope in a clear way (any "research" done in this area?).

alech said...

Hi Joanna,

FYI, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fake Bitlocker prompt has been implemented by my colleagues, see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir paper if you're interested.

See you in Hamburg next week.

Cheers,
Alex

Davi Ottenheimer said...

@Joanna "it is more difficult to break TPM, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it is to open a sealed envelope in a clear way"

There is a very long history/study of breaking sealed envelopes; for example water vapor led to special glues and heat-sensitive ink...and so on. The problem for envelopes becomes control strength is inversely related to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of times you can use one so you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n must carefully maintain an inventory.

Joanna Rutkowska said...

A general note to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last 30 or so people whose comments were rejected by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cruel moderator: RTFA (and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r comments too), before posting. Also, keep in mind it's a technically-oriented blog, and let's keep it that way.

Anonymous said...

I also expect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Evil Maid to copy cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole HDD when s/he infects cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bootloader. That way she only needs 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 machine, not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole HDD. This could be done via wifi, bluetooth, etc.

Anonymous said...

Joanna, anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r user asked this, but I didn't see a reply:
Any chance of getting Disk Hasher from you folks?

Joanna Rutkowska said...

@Anonymous: right now we're not planning on making our DiskHasher freely available.

Anonymous said...

I know this may be a little moot, but much along cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lines of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 USB Hasher, I've used cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 USB Bootloader (a Linux formatted USB stick) with a copy of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TC Recovery ISO boot image installed on it. Once I have suggessfully built that, I remove cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TC bootloader from my laptop (thus replacing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TC BL with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original MBR), which BTW, you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n have to reinsert cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 header data back onto cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 volume (which you do all of this with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rescue CD), and voila, you have a laptop with a non-booting HD, no TC bootloader, and a USB stick that you keep with you at all times for security. Yes, yes, I know, it follows cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same risks as having cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Hasher key stolen, so I also have a toughbook with a quickrelease HD.. :-)

Pete said...

@Joanna,

Like @Sham and @Anonymous-MK, I too have started booting from a USB key containing my kernel. In fact, I have no MBR or LUKS header on my internal HDD at all, just encrypted data. Click my name for details.

The ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r nice thing this gives you is plausible deniability that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's even encrypted data present. Of course, if someone looks at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 drive, you'll have to re-encrypt to prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m from detecting only certain sectors have changed...

Previously, I was hashing my /boot partition once I was booted, but that would have only detected tampering after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact. I like your pre-boot method better, but if I'm going to boot off of USB, I might as well boot right into my OS.
--
Pete

Unknown said...

Brilliant proof of inherent insecurity - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TrueCrypt guy's answers were somewhat doofish though - if I have to carry a strongbox around with me, why pay for his product?

The point of using an encrypted disk of course is to prevent infiltration - if it's just a minor inconvenience it might block a petty thief (so would cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 strongbox) but clearly an orchestrated effort yields results - and if you've got something valuable enough on your notebook, someone will orchestrate an attempt - although, with cheap teraflop parallel GPUs, evolving quantum algorithms, etc. if it's really valuable enough someone might put togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r enough horsepower to brute force and render cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 encryption on your disk meaningless anyway (with or without skimming your passphrase).

Excellent article!!