Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Bash fork bomb: funzionamento di un DoS Attack

Link copiato negli appunti

Rieccoci nella nostra rubrica dedicata al tema della sicurezza durante lo sviluppo di un progetto software. Esistono diverse linee guida che un developer dovrebbe seguire, cosi da da assicurare un buon livello di protezione per l'utente e i suoi dati, oggi vogliamo approfondire maggiormente l'argomento parlandovi del Bash fork bomb.

Si tratta di un tipo di attacco DoS (Denial of Service) usato per eseguire dei test di sicurezza, se ricordate in un precedente articolo abbiamo parlato della riduzione della "attack surface". Lo sviluppatore dunque dovrebbe andare a chiudere tutte quelle vie che un malintenzionato può sfruttare per arrecare danno ad un servizio/applicazione.

La fork bomb è un attacco che utilizza appunto la funzione fork. L'azione si basa sull'assunto che il numero di programmi e processi che possono essere eseguiti contemporaneamente su un computer abbia un limite e, una volta raggiunto questo, il sistema su cui è in atto l'attacco si blocca.

Quando uno script del genere viene avviato inizia a produrre sempre nuovi processi, clonando il proprio processo sul sistema in modo da mettere in crisi il server su cui è ospitato e spingerlo ad andare offline, fino ad impedire agli utenti di accedere ai servizi ospitati.

Il modo più efficace di contrastare un attacco del genere, cosi da ridurre la superficie attaccabile, è limitare i poteri di un utente impostando manualmente il numero di processi generabili. Cosi facendo lo script non potrà duplicare i suoi processi in modo eccessivo e sarà possibile arrestarlo prima che faccia crollare l'intero sistema. Definire questi privilegi in una distribuzione Linux è un operazione abbastanza semplice che richiede la modifica di un file dentro la directory /etc/security/ ovvero limits.conf:

sudo nano  /etc/security/limits.conf

dopo questo comando nano ci mostrerà un file simile a questo:

user1 soft nproc XXX
user1 hard nproc YYYYY

Quindi al posto di X e Y sarà possibile impostare il numero massimo di processi generabili da quell'utente. Questa modifica è una delle strategie che andrebbe applicata da ogni sviluppatore prima di mandare un progetto in produzione.

Via Kernel Talks

Ti consigliamo anche