SYN flood

Da Wikipedia, l'enciclopedia libera.
Una normale connessione tra un utente e un server. L'handshake in tre fasi avviene correttamente.
SYN flood. Un attacco viene compiuto da un utente malevolo che invia diversi pacchetti ma non ritorna il segnale "ACK" al server. Le connessioni sono perciò stabilite solo in parte e utilizzano risorse del server. L'utente che vorrebbe legittimamente connettersi al server, non riesce dal momento che il server rifiuta di aprire una nuova connessione, realizzando così un attacco denial of service.

Il SYN flood è un attacco di tipo denial of service nel quale un utente malevolo invia una serie di richieste SYN verso il sistema oggetto dell'attacco.

Quando un client cerca di iniziare una connessione TCP verso un server, il client e il server scambiano una serie di messaggi che di norma è così articolata:

  1. Il client richiede una connessione inviando un messaggio SYN (synchronize) al server.
  2. Il server acknowledges, cioè risponde a tale richiesta inviando un messaggio SYN-ACK indietro al client, che infine,
  3. Risponde con un ACK e la connessione è stabilita.

Tale processo è chiamato TCP three-way handshake e costituisce il fondamento per ogni connessione stabilita utilizzando i protocolli TCP/IP.

Si tratta di un attacco ben noto, che non è generalmente efficace contro le reti moderne. Funziona se un server alloca delle risorse dopo aver ricevuto un SYN, ma prima di aver ricevuto un messaggio ACK.

Si possono impiegare due metodi per l'attacco. Un cliente malevolo può omettere di inviare il messaggio ACK finale. O, per mezzo di uno spoofing dell'Indirizzo IP sorgente nel messaggio SYN, il server invia il messaggio SYN-ACK all'indirizzo IP falsificato e non riceve di conseguenza il messaggio ACK. Nei due casi il server rimarrà in attesa del messaggio di ricevuta per un certo tempo, dal momento che la normale congestione della rete potrebbe essere la causa del messaggio ACK mancante.

Se dette connessioni stabilite solo in parte allocano risorse sul server, può essere possibile divorare per intero tali risorse con l'invio di un grande numero di messaggi SYN, un flooding appunto, verso il server. Una volta che le risorse per tali connessioni "mezze aperte" sono state interamente allocate, nessuna nuova connessione (sia essa legittima o meno) è più possibile, realizzando così un attacco denial of service. Alcuni sistemi possono presentare pesanti malfunzionamenti o persino andare in crash se le funzioni del sistema operativo non sono preservate da questo tipo di problema.

Tra le contromisure esistono i SYN cookies o la limitazione del numero di nuove connessioni da una singola sorgente per unità di tempo.

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

Sicurezza informatica Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di Sicurezza informatica