论文标题
计算在英特尔SGX和Gramine Library OS中的硬件加速器上卸载
Computation offloading to hardware accelerators in Intel SGX and Gramine Library OS
论文作者
论文摘要
Intel软件防护电源(SGX)技术使应用程序能够在孤立的SGX飞地环境中运行,并保证了机密性和完整性的提高。 Gramine Library OS有助于执行SGX飞地中现有的未修改应用程序,仅需要一个随附的清单文件,该文件描述了应用程序的安全姿势和配置。但是,英特尔SGX是仅CPU的技术,因此Gramine当前支持仅CPU的工作负载。要启用更广泛的应用程序,将计算卸载到硬件加速器的应用程序 - GPU卸载,NIC卸载,FPGA卸载,TPM Communications -Gramine必须使用设备支持的MMAP支持和通用IOCTL支持。在本文中,我们描述了这种新添加的支持的设计和实现,对清单文件语法的相应更改和必要的深层复制算法。我们评估了我们对英特尔媒体SDK工作负载的实施,并讨论了遇到的警告和局限性。最后,我们概述了除了设备通信之外的MMAP/IOCTL支持的用例,即将应用程序切成可信赖的飞地部分(核心应用程序执行)和不信任的共享内存部分(如果执行不安全的共享库执行)的机制。
The Intel Software Guard Extensions (SGX) technology enables applications to run in an isolated SGX enclave environment, with elevated confidentiality and integrity guarantees. Gramine Library OS facilitates execution of existing unmodified applications in SGX enclaves, requiring only an accompanying manifest file that describes the application's security posture and configuration. However, Intel SGX is a CPU-only technology, thus Gramine currently supports CPU-only workloads. To enable a broader class of applications that offload computations to hardware accelerators - GPU offload, NIC offload, FPGA offload, TPM communications - Gramine must be augmented with device-backed mmap support and generic ioctl support. In this paper, we describe the design and implementation of this newly added support, the corresponding changes to the manifest-file syntax and the requisite deep copy algorithm. We evaluate our implementation on Intel Media SDK workloads and discuss the encountered caveats and limitations. Finally, we outline a use case for the presented mmap/ioctl support beyond mere device communication, namely the mechanism to slice the application into the trusted enclave part (where the core application executes) and the untrusted shared-memory part (where insecure shared libraries execute).