Bombas fork en Linux [comandos peligrosos 2]

Puede que se parezca un montón de smileys rabiosos,pero en realidad es un peligroso comando que podría dejar tu sistema Linux inutilizable hasta que se reinicie!!

La bomba fork es una forma de ataque del tipo denegación de servicio sobre un computador que implementa la operación fork, o alguna funcionalidad equivalente mediante la cual un proceso es capaz de crear otro proceso. La bomba fork es considerado un wabbit ya que no se replica de la misma forma que los gusanos o los virus. Su efecto se basa en la suposición de que el número de programas y procesos que se ejecutan simultáneamente en un ordenador tiene un límite.

Una bomba fork funciona creando una gran cantidad de procesos muy rápidamente con el objetivo de saturar el espacio disponible en la lista de procesos mantenida por el sistema operativo del computador. Si la tabla de procesos se llega a saturar, entonces no se pueden iniciar nuevos programas hasta que no se cierre alguno. En el caso que esto suceda, es muy poco probable que se pueda iniciar un programa útil ya que los procesos de la bomba estarán esperando para poder crear nuevos procesos a la primera oportunidad que se les conceda.

Las bombas fork no sólo ocupan espacio dentro de la lista de procesos, también consumen tiempo de proceso y memoria de la máquina donde se ejecutan. Como resultado de esto, los ordenadores se vuelven lentos e incluso se pueden volver inutilizables dada la falta de memoria y la imposibilidad de aprovechar el procesador.

Entre las bombas fork más conocidas se incluye esta versión para Unix:
:(){ :|:& };:
Para Microsoft Windows usando un archivo bat o una versión más elegante hallada por Harvie Ver Articulo Wikipedia

Dificultad de solución:

Una vez una bomba fork ha sido activada de forma “satisfactoria” en un sistema, puede que no sea posible ejecutar ninguna tarea sin un reinicio del sistema, ya que la única solución es detener todos los procesos iniciados por ella. Normalmente se requiere cargar un programa adicional para “matar” procesos, lo que puede no ser posible si no hay posiciones vacías dentro de la tabla de procesos o espacio dentro de las estructuras de memoria.

Prevención:

Una forma de prevenir el ataque de una bomba fork es limitar el número de procesos que un usuario puede ejecutar. Cuando un proceso intenta crear otro proceso y el propietario de dicho proceso ya posee la cantidad máxima de procesos que se le ha asignado, el intento de creación del nuevo proceso falla. El máximo número de procesos asignado a cada usuario debe ser lo suficientemente bajo para poder resistir la ejecución simultánea de una bomba fork por cada usuario y dejar libres los suficientes recursos como para poder restaurar el sistema.

Téngase en cuenta que la ejecución accidental de una bomba fork es altamente improbable en más de un usuario a la vez.

Los sistemas de tipo Unix típicamente tienen establecido este límite, controlado con el comando ulimit del shell. En los kernel Linux existe una variable llamada RLIMIT_NPROC, que indica la cantidad máxima de procesos que se puede ejecutar. Si un proceso intenta llamar a la función fork y el usuario propietario del proceso ya tiene igual o más procesos que los indicados en RLIMIT_NPROC la llamada a la función fallará.

Otra solución implica la detección de bombas fork antes de su ejecución por parte del sistema operativo, aunque eso supone más gasto de recursos por parte del sistema. Existe un módulo para el Kernel de Linux! rexFBD el cual es una carga de módulos del núcleo de Linux que detecta y desactiva ‘Las bombas Fork’.

Y otra (no en Wikipedia) serìa grsecurity patch para el kernel de Linux.Mas informacion sobre grsecurity patch en forums.grsecurity.

El 97% de este post ha sido extraido de Wikipedia

PS: Existen otros ejemplos de bombas fork o [fork bombs] aqui NO mencionados.

Puede tambien interesarle: Comandos peligrosos mirar pero no ejecutar!

4 thoughts on “Bombas fork en Linux [comandos peligrosos 2]

  1. Juani 21/08/2008 / 10:22

    Aunque te parezca raro, yo tengo una hecha para Windows guardada en mi home.Mas de una vez la he enviado adjunta en un email para hacer bromas, ya que no es muy peligrosa que digamos. El único riesgo es que tengas que cerrar algo sin poder guardarlo.
    Muy bueno el informe

    Like

    • CARLOS 27/02/2010 / 22:06

      ENVIAMELA

      Like

  2. Nico 21/08/2008 / 10:55

    Hola Juani,asì que haciendo bombitas caseras no?? Bueno,yo de vez en cuando lanzo alguna que otra: [$0 & $0 &]
    Saludos y gracias por tu visita.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s