一句话:提出 HIX 架构,在不修改 GPU 的情况下通过改造 CPU-GPU I/O 互连和驱动,实现商用 GPU 的安全隔离执行。
云环境中大量敏感数据被卸载到 GPU 加速,但现有商用 GPU 及其云部署缺乏硬件级可信执行支持,恶意或被攻陷的特权软件可攻击外包 GPU 计算。本文提出 HIX(Heterogeneous Isolated eXecution),一种软硬件协同架构:它不修改 GPU 内部架构,而是修改 CPU 与 GPU 之间的 I/O 互连,并将 GPU 设备驱动重构到 CPU 可信执行环境内运行,从而在不可信 OS 下隔离 GPU 远程执行。该设计还可扩展到其他卸载加速器。作者基于 KVM/QEMU 模拟机器和真实 GPU 实现了原型,并在 Rodinia 基准上评估,表明安全隔离带来的性能开销平均约 26%。
Traditional CPUs and cloud systems based on them have embraced the hardware-based trusted execution environments to securely isolate computation from malicious OS or hardware attacks. However, GPUs and their cloud deployments have yet to include such support for hardware-based trusted computing. As large amounts of sensitive data are offloaded to GPU acceleration in cloud environments, ensuring the security of the data is a current and pressing need. As deployed today, the outsourced GPU model is vulnerable to attacks from compromised privileged software. To support isolated remote execution on GPUs even under vulnerable operating systems, this paper proposes a novel hardware and software architecture, called HIX (Heterogeneous Isolated eXecution). HIX does not require modifications to the GPU architecture to offer protections: Instead, it offers security by modifying the I/O interconnect between the CPU and GPU, and by refactoring the GPU device driver to work from within the CPU trusted environment. A result of the architectural choices behind HIX is that the concept can be applied to other offload accelerators besides GPUs. This work implements the proposed HIX architecture on an emulated machine with KVM and QEMU. Experimental results from the emulated security support with a real GPU show that the performance overhead for security is curtailed to 26% on average for the Rodinia benchmark, while providing secure isolated GPU computing.
DOI 原文 ·
@inproceedings{paperbot4843,
title = {Heterogeneous Isolated Execution for Commodity GPUs},
author = {Insu Jang and Adrian Tang and Taehoon Kim and Simha Sethumadhavan and Jaehyuk Huh},
booktitle = {ASPLOS},
year = {2019},
doi = {10.1145/3297858.3304021}
}