Attacco DoS: Fork Bombing!!

Questa particolare tecnica di DoS, (Denial OF Service) in locale, consiste nella creazione di un numero sempre crescente di processi, con il preciso scopo di saturare la memoria della macchina vittima. Per ottenere questo risultato non sono necesarie particolari “numeri”😉 basta sfruttare la chiamata a sistema fork().

Innanzitutto è importante conoscere il metodo di gestione della memoria del bersaglio, bisogna quindi essere a conscenza del sistema operativo che gira su quella data macchina, per poterne sfruttare i punti deboli.
Ad esempio nei sistemi UNIX, prima che un processo venga eseguito, è allo stato ready e risiede nell’hard disk, mentre per essere eseguito passa allo stato running e risiede nella memoria RAM. I dati e le istruzioni dei processi vengono salvati nelle cosiddette “pagine”, ovvero dei blocchi di memoria di dimenione fissa che impediscono ai processi di intaccare i dati di altri processi, durante la vita di un processo, non vengono caricate in RAM tutte le pagine che lo riguardano ma solamente quelle contenti dati ed istruzioni sensibili al funzionamento. Se il processo non trova la pagina desisderata, si verifica un Page Fault, ovveo il processo viene bloccato, la pagina viene caricata ed il processo viene ripristinato (Ho semplificato parecchio per brevità… magari scriverò un approfondimento in merito).

Cosa succede se il numero dei page fault aumenta a dismisura? Ecco il problema, si verifica il fenomeno detto Trashing: le risorse necessarie alla gestione dei Page Fault sono maggiori delle risorse necessarie al completamento dei compiti del processo. Questo comporta ovvi problemi: la saturazione delel risorse impedisce qualsiasi operazione, dal Login (che avviene tramite un processo) alla creazione di files…. l’unica soluzione è il reboot.

Ecco alcuni semplici esmepi di programmi e script che saturano le risorse della macchina che lo esegue:

Script Bash

:(){ :|:& };:

Script Perl

fork while fork;

Programma C

#include 
 
 int main()
 {
   while(1) { 
     fork(); 
   } 
   return 0; 
 }

Vedete che bastano poche istruzioni per dare parecchi problemi al processore…. comunque i recenti kernel, hanno limitato il numero di processi generabili dagli utenti normali, per saturare le risorse di un sistema, bisognerebbe ottenere i privilegi di R00T!!

2 risposte a “Attacco DoS: Fork Bombing!!

  1. Ottimo… propongo uno scambio link tra il mio e il tuo blog poichè hanno tematiche molto simili… saresti disposto? Il mio blog è http://insidetheworld.wordpress.com !
    Ciauz dario😀

  2. Ciao, se guardi a destra cè una colonnina con i blog che seguo, e c’è anche il tuo, che considero uno dei migliori (specialmente la sezione su google😉
    Grazie mille della Proposta che accetto volentieri !!!!

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...