ScatterCache: Thwarting Cache Attacks via Cache Set Randomization

Research output: Chapter in Book/Report/Conference proceedingConference contributionResearchpeer-review

Abstract

Cache side-channel attacks can be leveraged as a building block in attacks leaking secrets even in the absence of software bugs. Currently, there are no practical and generic mitigations with an acceptable performance overhead and strong security guarantees. The underlying problem is that caches are shared in a predictable way across security domains.

In this paper, we eliminate this problem. We present ScatterCache, a novel cache design to prevent cache attacks. ScatterCache eliminates fixed cache-set congruences and, thus, makes eviction-based cache attacks unpractical. For this purpose, ScatterCache retrofits skewed associative caches with a keyed mapping function, yielding a security-domain-dependent cache mapping. Hence, it becomes virtually impossible to find fully overlapping cache sets, rendering current eviction-based attacks infeasible. Even theoretical statistical attacks become unrealistic, as the attacker cannot confine contention to chosen cache sets. Consequently, the attacker has to resort to eviction of the entire cache, making deductions over cache sets or lines impossible and fully preventing high-frequency attacks. Our security analysis reveals that even in the strongest possible attacker model (noise-free), the construction of a reliable eviction set for Prime+Probe in an 8-way ScatterCache with 16384 lines requires observation of at least 33.5 million victim memory accesses as compared to fewer than 103 on commodity caches. ScatterCache requires hardware and software changes, yet is minimally invasive on the software level and is fully backward compatible with legacy software while still improving the security level over state-of-the-art caches. Finally, our evaluations show that the runtime performance of software is not curtailed and our design even outperforms state-of-the-art caches for certain realistic workloads.
Original languageEnglish
Title of host publication28th USENIX Security Symposium (USENIX Security 19)
Place of PublicationSanta Clara, CA
PublisherUSENIX Association
Pages675-692
ISBN (Electronic)978-1-939133-06-9
Publication statusPublished - Aug 2019

Fingerprint

Hardware
Data storage equipment
Side channel attack

Cite this

Werner, M., Unterluggauer, T., Giner, L., Schwarz, M., Gruß, D., & Mangard, S. (2019). ScatterCache: Thwarting Cache Attacks via Cache Set Randomization. In 28th USENIX Security Symposium (USENIX Security 19) (pp. 675-692). Santa Clara, CA: USENIX Association.

ScatterCache: Thwarting Cache Attacks via Cache Set Randomization. / Werner, Mario; Unterluggauer, Thomas; Giner, Lukas; Schwarz, Michael; Gruß, Daniel; Mangard, Stefan.

28th USENIX Security Symposium (USENIX Security 19). Santa Clara, CA : USENIX Association, 2019. p. 675-692.

Research output: Chapter in Book/Report/Conference proceedingConference contributionResearchpeer-review

Werner, M, Unterluggauer, T, Giner, L, Schwarz, M, Gruß, D & Mangard, S 2019, ScatterCache: Thwarting Cache Attacks via Cache Set Randomization. in 28th USENIX Security Symposium (USENIX Security 19). USENIX Association, Santa Clara, CA, pp. 675-692.
Werner M, Unterluggauer T, Giner L, Schwarz M, Gruß D, Mangard S. ScatterCache: Thwarting Cache Attacks via Cache Set Randomization. In 28th USENIX Security Symposium (USENIX Security 19). Santa Clara, CA: USENIX Association. 2019. p. 675-692
Werner, Mario ; Unterluggauer, Thomas ; Giner, Lukas ; Schwarz, Michael ; Gruß, Daniel ; Mangard, Stefan. / ScatterCache: Thwarting Cache Attacks via Cache Set Randomization. 28th USENIX Security Symposium (USENIX Security 19). Santa Clara, CA : USENIX Association, 2019. pp. 675-692
@inproceedings{4a31c5597f99473298aec3e6ce49bbfe,
title = "ScatterCache: Thwarting Cache Attacks via Cache Set Randomization",
abstract = "Cache side-channel attacks can be leveraged as a building block in attacks leaking secrets even in the absence of software bugs. Currently, there are no practical and generic mitigations with an acceptable performance overhead and strong security guarantees. The underlying problem is that caches are shared in a predictable way across security domains.In this paper, we eliminate this problem. We present ScatterCache, a novel cache design to prevent cache attacks. ScatterCache eliminates fixed cache-set congruences and, thus, makes eviction-based cache attacks unpractical. For this purpose, ScatterCache retrofits skewed associative caches with a keyed mapping function, yielding a security-domain-dependent cache mapping. Hence, it becomes virtually impossible to find fully overlapping cache sets, rendering current eviction-based attacks infeasible. Even theoretical statistical attacks become unrealistic, as the attacker cannot confine contention to chosen cache sets. Consequently, the attacker has to resort to eviction of the entire cache, making deductions over cache sets or lines impossible and fully preventing high-frequency attacks. Our security analysis reveals that even in the strongest possible attacker model (noise-free), the construction of a reliable eviction set for Prime+Probe in an 8-way ScatterCache with 16384 lines requires observation of at least 33.5 million victim memory accesses as compared to fewer than 103 on commodity caches. ScatterCache requires hardware and software changes, yet is minimally invasive on the software level and is fully backward compatible with legacy software while still improving the security level over state-of-the-art caches. Finally, our evaluations show that the runtime performance of software is not curtailed and our design even outperforms state-of-the-art caches for certain realistic workloads.",
author = "Mario Werner and Thomas Unterluggauer and Lukas Giner and Michael Schwarz and Daniel Gru{\ss} and Stefan Mangard",
year = "2019",
month = "8",
language = "English",
pages = "675--692",
booktitle = "28th USENIX Security Symposium (USENIX Security 19)",
publisher = "USENIX Association",
address = "United States",

}

TY - GEN

T1 - ScatterCache: Thwarting Cache Attacks via Cache Set Randomization

AU - Werner, Mario

AU - Unterluggauer, Thomas

AU - Giner, Lukas

AU - Schwarz, Michael

AU - Gruß, Daniel

AU - Mangard, Stefan

PY - 2019/8

Y1 - 2019/8

N2 - Cache side-channel attacks can be leveraged as a building block in attacks leaking secrets even in the absence of software bugs. Currently, there are no practical and generic mitigations with an acceptable performance overhead and strong security guarantees. The underlying problem is that caches are shared in a predictable way across security domains.In this paper, we eliminate this problem. We present ScatterCache, a novel cache design to prevent cache attacks. ScatterCache eliminates fixed cache-set congruences and, thus, makes eviction-based cache attacks unpractical. For this purpose, ScatterCache retrofits skewed associative caches with a keyed mapping function, yielding a security-domain-dependent cache mapping. Hence, it becomes virtually impossible to find fully overlapping cache sets, rendering current eviction-based attacks infeasible. Even theoretical statistical attacks become unrealistic, as the attacker cannot confine contention to chosen cache sets. Consequently, the attacker has to resort to eviction of the entire cache, making deductions over cache sets or lines impossible and fully preventing high-frequency attacks. Our security analysis reveals that even in the strongest possible attacker model (noise-free), the construction of a reliable eviction set for Prime+Probe in an 8-way ScatterCache with 16384 lines requires observation of at least 33.5 million victim memory accesses as compared to fewer than 103 on commodity caches. ScatterCache requires hardware and software changes, yet is minimally invasive on the software level and is fully backward compatible with legacy software while still improving the security level over state-of-the-art caches. Finally, our evaluations show that the runtime performance of software is not curtailed and our design even outperforms state-of-the-art caches for certain realistic workloads.

AB - Cache side-channel attacks can be leveraged as a building block in attacks leaking secrets even in the absence of software bugs. Currently, there are no practical and generic mitigations with an acceptable performance overhead and strong security guarantees. The underlying problem is that caches are shared in a predictable way across security domains.In this paper, we eliminate this problem. We present ScatterCache, a novel cache design to prevent cache attacks. ScatterCache eliminates fixed cache-set congruences and, thus, makes eviction-based cache attacks unpractical. For this purpose, ScatterCache retrofits skewed associative caches with a keyed mapping function, yielding a security-domain-dependent cache mapping. Hence, it becomes virtually impossible to find fully overlapping cache sets, rendering current eviction-based attacks infeasible. Even theoretical statistical attacks become unrealistic, as the attacker cannot confine contention to chosen cache sets. Consequently, the attacker has to resort to eviction of the entire cache, making deductions over cache sets or lines impossible and fully preventing high-frequency attacks. Our security analysis reveals that even in the strongest possible attacker model (noise-free), the construction of a reliable eviction set for Prime+Probe in an 8-way ScatterCache with 16384 lines requires observation of at least 33.5 million victim memory accesses as compared to fewer than 103 on commodity caches. ScatterCache requires hardware and software changes, yet is minimally invasive on the software level and is fully backward compatible with legacy software while still improving the security level over state-of-the-art caches. Finally, our evaluations show that the runtime performance of software is not curtailed and our design even outperforms state-of-the-art caches for certain realistic workloads.

UR - https://www.usenix.org/conference/usenixsecurity19/presentation/werner

M3 - Conference contribution

SP - 675

EP - 692

BT - 28th USENIX Security Symposium (USENIX Security 19)

PB - USENIX Association

CY - Santa Clara, CA

ER -