RSS .92| RSS 2.0| ATOM 0.3
  • Inicio
  •  

    Fork bomb para Unix (Linux, BSD, etc)

    Hoy dando vueltas por lugares de seguridad me encuentro con un gran barullo con kriptopolis uno de los buenos sitios que he encontrado sobre seguridad y privacidad, en donde de vez en vez me topo con muy buena información para protección y ataque :P

    Bueno lo que nos trae a este post es el pequeño escándalo que provoco un post sobre una “bomba lógica” que existe para los herederos de sistema unix, ahora hago la aclaración antes de el post referido, primero que nada para dejar claros algunos puntos que muy acertadamente en los comentarios de este post se hicieron como una aclaración de que esta “bomba lógica” no es tan lógica puesto que se trata de un Fork bomb y esto no es nada mas que un programa o código que provoca un DoS y claro ustedes preguntaran como lo provoca, ante de eso vamos a ver el mencionado post de kriptopolis:

    Esta bomba lógica produce un DoS (denegación de servicio) mediante un proceso que consume toda la memoria del sistema, dejando totalmente inutilizable el PC y obligando a reiniciar.
    Paso a explicar un poco de qué se trata…
    Todo se lleva a cabo introduciendo una serie de caracteres en una terminal. Estos caracteres fueron liberados por uno de los programadores del kernel Unix

    El codigo en cuestion: (sin espacios)
    : ( ) { : | : & } ; :

    Probado en FreeBSD, OpenBSD, PcBSD, Slackware, Debian, SuSe, Mandriva, Gentoo, Ubuntu

    Ahora vamos a desenmarañar todo este barullo, bueno la tal bomba lógica no es eso sino un código que genera procesos indiscriminadamente en un sistema *nix de forma recursiva hasta que causa que el sistema se llene ademas de la memoria del mismo hasta que este se cuelga definitivamente. Su solución es bajar el numero de procesos que un usuario puede manejar o generar

    Prueba de nuestra configuración limite para nuestro usuario
    techno@techno-laptop:~$ ulimit -u
    unlimited

    Verificación de los limites de nuestro sistema

    techno@techno-laptop:~$ ulimit -a
    core file size (blocks, -c) 0
    data seg size (kbytes, -d) unlimited
    scheduling priority (-e) 20
    file size (blocks, -f) unlimited
    pending signals (-i) unlimited
    max locked memory (kbytes, -l) unlimited
    max memory size (kbytes, -m) unlimited
    open files (-n) 1024
    pipe size (512 bytes, -p) 8
    POSIX message queues (bytes, -q) unlimited
    real-time priority (-r) 0
    stack size (kbytes, -s) 8192
    cpu time (seconds, -t) unlimited
    max user processes (-u) unlimited
    virtual memory (kbytes, -v) unlimited
    file locks (-x) unlimite
    d

    Ahora la solucion

    Limitamos los procesos para que resista esta clase de “ataques”
    ulimit -n 8191 Probado en Gentoo
    ulimit -n 8118 Probado en Ubuntu

    Así que bueno, así termina nuestros 2 minutos de alarma en el sistema :P, bueno ahora ustedes como yo y claro como en el post original estarán de acuerdo, es bastante ilógico que nuestros sistemas vengan con valores fuera de lo aceptable para el control y prevención de estos “scripts kiddies”.

    Link | Denegacion de Servicio en Unix (Linux, BSD, etc)

    Meneamela:Estos íconos enlazan con webs de marcadores sociales que permiten a los lectores compartir y descubrir nuevas webs.
    • Blog Memes
    • meneame
    • neodiario
    • del.icio.us
    • digg
    • Ma.gnolia
    • NewsVine
    Noticias Relacionadas De Compiz a beryl en ubuntu edgy
    Linux - Quick Tip - Chivo de comandos
    Gentoo/FreeBSD
    Quick tip | Linux | Aprendamos Vi/Vim

    Leave a Reply

    website free tracking