Visualizzazione dei risultati da 1 a 7 su 7

Discussione: ForkBomb

  1. #1
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    ForkBomb

    La saprete già da una vita.. ma la cosa m'ha lasciato un pò così, quando l'altro giorno, quei 4 nerd che c sono in facoltà bloccavano i pc degli altri..
    basta loggarsi sulla macchina con ssh
    e poi dare solo sta roba:
    codice:
     :(){ :|:& };:
    .. ma possibile che nn si possa risolvere sta roba?

  2. #2

    re:

    a me loggandomi su una macchina openbsd con openssh-4.1 midice:

    Badly placed ()'s.

  3. #3

    re:

    purtroppo......

    eseguendolo da una linux UNDERGROUND 2.6.15 con openssh 4.3p1-1

    il pc si blocca dopo qualche secondo

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746

    Re: ForkBomb

    : (){ :|:& };:
    .. ma possibile che nn si possa risolvere sta roba?
    risolvere forse no, ma puoi prevenirla limitando il numero di processi eseguibili da un utente con ulimit -u <n>


  5. #5

    re:

    quale sarebbe il significato di tale stringa ?


    e' una regex ?

  6. #6
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570

    Re: re:

    Originariamente inviato da sacarde
    quale sarebbe il significato di tale stringa ?


    e' una regex ?
    no. Con la scrittura ": (){ :|:& };:"
    in pratica si definisce una funzione con il nome due_punti ":()"
    al cui interno richiamo la stessa funzione "{ : ", mettendola in pipe
    con un nuova istanza della funzione in background "| : & } ; ".
    Fatto cio' viene richiamata la funzione con ": " e si da inizio alle danze.
    Il tutto ha un evidente quanto pesante effetto di ricorsivita'.
    slack? smack!

  7. #7
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Si puo' risolvere benissimo...
    Basta limitare il numero di processi eseguibili da un utente o da un gruppo...
    ulimit -u non basta: va dato su ogni shell ogni volta che la si apre.
    Dobbiamo invece dire a PAM di affidare meno risorse agli utenti modificando /etc/security/limits.conf

    Sulla mia macchina ho solo il mio utente oltre che il mio, quindi mi e' bastato un:
    codice:
    nome_del_mio_utente              hard    nproc     256
    (setta il limite di processi fisico per il mio utente a 256)

    Ho anche creato un gruppo chiamato sshusers, da assegnare a chi faro' connettere via ssh:
    codice:
    @sshusers        hard    nproc     16
    @sshusers        hard    priority  1
    @sshusers        hard    maxlogins 16
    @sshusers        hard    memlock   5120
    (Questo dovrebbe settare quei valori per gli utenti ssh, ma ancora non l'ho provato)

    Per far si' che pam sorvegli pure i login via ssh (e quindi che pure ssh sia soggetto ai limiti settati in quel file) mi pare si dovesse mettere nel file di configurazione di sshd:
    codice:
    UsePAM yes
    Per verificare che il limite sia stato settato basta dare un ulimit -a (ulimit -u se v'interessa solo il limite sui processi)... Da quando si applicano i cambiamenti in quel file e' necessario loggarsi can pam: non basta aprire una nuova shell ma e' necessario sloggarsi completamente.

    Ecco cosa succede a me:
    codice:
    $ ulimit -u       # mostra il limite di processi massimi per il mio user
    256
    $ : (){ :&:&};:   # provo a far bloccare tutto
    bash: fork: Resource temporarily unavailable
    bash: fork: Resource temporarily unavailable
    bash: fork: Resource temporarily unavailable
    bash: fork: Resource temporarily unavailable
    bash: fork: Resource temporarily unavailable
    bash: fork: Resource temporarily unavailable
    bash: fork: Resource temporarily unavailable
    ...
    $                 # non s'e' bloccato nulla :cry:
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.