MProtect: Operating System Memory Management without Access

12/24/2022
by   Caihua Li, et al.
0

Modern operating systems (OSes) have unfettered access to application data, assuming that applications trust them. This assumption, however, is problematic under many scenarios where either the OS provider is not trustworthy or the OS can be compromised due to its large attack surface. Our investigation began with the hypothesis that unfettered access to memory is not fundamentally necessary for the OS to perform its own job, including managing the memory. The result is a system called MProtect that leverages a small piece of software running at a higher privilege level than the OS. MProtect protects the entire user space of a process, requires only a small modification to the OS, and supports major architectures such as ARM, x86 and RISC-V. Unlike prior works that resorted to nested virtualization, which is often undesirable in mobile and embedded systems, MProtect mediates how the OS accesses the memory and handles exceptions. We report an implementation of MProtect called MGuard with ARMv8/Linux and evaluate its performance with both macro and microbenchmarks. We show MGuard has a runtime TCB 2 3 times smaller than related systems and enjoys competitive performance while supporting legitimate OS access to the user space.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/21/2021

Virtual Memory Partitioning for Enhancing Application Performance in Mobile Platforms

Recently, the amount of running software on smart mobile devices is grad...
research
11/26/2020

On the Applicability of PEBS based Online Memory Access Tracking for Heterogeneous Memory Management at Scale

Operating systems have historically had to manage only a single type of ...
research
03/09/2021

MapVisual: A Visualization Tool for Memory Access Patterns

Memory bandwidth is strongly correlated to the complexity of the memory ...
research
05/22/2014

Hello rootKitty: A lightweight invariance-enforcing framework

In monolithic operating systems, the kernel is the piece of code that ex...
research
08/04/2022

CheckSync: Using Runtime-Integrated Checkpoints to Achieve High Availability

CheckSync provides applications with high availability via runtime-integ...
research
12/21/2017

POSIX-based Operating System in the environment of NVM/SCM memory

Modern Operating Systems are typically POSIX-compliant. The system calls...
research
12/31/2020

Managed Information: A New Abstraction Mechanism for Handling Information in Software-as-a-Service

Management of information is an important aspect of every application. T...

Please sign up or login with your details

Forgot password? Click here to reset