Meet TLBleed: A crypto-key-leaking CPU attack that Intel reckons we shouldn't worry about
Intel has, for now, no plans to specifically address a side-channel vulnerability in its processors that can be potentially exploited by malware to extract encryption keys and other sensitive info from applications.
A team of researchers at the Systems and Network Security Group at Vrije Universiteit Amsterdam, in the Netherlands, say they were able to leverage the security weakness to extract crypto keys from another running program in 99.8 [percent] of tests on an Intel Skylake Core i7-6700K desktop CPU; 98.2 percent of tests on an Intel Broadwell Xeon E5-2620 v4 server CPU; and 99.8 per cent of tests on a Coffeelake part.
Their code was able to lift a secret 256-bit key, used to cryptographically sign data, from another program while it performed a signing operation with libgcrypt's Curve 25519 EdDSA implementation. It took roughly 17 seconds to determine each of the keys using machine-learning software and some brute force, according to a paper detailing the attack, seen by The Register this week.
[...] The extraction technique is not reliant on speculative execution, and thus is unrelated to Spectre and Meltdown. Instead, it builds upon the exploitation of Intel's Hyper-Threading technology and the processor caches to leak data, which is a known security problem with its own mitigations.
[...] [Ben] Gras also believes AMD's hardware threading technology in its latest Zen processors – Ryzen, Threadripper, and Epyc – are at risk from TLBleed, as the CPU cores can also each run multiple threads simultaneously just like Intel parts. A spokesperson for AMD had no comment.
(Score: 2) by HiThere on Sunday June 24 2018, @05:41PM
To me hyperthreading has always seemed like the wrong approach. The correct approach is simpler processors and more of them. That wouldn't necessarily make them immune to various attacks, but with enough processors the OS could pick a couple to run "secure tasks" and limit access to them. For my purposes the best way for the processors to communicate would be by message passing, where the messages aren't code, but basically strings of integers that the processor interprets according the the program running in it. Think pre-html email. Attachments are embedded ala uuencode.
This approach would not, of course, prevent attacks, but it would enable them to be encysted.
Javascript is what you use to allow unknown third parties to run software you have no idea about on your computer.