Table of Contents
Fetching ...

Ringmaster: How to juggle high-throughput host OS system calls from TrustZone TEEs

Richard Habeeb, Man-Ki Yoon, Hao Chen Zhong Shao

TL;DR

Ringmaster tackles the challenge of running time-sensitive, safety-critical tasks inside TEEs while still leveraging rich, potentially untrusted OS services. It leverages Linux io_uring for asynchronous I/O, maps shared memory between enclaves and a proxy, and uses a Ringmaster OS with a real-time scheduler to enforce budgets and liveness. Key innovations include dynamic shared memory arenas, a promises-based asynchronous model, and a LibC/LibOS path enabling unmodified POSIX applications to run with reduced TCB. Experimental results on a Raspberry Pi 4B and a drone demo show near 1 GiB/s enclave I/O throughput and only 0–3% overhead versus non-enclave tasks, indicating strong practical impact for CPS security and reliability.

Abstract

Many safety-critical systems require timely processing of sensor inputs to avoid potential safety hazards. Additionally, to support useful application features, such systems increasingly have a large rich operating system (OS) at the cost of potential security bugs. Thus, if a malicious party gains supervisor privileges, they could cause real-world damage by denying service to time-sensitive programs. Many past approaches to this problem completely isolate time-sensitive programs with a hypervisor; however, this prevents the programs from accessing useful OS services We introduce Ringmaster, a novel framework that enables enclaves or TEEs (Trusted Execution Environments) to asynchronously access rich, but potentially untrusted, OS services via Linux's io_uring. When service is denied by the untrusted OS, enclaves continue to operate on Ringmaster's minimal ARM TrustZone kernel with access to small, critical device drivers. This approach balances the need for secure, time-sensitive processing with the convenience of rich OS services. Additionally, Ringmaster supports large unmodified programs as enclaves, offering lower overhead compared to existing systems. We demonstrate how Ringmaster helps us build a working highly-secure system with minimal engineering. In our experiments with an unmanned aerial vehicle, Ringmaster achieved nearly 1GiB/sec of data into enclave on a Raspberry Pi4b, 0-3% throughput overhead compared to non-enclave tasks.

Ringmaster: How to juggle high-throughput host OS system calls from TrustZone TEEs

TL;DR

Ringmaster tackles the challenge of running time-sensitive, safety-critical tasks inside TEEs while still leveraging rich, potentially untrusted OS services. It leverages Linux io_uring for asynchronous I/O, maps shared memory between enclaves and a proxy, and uses a Ringmaster OS with a real-time scheduler to enforce budgets and liveness. Key innovations include dynamic shared memory arenas, a promises-based asynchronous model, and a LibC/LibOS path enabling unmodified POSIX applications to run with reduced TCB. Experimental results on a Raspberry Pi 4B and a drone demo show near 1 GiB/s enclave I/O throughput and only 0–3% overhead versus non-enclave tasks, indicating strong practical impact for CPS security and reliability.

Abstract

Many safety-critical systems require timely processing of sensor inputs to avoid potential safety hazards. Additionally, to support useful application features, such systems increasingly have a large rich operating system (OS) at the cost of potential security bugs. Thus, if a malicious party gains supervisor privileges, they could cause real-world damage by denying service to time-sensitive programs. Many past approaches to this problem completely isolate time-sensitive programs with a hypervisor; however, this prevents the programs from accessing useful OS services We introduce Ringmaster, a novel framework that enables enclaves or TEEs (Trusted Execution Environments) to asynchronously access rich, but potentially untrusted, OS services via Linux's io_uring. When service is denied by the untrusted OS, enclaves continue to operate on Ringmaster's minimal ARM TrustZone kernel with access to small, critical device drivers. This approach balances the need for secure, time-sensitive processing with the convenience of rich OS services. Additionally, Ringmaster supports large unmodified programs as enclaves, offering lower overhead compared to existing systems. We demonstrate how Ringmaster helps us build a working highly-secure system with minimal engineering. In our experiments with an unmanned aerial vehicle, Ringmaster achieved nearly 1GiB/sec of data into enclave on a Raspberry Pi4b, 0-3% throughput overhead compared to non-enclave tasks.
Paper Structure (49 sections, 10 figures, 3 tables)

This paper contains 49 sections, 10 figures, 3 tables.

Figures (10)

  • Figure 1: Example of Ringmaster on a drone with a flight controller enclave communicating over encrypted asynchronous io_uring operations with a remote operator; if the untrusted OS denies network service, the enclave will continue to stabilize and direct the drone.
  • Figure 2: Illustration of how io_uring SQ and CQ memory could be mapped into an enclave, giving it access to I/O
  • Figure 3: Diagram of Ringmaster's process for registering and mapping io_uring memory for an enclave
  • Figure 4: Diagram of Ringmaster's process for registering and mapping generic shared memory for an enclave
  • Figure 5: Diagram of Ringmaster's process for translating pointers into shared memory where address 0x11040 in the enclave is translated to 0x2040 in the proxy's address space
  • ...and 5 more figures