Geek the Planet


GNU/Linux no image

Published on Abril 22nd, 2007 | by Angelfire

0

Bombas Fork

No me podia quedar con la intriga y seguí­ investigando sobre el DoS en Unix, encontré que esa lí­nea de código es una Bomba Fork, que no es más que una de las formas de ataque DoS contra un sistema informático, este ataque produce una operación de bifurcación mediante la cual por un proceso se crea otro proceso y asi sucesivamente hasta que se produce una Denegacion de Servicio. Creo que esta imagen habla por si sola:
Bomba Fork

Si quieren leer más puede hacerlo en wikipedia, tiene una muy buena explicación de lo que es una Bomba Fork, eso si, en inglés. Ejemplos de Bombas Fork:

en Unix

:(){ :|:& };:

en windows usando un archivo batch

:s
start %0
goto s

usando perl
(forking using the Perl interpreter):

perl -e "fork while fork" &

en C

#include <*unistd.h*>
int main()
{
while(0==0)
fork();
}

La cabecera unistd.h es sin los asteriscos, pero por razones de problemas con códigos en el WP se los puse, si lo quiere compilar, quitenle los asteriscos.

La que me termina preocupando es la DoS en Unix, por eso busque una explicación y creo que la encontre:

It creates a function called “:” that accepts no arguments– that’s
the “:(){ … }” part of the utterance.

The code in the function calls the recursively calls the function
and pipes the output to another invocation of the function– that’s
the “:|:” part. The “&” puts the call into the background– that way
the child process don’t die if the parent exits or is killed. Note
that by invoking the function twice, you get exponential growth in
the number of processes (nasty!).

The trailing “;” after the curly brace finishes the function definition
and the last “:” is the first invocation of the function that sets off
the bomb.

Most unpleasant…


Hal Pomeranz, Founder/CEO Deer Run Associates hal at deer-run.com
Network Connectivity and Security, Systems Management, Training

Espero que les sirva la explicación.

Tags: , ,


About the Author

Systems Engineering, Computer Systems Specialist, Social Engineering Specialist. Social Media Analyzer. Usability and SEO enthusiasm (Este es mi perfil de Twitter...)



Comments are closed.

Back to Top ↑
  • Comentarios recientes

  • Miniposts

    • iOS 8 disponible para descargar

      Hoy se anunció de manera oficial iOS 8, la fecha de llegada será el próximo 17 de septiembre. En iPhonehacks han recopilado los enlaces de descarga directo para los diferentes dispositivos que soportan la nueva versión del sistema operativo. Así que para quienes no desean esperar, ya pueden acceder a la versión Golden Master ...

    • Festigame Colombia 2014

      El festival de videojuegos, cultura gamer y entretenimiento familiar más grande de América Latina ha llegado a nuestro país. Festigame que es un evento creado en Chile en 2012, se ha convertido en el evento anual donde las marcas más importantes de la industria presentan sus últimos productos en el ...

    • Peter Griffin también tiene cuenta en Instagram

      El protagonista de la serie de humor, Padre de Familia, Peter Griffin ha inaugurado su presencia en la red social de fotografía con divertidas fotografías de su vida, y a pesar de ser un personaje de ficción ya ha superado los 200.000 seguidores en tan sólo dos semanas. Son unas fotos bastante divertidas, las ...

    • Manual y documentación de Node.js para Android

      Node.js se ha venido haciendo bastante popular en los últimos años, cada vez son más los usos que como desarrolladores web le damos a esta tecnología. La siguiente aplicación es el manual y la documentación de Node.js, que contiene los siguientes temas: About these Docs Synopsis Assertion Testing Buffer C/C++ Addons Child Processes Cluster Console Crypto Debugger DNS Domain Events File System Globals HTTP HTTPS Modules Net OS Path Process Punycode Query Strings Readline REPL Stream String Decoder Timers TLS/SSL TTY UDP/Datagram URL Utilities VM ZLIB

    • Star Wars Traceroute

      ¿Qué pasa cuando un ingeniero está muy desocupado? pues pasan cosas como esta: Mac y Linux Van a la consola y escriben: traceroute 216.81.59.173 Windows Buscan el CMD y escriben: tracert 216.81.59.173 El resultado es interesante y sorprendente. Si quieren ver la salida de la ejecución del comando, pueden ver el gist Ver más: Beagle Network

  • Comunicados - Notas de Prensa