共享存储导致的隔离失败:跨容器和虚拟机的页面缓存SCA泄漏的特征分析与利用
Isolation Failure From Shared Storage: Characterizing and Exploiting Page-Cache SCA Leakage Across Containers and VMs
浏览论文内容
中文总结 AI 辅助
研究跨容器和虚拟机的页面缓存SCA泄漏,通过评估多种环境下无特权定时测量,发现I/O路径影响定时信号,虚拟化重塑泄漏,案例展示可恢复活动,结果推动对定时隔离的协同支持。
中文摘要 AI 辅助
现代云平台越来越多地将强大的软件隔离机制与共享硬件资源相结合,以提高性能和资源效率。传统容器通过直接共享主机内核来实现,而沙盒运行时(如gVisor)和基于虚拟机的运行时(如Kata、QEMU/KVM)提供了更强的隔离。当租户访问主机支持的文件系统状态时,主机页面缓存可能保持共享且可观察。本文研究无特权的定时测量能否揭示这些隔离边界上的页面缓存驻留情况。评估涵盖了多种环境,结果表明只要I/O路径暴露共享的、主机可缓存的文件支持对象,定时信号就会持续存在,直接I/O和专用块设备会显著减弱或消除该信号。虚拟化通过增加延迟和算法噪声重塑了泄漏,但并未消除对共享硬件和缓存状态的潜在依赖。通过一个案例展示了从由MySQL支持的WordPress部署中恢复粗粒度活动。这些结果将页面缓存攻击置于更广泛的操作系统介导的微架构定时通道类别中,并推动了对定时隔离的硬件、虚拟化和操作系统的协同支持。
英文摘要
Modern cloud platforms increasingly combine strong software isolation mechanisms with shared hardware resources to improve performance and resource efficiency. Conventional containers do this by sharing the host kernel directly, whereas sandboxed runtimes (e.g., gVisor) and VM-based runtimes (e.g., Kata, QEMU/KVM) provide progressively stronger isolation. In all cases, when tenants access host-backed filesystem state, the host page cache can remain shared and observable. Although OS-managed, this page-cache channel forms an OS-mediated microarchitectural timing side channel whose signal is shaped by the processor microarchitecture, memory and storage hierarchies, and virtualization mechanisms. We thus investigate whether unprivileged timing measurements can reveal page-cache residency across these isolation boundaries. Our evaluation covers Docker; gVisor with systrap and KVM; Kata Containers using QEMU and Cloud Hypervisor with shared host filesystems; Kata using QEMU, Cloud Hypervisor, and Firecracker with block-device-backed storage; and QEMU/KVM virtual machines under multiple host cache policies. Our results show that the timing signal persists whenever the I/O path exposes shared, host-cacheable file-backed objects, including under OverlayFS layers, virtio-fs exports, and loop-backed block devices. However, direct I/O and dedicated block devices substantially attenuate or eliminate the signal. Virtualization therefore reshapes leakage through added latency and algorithmic noise but does not remove the underlying dependence on shared hardware and cache state. We showcase this through a case study in which we recover coarse-grained activity from a WordPress deployment backed by MySQL. These results place page-cache attacks within the broader class of OS-mediated microarchitectural timing channels and motivate coordinated hardware, virtualization, and OS support for timing isolation.