Nothing like starting the new year with a security flaw that affects more or less every computer system in the world. Last week we all discovered that pretty much anything with a chip is affected by Spectre and Meltdown, a pair of silicon security flaws that are likely to haunt our steps for a good long time. Basically, anyone with an Intel processor is vulnerable. If you’re running an AMD or ARM processor, you’re likely vulnerable as well.
The only people looking to be safe from this security flaw? Raspberry Pi users, of all things. Those lucky ducks.
What is Spectre? And Meltdown? And why the heck am I vulnerable?
The Register broke the news last week with some very smart reporting about the Intel vulnerability. TechCrunch also has a nice explainer, which you can read here. In essence, both Spectre and Meltdown are security flaws on the chip-level that allow sensitive inside computer systems to be exposed.
Basically, it’s a problem with the chip’s architecture. These bugs are present in all modern Intel processorsproduced in the past decade.
Meltdown is specific to Intel processors. “It works by breaking through the barrier that prevents applications from accessing arbitrary locations in kernel memory. Segregating and protecting memory spaces prevents applications from accidentally interfering with one another’s data, or malicious software from being able to see and modify it at will. Meltdown makes this fundamental process fundamentally unreliable.”
Spectre affects Intel, AMD, and ARM processors. This means that basically anything with a chip in it is vulnerable, including mobile phones, embedded devices, and more. Spectre essentially tricks applications into accidentally disclosing information that would normally be inaccessible, safe inside their protected memory area. (If you want to read a really excellent layman’s explanation of Spectre, security expert Joe Fitz has a great twitter thread on how it all works.)
So why isn’t Raspberry Pi vulnerable?
Well, as a matter of course, Raspberry Pi runs on an ARM Cortex-A53, making it safe from Meltdown. However, most devices with ARM and AMD cores also use caching and speculative execution, which means they’re vulnerable to Spectre. Raspberry Pi doesn’t, making it one of the few devices on the market that’s free and clear.
The Raspberry Pi blog has an excellent post up explaining exactly how their devices are safe from Meltdown and Spectre. It turns out that the basic lack of caching and speculation in Raspberry Pi is enough to keep things good. If you’re interested, they have an extensive walk-through of the internal logic which Raspberry Pi uses instead of these two techniques. As they conclude,
“Modern processors go to great lengths to preserve the abstraction that they are in-order scalar machines that access memory directly, while in fact using a host of techniques including caching, instruction reordering, and speculation to deliver much higher performance than a simple processor could hope to achieve. Meltdown and Spectre are examples of what happens when we reason about security in the context of that abstraction, and then encounter minor discrepancies between the abstraction and reality.
The lack of speculation in the ARM1176, Cortex-A7, and Cortex-A53 cores used in Raspberry Pi render us immune to attacks of the sort.”
How do we fix this?
For those of us not using Raspbery Pi, the outlook is a little bleak. Meltdown can be fixed with some band-aids and a stronger wall around the kernel. This may cost us all anywhere from 5% to 30% in performance.
Spectre, on the other hand, is a bit trickier to deal with. It is literally hard wired into the chip. So, we’re looking a long lead time as researchers, engineers, and developers have to come up with a brand new chip architecture or some clever kernel-level work-arounds. How long? Think years.
So, in the meantime, accept all those OS updates coming your way and maybe think about switching to a Raspberry Pi-based computer lifestyle. It’s the only way to be sure.