Tuesday, April 6th 2021
AMD Ryzen 5000 Series CPUs with Zen 3 Cores Could be Vulnerable to Spectre-Like Exploit
AMD Ryzen 5000 series of processors feature the new Zen 3 core design, which uses many techniques to deliver the best possible performance. One of those techniques is called Predictive Store Forwarding (PSF). According to AMD, "PSF is a hardware-based micro-architectural optimization designed to improve the performance of code execution by predicting dependencies between loads and stores." That means that PSF is another "prediction" feature put in a microprocessor that could be exploited. Just like Spectre, the feature could be exploited and it could result in a vulnerability in the new processors. Speculative execution has been a part of much bigger problems in CPU microarchitecture design, showing that each design choice has its flaws.
AMD's CPU architects have discovered that the software that relies upon isolation aka "sandboxing", is highly at risk. PSF predictions can sometimes miss, and it is exactly these applications that are at risk. It is reported that a mispredicted dependency between load and store can lead to a vulnerability similar to Spectre v4. So what a solution to it would be? You could simply turn it off and be safe. Phoronix conducted a suite of tests on Linux and concluded that turning the feature off is taking between half a percent to one percent hit, which is very low. You can see more of that testing here, and read AMD's whitepaper describing PSF.
Source:
AMD Blog
AMD's CPU architects have discovered that the software that relies upon isolation aka "sandboxing", is highly at risk. PSF predictions can sometimes miss, and it is exactly these applications that are at risk. It is reported that a mispredicted dependency between load and store can lead to a vulnerability similar to Spectre v4. So what a solution to it would be? You could simply turn it off and be safe. Phoronix conducted a suite of tests on Linux and concluded that turning the feature off is taking between half a percent to one percent hit, which is very low. You can see more of that testing here, and read AMD's whitepaper describing PSF.
65 Comments on AMD Ryzen 5000 Series CPUs with Zen 3 Cores Could be Vulnerable to Spectre-Like Exploit
Ah yes only in Linux , and with patches.
Another funny thing, I couldn't find this Vulnerability on CVE list :rolleyes:
If you understand Spec-ex attacks then you know it affects Intel because they skipped privilege checks on stuff that had passed checks earlier in the pipeline as implied trust, in order to speed up the pipeline. Call it a shortcut, call it an optimisation - it doesn't matter. AMD checks privileges at every stage rather than assuming implied trust. That's a gross oversimplification but the TL;DR is that Intel chose speed over security, and AMD chose security over speed.
AMD's decision to choose security over speed has been vindicated publicly and presumably ratified internally at AMD, possibly making them even more security-cautious than they were previously. That basic decision of security over speed saved their bacon and they got to see what might have happened if they'd made the same shortcut/optimisations as Intel. Call it a free lesson at Intel's expense. That's not bias, that's just how any competent company should be run.
So no, presuming AMD won't take shortcuts isn't pro-AMD bias. It's based on historic empirical data.
I am now assuming that everyone takes spec-ex and pipeline privilege checks more seriously, not just Intel.
1) Google Project Zero found Spectre and Meltdown, not someone encouraged by the bug program. They are employed by google to find zero day vulnerabilities regardless of the existence of a bug payout program. Therefore your initial assumption that your stacked house of assumptions is based on is in fact false. Again, you assumed but it's irrelevant as your unproven argument basis has already been disproven despite no requirement for me to do so as you failed to provide evidence to support it to begin with.
2) You provided no evidence to support the idea that AMD has an equal or greater amount of vulnerabilities as Intel, assumptions are not supporting evidence. You first make the assumption that Intel's bug bounty program is the reason they have so many vulnerabilities (disproven above) and again assume on top of that false logic that AMD has at least that many unknown vulnerabilities. AMD has 16, Intel has over 240. Think about that. You are in essence assuming AMD has 15 times the unkown vulnerabilities as known and assuming, without evidence, that they in fact exist. That's not something a bug bounty program alone is going to make up.
Short version: to find a bug is a non-computable problem.
Long version: All security/correctness properties can only be proven under an assumption, and only works under that assumption, e.g., eventual correctness of execution result, etc. "Side channel attacks" just means they found some new ways of invalidating your assumptions and can thus only be handled on a case-by-case basis. Being in the same category does not mean they are the same bug. If you are not an omnipotent god, then you simply don't know it in advance.
Yes, you can have a vague sense of vulnerability based on your human instinct. But it takes engineering genuity to prove the vulnerability. (invulnerability, as I previous said, is not provable by any means).
[/HR]
A good example is the cache microtag generator for zen/zen+. For an outsider, that microtag generator design would freak them out because it may appears too insecure for an untrained engineer. But after all these years, no one actually found an attack vector for it. Proving invulnerability is impossible, but proving vulnerability is also hard.
Spectre is a side-effect of out-of-order execution engines that might allow you to take a glimpse of code running on a computer, as long as you have sufficient privileges, only in-order CPUs are safe from it.
Meltdown was intel (and others) not doing any security checks which allowed kernel access.
Easily exploitable since you know what to look for(kernel), could be done blindly and massively through websites because everyone had the same kernel(windows)
The only things stopping it were kernel memory randomization and flushing caches for every kernel call which tanks performance.
Imagine the period before patches....and the researchers having the power to snoop around every pc on the internet that had "intel inside", without leaving any traces.
Yeah, zero shortcuts...and then there's Intel Management Engine, a webserver inside your cpu.
Wake me when its serious.
If Intel did not have their bug bounty program, you can be sure that many of the vulnerabilies were never found to begin with. STILL Intel continue to have it.
AMD would be well served by allowing their partners access to engineering samples much earlier, and probably extending their development cycle by at least 6-12 months.