I’m taking a break from the raw Q text file mega-project to explain this, because I personally cannot see this NOT turning the world on its freaking ear in the coming months. This could EASILY redefine life on Earth in our current culture, and I would be shocked if we don’t start seeing that happen almost immediately. It will begin as a trickle and quickly turn into a torrent.
If a CPU exploit exists, you can bet your grandmother it's going to be used to the hilt. And currently there is no defense against Spectre, the first exploit. (Two exist; I'll cover the second as soon as I've read up on it.)
This includes browsers; testers have successfully breached ALL security protocols via Javascript, meaning they can read the memory of your entire computer from a web page. To my knowledge this is the first time this has ever become possible.
Every CPU – ARM (mobile devices), Intel, AMD, and probably all others – uses something called “branch prediction” to speed up handling. Put into layman’s terms … when a program is executing, conditional branches are very frequent. Programs are constantly saying “if condition a is true, go execute this code; if not, go execute that code.” The problem is that memory access in any computer is the big bottleneck. It can and often does required hundreds of “clock cycles” (electronic pulses occurring at a given rate) to read or write memory. While that memory access is being waited on, the processor would normally go into an idle state until the results of the memory access return. When branch prediction was introduced, the CPU would (based on built-in hardware logic) pre-execute one or the other potential branches, and store the results on-chip. When the memory read came back, if the tested (speculative) branch was true, then the CPU will have saved oodles of time by already having executed that code. Big speed-up.
What the Spectre flaw does – and it’s a design level flaw, not specific to any processor – is use that speculative execution to access memory it can’t normally access. Since the instructions to access illegal parts of memory (memory off limits to a user-level app such as the web browser) are not yet known to be illegal (the processor hasn’t checked legality yet), any memory address – off limits or not – is read. It may be in the CPU’s cache, so that read will return long before the read that triggered the whole speculative process is done. The whole thing gets complicated; in the end it’s that pre-read-to-test that is later retrieved from the onboard registers, or memory, or cache, of the CPU and voila, a program has everything it wants. Even the browser.
This is read-only. But no information is safe.
This redefines ALL of cloud computing, governmental and corporate security, you name it. People are not stupid; ingenious workarounds to protect against this will surface as fast as problems do and probably even faster.
The world of computer security is like the spy game: it’s an eternal cat-and-mouse game that will never end. The good guys always win, but sometimes damage is done before they do. Be aware that the problem is out there, and places like Eastern Europe probably already have boiler rooms filled with developers exploiting these flaws to the hilt.
The other flaw – Meltdown – will be covered after I read up on it.