Fork bomb
O que é Fork bomb?
Fork bombTécnica de negação de serviço em que um processo se replica repetidamente, esgotando tabelas de processos, memória e CPU do anfitrião.
Uma fork bomb é código malicioso ou acidental que cria processos filhos recursivamente, duplicando a cada ciclo até que os limites do kernel, a memória ou a CPU sejam saturados e o sistema deixe de responder. A clássica linha única POSIX :(){ :|:& };: define uma função chamada : que envia duas cópias de si mesma para segundo plano por pipe e então a invoca; cada geração duplica a contagem de processos, de modo que a tabela de processos se enche em segundos. A ideia antecede em muito o Unix — um de seus primeiros nomes é o programa "wabbit" ou coelho, supostamente visto em um mainframe Burroughs da University of Washington por volta de 1969-1974.
As fork bombs não se propagam pela rede como vermes; são ataques locais de esgotamento de recursos, mas muito eficazes em hosts compartilhados multiusuário, runners de CI e containers, onde um único usuário sem privilégios pode negar o serviço a todos.
As defesas limitam os recursos que uma árvore de processos pode consumir, em vez de bloquear a syscall. No Linux, os principais controles são ulimit -u / PAM pam_limits (nproc) para limitar os processos por usuário, e o controlador de cgroups pids (pids.max) — que o Docker e o Kubernetes expõem via --pids-limit — para limitar a contagem de tarefas de um container. Isolamento de contas, sandboxes para código não confiável e executores de CI dedicados reduzem ainda mais o raio de impacto.
flowchart TD
A["função :()<br/>chama a si mesma duas vezes"] --> B[Filho 1]
A --> C[Filho 2]
B --> D[Neto]
B --> E[Neto]
C --> F[Neto]
C --> G[Neto]
D --> H["... crescimento exponencial ..."]
E --> H
F --> H
G --> H
H --> I{"pids.max / ulimit -u<br/>atingido?"}
I -->|Sem limite| J[Tabela de processos esgotada — host trava]
I -->|Limite definido| K[Novos forks falham com EAGAIN — host sobrevive]● Exemplos
- 01
A linha bash `:(){ :|:& };:` usada como demonstração clássica de DoS.
- 02
Scripts de CI com erro que invocam fork dentro de um ciclo infinito.
● Perguntas frequentes
O que é Fork bomb?
Técnica de negação de serviço em que um processo se replica repetidamente, esgotando tabelas de processos, memória e CPU do anfitrião. Pertence à categoria Malware da cibersegurança.
O que significa Fork bomb?
Técnica de negação de serviço em que um processo se replica repetidamente, esgotando tabelas de processos, memória e CPU do anfitrião.
Como se defender contra Fork bomb?
As defesas contra Fork bomb costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Fork bomb?
Nomes alternativos comuns: Wabbit, Vírus coelho.