seccomp

从零用 Rust 实现一个最小容器运行时:深入 Namespace、cgroups 与 Seccomp 核心机制

容器不是轻量级虚拟机,而是被 Linux namespace 隔离、cgroup 限制、seccomp 约束的普通进程。本文从零用 Rust 编写一个最小容器运行时,亲手触摸 namespace、cgroups、pivot_root 与 seccomp 核心系统调用,涵盖 PID namespace 的用户视角切换、pivot_root 替代 chroot 的安全原因、cgroups v2 资源限额编程、seccomp BPF 系统调用过滤、user namespace 映射配置,最后组装完整 runtime 并探讨 OCI 运行时规范的进阶方向。

Linux 系统调用深度实战:从 int 0x80 到 VDSO 与 io_uring 的 Syscall Entry/Exit 内核实现与 eBPF 追踪

从硬件指令层拆解 Linux 系统调用的完整生命周期:syscall 历史演进(int 0x80→sysenter→syscall)、entry_SYSCALL_64 汇编级的 swapgs/per-cpu/pt_regs 构建安全分析、VDSO 如何让 gettimeofday 绕过 syscall、vDSY vs ASLR 兼容、syscall 分发表、Spectre/Meltdown 对 syscall 延迟的量化影响、sysret 与 iret 返回路径选择、io_uring 用共享环形队列绕过 syscall 的架构、eBPF tracepoint/kprobe/fentry 三种观测方式对比、strace 的 ptrace 代价与替代方案、生产环境减少 syscall 频率的 7 种工程策略、跨架构对比(x86_64/ARM64/RISC-V)。