In early January, the Spectre and Meltdown vulnerabilities were disclosed to the computer world, which promptly lost its shirt for a period. This was a new class of attacks that depended on the way that modern processors shoved data in and out of the CPU, a process that was never thought to be problematic.
Eventually, patches and mitigations for these potential attacks were developed and installed. A sigh of relief arose from everyone in the field.
But everyone was wrong. The problem was more complex and destructive than it appeared.
It turns out that when Spectre was announced, some other researchers (two teams of them, actually) found that the problem was much deeper than it seemed. It went deep enough to threaten the supposedly secure data enclaves on the chip (Intel calls it SGX) that were there to stop one part of memory from accessing another more secure part of the same memory.
The researchers call the hole “Foreshadow.” This kind of SGX access was previously thought not to be possible in the Spectre and Meltdown problems.
Wait, it gets worse.
Source: Christopher Burns via Unsplash
As Intel looked deeper, they realized this was bigger than just SGX. Intel and that second team found a variant of the original attack dubbed
Foreshadow-Next Generation (NG)
(PDF) that could expose information stored in the processor’s L1 cache (the one that is architecturally closest to the activity in the CPU), as well as information associated with the SMM, the operating system’s kernel, and hypervisors. It could also affect processors besides those of Intel.
So, there are multiple problems that have been admitted by Intel.
There is CVE-2018-3615 (the original SGX one), CVE-2018-3620, that opens up operating systems and System Management Mode (SMM), and CVE-2018-3646 affecting virtualization software and Virtual Machine Monitors (VMM).
Intel thinks that, taken together, the impact is huge. The company summarizes what it thinks in four points:
- Malicious applications may be able to infer the values of data in the operating system memory or data from other applications.
- A malicious guest virtual machine (VM) may be able to infer the values of data in the VMM’s memory or values of data in the memory of other guest VMs.
- Malicious software running outside of SMM may be able to infer values of data in SMM memory.
- Malicious software running outside of an SGX enclave or within an enclave may be able to infer data from within another SGX enclave.
If you let that sink it, it means that virtual machines -- the kind that run in the cloud -- are at risk.
Not only that, but the microcode updates that Intel has done to mitigate will not be enough by itself. The OS as well as the hypervisor controlling those cloud machines will need to be patched or updated.
Boy howdy, this is now some big-time aggravation.
Microsoft has an advisory out there that speaks about the way it is plugging holes in Azure. Google also says it’s doing the same for its cloud, as does Amazon for AWS.
Software vendors are also scrambling to patch their software to reflect this situation.
The true solution is going to require new CPU hardware that does things differently, not just some kludge that protects against known attacks. Those CPUs may be under development, as Intel says, but they’re not here yet.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.