Trust Nothing: RTOS Security without Run-Time Software TCB (Extended Version)
About
Embedded devices face an ever-expanding threat landscape: vulnerabilities in application software, operating system kernels, and peripherals threaten the embedded device integrity. Existing computer-architectural defenses fully consider at most two of these threat vectors in their security model. This paper aims at addressing this gap using a novel capability architecture. To this end, we combine a token capability approach suitable for building an untrusted operating system with protection against malicious devices without requiring hardware changes to peripherals. First, we develop and evaluate a full FPGA implementation of our capability architecture around legacy hardware components. Further, we present a soft real-time operating system based on Zephyr that has no run-time software TCB. To this end, we disaggregate Zephyr's subsystems into small, mutually isolated components. All subsystems that exist at run time, including scheduler, allocator and DMA drivers, and all peripherals are fully untrusted. We believe that our work offers a foundation for more rigorous security-by-design in tomorrow's security-critical embedded devices.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Compute Performance | CoreMark | CoreMark Score110.1 | 3 | |
| Memory Performance | STREAM | Stream Copy Time (s)6 | 3 | |
| Interrupt Latency Evaluation | Zephyr IRQ Microbenchmarks Independent | Average Latency (ns)6.84e+4 | 2 | |
| Interrupt Latency Evaluation | Zephyr IRQ Microbenchmarks Monotonic | Average Latency (ns)5.88e+4 | 2 | |
| Interrupt Period Evaluation | Zephyr IRQ Microbenchmarks Monotonic Period | Average Period (ns)1.36e+5 | 2 |