Hora: High Assurance Periodic Availability Guarantee for Life-Critical Applications on Smartphones
Body-worn medical devices benefit from having a companion mobile application to monitor them and even program them. For example, the companion application for an insulin pump can be used to automatically monitor blood sugar level throughout the day and administer insulin without user input [1]. Unfortunately, the operating systems of modern smartphones cannot provide adequate security guarantees for these applications. Existing Trusted Execution Environment (TEE) solutions aim to alleviate these problems by removing the system software (and even most of the hardware [19]) from the TCB. However, no existing TEE solution provides a critical guarantee needed for these applications: periodic availability. This is needed to ensure that the application is executed according to a requested schedule, e.g., multiple times a day to read the patient's blood sugar and administer insulin. We present our ongoing work on Hora1, a high assurance TEE solution for smartphones that guarantees periodic availability of CPU and I/O with a minimal and formally-verified scheduler. We present the design of Hora as well as its scheduler, which is implemented fully in Rust (in 1583 lines of code) and (partially) formally verified using the Kani model checker [7].
Authors
- Ardalan Amiri Sani (ORCID: https://orcid.org/0000-0003-0130-587X)
- Zhihao Yao (ORCID: https://orcid.org/0000-0001-9842-0713)
- Dylan Zueck
- Ian Do
- Nathaniel Atallah
Institutions
- New Jersey Institute of Technology (US)
- University of California, Irvine (US)
Publication Details
- Published
- 2024-08-29
- DOI
- https://doi.org/10.1145/3678015.3680486
- Citations
- 2
- Primary Topic
- Real-Time Systems Scheduling
- Type
- article
- Field-Weighted Citation Impact
- 0.98