Hardware support for trusted execution in modern CPUs enables tenants to shield their data processing workloads in otherwise untrusted cloud environments. Runtime systems for the trusted execution must rely on an interface to the untrusted host OS to use external resources such as storage, network, and other functions. Attackers may exploit this interface to leak data or corrupt the computation. We describe SGX-LKL, a system for running Linux binaries inside of Intel SGX enclaves that only exposes a minimal, protected and oblivious host interface: the interface is (i) minimal because SGX-LKL uses a complete library OS inside the enclave, including file system and network stacks, which requires a host interface with only 7 calls; (ii) protected because SGX-LKL transparently encrypts and integrity-protects all data passed via low-level I/O operations; and (iii) oblivious because SGX-LKL performs host operations independently of the application workload. For oblivious disk I/O, SGX-LKL uses an encrypted ext4 file system with shuffled disk blocks. We show that SGX-LKL protects TensorFlow training with a 21% overhead.
翻译:现代CPU 中可信执行的硬件支持使租户能够在其它不可信云层环境中保护其数据处理工作量。 受信任执行的运行时间系统必须依赖与不可靠的主机OS 的接口, 以便使用外部资源, 如存储、 网络和其他功能。 攻击者可能利用这个接口泄漏数据或腐蚀计算。 我们描述 SGX- LKL, 这是在 Intel SGX 飞地内运行 Linux 的系统, 它只暴露一个最小、 受保护和不为人知的主机界面: 接口是 (一) 最小的, 因为 SGX- LKLL 使用飞地内完整的图书馆OS, 包括文件系统和网络堆叠, 只需要有7个电话的主机界面;(二) 保护, 因为 SGX- LL 透明加密加密和完整性保护所有通过低级别 I/ O 操作传递的数据; 以及 (三) 模糊的, 因为 SGX- LL L 运行主机操作独立于应用程序工作量。 对于模糊的磁盘 I/ O, SGX- LL 使用加密的磁盘系统, 我们以21 SSL 的磁盘保护SDL 。