Clair Obscur

The Light and Shadow of System Call Interposition - From Pitfalls to Solutions with K23

Conference Paper (2025)
Author(s)

Jesús María Gómez Moreno (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Vissarion Moutafis (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Antreas Dionysiou (TU Delft - Electrical Engineering, Mathematics and Computer Science, Frederick University Cyprus)

Fernando Kuipers (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Georgios Smaragdakis (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Bart Coppens (Universiteit Gent)

Alexios Voulimeneas (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Research Group
Cyber Security
DOI related publication
https://doi.org/10.1145/3721462.3770772 Final published version
More Info
expand_more
Publication Year
2025
Language
English
Research Group
Cyber Security
Pages (from-to)
241-255
Publisher
ACM
ISBN (electronic)
9798400715549
Event
26th ACM International Middleware Conference, Middleware 2025 (2025-12-15 - 2025-12-19), Nashville, United States
Downloads counter
63
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

System call interposition is a widely used technique to trace and modify application behavior. Over the years, numerous interposition mechanisms have been proposed, each with distinct strengths and trade-offs. Recently, advances in binary rewriting - specifically targeting x86-64 syscall and sysenter instructions - have led to new techniques that take important steps forward, with some claiming to support general-purpose use.We analyze state-of-the-art interposers in depth and uncover several fundamental design and implementation flaws - pitfalls that we collectively term System Call Interposition Pitfalls. For example, prior work cannot reliably interpose all system calls and may even corrupt code and data. These flaws undermine the practicality of existing solutions in real-world scenarios, rendering them unsuitable as universal interposition mechanisms.Motivated by our findings, we design and implement a new plug-and-play system call interposition approach named K23, targeting x86-64 platforms. K23 addresses the uncovered pitfalls via a hybrid design that unifies the strengths of prior methods, combining offline and online phases that leverage multiple Linux interfaces and binary rewriting. Our evaluation shows that K23 overcomes the key limitations of state-of-the-art solutions while remaining highly efficient. To our knowledge, K23 is the first general-purpose interposer suitable for a wide range of use cases and environments, from low-end devices to performance-critical, datacenter-scale workloads.