Earlier quoted context omitted.
Random hardware bit flips can cause invalid RSA signatures, which baddies can use to deduce private keys. Edit: Don't ask me questions, i don't know shit, i just rephrased stuff from the linked paper.
How frequently do such faults occur?
Passive SSH Key Compromise via Lattices [pdf]
11–20 of 57 posts
Re: Passive SSH Key Compromise via Lattices [pdf]
#12Re: Passive SSH Key Compromise via Lattices [pdf]
#13> Our combined dataset of around 5.2 billion SSH records contained more than 590,000 invalid RSA signatures.
Am I reading this right? This is about 1 in 10_000, this is way more common that what I would have imagined
Re: Passive SSH Key Compromise via Lattices [pdf]
#14Earlier quoted context omitted.
Random hardware bit flips can cause invalid RSA signatures, which baddies can use to deduce private keys. Edit: Don't ask me questions, i don't know shit, i just rephrased stuff from the linked paper.
Does each bit flip reveal a bit or less or does somehow a single flip compromise the entire key?
Re: Passive SSH Key Compromise via Lattices [pdf]
#15Why does this happen? Multiple reasons. Implementations of big number math can and does contain bugs. (I used to hunt for those via fuzzing, which turned up an amazing number of them.) Hardware failures. Other bugs that corrupt numbers in memory.
The basic attack is well known. Florian Weimer has demonstrated this against TLS in the wild: https://www.redhat.com/en/blog/factoring-rsa-keys-tls-perfec...
The new thing this paper adds is applying this attack to SSH.
There is a countermeasure against this attack, and this is to verify the signature before revealing it. It works. As the paper says, openssh uses openssl's RSA implementation, and it has been doing that since forever (2001).
So in summary: Applying a well-known attack against RSA to its use in SSH. Only works if you have an RSA implementation that outputs results of flawed computations. Countermeasures exist, and RSA implementations should use them.
Re: Passive SSH Key Compromise via Lattices [pdf]
#16> We also carry out a retrospective analysis of historical SSH scan data collected over the course of seven years, and find that these invalid signatures and vulnerable devices are surprisingly common over time. > Our combined dataset of around 5.2 billion SSH records contained more than 590,000 invalid RSA signatures. Am I reading this right? This is about 1 in 10_000, this is way more common that what I would have…
Such bugs tend to show up in crappy IoT hardware. IoT hardware often comes in large numbers.
If you scan the IPv4 space for SSH hosts, most of the ones you'll find are IoT hardware.
Re: Passive SSH Key Compromise via Lattices [pdf]
#17Re: Passive SSH Key Compromise via Lattices [pdf]
#18These are hardware features where a private key is hardcoded in the chip and never supposed to be revealed. You can ask the chip to sign things for you. It has some anti-tampering measures, but it might be possible to induce faults without too much effort, if you apply heat, EM ("cosmic rays"), and play with voltage/frequency a little
Re: Passive SSH Key Compromise via Lattices [pdf]
#19I wonder if I can use this against Intel SGX/AMD SEV-SNP :) These are hardware features where a private key is hardcoded in the chip and never supposed to be revealed. You can ask the chip to sign things for you. It has some anti-tampering measures, but it might be possible to induce faults without too much effort, if you apply heat, EM ("cosmic rays"), and play with voltage/frequency a little
Re: Passive SSH Key Compromise via Lattices [pdf]
#20Can anybody ELI5?
How about ELI precocious 10 year old? Cosmic rays and thermal effects cause random bit flips in memory very infrequently. If you sit on a network and listen to TLS handshakes for long enough, you'll find that any given server will issue the wrong signature occasionally, because of these bit flips. If you record the wrong signature(s) and use a fancy algorithm, you can recover the private key. While at first it may se…
now put your tinfoil hat on and suppose you worked for a paramilitary organization that had infiltrated the top 2 semiconductor manufacturers. You persuade the silicon designers, when implementing hardware accelerated crypto (or "management engines") to not do their jobs quite perfectly, no just leave room for a tiny bit of....error. Could never happen, right?