~/talk

zpoline: a system call hook mechanism based on binary rewriting

Talkat USENIX ATC '23 · 2023-07-10..07-12· [security, linux-and-operating-systems]
links:none on file
speakerdeck:thehajime
links:none on file
links:none on file
slides:none on file

zpoline implements a syscall hook by binary rewriting: it replaces two-byte syscall/sysenter with callq %rax and places a trampoline at address 0 that dispatches based on the syscall number so no surrounding instructions are overwritten. It uses XOM via mprotect and a bitmap caller-check to stop invalid fallthroughs. It runs on Linux FreeBSD NetBSD and DragonFly BSD and reports 28.1–761× lower overhead than prior exhaustive safe hooks and only 5.2% reduction* for Redis and a user-space network stack.

AI-written summary · about

  1. 0:00zpoline introduction
  2. 4:21Existing hook limits
  3. 6:10Binary rewriting approach
  4. 9:21Null access handling
  5. 11:47Performance benchmarks
  6. 13:10Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.