SYN flood : Come ti addormento i servizi di un server

SYN flood

TCP SYN flood è un tipo di attacco DDoS (Distributed Denial of Service) che sfrutta parte del three-way handshake TCP per consumare risorse sul server target e renderlo non reattivo.

Essenzialmente, con i DDoS SYN flood, l’autore del reato invia le richieste di connessione TCP più velocemente di quanto il computer target le possa elaborare (possa farle decadere), causando la saturazione della rete.

  • Il client richiede la connessione inviando un messaggio SYN al server.
  • Il server conferma inviando un messaggio SYN-ACK  al client.
  • Il client risponde con un messaggio ACK  e la connessione viene stabilita.
  • In un attacco SYN flood, l’aggressore invia pacchetti SYN ripetuti a ogni porta del server mirato, spesso utilizzando un indirizzo IP falso. Il server, inconsapevole dell’attacco, riceve richieste multiple, apparentemente legittime, di stabilire una comunicazione. Risponde ad ogni tentativo con un pacchetto SYN-ACK da ogni porta aperta.
  • Il client dannoso non invia l’ACK previsto oppure, se l’indirizzo IP è stato spoofed, non riceve mai il SYN-ACK. In entrambi i casi, il server sotto attacco aspetterà per qualche tempo la conferma del suo pacchetto SYN-ACK.

Ricapitoliamo su  SYN flood

Un attacco SYN-flood DDoS sfrutta il processo di handshake a tre vie TCP (Transmission Control Protocol) inondando più porte TCP sul sistema di destinazione con messaggi SYN per avviare una connessione tra il sistema di origine e il sistema di destinazione.

 SYN flood
SYN flood

Il sistema target risponde con un messaggio SYN-ACK  per ogni messaggi o SYN ricevuto e apre temporaneamente una porta di comunicazione per ogni tentativo di connessione in attesa di un ultimo messaggio ACK (conferma) dalla sorgente in risposta a ciascun messaggio SYN-ACK. La sorgente che attacca non invia mai i messaggi ACK finali e quindi la connessione non è mai completata. La connessione temporanea alla fine si esaurirà e verrà chiusa, ma non prima che il sistema di destinazione sia sovraccaricato di connessioni incomplete.



Modalità di attacco

I principali modi in cui avvengono gli attacchi di tipo SYN flood sono vari, e vengono descritti di seguito:

  • Attacco diretto

In questo tipo di attacco, l’attaccante invia richieste SYN multiple e in rapida successione, senza neanche nascondere il suo indirizzo IP. Per risultare più efficace l’attaccante può modificare il suo sistema in modo da non rispondere al SYN-ACK.

  • Attacco distribuito

L’attacco distribuito (Distribuited direct attacks) è un tipo di attacco che permette all’attaccante di utilizzare non più una singola macchina, ma fare affidamento a N macchine. Questo permette ad ogni singola macchina di sferrare un attacco diretto ricorrendo anche alla tecnica dello spoofing, con conseguente difficoltà da parte della vittima di difendersi da vari attacchi SYN flood. Al giorno d’oggi questi attacchi sono possibili poiché esistono reti di molte macchine, le cosiddette Botnet, che permettono ai vari cyber criminali di sferrare attacchi senza esser riconosciuti.

  • Spoofing attack

In questo tipo di attacco, l’attaccante ricorrendo all’utilizzo dello spoofing, riesce a creare una connessione (SYN request) con il server vittima, il quale risponde con un SYN-ACK. Il server tuttavia non riceverà mai una risposta da parte dell’attaccante, lasciando di conseguenza la connessione aperta e provocando la congestione del traffico sul server.

 

syn_flood_spoofed
SYN flood con  spoofing IP

Lo spoofing IP

Lo spoofing IP è la creazione di pacchetti IP utilizzando indirizzi sorgente IP precostruiti o random. Viene utilizzato per nascondere l’identità del mittente. Lo spoofing IP è utilizzato più frequentemente negli attacchi di  tipo denial of service. In tali attacchi, l’obiettivo degli aggressori è solo quello di generare pacchetti con una quantità enorme di traffico, e l’aggressore non si preoccupa di ricevere alcuna risposta al pacchetto IP.
Lo spoofing IP utilizza indirizzi IP randomizzati che diventa l’indirizzo di origine degli attacchi. Tali indirizzi  sono difficili da filtrare in quanto ogni pacchetto spoofed appare provenire sempre da un ip diverso, e in questo modo sono più difficili le contromisure.