Confused yet by Meltdown and Spectre? It’s hard not to be! So what should or can you do about it?
For Meltdown and Spectre it’s security business as usual. Patches exist for Meltdown and half of Spectre (for most machines) although more fixes will be forthcoming. Make sure you apply all these patches and keep your OSes and browsers up-to-date.
To reiterate, where patches exist (“kpti” for meltdown, “retopoline” for the cross-vm spectre issue) applying them to your own VMs or servers is a priority.
The Meltdown and Spectre exploits are an interesting example of the pros and cons of the cloud.
On the one hand, Cloud is innately less secure because there is potentially untrusted code running on the same machine as your applications, in another VM. On the other hand, the major cloud vendors have unimaginable resources devoted to keeping their servers and your applications safe. Vastly more than us mere mortals or a smaller cloud provider.
We believe that their huge resources give the big-vendor's public clouds the edge in security over on-prem. But that still leaves plenty for us users to do. The biggest risk to the security of our applications still resides not in evil co-located VMs but in unpatched exploits in our own applications . Keep it patched, follow good security procedures and in our judgement the cloud is still the safest place to put our applications. See more on security processes from Adrian Mouat and Sam Newman
The Register has done an excellent writeup on this issue.
The Meltdown and Spectre vulnerabilities are “features” of intel (Meltdown) or nearly all chips (Spectre 1 & 2) that mean modern OSes like Linux and Windows may reveal the supposedly secure contents of memory on a machine to a bad userspace actor. This breaches 2 fundamental tenets of security:
That’s why everyone is so freaked out. The scariest part is the cross-VM attacks. It’s still difficult to put a bad actor on a properly secured server to exploit cross-process attacks (note this is harder to protect against on a personal machine). Any attacker who could exploit the cross-process attack vector on your servers could already have done you damage, so it’s bad but it suggests that your security processes were already leaving you exposed.
The ability to attack one VM from another VM hosted on the same machine, however, is more troublesome. The Cloud hosting business model is based on this NOT being possible. Any evildoer could buy a VM and put anything they like on it and use that software to attack VMs hosted on the same machine!!! Having said that, cross-VM vulnerabilities are not unprecedented. There have been potential flaws in hypervisors before; the cloud providers have patched them and civilization has not yet collapsed. Even the classic bane of cloud hosting, the “noisy neighbour” is a form of, usually inadvertent, cross-vm attack that can take out your service.
If you are still worried about cross-VM attacks, you can always pay for dedicated instances from your Cloud provider with no neighbours, particularly for security-critical applications.
As we mentioned above, the danger is more acute on laptops and PCs because it is easier to encounter attacking code. For example, if you're using Chrome you might want to turn site isolation on: https://www.chromium.org/Home/chromium-security/site-isolation (although we’ve noticed some significant issues with it ;-(. After applying it, I struggled to get Gmail working correctly).
If you want to read more deeply on the technical aspects of the attacks, we think this is a good description of what's going on: https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
Meltdown and Spectre are a whole new type of attack, which is always scary but we just have to handle it in the same way as normal. It’s a reminder that even in the cloud, we all need excellent security and patch application processes. It's the new business as usual. Good luck and get updating!