Abstract
While TrustZone can isolate IO hardware, it lacks drivers for modern IO devices. Rather than porting drivers, we propose a novel approach to deriving minimum viable drivers: developers exercise a full driver and record the driver/device interactions; the processed recordings, dubbed driverlets, are replayed in the TEE at run time to access IO devices. Driverlets address two key challenges: correctness and expressiveness, for which they build on a key construct called interaction template. The interaction template ensures faithful reproduction of recorded IO jobs (albeit on new IO data); it accepts dynamic input values; it tolerates nondeterministic device behaviors. We demonstrate driverlets on a series of sophisticated devices, making them accessible to Trust-Zone for the first time to our knowledge. Our experiments show that driverlets are secure, easy to build, and incur acceptable overhead (1.4×-2.7× compared to native drivers). Driverlets fill a critical gap in the TrustZone TEE, realizing its long-promised vision of secure IO.
Author supplied keywords
Cite
CITATION STYLE
Guo, L., & Lin, F. X. (2022). Minimum Viable Device Drivers for ARM TrustZone. In EuroSys 2022 - Proceedings of the 17th European Conference on Computer Systems (pp. 300–316). Association for Computing Machinery, Inc. https://doi.org/10.1145/3492321.3519565
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.