Eight New Meltdown-Like Flaws Found (reuters.com)
An anonymous reader quotes Reuters:
Researchers have found eight new flaws in computer central processing units that resemble the Meltdown and Spectre bugs revealed in January, a German computing magazine reported on Thursday. The magazine, called c't, said it was aware of Intel Corp's plans to patch the flaws, adding that some chips designed by ARM Holdings, a unit of Japan's Softbank, might be affected, while work was continuing to establish whether Advanced Micro Devices chips were vulnerable... The magazine said Google Project Zero, one of the original collective that exposed Meltdown and Spectre in January, had found one of the flaws and that a 90-day embargo on going public with its findings would end on May 7...
"Considering what we have seen with Meltdown and Spectre, we should expect a long and painful cycle of updates, possibly even performance or stability issues," said Yuriy Bulygin, chief executive officer of hardware security firm Eclypsium and a former Intel security researcher. "Hopefully, Meltdown and Spectre led to improvements to the complicated process of patching hardware."
Neowin now reports that Intel "is expected to release microcode updates in two waves; one in May, and the other in August."
"Considering what we have seen with Meltdown and Spectre, we should expect a long and painful cycle of updates, possibly even performance or stability issues," said Yuriy Bulygin, chief executive officer of hardware security firm Eclypsium and a former Intel security researcher. "Hopefully, Meltdown and Spectre led to improvements to the complicated process of patching hardware."
Neowin now reports that Intel "is expected to release microcode updates in two waves; one in May, and the other in August."
Speculative execution bypasses the memory protection barriers for efficiency reasons. The actual problem is that cache coherence is global rather than per-process and its effects are measurable. That is the vector for wagonloads of side channel attacks. Speculative execution to addresses based on protected locations is just a rather elegant side channel attack since it does not count towards privilege violations and thus does not trigger an exception that would in turn cause a much larger impact on cache coherence and other measurable CPU state than what you are trying to measure.
Cache coherency is a side channel attack that will keep on giving for a long long while to come.
MELTDOWN or SPECTRE? Because the effects of SPECTRE flaws that aren't like MELTDOWN can be almost completely mitigated through good program design. MELTDOWN class flaws however mean that once exploited anything the computer is doing can be exploited and program design doesn't matter.
Also are the new ones in the category of silicon fix (halve a year cycle time at best) or microcode??
It depends on which CPU you've got. Intel has already announced that they are never going to fix a whole bunch of CPUs with microcode updates, in spite of having fixed some other CPUs which are about the same age. Some have stated that they believe this means that they can't fix them in microcode. Personally, I suspect that they can, but the performance impact would be beyond anything we've seen so far, so they're simply refusing to do so.
I'd like to see Intel outright forced to issue a fix for any processor where it is possible, for those customers who can accept the performance impact. Remember, Intel abused their market position over AMD — and that market position was based on a competitive speed advantage which was in turn based on compromising security! Not forcing them to fix it in every possible case is literally rewarding them for bad behavior. I would go so far as to say that they should also pay for replacement of any system compromised; they should pay a percentage of the new system price based on the industry average percentage cost of the CPU.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
It may take a while for AMD to get to the point where customers trust them more overall than they trust Intel.
From all I read on forums like this (not being in the "decider" circles myself), it takes time to build up a good reputation in the server market. Now AMD was almost out of the server business until a year ago, because their Opterons were quite a bit behind in performance. They were also not completely untouched by Spectre, albeit looking better than Intel in that regard.
Now AMD have an strong new line of server processors with Epyc, and they have left a better impression than Intel in the whole Meltdon/Spectre affair. So expect them to get quite a bit of interest by customers for Epyc's performance, and also a boost in getting to the point of "less distrusted than Intel". ;-)
But I still think it will be a relatively slow shift in the market, compared to the whims of the consumer market
C - the footgun of programming languages
Meltdown can be totally protected against in software however with a significant performance impact.
It is patched, by completely changing the way kernel works and not relying on memory protection anymore. Thank you very much, Intel !
Instead you need to context switch and make important kernel parts inaccessible on each system call.
(PCID is something that helps a bit the context switching : you don't actually flush the whole context, you use different process tags so the differently tagged process cannot be seen anymore).
Spectre can be divided into two kinds of attacks:
. One kind that bypass protection checks (range checks etc.) used to create software based virtual machines. These can be protected against in software.
Specifically, relying on by-passing any check (such as a boundary check on an array). It's ABSOLUTELY NOT virtual-machine specific.
The thing is, it's still the same process, still reading data that it has access to, to begin with (unlike Meltdown which basically fucks up any notions of memory protection). So its usability is limited to processes that both can run 3rd party provided code and contain critical data (i.e.: a badly designed webbrowser that runs web-provided javascript and its password manager both in the same context) (or another example: the Linux kernel's new-gen PacketFilter can be optionally configured to JIT compile the user-provided filtering scripts. USer-provided code in a kernel context, what could possibly go wrong ? Hint: There's a reason why it's not "on" by default).
But basically, most of the cases can be handled by keeping sane design pattern in software.
One kind that use shared branch prediction state between an attacker and a victim to influence speculative execution when running the victim code, this can be used to extract data that can be exfiltrated through a shared cache.
Which means that an attacker could be a userland software running on the cloud, and target could be the hypervisor itself. Which is several levels of scarry.
But this thing also requires very detailled knowledge of the internal of the CPU.
It has been successfully exploited on Intel Xeon by Google Project Zero.
The jury ist still out if it is possible to make a meaningul exploit on AMD CPUs (they also to indirect branching speculation, but in a completely different way, that currently seems unlikely to be actually exploitable.
This is in general not possible to patch in software.
It is actually pretty much patchable, the technology is called a retpoline. It's basically the compiler instructed to make special construct that cause mis-predicted branches to jump to an innocuous piece of code.
But it's compiler-dependant, meaning that you need to have a source code to recompile.
For the open-source world (like most of Linux distros), it's piece of cake, it's just recompiling the packages with different flags.
For closed source Linux drivers (hello, nvidia), for binary linux systems (the thing that your smartphone manufacturer put on your device and refuses to upgrade since basically the day after it started shipping), and for any windows computer : that's a nightmare.
Good program design have nothing to do with this.
Good program design try to keep sensitive data and 3rd party provided scripts separated.
That handles a lot of the Spectre v1 attacks.
It's not solving ALL the speculative execution problems tough. (it's doing nothing against Spectre v2 and Meltdown. But those are mostly due to lack of good *hardwware* design. Thanks again Intel !)
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]