Honey, I Shrunk the Guests Page Access Tracking using a Minimal Virtualisation Layer - Nguyen, Dustin Tien; Rußer, Sebastian; Ott, Maximilian; Kapitza, Rüdiger; Schröder-Preikschat, Wolfgang; Nolte, Jörg (4th Workshop on Heterogeneous Composable and Disaggregated Systems, 2025)
Advances in memory-intensive areas such as machine learning and graph processing drive demand for suited memory technologies. Part of the answer lies in multi-memory architectures with fast and high-capacity memory tiers. Heterogeneous systems can be very diverse, ranging from NUMA to persistent memory and CXL-attached memory. Efficient usage requires support from the operating system (OS) with knowledge of memory performance characteristics and detailed insight into the page access behaviour of processes. Gathering statistics on the read/write-ratio of accesses and (huge) page utilisation is expensive with common methods. In this paper, we propose vmmload, a minimal virtualisation layer to monitor user space programs using a virtualisation-based page modification log (PML) for efficiently gathering runtime statistics. While PML is a hardware extension that was originally designed to track virtual machine memory access, vmmload enables observation of individual processes. vmmload monitored user space processes run with PML-enabled virtualisation, but are still able to interface with the host OS. We explore the viability of using PML without a conventional virtual machine and providing the host OS with the ability to use these extensions directl

Towards Just-In-Time Compiling of Operating Systems - Ott, Maximilian; Raffeck, Phillip; Sieh, Volkmar; Schröder-Preikschat, Wolfgang (12th Workshop on Programming Languages and Operating Systems (PLOS 2023), 2023)

VeriFence: Lightweight and Precise Spectre Defenses for Untrusted Linux Kernel Extensions - Gerhorst, Luis; Herzog, Henriette; Wägemann, Peter; Ott, Maximilian; Kapitza, Rüdiger; Hönig, Timo (Proceedings of the 27th International Symposium on Research in Attacks, Intrusions and Defenses, RAID, 2024)
High-performance IO demands low-overhead communication between user- and kernel space. This demand can no longer be fulfilled by traditional system calls. Linux’s extended Berkeley Packet Filter (BPF) avoids user-/kernel transitions by just-in-time compiling user-provided bytecode and executing it in kernel mode with near-native speed. To still isolate BPF programs from the kernel, they are statically analyzed for memory- and type-safety, which imposes some restrictions but allows for good expressiveness and high performance. However, to mitigate the Spectre vulnerabilities disclosed in 2018, defenses which reject potentially-dangerous programs had to be deployed. We find that this affects 31% to 54% of programs in a dataset with 844 real-world BPF programs from popular open-source projects. To solve this, users are forced to disable the defenses to continue using the programs, which puts the entire system at risk. To enable secure and expressive untrusted Linux kernel extensions, we propose VeriFence, an enhancement to the kernel’s Spectre defenses that reduces the number of BPF application programs rejected from 54% to zero. We measure VeriFence’s overhead for all mainstream performance-sensitive applications of BPF (i.e., event tracing, profiling, and packet processing) and find that it improves significantly upon the status-quo where affected BPF programs are either unusable or enable transient execution attacks on the kernel.<br