- ATC ‘18 Presentation
- https://www.usenix.org/conference/atc18/presentation/boucher
Key Idea
- Process-based isolation is slow. Use:
- Language-based isolation: Rust. Guaranteed in compile time.
- Fine-grained preemption: Restrict syscalls and abort long-running tasks.
Mentioned Systems
Knowledge
Preload Dynamic Library
Use LD_PRELOAD
to preload a dynamic library before any other library. Link
Example: $ LD_PRELOAD=/path/to/my/malloc.so /bin/ls
.
Use ldd
to list alll runtime dependencies of a binary program or a shared library.
SIGALRM
SIGALRM is a signal triggered after waiting for a certain amount of time. By default, it kills the process. In C, alarm
and settimer
function can call the SIGALRM
syscall.
SIGSYS
A process passes a bad argument to a syscall. For example, it violates Seccomp security rules. It can also be used to emulate foreign syscalls: emulating Windows syscalls on Linux. By default, it terminates the process.
seccomp
Linux uses seccomp to restrict the process’s syscalls. It is widely used in containers.
Useful Langauge Points
thwart
: 阻挠