Monday, December 13, 2010

Passwords^10 : Passware scared us all


Originally my plan was to do several blog posts based on what I heard, saw and learned at Passwords^10. That still is my plan of course, but the president of Passware, Dmitry Sumin, scared me. *A LOT*. So first things first; this blog post is highly necessary - and maybe time critical to some of us as well.

A short time before the conference Nataly Koukoushkina, the marketing manager of Passware told me that they would demo their newest version of Passware Kit Forensic (version 10.3) at Passwords^10. Dmitry made his presentation and demo on thursday 9th for the very first time, while they posted their press release (direct link to PDF) at their website.

Lets say you are using Microsoft Bitlocker, or perhaps Truecrypt, to do full hard disk encryption. If you EVER allow your computer to enter hibernation mode, Passware Kit Forensic can be used to extract the decryption key necessary to access your hard drive from the hiberfil.sys file. That file is basically your physical memory saved to disk when you choose to hibernate your computer. And no, the TPM chip present in some laptops (at least in corporate environments) won't help you. The extraction can be done in minutes. Even more frightening: you can't really make that hiberfil.sys go away using standard operating tools, as it is off-limits for you. To be really secure it can't just be deleted either, it has to be wiped.

Recommendation:
NEVER EVER EVER EVER allow hibernation for any computer, at least those that are more exposed to theft or other types of unauthorized physical access! Use sleep mode (keeping data in memory on low power consumption), or do a complete shutdown. WiredPig (Twitter/WiredPig) has already a writeup on this stuff, highly recommended reading. with more details to go.

Does this change my risk evaluation? Yes, it most certainly does.
Probability of computer being stolen or accessed without authorization? Probably no change.
Consequences if stolen? Much higher than before. Flip your coin: a simple criminal wanting a new laptop, or a (targeted) attack to get access to everything you and your employer have on that computer. And more.

Dmitry also showed an somewhat "old" trick; using Firewire to do live memory dumps, thus gaining access to your decryption keys (and anything else) you might have in your computers memory. A trick that most certainly gave a few "WOWs" in the audience, with people afterwards saying "I need to use superglue on my Firewire ports, as well as PCMCIA ports in order to prevent insertion of Firewire cards".

You can see all this, and more, by downloading the video recordings we've made available for free. They are currently hosted at the FTP server of the University in Bergen: http://ftp.ii.uib.no/pub/passwords10/ (Big thank you to @haakonnilsen at UiB for that!). Torrents can also be found at http://home.online.no/~putilutt/torrents/ in case you would like to help us distribute the files. :-)

