Cos'è shellshock?

Shellshock (Vulnerabilità Bash)

Shellshock, noto anche come Bashdoor, è una famiglia di vulnerabilità di sicurezza scoperte nel 2014 nel Bash, un interprete di comandi ampiamente utilizzato nei sistemi operativi Unix e Linux, inclusi macOS e, in misura minore, Windows (attraverso ambienti come WSL).

La vulnerabilità principale deriva dal modo in cui Bash gestisce le definizioni di funzioni contenute nelle variabili d'ambiente. In sostanza, un attaccante può iniettare codice arbitrario dopo la definizione di una funzione in una variabile d'ambiente, e Bash eseguirà questo codice quando la variabile viene importata.

Impatto:

L'impatto di Shellshock è stato significativo a causa della pervasività di Bash. Poteva essere sfruttato in vari modi, tra cui:

  • Esecuzione di codice remoto: Un attaccante poteva eseguire comandi arbitrari sul server. Questo era particolarmente pericoloso per i server web che utilizzavano CGI script scritti in Bash o che richiamavano script Bash.
  • Compromissione di sistemi: L'accesso a un server tramite Shellshock poteva permettere a un attaccante di installare malware, rubare dati sensibili o prendere il controllo completo del sistema.
  • Denial-of-Service (DoS): Un attaccante poteva sovraccaricare un server rendendolo inutilizzabile.

Come Funzionava:

La vulnerabilità si manifesta quando Bash importa una funzione da una variabile d'ambiente e, invece di fermarsi alla fine della definizione della funzione, continua ad elaborare i comandi successivi. Ad esempio:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

In questo esempio, x è una variabile d'ambiente che contiene una definizione di funzione (() { :;}) seguita da un comando dannoso (echo vulnerable). Quando Bash esegue il comando -c "echo this is a test", importa la variabile x e, a causa della vulnerabilità, esegue anche il comando echo vulnerable.

Mitigazione:

La mitigazione di Shellshock ha richiesto l'applicazione di patch di sicurezza fornite dai distributori di sistemi operativi. Sono state rilasciate diverse patch per risolvere completamente la vulnerabilità, poiché le prime correzioni non coprivano tutti i possibili vettori di attacco. È fondamentale mantenere i sistemi aggiornati con le ultime patch di sicurezza per proteggersi da Shellshock e altre vulnerabilità.

Conseguenze:

Shellshock ha evidenziato l'importanza di una corretta gestione delle variabili d'ambiente e della convalida degli input. Ha inoltre dimostrato che vulnerabilità anche in componenti di base del sistema operativo possono avere conseguenze di vasta portata. La vulnerabilità ha portato a un'ondata di scansioni di sicurezza e tentativi di sfruttamento su larga scala.