To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

De Wikipedia, la enciclopedia libre

Esquema de funcionamiento de la bomba fork, los procesos son divididos recursivamente hasta causar una denegación de servicio o un bloqueo del sistema.

Una bomba fork es una forma de ataque del tipo denegación de servicio sobre un computador implementando una operación fork o alguna otra funcionalidad equivalente mediante la cual un proceso es capaz de autorreplicarse. La bomba fork es considerado un wabbit ya que no se autorreplica 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 de 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.

YouTube Encyclopedic

  • 1/3
    Views:
    563
    494
    545
  • Definicion: Bomba Fork
  • Definicion: Cryptolocker
  • Definicion: Keylogger

Transcription

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.[1]

Ejemplo de una bomba fork

Código fuente de una bomba fork programada en Batch funcional en cualquier versión de Microsoft Windows:

%0|%0

O bien, una reacción más rápida:

:s
start "" %0
goto :s

Código fuente de una bomba fork programada en UNIX C o C++:

#include <unistd.h>

int main()
{
  while(true)
  {
    fork();
  }
  return 0;
}

Bomba fork para bash de linux

:(){ :|:& };:

O de forma larga

#!/bin/bash
bomba() {
  bomba | bomba & 
}
bomba

En Perl:

fork while fork

En Python:

import os

while True:
     os.fork()

En Ruby:

def forkbomb
  loop { fork { forkbomb }  }
end; forkbomb

Véase también

Referencias

  1. Rohit Singh. «Fork Bomb Defuser!» (en inglés). Consultado el 2010. 
Esta página se editó por última vez el 8 oct 2023 a las 05:08.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.