bomba lógica fork de Jaromil :(){ :|:& };:

bomba-forkLa bomba de Jaromil se ha definido como “el código de bomba fork más elegante jamás escrito”.
Una bomba lógica fork es un código informático que produce un ataque de denegación de servicio, haciendo uso de la operación fork. Fork o bifurcación, en lenguaje de programación, consiste en hacer que un programa se replique a sí mismo, creando una serie de procesos hijos dependientes del proceso padre. Son procesos en cadena idénticos, que se replican ad infinitum produciendo la saturación de los recursos de hardware de un sistema (CPU y RAM), y produciendo así la caída del sistema y/o la denegación del servicio.

Las bombas de fork se consideran un wabbit, pues a diferencia de virus o troyanos, no infectan documentos del sistema ni utilizan la red para replicarse. Se limitan a reproducirse en la máquina donde se ha ejecutado hasta hacerla caer consumiendo todos sus recursos físicos. El término “wabbit” viene de la peculiar forma en que Elmer Gruñón, tartamudenado, pronuncia la palabra conejo. “You wascawwy wabbit!” – Elmer Fudd (Elmer Gruñón).

Denis Roio, conocido como Jaromil, es un programador de software libre, net-artista y activista que hizo popular una bomba fork que ya existía en la red y de la que se desconoce su verdadero autor.

Es una bomba fork para BASH en Linux, de tan sólo 11 carácteres y 2 espacios:

:(){ :|:& };:

este hermoso código, si se teclea (o corta y pega) en una consola o terminal de Linux con Bash (el 99% de los shell que encontramos en Linux corren bash), tendrá el demoledor efecto de un cáncer súbito. El cáncer es una buena metáfora de estas bómbas, pues las neoplasias cancerosas son células tumorales que se replican hasta el infinito hasta destruir el organismo. Los wabbits hacen esto, pero a una velodidad de vértigo. La bomba fork saturará en décimas de segundo todos los recursos del microprocesador y la RAM y bloqueará la máquina. Como buen wabbit no estropeará nada, sino que una vez apretado el botón de off y reiniciado el sistema, todo estará ok (en principio 😛 )

Expliquemos someramente la bomba:

:()    define la función llamada. Esta función no admite argumentos.

:|:    a continuación se llama a sí misma utilizando la recursividad y mediante un pipe canaliza la salida a “:”

&    pone la función en segundo plano para que trabaje hasta colapsar el sistema.

;    este símbolo es necesario para terminar la definición de función en bash.

:    llama a ejecución la función contenida () y lanza la bomba.

Detener los efectos de esta bomba una vez lanzada, es como pretender contener los efectos de una explosión nuclear una vez ha comenzado la reacción en cadena. No hay nada que hacer. El sistema caerá (V de vendetta). Por lo tanto, la terapia para las bombas fork es la prevención, esto es, intentar que no puedan explotar limitando la ejecución de procesos por parte de un usuario.

Podemos intentar limitar el número de procesos de un usuario o grupo en un sistema GNU/Linux mediante el archivo:

/etc/security/limits.conf

editándolo, podemos limitar así el número de procesos del usuario Pepito:

Pepito hard nproc 300

en este caso estamos limitando a 300 los procesos que puede crear el usuario Pepito.

@estudiantes hard nproc 100

de esta manera, nadie del grupo “estudiantes” podrá crear más de 100 procesos.

Pues venga, a jugar de dinamitero anarquista contra tu propio sistema. Ten en cuenta, que antes de lanzar la bomba, conviene que cierres todos los programas de manera que no pierdas ninguna información no guardada.

Vamos allá.

Abre una terminal.

copia y pega:

:(){ :|:& };:

y lanza la bomba:

pulsa Intro. 😮

Bomba fork para Windows batch:

%0|%0

aviso: ROOT SUDO no se hace responsable de los destrozos que pudieses hacer en un sistema por un uso irresponsable.

elmer

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s