Slashdot Mirror


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."

5 of 82 comments (clear)

  1. Re:Here we go again. Old hardware FTW! by Anonymous Coward · · Score: 2, Informative

    I can't wait for the "let's buy old hardware in protest" coments all over again.

    Good luck with that. Basically you need to buy processors with fixed (rather than minimal) cycle counts in order to stop side channel attacks based on cache coherence. 80486 is already too new for that I think. If I remember correctly, it already sports something like 8kB internal cache memory.

  2. No one posted a link to the original article. by Sique · · Score: 3, Informative
    --
    .sig: Sique *sigh*
  3. Re:Explain by Anonymous Coward · · Score: 2, Informative

    100% sincere question: how does that work? My understanding is that a small claims lawsuit only works if you can quantifiably prove damages. "I had to buy a new desktop/server" seems easy enough, but if you went against Intel and won, how did you prove that Spectre and Meltdown were the cause of your purchase to the point where the judge ruled in your favor?

    There are two primary ways to use small claims court for this type of purpose.

    One of those ways is due to the fact these courts have upper limits on your claims (thus the name) plus the fact layers have less involvement (they are intended for two individuals to seek remediation)

    This can be used (or some say 'abused') by an individual against a larger company by claiming a fairly small amount of damages, while using a small claims court local to where you live but the company has no actual presence.
    You bet on the odds that the company won't even bother to send a representative to the court at all, and thus the judge rules in your favor by default.

    These odds actually do work in an individuals favor so long as you don't get greedy.
    It costs the company money to send a representative to the court, and from their point of view "winning" means they simply pay their own costs to win. "Loosing" means paying their costs to try and win, plus the damages that the judge agrees are legitimate.

    Since presumably it would cost Intel more to fly a representative out to the court than to simply pay out $300 or so, the cheapest result for Intel is to just not show up and pay the damages.

    Only if those damages would cost more than the time paid to the representative plus travel expenses, would there be any benefit to them bothering to defend their case.

    Also if Intel doesn't bother putting forth any defense, you don't really need to provide much evidence like you mention.
    Explaining to the judge that Intel refuses to fix the bug in the product you bought, and stating that bug is central to what you do (aka you can say that servers only purpose is to run virtual machines), combined with the two receipts that matter will be enough.

    One receipt showing purchase of a defective CPU in a system to show you have standing, and another receipt showing purchase of a replacement CPU to show the amount of your damages.

    You could mention that your time has a cost too, but it may be best to also just say you can't easily provide evidence of that cost and so you aren't including it in your claims.
    I'm not sure if that would even matter, but I'd presume a judge would expect such a claim if you are being legit about things.
    But remember the goal is to not get greedy so Intel won't think it is worth showing up at all.
    The more you try to increase your damages claims, the less likely that gets.

  4. Re:Explain by AmiMoJo · · Score: 3, Informative

    I presented some before and after patch benchmarks from my systems, and some independent ones I found online. Intel actually sent a local lawyer to represent them, but he only had their weasel word statements that it might get better eventually maybe.

    I got 70% of the cost of two new systems plus court costs and wages for half a day off work. Oh, and mileage too, the judge reminded me of that.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  5. Retpoline by DrYak · · Score: 4, Informative

    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 ]