8 comments:

  1. I think you might need to change your risk assessment a bit. There are in reality two cases to consider here:

    1) Computer is stolen/accessed, and the criminal is not able to decrypt your drive: Probability and consequence remains unchanged.

    2) Compute is stolen/accesses, and the criminal is able to decrypt your drive: Probability is now much higher, consequences remain the unchanged.

    Now you're back to reducing probabilities, which, we're taught, is usually much less expensive than reducing consequences. Score one for CISSP! ...or CISA. I can't remember which.

    ReplyDelete
  2. I think that most computers (laptops) are stolen as part of (random) petty theft. The target is the computer itself, easily sold to somebody else for some easy cash.

    Random theft, that also ends up with unauthorized information disclosure, doesn't happen that often.

    Third there's targeted attacks, where the target is data/information stored on the computer itself, and the computer doesn't actually represent any value compared to the rest.

    Reducing probability? desktop computers for everyone.

    Reducing risk: only centralized storage.

    But... uh... probably a better thing to discuss over dinner than in this comment field. :-)

    ReplyDelete
  3. Hi Per,

    Interesting post, especially since I wrote my master's thesis on the subject of finding crypto keys in live memory.

    There's one caveat to the attack presented by Passware though; using HIBERFIL.SYS as a basis for attacking a machine implies access to the hibernation file. If the macine's system drive is whole-disk encrypted and powered off, the hibernation file is encrypted (as well as all the other information on the disk). Although, if you use whole-disk encryption on a secondary disk (USB/FW) or partition and keep the main partition unencrypted, the attack is certainly viable. The Passware software is certainly neat, and I hope it will be an eye-opener for people that think that software encryption is safe. So I would reccomend shutting the laptop down completely over keeping it in sleep mode.

    If you keep your computer in sleep mode, the memory contents (including crypto keys) are kept in memory. The machine is then both vulnerable to FW attacks and coldboot attacks; e.g. freezing down the memory, dumping it to another drive and analyzing the contents for crypto keys offline. I can demonstrate that for you if you like, it also has a certain wow-factor :)

    Hibernation files are really a goldmine for other information as well, just imagine all the data (documents, passwords, URLs, application data) in the physical memory being dumped to a single file. Other interesting files are crashdump files (BSODs potentially dump all memory to disk at critical errors in Windows). So your recommendation on not allowing hibernation still stands, at least if you don't use a whole-disk encrypted (system drive) machine.

    ReplyDelete
  4. Thank you carmaa!

    I fully agree, and agree to what you're saying. See the video of Passware's presentation an demo: If I don't remember wrong, Dmitry specifically says that it is not his general experience to see the hibernation file encrypted as well. Although he doesn't give any specifics, I guess it has to do with performance.

    We also had a participant from www.hiddn.no at the conference, I'm tempted to say he smiled a little over what he saw. Afterwards he said that their marketing guys would probably like this... :-)

    Please, do provide me with contact details (per aat thorsheim dot net), and I'll get back to you in regard of a possible demo. :-)

    (Yes, we might do this conference again next year!)

    ReplyDelete
  5. Microsoft apparently offers an API for encrypting hibernation files, and Truecrypt utilizes this as of 7.0...

    ReplyDelete
  6. Hi Carsten,

    As I said during the presentation, if a system disk is protected with BitLocker HIBERFIL.SYS file is also encrypted.

    The attack we demonstrated works for BitLocker To Go USB thumb drives and TrueCrypt volumes. (Once again, if the system/boot volume is not protected by TrueCrypt).

    If a system disk *is* encrypted with BitLocker and TrueCrypt we could still use FireWire to acquire memory image (or use cold boot attack) and extract encryption keys.

    Regards,
    Dmitry Sumin
    Passware

    ReplyDelete
  7. Hi Per,

    I like hibernation and I use PGP whole disk encryption on some machines not having a TPM. I've tried to see if anyone has figured out any holes in PGP whole disk encryption like this hiberfil.sys weakness in TrueCrypt and Bitlocker, but I have yet to stumble across anyone claiming to have hacked PGP whole disk encryption.

    I think you should revise your recommendation, "NEVER EVER ... allow hibernation for any computer ..." to, "do not allow hibernation on a computer that uses a storage device encrypted with BitLocker or TrueCrypt if the system drive is also not encrypted."

    Excluding external drives and USB memory, its tough for me to imagine why folks would use Bitlocker on an internal partition without also encrypting the system partition. This configuration would be inconvenient because the encrypted partition(s) would not automatically decrypt on boot-up, and under these circumstances B.L. requires the user to jump through hoops to decrypt it every time they boot. I also wonder what advantage there would be to doing this (again, I am referring to internal drives only). I'm guessing that the vast majority of laptops using Bitlocker have the system partition encrypted and therefore are not exposed to this hole.

    Anyway, its good to know about this. I've thought about using B.L. to go to encrypt external drives and USB memory keys, but I'll stick with PGP whole disk encryption.

    --Geoff

    ReplyDelete
  8. Geoff,

    Thank you for your reply, but I'll hold on to my recommendation on never allowing the use of hibernation.

    Why?

    Because of the firewire attack also demonstrated by Passware at our #Passwords10 conference. If you have a Firewire port, you are at risk. If you have PCMCIA ports, an attacker can insert a PCMCIA Firewire adapter, and it will probably work the same way.

    Unless, of course, your hibernation mode also means using Pre-Boot Authentication (PBA), so that the encrypted memory image doesn't get loaded into memory before successful PBA.

    I'll stick with my recommendation for simplicity. ;-)

    ReplyDelete

All comments will be moderated, primarily for spam. You are welcome to disagree with my posts of course.