Flexible Tag-based Policies for Compartmentalized C
The principle of least privilege suggests that we can enhance the reliability and security of programs by dividing them into compartments that communicate via restricted interfaces. In an unsafe language such as C, this can also isolate the impact of memory errors by restricting memory accesses across compartment boundaries. We are developing designs for C compartmentalization policies that can be efficiently implemented using tag-based hardware reference monitors. Our policies support dif- ferent cross-compartment interfaces, ranging from a “share- nothing” model where compartments interact only by func- tion call and return passing scalars, to a “share-anything” model in which compartments can exchange capabilities to access individual memory objects. Between these, novel hy- brid models distinguish local and shareable objects. The tag policies vary in how much memory protection they provide, from compartment-based fault isolation to full spatial and temporal memory safety for each object, and each supports further restriction via mandatory access control.
TagCCompartments.pdf (presentation.pdf) | 1.9MiB |
Sat 25 JanDisplayed time zone: Saskatchewan, Central America change
15:35 - 17:45 | Compartmentalization, memory safety, and isolationPriSC at Rosalie Chair(s): Marco Patrignani Stanford University & CISPA , Jonathan Protzenko Microsoft Research, Redmond | ||
15:35 24mTalk | Flexible Tag-based Policies for Compartmentalized C PriSC Sean Anderson Portland State University, Andrew Tolmach Portland State University, CHR Chhak Portland State University Media Attached File Attached | ||
15:59 24mTalk | Mechanized Reasoning about a Capability Machine PriSC Media Attached | ||
16:23 24mTalk | Securing Interruptible Enclaves PriSC Matteo Busi Università di Pisa - Dipartimento di Informatica, Job Noorman imec-DistriNet, Dept. of Computer Science, KU Leuven, Belgium, Jo Van Bulck imec-DistriNet, Dept. of Computer Science, KU Leuven, Belgium, Letterio Galletta IMT School for Advanced Studies, Pierpaolo Degano Università di Pisa - Dipartimento di Informatica, Jan Tobias Mühlberg imec-DistriNet, Dept. of Computer Science, KU Leuven, Belgium, Frank Piessens KU Leuven Media Attached File Attached | ||
16:47 10mBreak | Mini-break PriSC | ||
16:57 24mTalk | WebAssembly as an Intermediate Language for Provably-Safe Software Sandboxing PriSC Jay Bosamiya Carnegie Mellon University, Benjamin Lim Carnegie Mellon University, Bryan Parno Carnegie Mellon University Media Attached File Attached | ||
17:21 24mTalk | Memory Safety Preservation for WebAssembly PriSC Marco Vassena CISPA Helmholtz Center for Information Security, Marco Patrignani Stanford University & CISPA Link to publication Media Attached File Attached |