Cos’è un attacco SYN flood
TCP SYN flood (a.k.a. SYN flood) è un tipo di attacco Distributed Denial of Service (DDoS) che sfrutta una parte del normale TCP three-way handshake per consumare risorse sul server mirato e renderlo non reattivo.
In sostanza, con il SYN flood DDoS, il colpevole invia richieste di connessione TCP più velocemente di quanto la macchina presa di mira possa elaborarle, causando la saturazione della rete.
Descrizione dell’attacco
Quando un client e un server stabiliscono un normale TCP “three-way handshake”, lo scambio assomiglia a questo:
- Il client richiede la connessione inviando un messaggio SYN (sincronizzazione) al server.
- Il server conferma inviando un messaggio SYN-ACK (synchronize-acknowledge) al client.
- Il client risponde con un messaggio ACK (acknowledge), e la connessione è stabilita.
In un attacco SYN flood, l’attaccante invia ripetuti pacchetti SYN ad ogni porta del server mirato, spesso usando un falso indirizzo IP. Il server, ignaro dell’attacco, riceve richieste multiple, apparentemente legittime, per stabilire la comunicazione. Risponde ad ogni tentativo con un pacchetto SYN-ACK da ogni porta aperta.
Il client maligno o non invia l’ACK previsto, o – se l’indirizzo IP è stato falsificato – non riceve mai il SYN-ACK. In entrambi i casi, il server sotto attacco aspetterà la conferma del suo pacchetto SYN-ACK per qualche tempo.
Progressione di un SYN flood.
Durante questo tempo, il server non può chiudere la connessione inviando un pacchetto RST, e la connessione rimane aperta. Prima che la connessione possa andare in time out, arriverà un altro pacchetto SYN. Questo lascia un numero sempre maggiore di connessioni semiaperte – e infatti gli attacchi SYN flood sono anche chiamati attacchi “semiaperti”. Alla fine, man mano che le tabelle di overflow delle connessioni del server si riempiono, il servizio ai clienti legittimi sarà negato, e il server potrebbe anche funzionare male o andare in crash.
Mentre il “classico” SYN flood descritto sopra cerca di esaurire le porte della rete, i pacchetti SYN possono anche essere utilizzati in attacchi DDoS che cercano di intasare i vostri tubi con pacchetti falsi per raggiungere la saturazione della rete. Il tipo di pacchetto non è importante. Tuttavia, i pacchetti SYN sono spesso utilizzati perché sono quelli che hanno meno probabilità di essere rifiutati per impostazione predefinita.
Vedi come Imperva DDoS Protection può aiutarti con gli attacchi DDoS TCP.
Metodi di mitigazione
Mentre i moderni sistemi operativi sono meglio attrezzati per gestire le risorse, il che rende più difficile l’overflow delle tabelle di connessione, i server sono ancora vulnerabili agli attacchi SYN flood.
Ci sono un certo numero di tecniche comuni per mitigare gli attacchi SYN flood, tra cui:
Micro blocchi-gli amministratori possono allocare un micro-record (solo 16 byte) nella memoria del server per ogni richiesta SYN in arrivo invece di un oggetto di connessione completo.
Cookie SYN-utilizzando l’hashing crittografico, il server invia la sua risposta SYN-ACK con un numero di sequenza (seqno) che è costruito dall’indirizzo IP del client, il numero di porta e possibilmente altre informazioni di identificazione uniche. Quando il client risponde, questo hash è incluso nel pacchetto ACK. Il server verifica l’ACK, e solo allora alloca la memoria per la connessione.
RST cookies-per la prima richiesta da un dato client, il server invia intenzionalmente un SYN-ACK non valido. Questo dovrebbe portare il client a generare un pacchetto RST, che dice al server che qualcosa non va. Se questo viene ricevuto, il server sa che la richiesta è legittima, registra il client, e accetta le successive connessioni in entrata da esso.
Stack tweaking-gli amministratori possono modificare gli stack TCP per mitigare l’effetto dei SYN floods. Questo può comportare la riduzione del timeout fino a quando uno stack libera la memoria allocata per una connessione, o l’abbandono selettivo delle connessioni in entrata.
Ovviamente, tutti i metodi sopra menzionati si basano sulla capacità della rete di destinazione di gestire attacchi DDoS volumetrici su larga scala, con volumi di traffico misurati in decine di Gigabit (e anche centinaia di Gigabit) al secondo.
Imperva mitiga un attacco DDoS multivettoriale SYN flood e DNS flood della durata di 38 giorni. Con la capacità combinata della sua rete globale, Incapsula può superare economicamente le risorse dell’attaccante, rendendo l’attacco DDoS inefficace. Il servizio è costruito per scalare su richiesta, offrendo ampie risorse per affrontare anche il più grande degli attacchi DDoS volumetrici.