Skip to main content
QUICK REVIEW

[论文解读] SGX-LKL: Securing the Host OS Interface for Trusted Execution

Christian Priebe, Divya Muthukumaran|arXiv (Cornell University)|Aug 29, 2019
Security and Verification in Computing参考文献 69被引用 42
一句话总结

SGX-LKL 在 SGX enclaves 内运行未修改的 Linux 二进制文件,并暴露一个最小的、加密且不可观测的主机接口,同时提供一个完整的 enclave 内库操作系统,以保护来自不可信主机的 I/O。

ABSTRACT

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.

研究动机与目标

  • 在主机操作系统不可信的云环境中,为 TEEs 提出安全主机接口的动机。
  • 为 SGX 启用的运行时提出一个最小、受保护且不可观测的主机接口。
  • 证明在 enclaves 内运行未修改的 Linux 二进制文件在可接受开销下是可行的。
  • 提供 enclave 内的操作系统功能,以支持类似 POSIX 的应用,而不泄露敏感的主机元数据。

提出的方法

  • 定义一个由用于存储和网络的 7 个 I/O 和控制调用组成的最小主机接口。
  • 通过一个完整的 Linux 库操作系统 (LKL) 在 enclave 内实现 enclave 内部的 OS 功能,以支持 POSIX 应用。
  • 通过对所有跨界数据进行加密和完整性保护来保护主机接口。
  • 通过对主机调用进行批处理并使用虚假调用来隐藏工作负载模式,从而实现不可观测性。
  • 通过 Linux 设备映射器使用 dm-crypt/dm-verity/dm-integrity 来保护磁盘 I/O。
  • 使用基于 WireGuard 的 VPN 进行 enclave 内网络流量,并使用虚拟网络设备进行分组处理。
  • 实现 attestation 和 provisioning 以验证 enclave 完整性并分发秘密。

实验结果

研究问题

  • RQ1如何将 TEEs 的主机接口最小化,以在减少信息泄漏和攻击面同时,仍能使未修改的 Linux 二进制文件在 enclaves 中运行?
  • RQ2enclave 内的操作系统组件和最小的主机接口是否能够在不向主机暴露敏感元数据的情况下提供 POSIX 兼容性?
  • RQ3在 SGX-LKL 中保护磁盘和网络 I/O 时会产生哪些性能开销,并且在单机与分布式部署中的对比如何?
  • RQ4如何将安全的 attestation 和 provisioning 整合以为加密磁盘镜像和 VPN 通道建立信任与密钥?

主要发现

  • SGX-LKL 使用一个包含 7 个调用的主机接口用于磁盘和网络 I/O、事件和时间。
  • 磁盘 I/O 通过带有 dm-crypt/dm-verity/dm-integrity 的映射 ext4 根镜像来保护,实现可配置的机密性和完整性。
  • 网络 I/O 由基于 WireGuard 的 VPN 保护,为所有 enclave 流量提供第 3 层加密。
  • enclave 内的库 OS(通过 LKL)提供 POSIX 功能,包括文件系统、网络、线程、内存管理、信号和时间。
  • 实验结果显示在仿真 SGX enclaves 中 TensorFlow 训练的开销为 14–21%,分布式部署时为 2.7×–2.9×;PARSEC 基准在不可观测调用时开销为 3.1×,无不可观测调用时为 1.5×。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。