分叉是 Unix 和 Linux 操作系统中的一个系统调用,它通过复制现有进程(称为父进程)来创建新进程(称为子进程)。此功能允许父进程和子进程同时执行不同的任务。子进程是父进程的精确副本,除了唯一的进程 ID 和其他一些属性。分叉是这些操作系统中的一个基本概念,用于各种目的,包括创建新进程以执行不同的程序和管理多任务。
Fork 炸弹,又称“兔子病毒”,是一种利用 fork 系统调用的拒绝服务 (DoS) 攻击。在这种攻击中,恶意进程反复使用 fork 调用来创建新进程,而新进程又会创建更多进程,从而导致进程数量快速呈指数增长。这种递归过程会持续进行,直到系统耗尽资源(例如内存或进程槽),导致系统过载且无响应。
Fork 炸弹的主要目的是耗尽系统资源,使其无法执行预期功能或响应用户输入。这种攻击可以有效地摧毁系统,使其无法使用,除非重新启动或终止恶意进程。Fork 炸弹实施起来相对简单,但可以造成严重破坏,因此成为攻击者试图造成拒绝服务的有力工具。
为了降低 fork 炸弹的风险,系统管理员可以对用户和进程实施资源限制,限制单个用户或在特定时间范围内可以创建的进程数量。定期监控系统资源和活动进程也有助于检测和应对潜在的 fork 炸弹攻击。