We present a software approach to mitigate access-driven side-channel attacks that leverage last-level caches (LLCs) shared across cores to leak information between security domains (e.g., tenants in a cloud). Our approach dynamically manages physical memory pages shared between security domains to disable sharing of LLC lines, thus preventing "Flush-Reload" side channels via LLCs. It also manages cacheability of memory pages to thwart cross-tenant "Prime-Probe" attacks in LLCs. We have implemented our approach as a memory management subsystem called CacheBar within the Linux kernel to intervene on such side channels across container boundaries, as containers are a common method for enforcing tenant isolation in Platformas-a-Service (PaaS) clouds. Through formal verification, principled analysis, and empirical evaluation, we show that CacheBar achieves strong security with small performance overheads for PaaS workloads. Keywords Cache-based side channel; prime-probe; flush-reload This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs International 4.0 License.
CacheBar REF uses software partitioning between security domains to disable cache line sharing in the last level cache.
A Software Approach to Defeating Side Channels in Last-Level Caches
CCS '16
Computer Science