⚠️ Requires Linux kernel 5.11+ forPR_SET_SYSCALL_USER_DISPATCH.
A minimal sandbox that uses Syscall User Dispatch to restrict Linux x86-64 programs to only allowed system calls. Designed for tracing and enforcing syscall behavior at runtime — without using seccomp.
make # Build everything (tracer, dummy, sandbox, attacker)
make trace # Trace dummy and log syscalls to policy_file.txt
make run # Run attacker with sandbox preloaded
make clean # Clean up generated files- Policy Tracing:
policy_makerobserves a target (e.g.,dummy) and generates an allowlist of syscalls. - Sandboxing: A shared library (
sandbox.so) uses SUD to block disallowed syscalls. - Enforcement: The library is preloaded into an attacker binary to enforce the policy at runtime.
| File | Purpose |
|---|---|
policy_maker.c |
Syscall tracer (policy generator) |
dummy.c |
Benign target for tracing |
sandbox.c |
Enforcer (compiled to sandbox.so) |
attacker.c |
Mock attacker using disallowed syscalls |