Caches have been used to construct various types of covert and side channels to leak information. Most existing cache channels exploit the timing difference between cache hits and cache misses. However, we introduce a new and broader classification of cache covert channel attacks: Hit+Miss, Hit+Hit, and Miss+Miss. We highlight that cache misses for cache lines in different states may have more significant time differences, and these can be used as timing channels. Based on this classification, we propose a new stable and stealthy Miss+Miss cache channel. Write-back caches are widely deployed in modern processors. This paper presents in detail a way in which replacement latency differences can be used to construct timing-based channels (called WB channels) to leak information in a write-back cache. Any modification to a cache line by a sender will set it to the dirty state, and the receiver can observe this through measuring the latency of replacing this cache set. We also demonstrate how senders could exploit a different number of dirty cache lines in a cache set to improve transmission bandwidth with symbols encoding multiple bits. The peak transmission bandwidths of the WB channels in commercial systems can vary between 1300 and 4400~kbps per cache set in a hyper-threaded setting without shared memory between the sender and the receiver. In contrast to most existing cache channels, which always target specific memory addresses, the new WB channels focus on the cache set and cache line states, making it difficult for the channel to be disturbed by other processes on the core, and they can still work in a cache using a random replacement policy. We also analyzed the stealthiness of WB channels from the perspective of the number of cache loads and cache miss rates. We discuss and evaluate possible defenses. The paper finishes by discussing various forms of side-channel attack.
翻译:已经使用缓存库来构建各种隐蔽和侧端渠道以泄漏信息。 大多数现有的缓存频道都利用缓存点和缓存漏之间的时间差异。 但是, 我们引入了一个新的和更广泛的缓存隐藏频道袭击分类 : Hit+Miss、 Hit+Hitt 和 Miss+Miss 。 我们强调, 不同州缓存线的缓存遗漏可能会有更大的时间差异, 这些可以用作计时频道 。 基于此分类, 我们提议一个新的稳定和隐蔽的Miss+Miss+Miss缓存频道。 仍然在现代处理器中广泛部署回写缓存缓存缓存缓存。 本文详细介绍了一种方法, 替换缓存的缓存差异可以用来构建基于时间的缓存频道( 新的 缓存 ) 。 发送缓存的缓存线中, 也可以在其它的缓存库中进行缓存 。 运行的缓存库中, 运行的缓存中, 运行的缓存的缓存带带 。