The Endokernel: Fast, Secure, and Programmable Subprocess Virtualization

08/08/2021
by   Bumjin Im, et al.
0

Commodity applications contain more and more combinations of interacting components (user, application, library, and system) and exhibit increasingly diverse tradeoffs between isolation, performance, and programmability. We argue that the challenge of future runtime isolation is best met by embracing the multi-principle nature of applications, rethinking process architecture for fast and extensible intra-process isolation. We present, the Endokernel, a new process model and security architecture that nests an extensible monitor into the standard process for building efficient least-authority abstractions. The Endokernel introduces a new virtual machine abstraction for representing subprocess authority, which is enforced by an efficient self-isolating monitor that maps the abstraction to system level objects (processes, threads, files, and signals). We show how the Endokernel can be used to develop specialized separation abstractions using an exokernel-like organization to provide virtual privilege rings, which we use to reorganize and secure NGINX. Our prototype, includes a new syscall monitor, the nexpoline, and explores the tradeoffs of implementing it with diverse mechanisms, including Intel Control Enhancement Technology. Overall, we believe sub-process isolation is a must and that the Endokernel exposes an essential set of abstractions for realizing this in a simple and feasible way.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/17/2023

OSmosis: No more Déjà vu in OS isolation

Operating systems provide an abstraction layer between the hardware and ...
research
05/07/2021

SERVAS! Secure Enclaves via RISC-V Authenticryption Shield

Isolation is a long-standing challenge of software security. Traditional...
research
12/24/2018

MI6: Secure Enclaves in a Speculative Out-of-Order Processor

Recent attacks have broken process isolation by exploiting microarchitec...
research
02/11/2022

CAP-VMs: Capability-Based Isolation and Sharing for Microservices

Cloud stacks must isolate application components, while permitting effic...
research
04/09/2020

μTiles: Efficient Intra-Process Privilege Enforcement of Memory Regions

With the alarming rate of security advisories and privacy concerns on co...
research
05/24/2022

The Next-Generation OS Process Abstraction

Operating Systems are built upon a set of abstractions to provide resour...
research
01/20/2022

Polytope: Practical Memory Access Control for C++ Applications

Designing and implementing secure software is inarguably more important ...

Please sign up or login with your details

Forgot password? Click here to reset