When using an external TPM. Which next to no one does.
Technology
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
Watch the video. It just means external to the CPU, not an external device.
They demo the attack on a Lenovo laptop in the first minute of the video.
Edit: nm I just realized that was a 10 year old laptop and they're in all the modern procs. I'm a lot less impressed now.
Sounds like intel has external and amd internal with their ftpm?
Many systems still use discrete tpms. Just because the CPU has a virtual tpm function doesn’t mean it’s used
fTPM has a bug, don't know if it's fixed
https://www.techspot.com/news/93684-amd-promises-fix-ftpm-issue-causes-stuttering-freezes.html
Veracrypt also doesn't recommend using encryption that relies on TPMs
Some encryption programs use TPM to prevent attacks. Will VeraCrypt use it too? No. Those programs use TPM to protect against attacks that require the attacker to have administrator privileges, or physical access to the computer, and the attacker needs you to use the computer after such an access. However, if any of these conditions is met, it is actually impossible to secure the computer (see below) and, therefore, you must stop using it (instead of relying on TPM).
If the attacker has administrator privileges, he can, for example, reset the TPM, capture the content of RAM (containing master keys) or content of files stored on mounted VeraCrypt volumes (decrypted on the fly), which can then be sent to the attacker over the Internet or saved to an unencrypted local drive (from which the attacker might be able to read it later, when he gains physical access to the computer).
https://veracrypt.eu/en/FAQ.html
Let's assume the attackers were law enforcers
This has been fixed for a while now
Hi this is BitLockPickingLawyer here and today we'll see how secure . . .
A click out of one... two is binding...
Very end of the article explains you need access to the TPM communication hardware, which no longer occurs external to Intel and And cpus
To *newer Intel and AMD cpus and only certain models.
There's a lot of current hardware that uses embedded TPMs. It also depends on the communication path between the CPU and the module, but chances are it will be clear text and in some, via LPC.
Should be noted that if a password is asked to decrypt the drive it also doesn't work.
So offline (external) bitlocker drives that are unlocked with the key only.
Or internal bitlocker drives that are unlocked with AMD fTPM are excluded from this exploit?
I thought the point of the TPM was that the keys would be kept internally to the TPM at all times and that any data lanes would only be used for transferring payload. Why are they sending keys between the TPM and the CPU?
There are some functions like that, like Passkey signing. For Bitlocker, the encryption/decryption key is transferred to the CPU (and RAM) in order for it to operate. The problem described here has been around for a while, but putting it on a key like that makes the attack method available to "everyone". There has been a solution for a while too: 1) put in pre-boot Bitlocker PIN, and 2) use integrated TPM like the article mentions.
Because the CPU has to decrypt the bulk of the data coming from the disc. And it needs a key to do that. Unless we route all traffic through the TPM to decrypt the disc. The CPU needs a key to do that
Surely some smart key exchange algorithm could be used for that, e.g. the CPU provides a public key to the TPM and the TPM encrypts the symmetric disk key with that public key. Similar to how TLS works.
The private key would have to stored in clear text somewhere. Potentially if you had non volatile space on cpu that to store the private key, that might work. But if you’re going to do that, might as well just use an ftpm.
Why not store it directly in the TPM, if that's the device that will do that initial decryption?
Right and not to mention pairing the cpu and tpm for key exchange to avoid mitm attacks...
Say it with me now: LUUUUUKS
LUKS is still vulnerable to this attack if you enable autodecrypt using TPM. This attack is based on the vulnerability that the CPU and TPM communicates uses plain text. And it is a pretty common attack against TPM:
https://dolosgroup.io/blog/2021/7/9/from-stolen-laptop-to-inside-the-company-network
SPI is a communication protocol for embedded systems and is extremely common amongst virtually all hardware. Due to its simplicity, there is no encryption option for SPI. Any encryption must be handled by the devices themselves. At the time of this writing BitLocker does not utilize any encrypted communication features of the TPM 2.0 standard, which means any data coming out of the TPM is coming out in plaintext, including the decryption key for Windows
And apparently Linux is not doing too hot on this regard either:
https://www.secura.com/blog/tpm-sniffing-attacks-against-non-bitlocker-targets
As we can see, parameter encryption simply isn't used in practice, and except for safeboot none of the solutions enforce PIN/MFA by default.
However, this attack is not viable for device with firmware based solution, like fTPM, Microsoft Pluton, secure enclave etc. in these case TPM is part of the cpu, hence have no exposed pins to sniff their connection.
So if you don't want people with physical access to your computer (a thief or a evil maiden) to access everything on your disk, don't setup TPM auto decrypt.
CPU communicates with TPM in plaintext
Because of course
CPU doesn't have any secure storage, so it can't encrypt or authenticate comms to the TPM. The on-CPU fTPMs are the solution, the CPU then has the secure storage.
I wondered why LUUUUUKS didnt use the TPM, why do i have to put my password in... this is absolutely why.
Edit: fixed spelling of LUUUUUKS
Also yes you can, I wouldn't recommend it though. Maybe in addition to your password though.
Wait until you see Dracut and Tang.
What exactly is the point of full disk encryption if the system auto-unlocks on boot?
Question: if I have an bitlocker encrypted SSD in a modern computer with embedded TPM, can I move this SSD to an old computer with external TPM to sniff the cod this way? Be gentle. I am dumb. Thanks.
"Sniff the cod" This is a typo right? I don't know any better, but I had a good laugh.
What about the salmon and the halibut? :-D
Not unless you entered your recovery code to unlock it on the old computer with the external tpm.
Nope. As soon as you move the disk to your second system/TPM, you lose any ability to decrypt it at all.
The Key is stored on the Internal TPM. Only it can unlock the SSD.
Finally, we can install Linux on your corporate pc or grab some RAM from it 😂😂😂
It seems to me an evolution on this attack: https://arstechnica.com/gadgets/2021/08/how-to-go-from-stolen-pc-to-network-intrusion-in-30-minutes/
Lol, Tom's hardware is allowed on lemmy? It's like the fox news of the tech world.
Clickbait as usual.