Recent research in micro-architectural attacks has uncovered a variety of vulnerabilities on shared compute devices like CPUs and GPUs which pose a substantial thread to cloud service providers and customers alike. Cloud service providers have therefore moved towards flexible systems that prioritize re-arrangeable hardware components that are not shared between users to minimize attack surfaces while retaining scalability. In this work, we show that for the sake of system security it is necessary to consider not only the security of the processors and peripherals of a system but also the security of the subsystems that connect them. In particular, we investigate the side-channel leakage potential of the I/O translation look-aside buffer (IOTLB) used in I/O memory management units (IOMMUs) to cache address translations. To exploit the IOTLB, we design a hardware module deployed to an FPGA to help us perform precise timing measurements. For the first time, we prove that the IOTLB is the source of a timing-based side-channel leakage and use it to create two covert channels from CPU to peripheral and between peripherals. While the first channel easily achieves an error rate of only 30%, the latter proved to be very reliable as nearly no errors occur. We present a close look at web fingerprints collected through this side-channel, and we examine the I/O operation of a GPU-accelerated SQL database. We then discuss several methods to remedy the observed side-channel leakages, including application design techniques, peripheral layout within existing systems, and micro-architectural features that could harden future IOMMUs.
翻译:最近对微型考古攻击的研究发现,在共同计算设备(如CPU和GPU)上存在各种弱点,这些装置对云层服务供应商和客户都有着巨大的线条。因此,云端服务供应商已转向灵活的系统,优先使用用户之间没有共享的可重新排列硬件组件,以尽量减少攻击表面,同时保持可缩放性。在这项工作中,我们表明,为了系统安全,不仅有必要考虑系统处理器和外围的安全,而且有必要考虑连接这些装置的子系统的安全。特别是,我们调查I/O翻译外观缓冲(IO翻译缓冲(IOOMMUs)的侧通道渗漏潜力,用于存储翻译。为了利用IOTLB,我们设计了一个硬件模块,帮助我们进行精确的计时测量。我们第一次证明,IOTLB是基于时序的侧通道渗漏的来源,并且利用它从CPU到外围和外围的两侧通道的侧通道漏漏漏漏漏漏。我们第一次通过GOO的内头路路路路路的误算,我们很快就能通过GRO的后序测算出一个错误。