-
-
Notifications
You must be signed in to change notification settings - Fork 195
QSB-107 - Multiple CPU branch prediction vulnerabilities - WILL AFFECT < 8th gen CPU forever #1975
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I covered things back in 2022 https://forum.qubes-os.org/t/short-list-of-laptops-desktops-that-work-well-with-qubes-os/5197/245 Thing is situation is different now since new research confirms that if things are aligned differently, previous speculation mitigation can be bypassed altogether. |
Best I could do now is cross-link things
Hopefully, this issue will get enough attention so that we, as an ecosystem, document this properly. |
@tlaurion Should all vulnerable platforms be moved to LIKELY_UNSAFE category? The label perhaps should also appear in the rom name? So, in case of folks building the HEADS themselves or downloading the rom they are at least triggered to ask or search info in the docs? As the experience shows, very few indeed study the docs in detail… |
Can you qualify what you mean by "forever"? Is there reason to believe future software mitigations are impossible? I understand currently only CPU microcode updates remediate the vulnerability and all EOL CPUs aren't getting microcode updates. I searched far and wide for any indications of software mitigations being off the table, but didn't find anything. Am I missing something? Are software mitigations CPU independent? If they are CPU dependent like microcode updates, then I can see a world where only >8th Gen CPUs get software mitigation solutions and can understand the pessimism. Some insight is appreciate on this. From the Researchers' blog post:
I've gotten the sense that a large part of the QubesOS/Heads community has given up on old hardware. Am I crazy to think it's too early to call it so decisively? |
@thickfont Perhaps it is not that bad as it looks…and you indeed may be correct. I think now there is no PoC on Qubes OS. Did you read the paper in more detail? I just did. They used KVM and run everything on host system kernel in hypervisor attack. So the situation in Qubes is different as from the Marek answer in matrix forum in Qubes channel „ dom0 is privileged VM.“ So perhaps, disclaimer i am not an expert in the field…it is still okay to use older hardware. In the paper, also a software mitigation was described: retpoline it was not helpfull against all types of attacks. But all the things should be proved, until then then we need to assume the worse…. Edit: we perhaps just need to test the vulns first on our hardware with ubuntu installed. |
Updated threat modeling page to point to relevant Intel pages at linuxboot/heads-wiki@68301d7 Still unsure on #1976 (renaming boards to LIKELY_INSECURE is way too long board names, to be honest Threat model page should be enough with warning in boards configs affected?) |
I reverted radical changes (board rename) under #1976 : for now, vulnerable boards have big fat warning added under board configs. @JonathonHall-Purism @marmarek further advice? |
qubes-public matrix discussion input by @marmarek
On which I have not much to add.
My practical, QA perspective answer:
I am not anymore comfortable recommending hardware that is not tested anymore in any serious article (x230). But yet again, hear me out.
My theoritical background based answer: TLDR: since 2018: the world accepted that CPU have programmed obsolescence as well as for their phone, cars, and anything having electonics, software and firmware (blobs), even more importantly for confidential workflows; microcode updates are offered for a platform around 6 years after manufacturing date and this is the world we live in now. Sorry for the long post. |
QubesOS posted QSB-107
I posted this to be built upon and update something in the docs or the boards, I do not know and is where I look for advice, not being sure who/where this should be documented....
On Multiple CPU branch prediction vulnerabilities QSB-107 : that CPU vulnerability affects T480 and all older Intel platforms currently under Heads, tested up to 7th gen CPU (so we can generalize safely to Sandy(gen 2: xx20;x220), Ivy (gen 3:xx30;x230), Haswell (gen 4: x4xx; t440p), Skylake (gen 6th), KabLake (gen 7th), Coffee Lake (gen 8th: t480).
TLDR: Oldest Intel CPU gen still receiving CPU microcode updates today is Coffee Lake (Intel 9th gen)
Actually, Speculation vulnerabilities discovered in 2017-up to recently deployed CPU based microcode mitigations never really preventing some speculation attacks (even thought we thought they did.... until it was discovered they didn't, again, recently...). The point being here, even if you run QubesOS; if you run unsafe stuff under a disposable qube that triggers specifically those CPU vulnerabilities; then secrets supposedly protected in other qubes running in parallel are not properly protected. This was discussed again and again... The speed of accessing secrets through speculation vulnerabilities is still slow; but fact remains: it is becoming difficult to defend platforms against users who most probably do not have the proper opsec to not run qubes that are unsafe (disposable qubes) in parallel of qubes that are meant to protect secrets (vault)... In an OS (QubesOS) that is supposed to protect the user exactly against that.
I'm not sure this deserves a separate documentation update; but if it does, how to properly do it. Your opinion matters on that: microcode updates and EOL platforms support is a moving target.
Current docs at https://osresearch.net/Heads-threat-model/#binary-blobs-microcode-updates-and-transient-execution-vulnerabilities
Enough? Thoughts?
The text was updated successfully, but these errors were encountered: