cgroup
Linux内核提供的进程资源隔离与管理机制,可将一组进程归入同一控制组,实现CPU、内存等资源限制以及批量进程信号发送,是容器技术的基础组件之一
核心事实
时间轴 (近 90 天)
内核级限制通常借助 seccomp、Landlock、cgroup 等机制,在系统调用进入内核时按白名单或规则进行拦截,因此比应用层钩子更难绕过。
命名空间负责“看见什么”(PID、mount、network、user 等隔离),cgroup 负责“用多少”(对 CPU、内存、IO 等资源进行计量与限额)。
systemd-nspawn 是 systemd 项目附带的一个容器管理工具,借助 Linux 命名空间(namespace)和控制组(cgroup)实现进程、文件系统、网络等维度的隔离,同时与宿主机共享内核。
容器依赖 namespaces 与 cgroups 做逻辑隔离,仍共享宿主内核,一旦内核出现提权漏洞,攻击者可能跨越容器边界。
在租用容器上运行 Strata 前,应通过 cat /sys/fs/cgroup/cpu.max 检查 CPU 配额,并将 --pool-workers 设为允许核数略小的值
操作系统级沙箱在 Linux 上以 seccomp 过滤系统调用、配合 namespace 隔离挂载与网络视图、再用 cgroup 限制资源
Cgroups可以对一组进程的CPU、内存、磁盘I/O等资源进行精确限制和统计
cgroup方案在Linux上清理最为彻底,但macOS支持有限;进程组方案跨平台兼容性较好,但对已脱离进程组的逃逸进程无能为力
Linux的cgroup机制可以将一组进程置于同一控制组下,一次性向组内所有进程发送终止信号,对多层子进程派生同样有效
逆向工程沙箱的方法论包括环境探测(读取系统信息、进程列表、内核版本、cgroup配置)
还有 2 条时间轴事件
全部知识事实 (14)
容器技术(以Docker为代表)利用Linux内核的namespace机制实现进程、网络、文件系统隔离,借助cgroups限制CPU、内存等资源用量
80%已验证Docker基于Linux内核的cgroups(资源限制)和namespace(进程隔离)机制实现容器化
80%待验证内核级限制通常借助 seccomp、Landlock、cgroup 等机制,在系统调用进入内核时按白名单或规则进行拦截,因此比应用层钩子更难绕过。
50%待验证命名空间负责“看见什么”(PID、mount、network、user 等隔离),cgroup 负责“用多少”(对 CPU、内存、IO 等资源进行计量与限额)。
50%待验证systemd-nspawn 是 systemd 项目附带的一个容器管理工具,借助 Linux 命名空间(namespace)和控制组(cgroup)实现进程、文件系统、网络等维度的隔离,同时与宿主机共享内核。
50%待验证容器依赖 namespaces 与 cgroups 做逻辑隔离,仍共享宿主内核,一旦内核出现提权漏洞,攻击者可能跨越容器边界。
50%待验证在租用容器上运行 Strata 前,应通过 cat /sys/fs/cgroup/cpu.max 检查 CPU 配额,并将 --pool-workers 设为允许核数略小的值
50%待验证操作系统级沙箱在 Linux 上以 seccomp 过滤系统调用、配合 namespace 隔离挂载与网络视图、再用 cgroup 限制资源
50%待验证Cgroups可以对一组进程的CPU、内存、磁盘I/O等资源进行精确限制和统计
50%待验证Linux的cgroup机制可以将一组进程置于同一控制组下,一次性向组内所有进程发送终止信号,对多层子进程派生同样有效
50%待验证cgroup方案在Linux上清理最为彻底,但macOS支持有限;进程组方案跨平台兼容性较好,但对已脱离进程组的逃逸进程无能为力
50%待验证逆向工程沙箱的方法论包括环境探测(读取系统信息、进程列表、内核版本、cgroup配置)
50%待验证容器(Docker/LXC)通过命名空间+cgroup实现隔离,共享宿主内核,性能开销极低
50%待验证Linux的namespace提供PID、Network、Mount、UTS、IPC和User等多种隔离维度,cgroup负责资源限制和计量
50%