5 ms·
Breaking Bitlocker – Bypassing the Windows Disk Encryption [video]
- aquova 3y agoVery interesting video. For those who can't watch, he creates a PCB with a RPi Pico and some data pins which can sniff the BitLocker key as it's sent from the TPM chip back to the CPU. I was surprised to see that this was sent in plaintext, so although his board probably will only work for that particular motherboard, the method would be sound for other computers as well. I'll leave the comments about MS requiring TPM chips for Win11 to others.
- ghostpepper 3y agoIt's a bit of a chicken-egg problem when the TPM is the root of trust for the entire system. Sure you can encrypt the data on the bus, but where do you store that key?
- mjg59 3y agoYou don't need to store that key anywhere, just like you don't need to store any keys to validate TLS connections.
- northern-lights 3y agoTPM can always store the (root) private key inside the TPM, but where will the other side of the channel (CPU, HD etc.) store their private key?
- sneak 3y agoIt could be burned into the CPU die by blowing fuses, or stored in a tiny bit of on-die flash, or stored encrypted in SPI flash, encrypted with a factory secret key burned into the CPU at manufacture. But more generally, you don’t need a long term key to prevent sniffing attacks like this; Diffie-Hellman is a thing. Doing an unauthenticated DH would make this attack harder and slower (active MitM probably requires removing the TPM chip from the board) but would not prevent it.
- krab 3y agoMaybe it would be more practical MITMing near the CPU. Some plastic "extender" routing the relevant pins through an external device but still allowing for cooling? But could the communication be authenticated? Like in CPU having a public cert, self signed. TPM then can authenticate the CPU that generates the key and later sends it only over an authenticated TLS session to the same CPU.
- H8crilA 3y agoYou use a Diffie-Hellman key exchange, signed by a cert stored in the CPU on one side and verified by the TPM on the other. CPUs already have such secret certs inside of them, for example for Intels' SGX. But as you can read in the article linked by /u/osy, the TPM ecosystem is a victim of design by committee where such things as a threat model are not a thing. They were focused on building a "generic security solution" or some other nonsense, instead of making a threat model, then a protocol, then a verification of the protocol under the threat model - like people did for example with TLS 1.3.
- chii 3y ago> instead of making a threat model because they want the threat model to be "what any customer who is going to buy this shit might have as a threat".
- _cenw 3y agoOr you use fTPM, the one inside your CPU, which is how most computers that run Windows 11 (without bypassing the restrictions) do it.
- veeti 3y agoUnless you happen to have an fTPM that is permanently vulnerable to such attacks: https://www.amd.com/en/resources/product-security/bulletin/amd-sb-4005.html https://www.amd.com/en/resources/product-security/bulletin/a...
- briHass 3y agoExactly. An attacker that has full access to the device can get past encrypted TPM parameters, it would just slow them down. The best method is pre-boot auth where the TPM itself requires a PIN to release the keys. Windows doesn't use that by default, but it can be enabled.
- darkclouds 3y ago[dead]
- p_l 3y agoTPM 2.0 provides encrypted sessions specifically to handle this problem. Of course you need to first use them...
- matsz 3y agoThis is particularly interesting considering that TrueCrypt recommended migration to BitLocker as the main option for Windows: https://truecrypt.sourceforge.net/ https://truecrypt.sourceforge.net/ IIRC Apple's version of TPM (Secure Enclave) should be immune to such attacks (since it's on the SoC, but I'm not sure whether the communication is encrypted or not), and the main data encryption method for GNU/Linux (LUKS) does not utilize TPM by default (might depend on distro though). EDIT: I believe that the method in the video only works for volumes that aren't password/PIN-protected.
- dist-epoch 3y agoIf you worry about someone sniffing your hardware buses, you should also worry about them intercepting your keyboard connection when you type the TrueCrypt password.
- deleted 3y ago[deleted]
- 0cf8612b2e1e 3y agoDoes seem laughably easy to intercept the keyboard connection.
- Dylan16807 3y agoThe problem is that they can sniff the bus at their convenience after grabbing the hardware and running. No need to hide a keylogger.
- p_l 3y agoTPM 2.0 supports encrypted sessions, which block this kind of attack (TPM 2.0 is wholly different beast than TPM 1.x series). I do not recall if cryptsetup's TPM2 support sets up encrypted session, but for BitLocker just setting it to require PIN breaks this attack (the PIN is used as part of TPM policy preventing automatic decryption). Additionally, some laptops at the very least attempt to erase TPM on case open.
- 3y ago
- bugbuddy 3y agoI predict that this will necessitate an upgrade to TPM 3.0 with a key exchange handshake mitigation along with it being a requirement to upgrade to Windows 12. That’s fine though because it will help with economic growth and all the relevant companies’ bottom lines.
- p_l 3y agoTPM2 already has encrypted session support which does exactly that.
- linarism 3y agoWorth noting that modern AMD CPUs incorporate the TPM functionality in the CPU itself, not sure about Intel.
- Kluggy 3y agoAMD calls it fTPM (Firmware TPM I believe) and Intel calls it PTT (Platform Trust Technology)
- dist-epoch 3y agoThe most recent AMD CPUs, Zen4 also incorporate Pluton, the TPM designed by Microsoft based on Xbox security experience.
- Arnavion 3y agoAlso given AMD's repeated bungling of the fTPM, Pluton is probably the better option if you must enable one.
- jsmith99 3y agoNothing new. This attack is demonstrated here many times and the Microsoft docs discuss a similar attack using self encrypting drives. The counter measure is to use a virtual TPM built into the CPU or to use TPM+PIN (which is standard practice for security).
- p_l 3y agoAnother piece is to use encrypted session where the traffic between OS and TPM is encrypted as well.
- osy 3y agoTPM is insecure against physical attacks by design: https://gist.github.com/osy/45e612345376a65c56d0678834535166 https://gist.github.com/osy/45e612345376a65c56d0678834535166 The only secure implementation is called D-RTM which requires a level of chip, OEM, and OS support that's not done in practice.
- mike_hock 3y agoI hope this attempt at shoving hardware DRM down our throats tanks just like the last one did.
- p_l 3y agoIt's not actually used for DRM, that's part of Intel ME and why AMD PSP is closed source. Both of those are involved in setting up "protected media path" which is all about setting up encrypted channel between display and media player to prevent sniffing. TPM could be used for DRM in the sense that DRM software could refuse to run on system that isn't approved, but it's not going to stop you from enjoying a DRM free system - in fact it can help by explicitly supporting clearing of TPM state by owner.
- shawnz 3y agoHaving a non-zero attack surface doesn't mean your security system provides "zero practical security". This is at best equally as hyperbolic as the vendors' own marketing claims that you are arguing against.
- mjg59 3y agoNot really? Encrypted sessions block the trivial attack of just watching the secret go across the bus. Pushing people to MITM attacks is already an improvement, and while generating initial trust in the TPM for that purpose isn't straightforward, it's not impossible. The almost universal implementation of TPM-backed secret management isn't secure against physical attack, but that's very different to "insecure by design". All the primitives to make this work reasonably are there, OS and firmware vendors just aren't using them.
- whyoh 3y agoTo decrypt a drive with a TPM-only key you just need to turn on the PC. So what's the big deal here? It's disappointing that TPM-only is the default for Bitlocker, but you can just use something else (pin/password, key file, ...).
- shawnz 3y agoThese kinds of attacks aside, the intent is that you need to turn on the PC and then actually boot to the intended operating system, which is then protected with a login screen
- ale42 3y agoExcept that if you can sniff the encryption keys, you can tamper with the OS and for example remove the password...
- whyoh 3y agoYeah fair enough. The login screen should still provide good protection in a TPM-only scenario. (Although it had some vulnerabilities in the past: https://secret.club/2021/01/15/bitlocker-bypass.html https://secret.club/2021/01/15/bitlocker-bypass.html)
- jeroenhd 3y agoI think TPM-only encryption is still good enough for cases where a thief may try to swipe the hard drive out to steal the information on it later. Plus, in a business where laptops may get reused, it could be a method to make an old Windows install inaccessible by wiping the backup key from the cloud and clearing the TPM on the device without any formatting. You may want to do a quick format to be sure (you never know if someone kept their private files in the EFI partition) but it'll protect you against data recovery risks from reassigned sectors without having to force everyone to enter a password twice every time they boot their laptop.
- briHass 3y agoNo big deal here. This attack looks like it's using a crusty old TPM 1.2 laptop, so encrypted parameters to the TPM aren't supported. Even with Win11 and TPM2.0 (required for Win11), encrypted parameters to the TPM would just slow down an attacker. You need to use pre-boot auth, like a PIN. Obviously, the TPM needs to have some kind of authentication to release the key, not just the default mode where Windows just needs to request it. This is all outlined in MS documentation: https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/countermeasures#attacker-with-skill-and-lengthy-physical-access https://learn.microsoft.com/en-us/windows/security/operating...
- NotPractical 3y agoTPM without PIN is the default configuration, so I'd consider it to be a big deal.
- briHass 3y agoThe age old battle of security vs convenience. Most Linux distros don't force you into pre boot, PIN TPM encryption either. It is controllable through group policy, so orgs that care can force users into it.
- deleted 3y ago[deleted]
- ddtaylor 3y agoI agree. It seems Microsoft wants to get the accolades of solving a hard key exchange problem without actually solving that hard key exchange problem. We see this a LOT in companies that "make it easy" to do cryptography.
- i5-2520M 3y agoWith an ISO install, only 1.2 is required for Win11. TPM2 ia inly required to get the update offer from 10.
- jpalomaki 3y agoDoes Microsoft Pluton [1] help here? I noticed at least some recent ThinkPad AMD models support it. [1] https://learn.microsoft.com/en-us/windows/security/hardware-security/pluton/microsoft-pluton-security-processor https://learn.microsoft.com/en-us/windows/security/hardware-...
- mjg59 3y agoYes, it does, as does using any other CPU or chipset based TPM (Intel PTT, the AMD PSP-based TPM, running in Trustzone on ARM). The non-Pluton approaches potentially have greater overall attack surface, so Pluton is probably the best choice if available.
- deleted 3y ago[deleted]
- joemazerino 3y agoI'm lead to believe the TPM is a firmware TPM and not a hardware one. Is this correct?
- blinkingled 3y agoOpposite - the TPM is hardware TPM and that's why it was easier to sniff the communication between it and the CPU over LPC. fTPM resides inside the CPU so sniffing is not as easy.
- joemazerino 3y agoThat's compelling. I understand fTPM is less resistant to system level attacks because of the virtualization nature of it. Seems like a conundrum of tradeoffs.
- kopirgan 3y agoDidn't know! After TC vanished with recommendation to use BL I had kept few files in direct Windows storage protected by BL. The more sensitive ones I still kept in Vera. Here my natural scepticism protected me lol. Guess turning on pre boot pw is next thing to do.
- briHass 3y agoNote: there's also Bitlocker for non-boot drives, aka Bitlocker to Go. It functions more like TV/VC in that you can encrypt a drive/partition/removable storage with a password. You probably don't want it to auto-unlock in that case.
- WirelessGigabit 3y agoModern systems don't have a dedicated TPM, so it's a lot harder to read the settings off the chip, as it is part of the CPU. Then I believe modern TPM communication is encrypted. On too of that you want your laptop to support physical tampering resistance, which prevents both this (outdated) chip attack and freezing the RAM. When you then boot the laptop the master password is required. I would prefer it to throw off the PCR but hey, it works too. I do wonder if you have 8GB of soldered RAM and 8GB on a stick, Windows keeps the key in the soldered part to increase difficulty stealing?
- Dowwie 3y agoThis presumably applies to any FDE utilizing TPM, not just BitLocker.