Abstract
OS design is traditionally heavily intertwined with protection mechanisms. OSes statically commit to one or a combination of (1) hardware isolation, (2) runtime checking, and (3) software verification early at design time. Changes after deployment require major refactoring; as such, they are rare and costly. In this paper, we argue that this strategy is at odds with recent hardware and software trends: protections break (Meltdown), hardware becomes heterogeneous (Memory Protection Keys, CHERI), and multiple mechanisms can now be used for the same task (software hardening, verification, HW isolation, etc). In short, the choice of isolation strategy and primitives should be postponed to deployment time. We present FlexOS, a novel, modular OS design whose compartmentalization and protection profile can seamlessly be tailored towards a specific application or use-case at build time. FlexOS offers a language to describe components' security needs/behavior, and to automatically derive from it a compartmentalization strategy. We implement an early proto-Type of FlexOS that can automatically generate a large array of different OSes implementing different security strategies.
Cite
CITATION STYLE
Lefeuvre, H., Badoiu, V. A., Teodorescu, S., Olivier, P., Mosnoi, T., Deaconescu, R., … Raiciu, C. (2021). FlexOS: Making OS isolation flexible. In HotOS 2021 - Proceedings of the 2021 Workshop on Hot Topics in Operating Systems (pp. 79–87). Association for Computing Machinery, Inc. https://doi.org/10.1145/3458336.3465292
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.