4 ms·
Does this new intel CPU have 'fixes' for all issues like spectre and meltdown, where you were supposed to turn off hyperthreading for better security? I'm just
by briffle 7y ago
Does this new intel CPU have 'fixes' for all issues like spectre and meltdown, where you were supposed to turn off hyperthreading for better security? I'm just curious if the fixes for those (and other similar vulnerabilities) are starting to make their way into silicon, but also that the fixes recommended usually slow cpu's down quite a bit too.
- sidewndr46 7y agoCoffee Lake and newer has mitigations for that apparently. https://www.anandtech.com/show/13450/intels-new-core-and-xeon-w-processors-fixes-for-spectre-meltdown https://www.anandtech.com/show/13450/intels-new-core-and-xeo... I'm unsure if a "fix" is actually possible with a pure hardware solution.
- rasz 7y agoIntel "fixes" so far has been microcode level detectors for particular proof of concepts submitted by researchers. Makeup on a pig. https://www.nytimes.com/2019/11/12/technology/intel-chip-fix.html https://www.nytimes.com/2019/11/12/technology/intel-chip-fix...
- titzer 7y ago> microcode level detectors for particular proof of concepts No, they don't have enough microcode space for this, and the data paths in the CPU that Spectre and Meltdown affect are not programmable with microcode. The microcode updates have been hamfisted, usually amounting to a massive hammer. E.g. the first "hardware fix" for variant 2 (branch target injection) was to make the BTB not shareable across hyperthreads. The fix worked. It was to completely disable the BTB for indirect branch predictions altogether. Ha! That'll confound any sharing of it! Intel's CPUs are completely riddled with side channels due to the way they implemented speculative rollback. They are kind of screwed.
- kllrnohj 7y ago> Does this new intel CPU have 'fixes' for all issues like spectre and meltdown It's worth noting that Spectre-V1 is likely to be with us for many many years. CPUs have so far only shown interest in addressing spectre when spectre is crossing process or ring boundaries. In-process spectre leaks (so variant 1, Bounds Check Bypass) are currently not really being considered a problem in the CPU's eyes. No privilege boundaries were crossed, therefore not a bug. As in, secure in-process sandboxing seems to just be dead. Or left as an exercise for the embedding code to figure out how to in some way handle with no CPU support.
- gsnedders 7y agoI mean what could the CPU do otherwise for Spectre v1? You clearly need a privilege boundary, which CPUs already have in multiple ways: how would a new boundary differ to those that already exist?
- kllrnohj 7y agoSome people have asked for failed speculative execution to be truly side-effect free. Like a transaction buffer that speculative execution can manipulate without evicting or impacting L1/L2 until the speculation is committed. I don't really think this is a great use of transistors, and is why CPUs will probably never do it, but theoretically possible maybe.
- kilo_bravo_3 7y agoDespite the protestations of l33t Cyberhaxxing Z3r0 Cools everywhere, you only have to turn off hyper-threading if you are sharing a machine with someone you don't trust. If someone is on your machine and you don't know it, they don't have to use side-channel attacks. They'll can just use any of the thousands of other ways of privilege escalation to read the super-secret information you have stored in RAM, or find it when it is written to disk. The OpenBSD folks disabled SMT by default because of TLBleed. A non-datacenter/cloud user disabling SMT to avoid TLBleed is like a normal person carrying a fireman's rescue saw around with them 24 hours a day in case they get into a situation they have to saw themselves out of.
- theevilsharpie 7y ago> Despite the protestations of l33t Cyberhaxxing Z3r0 Cools everywhere, you only have to turn off hyper-threading if you are sharing a machine with someone you don't trust. If you're reading this reply, you probably automatically executed `hn.js`. Are you _sure_ you know what it does? Unless you're browsing the web with Javascript completely disabled, and you also don't have any applications that automatically update themselves from a remote source (are you _sure_ you know what those various auto-updaters are downloading?), you're running untrusted code on your machine. Perhaps you don't particularly care about that risk, or you don't feel the risk is severe enough to warrant the performance hit, which is fair, but the risk is there nonetheless.