CRNov 14, 2015

Flush+Flush: A Fast and Stealthy Cache Attack

arXiv:1511.04594v3630 citations
Originality Highly original
AI Analysis

This work addresses security vulnerabilities in CPU caches for systems relying on hardware performance counters for attack detection, presenting a novel attack method that bypasses existing defenses.

The paper tackles the problem of detecting cache attacks by developing the Flush+Flush attack, which relies on the execution time of the flush instruction to leak information without causing cache misses, making it stealthy and achieving a speed of 496 KB/s, 6.7 times faster than previous cache covert channels.

Research on cache attacks has shown that CPU caches leak significant information. Proposed detection mechanisms assume that all cache attacks cause more cache hits and cache misses than benign applications and use hardware performance counters for detection. In this article, we show that this assumption does not hold by developing a novel attack technique: the Flush+Flush attack. The Flush+Flush attack only relies on the execution time of the flush instruction, which depends on whether data is cached or not. Flush+Flush does not make any memory accesses, contrary to any other cache attack. Thus, it causes no cache misses at all and the number of cache hits is reduced to a minimum due to the constant cache flushes. Therefore, Flush+Flush attacks are stealthy, i.e., the spy process cannot be detected based on cache hits and misses, or state-of-the-art detection mechanisms. The Flush+Flush attack runs in a higher frequency and thus is faster than any existing cache attack. With 496 KB/s in a cross-core covert channel it is 6.7 times faster than any previously published cache covert channel.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes