BackCache: Mitigating Contention-Based Cache Timing Attacks by Hiding Cache Line Evictions

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wang, Quancheng, Zhang, Xige, Wang, Han, Gu, Yuzhe, Tang, Ming
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914831914762240
author Wang, Quancheng
Zhang, Xige
Wang, Han
Gu, Yuzhe
Tang, Ming
author_facet Wang, Quancheng
Zhang, Xige
Wang, Han
Gu, Yuzhe
Tang, Ming
contents Caches are used to reduce the speed differential between the CPU and memory to improve the performance of modern processors. However, attackers can use contention-based cache timing attacks to steal sensitive information from victim processes through carefully designed cache eviction sets. And L1 data cache attacks are widely exploited and pose a significant privacy and confidentiality threat. Existing hardware-based countermeasures mainly focus on cache partitioning, randomization, and cache line flushing, which unfortunately either incur high overhead or can be circumvented by sophisticated attacks. In this paper, we propose a novel hardware-software co-design called BackCache with the idea of always achieving cache hits instead of cache misses to mitigate contention-based cache timing attacks on the L1 data cache. BackCache places the evicted cache lines from the L1 data cache into a fully-associative backup cache to hide the evictions. To improve the security of BackCache, we introduce a randomly used replacement policy (RURP) and a dynamic backup cache resizing mechanism. We also present a theoretical security analysis to demonstrate the effectiveness of BackCache. Our evaluation on the gem5 simulator shows that BackCache can degrade the performance by 2.61%, 2.66%, and 3.36% For OS kernel, single-thread, and multi-thread benchmarks.
format Preprint
id arxiv_https___arxiv_org_abs_2304_10268
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle BackCache: Mitigating Contention-Based Cache Timing Attacks by Hiding Cache Line Evictions
Wang, Quancheng
Zhang, Xige
Wang, Han
Gu, Yuzhe
Tang, Ming
Cryptography and Security
Hardware Architecture
Caches are used to reduce the speed differential between the CPU and memory to improve the performance of modern processors. However, attackers can use contention-based cache timing attacks to steal sensitive information from victim processes through carefully designed cache eviction sets. And L1 data cache attacks are widely exploited and pose a significant privacy and confidentiality threat. Existing hardware-based countermeasures mainly focus on cache partitioning, randomization, and cache line flushing, which unfortunately either incur high overhead or can be circumvented by sophisticated attacks. In this paper, we propose a novel hardware-software co-design called BackCache with the idea of always achieving cache hits instead of cache misses to mitigate contention-based cache timing attacks on the L1 data cache. BackCache places the evicted cache lines from the L1 data cache into a fully-associative backup cache to hide the evictions. To improve the security of BackCache, we introduce a randomly used replacement policy (RURP) and a dynamic backup cache resizing mechanism. We also present a theoretical security analysis to demonstrate the effectiveness of BackCache. Our evaluation on the gem5 simulator shows that BackCache can degrade the performance by 2.61%, 2.66%, and 3.36% For OS kernel, single-thread, and multi-thread benchmarks.
title BackCache: Mitigating Contention-Based Cache Timing Attacks by Hiding Cache Line Evictions
topic Cryptography and Security
Hardware Architecture
url https://arxiv.org/abs/2304.10268