Entry № 477
Fork 炸弹
Fork 炸弹 是什么?
Fork 炸弹通过让进程不断派生(fork)自身,耗尽主机进程表、内存与 CPU 的拒绝服务技术。
Fork 炸弹是一种恶意或意外的代码,它递归地创建子进程,每轮翻倍直至触及内核进程上限、内存或 CPU 饱和,使系统无法响应。经典的 POSIX 单行命令 :(){ :|:& };: 即为典型:一个函数调用自身的两个副本并脱离父进程。与蠕虫不同,Fork 炸弹不通过网络传播,而是本地生效,但在多用户主机和 CI 执行器上极具破坏力。缓解措施包括为用户设置进程上限(ulimit -u、cgroups、PAM pam_limits)、使用 Linux cgroup PIDs 控制器、隔离账户、对不可信代码使用沙箱,以及对进程创建系统调用进行限速。
● 示例
- 01
经典的 Bash 单行 DoS 演示 `:(){ :|:& };:`。
- 02
在无限循环内意外调用 fork 的有缺陷 CI 脚本。
● 常见问题
Fork 炸弹 是什么?
通过让进程不断派生(fork)自身,耗尽主机进程表、内存与 CPU 的拒绝服务技术。 它属于网络安全的 恶意软件 分类。
Fork 炸弹 是什么意思?
通过让进程不断派生(fork)自身,耗尽主机进程表、内存与 CPU 的拒绝服务技术。
如何防御 Fork 炸弹?
针对 Fork 炸弹 的防御通常结合技术控制与运营实践,详见上方完整定义。
Fork 炸弹 还有哪些其他名称?
常见的别称包括: Wabbit, 兔子病毒。