Because now you're broadcasting extremely sensitive data (as in: all your private keys are belong to us) intended for one core to all cores. That breaks down the core isolation boundary, making the security as weak as hyperthread isolation. And we know that one is really weak.
-
-
It's been this story time and time and time again. Intel CPUs have *no* security boundaries in speculation. Their only security boundary is instruction retirement. They have zero compartmentalization or defense in depth. It's insane.
1 reply 3 retweets 24 likes -
Like, this is the moral equivalent of running your web Javascript VM interpreter in kernel mode - no, better, inside the hypervisor outside the guest running Chrome, because surely it has no bugs and why would you ever need any other security layers or defense mechanisms?
1 reply 0 retweets 24 likes -
This is how we got "let's read data from kernel address space in user mode, who cares", "let's interpret guest virtual addresses as physical addresses when they fault, who cares", "let's feed random leftover/uninitialized buffer data into registers, who cares", all in speculation
1 reply 0 retweets 23 likes -
This is just the latest instance in "Intel CPUs are information soup, and enforce zero security or data privacy boundaries anywhere, until instruction retirement".
2 replies 1 retweet 19 likes -
Replying to @marcan42
I get the pattern as a problem obviously. I don't understand why "rdrand and cpuid share a buffer" equals "all your keys are belong to us". Surely key generation is more than `rdrand rax`?
1 reply 0 retweets 0 likes -
Replying to @awygle
Nah, that's a perfectly valid way of generating keys. It's also a perfectly valid way of generating random nonces for ECDSA, which, if compromised, also reveal the private key (see: PS3)
2 replies 0 retweets 5 likes -
Replying to @marcan42
OK, I do see how that could be an issue. I will do my level best to care about this.
1 reply 0 retweets 1 like -
Replying to @awygle
I mean it just boils down to rdrand data should be private to the core that requests it, so sending it to other cores too is a bad idea (as proven here where people found a way to get at it). Doesn't really matter how bad the practical attack scenario is :)
2 replies 0 retweets 5 likes -
Replying to @marcan42
I agree entirely with your first sentence and not at all with your second. But thankfully, I don't work in infosec, so I only endanger myself :-)
1 reply 0 retweets 0 likes
The practical attack scenario is only not too bad until someone figures out a clever trick to make it into a catastrophe, or the planets align and the catastrophe happens all by itself :-)
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.