Attacco ForkBomb: cos’è, come funziona e come difendersi

Appena lanciato, l’attacco ForkBomb “costringe” il sistema ad eseguirne i comandi. Anche tastiera e mouse diventano inutilizzabili ed è necessario un reset hardware della macchina per farla ripartire.

Una funzione fork indica il programma che, partendo da un processo “padre”, genera processi “figli” tramite repliche multiple. Se questo processo continua fino ad esaurire le risorse del sistema, vuol dire che siamo stati colpiti da una fork-bomb.

Appena viene lanciato questo attacco, il sistema è di fatto costretto ad eseguirne i comandi ignorando tutto il resto ed anche la tastiera e il mouse diventano assenti. Il sistema si blocca completamente ed è necessario un reset hardware per farlo ripartire.

Cos’è e come funziona un attacco ForkBomb?

Il metodo più semplice consiste nel far eseguire dalla macchina vittima un semplice comando. L’esecuzione di questo comando, che non necessita di privilegi root, crea dunque una serie infinita di processi “figli” così che il sistema esaurisce rapidamente tutte le risorse (memoria, CPU) fino al blocco totale.

Utilizzando vari linguaggi di programmazione è possibile sfruttare metodi simili per mettere in pratica un attacco ForkBomb.

Come difendersi da un attacco ForkBomb?

La possibile contromisura a questo attacco è altrettanto semplice: limitare il possibile numero di processi che possono essere creati all’interno del sistema operativo.

In Linux, per esempio, si può ricorrere alla funzione ulimit, tenendo presente, però, il grande svantaggio che essendo legata alla sessione corrente, al momento del riavvio del computer, è necessario ridare il comando, rendendo molto tediosa la manutenzione dei sistemi in questo modo.

Si può, in alternativa, indicare la stessa limitazione usando il file /etc/security/limits.conf ed indicando che questa limitazione deve valere per tutti gli utenti del computer.

Purtroppo questo rimedio presenta una debolezza in quanto un utente con elevati privilegi o un processo con privilegi di root, potrà comunque iniziare un attacco ForkBomb, indipendentemente da questa configurazione.

Conclusioni

L’attacco ForkBomb causa ancora oggi effetti devastanti sui sistemi, se il programma che lo contiene viene lanciato senza controllo e inoltre tutti i sistemi operativi sono attaccabili.

Sono sufficienti quattro o cinque righe di programma per bloccare istantaneamente il sistema e se fosse installato su un server critico o una macchina che sta eseguendo simulazioni o su un dispositivo chiave per la propria rete, si dovranno prevedere perdita di servizi, ore di lavoro e forse anche di dati preziosi.

Una vera cura preventiva non esiste e nemmeno una mitigazione definitiva sembra possibile. Best practice di settore consigliano, comunque, di installare esclusivamente software fidati e applicare una corretta gestione dei privilegi di utenti e/o processi interni delle macchine per contenere il rischio.

 

Fonte: CyberSecurity360