Meltdown and Spectre: Security is a Systems Property
I don’t (and probably won’t) have anything substantive to say about the technical details of the just-announced Meltdown and Spectre attacks. (For full technical details, go here; for an intermediate-level description, go here.) What I do want to stress is that these show, yet again, that security is a systems property: being secure requires that every component, including ones you’ve never heard of, be secure. These attacks depend on hardware features such as "speculative execution" (someone I know said that that sounded like something Stalin did), "cache timing", and the "translation lookaside buffer"—and no, many computer programmers don’t know what those are, either. Furthermore, the interactions between components need to be secure, too.
Let me give an example of that last point. These two attacks are only exploitable by programs running on your own computer: a hacker probing from the outside can’t directly trigger them. Besides, since the effect of the flaws is to let one program read the operating system’s memory, single-users computers, i.e., your average home PC or Mac, would seem to be unaffected; the only folks who have to worry are the people who run servers, especially cloud servers. Well, no.
Security is a systems property…