|
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.
Most web browsers support a technology called JavaScript, which lets the website you’re visiting run code on your computer. For Spectre, “the Google Chrome browser… allows JavaScript to read private memory from the process in which it runs”. In other words, a malicious website can exploit this flaw. And the malice doesn’t have to be on the site you’re visiting; ads come from third-party ad brokers.
In other words, your home computer is vulnerable because of (a) a hardware design flaw; (b) the existence of JavaScript; and (c) the economic ecosystem of the web.
Security is a systems property…
Sponsored byVerisign
Sponsored byVerisign
Sponsored byIPv4.Global
Sponsored byWhoisXML API
Sponsored byDNIB.com
Sponsored byRadix
Sponsored byCSC