3 ms·
An (unfairly short) tl;dr could be that not only the memory subsystem itself can be used as a side-channel or leak, but also speculative and OoO execution itsel
by dom0 9y ago
An (unfairly short) tl;dr could be that not only the memory subsystem itself can be used as a side-channel or leak, but also speculative and OoO execution itself. Speculative execution in this instance also does not consider (likely for performance reasons) certain dependencies (such as between a load setting an exception and a subsequent instruction depending on the load). While the result is still correct after settling, this introduces timing deltas.
This basically adds another set of tools to the architectural-level attack toolbox. From reading this I expect we'll see some interesting developments in the future.
- nickpsecurity 9y agoFrom the TCSEC (1983-1990's) for security certification, a covert channel analysis was required to determine if information leaks was present in an otherwise secure architecture. It always involves a resource two processes share. Here's the basic definitions you use to assess this: 1. It's a storage channel when one process can write to it and another can read it. The temporary storage folders that are world-writable was one example. Another was TCP/IP headers. Memory that wasn't zeroed after use is another. 2. It's a timing channel when it can affect how long a process containing secrets takes to do something and that timing is visible to a process wanting the secrets. Network jitter, hard disk arms, caches, and Intel HT have all been used as timing channels. If it could be visibly timed & noise canceled out enough, then speculative and OoO execution might be another. Worth looking into. These aren't adding tools, though. They've always been there. People just don't do covert, channel analyses. They even call requirements like that "bureaucratic, red tape with no value for security." Then, rediscover them piece by piece later while still ignoring the prior work. ;)
- deleted 9y ago[deleted]