SYN cookies

Da Wikipedia, l'enciclopedia libera.

Il sistema SYN cookies, ideato da Daniel J. Bernstein, è probabilmente l'unica difesa veramente efficace contro l'attacco SYN flooding. Questa difesa usa il sequence number del pacchetto SYN-ACK per mandare un cookie al client e quindi riconoscere se quel client ha già mandato dei SYN in quella sessione, senza dover memorizzare nessuna informazione sul server. Quando il client invia il SYN per iniziare l'handshake TCP il server risponde con un SYN-ACK che è così composto:

  • 5 bit più significativi:t mod 32, dove t è un contatore di bit a 32 bits che si incrementa ogni 64 secondi;
  • 3 bit successivi: la codifica di un MSS selezionato dal server in risposta all'MSS del client;
  • 24 bit meno significativi: un "Segreto" selezionato dal server in funzione dell'indirizzo IP e del numero di porta del client, dell'indirizzo IP e del numero di porta del server, del tempo t.

In questo modo il server non ha bisogno di memorizzare nella tabella delle connessioni di rete del TCP l'arrivo del SYN, poiché se arriverà l'ACK di conclusione dell'handshake, quest'ultimo avrà come numero di sequenza una funzione dell'indirizzo IP del server stesso e del client, e in generale del segreto mandato con il Syn-cookie. Attualmente questo meccanismo è disponibile su Linux e Solaris.

Voci correlate[modifica | modifica sorgente]