Someone is ******
Anyone nows him?
Here is a no ******** approach from MattZN commenting on ARS:
Ok folks, here is the jist of the two major bugs.
(1) Meltdown bug.
This is the 1000 pound gorilla. It's essentially a FULL kernel memory disclosure bug. Most kernel's also implement DMAPs which can extend the disclosure to all of physical memory.
This bug is Intel-specific. Some ARM cpus might also be affected. AMD cpus are immune.
This bug works as follows: All CPUs do speculative memory reads and speculative execution. INTEL CPUs will allow such speculative reads to cross protect domain boundaries, meaning that the speculative read can access kernel memory which is part of the shared MMU map with userspace (but protected with a bit in the page table entry).
AMD CPUs DO NOT ALLOW such speculative reads to cross this protection domain. Thus AMD CPUs are immune to this bug.
This is a major bug. Intel has to fix their (expletive) hardware. A lot of people won't be buying new Intel CPUs that still have this hardware bug.
The 'mitigation' is to break the user process MMU map into *TWO* separate MMU maps, one for the user process, and one for user->kernel and kernel->user transitions. This means that every single kernel->user and user->kernel transition must reload the MMU page tables twice (in x86 land, a mov *,%cr3 or equivalent).
The result is that all system calls and interrupts will now incur an extra 150 to 250nS worth of overhead. A system call normally has an overhead of around 100nS, so the mitigation increases this overhead to 250nS-350nS.
Certain cpu features, such as PCID, can reduce the overhead somewhat, but its still nasty.
Us kernel programmers have spent 20+ years reducing system call and interrupt overhead, and Intel blew it all up in one day. To say that we are all ****** would be a grave understatement.
I think many companies will be holding off new Intel CPU purchases because of this bug, until Intel produces new silicon that doesn't have the bug.
(2) Spectre
Spectre is a sidechannel attack whereby the normal operation of the system where a user program passes data to the kernel in a system call or to another user program which, combined with cache massaging and branch prediction cache massaging, can cause the kernel or other user program to issue speculative reads and do speculative execution within their valid memory that allows the original user program to discern the contents of kernel memory or the memory belonging to the other user program.
This is a much harder attack to perpetrate, and harder to mitigate. All CPUs are probably vulnerable to varying degrees. But its heads and tails harder to exploit this bug than it is to exploit the Meltdown bug.
Specifically, the mitigation for meltdown doesn't help with this bug.
The meltdown bug (which is Intel specific) is horrendous.
(3) There is a third bug called a boundary attack which is easy to mitigate and can be ignored for now.
--
Also, all of Intel's press releases on these topics are HIGHLY deceptive. Purposefully deceptive.
First, they try to revector and confuse the issue by saying these bugs cannot modify or delete memory... but nobody was ever saying that. These bugs DISCLOSE protected memory, meaning your cryptographic keys and web sessions aren't safe (among other things). Intel intentionally avoided mentioning that. Intel also didn't mention that Meltdown is essentially a FULL KERNEL MEMORY disclosure bug, and that it is easy to exploit. And that it is Intel-specific due to stupidity on Intel's part.
Intel is also playing up microcode and BIOS updates for these bugs. What they aren't saying is that these microcode updates amount to ONLY minor mitigations of the Spectre bug. There aren't a complete fix to Spectre or anything close. And, more importantly, THE MICROCODE UPDATES DO NOT FIX THE MELTDOWN BUG AT ALL. We kernel programmers have to implement the horrible performance destroying mitigation to workaround meltdown on Intel CPUs.
Intel is also trying to push all sorts of crap onto the programming community. They are pushing hard to implement horrible hacks in GCC and other compilers and are trying to push horrible hacks to indirect procedure calls as a mitigation for spectre. THIS WILL NEVER WORK!!!!!. 30,000+ applications would have to be recompiled with the changes and kernels would have more horribly hacked code pushed into them just to obtain a PARTIAL mitigation.
Spectre can only be completely fixed in hardware.
Intel is intentionally trying to deceive its customers and its audience. It is the WRONG RESPONSE to these extremely serious bugs, particularly to the Meltdown bug.
To say that we are ****** at Intel right now would be an understatement of epic proportions.
-Matt