Bomba fork
¿Qué es Bomba fork?
Bomba forkTécnica de denegación de servicio en la que un proceso se duplica repetidamente, agotando tablas de procesos, memoria y CPU del equipo.
Una bomba fork es código malicioso o accidental que crea procesos hijos de forma recursiva, duplicándose en cada ciclo hasta saturar los límites del kernel, la memoria o la CPU y dejar el sistema sin respuesta. La línea POSIX clásica :(){ :|:& };: define una función llamada : que canaliza dos copias de sí misma al segundo plano y luego la invoca; cada generación duplica el número de procesos, de modo que la tabla de procesos se llena en segundos. La idea es muy anterior a Unix: uno de sus primeros nombres es el programa «wabbit» o conejo, presuntamente visto en un mainframe Burroughs de la Universidad de Washington hacia 1969-1974.
Las bombas fork no se propagan por redes como los gusanos; son ataques locales de agotamiento de recursos, pero muy eficaces en equipos compartidos multiusuario, runners de CI y contenedores, donde un único usuario sin privilegios puede negar el servicio a todos.
Las defensas limitan los recursos que puede consumir un árbol de procesos en lugar de bloquear la llamada al sistema. En Linux los controles clave son ulimit -u / PAM pam_limits (nproc) para acotar los procesos por usuario, y el controlador de cgroups pids (pids.max) —que Docker y Kubernetes exponen mediante --pids-limit— para limitar el número de tareas de un contenedor. El aislamiento de cuentas, los sandboxes para código no confiable y los ejecutores de CI dedicados contienen aún más el radio de impacto.
flowchart TD
A["La función :()<br/>se llama a sí misma dos veces"] --> B[Hijo 1]
A --> C[Hijo 2]
B --> D[Nieto]
B --> E[Nieto]
C --> F[Nieto]
C --> G[Nieto]
D --> H["... crecimiento exponencial ..."]
E --> H
F --> H
G --> H
H --> I{"¿Se alcanzó<br/>pids.max / ulimit -u?"}
I -->|Sin límite| J[Tabla de procesos agotada — el equipo se cuelga]
I -->|Límite establecido| K[Los nuevos forks fallan con EAGAIN — el equipo sobrevive]● Ejemplos
- 01
La línea bash `:(){ :|:& };:` usada como demostración clásica de DoS.
- 02
Scripts CI defectuosos que llaman a fork dentro de un bucle infinito.
● Preguntas frecuentes
¿Qué es Bomba fork?
Técnica de denegación de servicio en la que un proceso se duplica repetidamente, agotando tablas de procesos, memoria y CPU del equipo. Pertenece a la categoría de Malware en ciberseguridad.
¿Qué significa Bomba fork?
Técnica de denegación de servicio en la que un proceso se duplica repetidamente, agotando tablas de procesos, memoria y CPU del equipo.
¿Cómo defenderse de Bomba fork?
Las defensas contra Bomba fork combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Bomba fork?
Nombres alternativos comunes: Wabbit, Virus conejo.