Mmapx: Uniform memory protection in a heterogeneous world

6Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Modern Systems-on-Chip (SoCs) are networks of heterogeneous cores, intelligent devices, and memory, connected through multiple configurable address translation and protection units like IOMMUs and System MMUs. Modern OS kernels like Linux are based on traditional MMUs and have no clear abstractions to represent this complexity, mostly leaving IOMMU configuration to device drivers. This has led to a recent spate of serious bugs, and increasing concern over "cross-SoC"attacks on memory security. To address this, we propose a new kernel primitive, mmapx, based on a decoding net a rich and detailed representation of the memory addressing semantics of a complex SoC from the recent formal methods literature. mmapx provides a uniform facility for securely configuring all the address translation facilities in a system. mmapx leverages existing Unix facilities wherever possible: The file system for naming, discovery, and coarse-grained access control, and file descriptors for fine-grained authorization. We show how mmapx can eliminate bugs caused by device drivers programming IOMMUs directly, but also the detail captured by the underlying model has further benefits while incurring minimal overhead.

Cite

CITATION STYLE

APA

Achermann, R., Cock, D., Haecki, R., Hossle, N., Humbel, L., Roscoe, T., & Schwyn, D. (2021). Mmapx: Uniform memory protection in a heterogeneous world. In HotOS 2021 - Proceedings of the 2021 Workshop on Hot Topics in Operating Systems (pp. 159–166). Association for Computing Machinery, Inc. https://doi.org/10.1145/3458336.3465273

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free