SYN flood

Una connexió normal entre un usuari (Alice) i un servidor. La encaixada de mans a tres direccions es realitza correctament.

Una inundació SYN és una forma d'atac de denegació de servei a les comunicacions de dades en què un atacant inicia ràpidament una connexió a un servidor sense finalitzar la connexió. El servidor ha de gastar recursos esperant connexions mig obertes, que poden consumir recursos suficients per fer que el sistema no respongui al trànsit legítim.[1]

El paquet que envia l'atacant és el paquetSYN, una part de la connexió de tres vies de TCP que s'utilitza per establir una connexió.[2]

SYN inundació. L'atacant (Mallory, verd) envia diversos paquets però no envia el "ACK" al servidor. Per tant, les connexions estan mig obertes i consumeixen recursos del servidor. L'usuari legítim Alice (morat) intenta connectar-se, però el servidor es nega a obrir una connexió, una denegació de servei.

Detalls tècnics

Quan un client intenta iniciar una connexió TCP a un servidor, el client i el servidor intercanvien una sèrie de missatges que normalment s'executen així:

  1. El client sol·licita una connexió enviant un missatge SYN (sincronitza) al servidor.
  2. El servidor reconeix aquesta sol·licitud enviant SYN-ACK de nou al client.
  3. El client respon amb un ACK i s'estableix la connexió.


Això s'anomena encaix de mans de tres vies TCP i és la base de cada connexió establerta mitjançant el protocol TCP.[3]

Un atac d'inundació SYN funciona si no respon al servidor amb el codi ACK esperat. El client maliciós pot simplement no enviar l'ACK esperat, o bé falsificant l'adreça IP d'origen al SYN, fer que el servidor enviï el SYN-ACK a una adreça IP falsificada, que no enviarà un ACK perquè "sap" que mai va enviar un SYN.

El servidor esperarà el reconeixement durant un temps, ja que la simple congestió de la xarxa també podria ser la causa de l'ACK que falta. Tanmateix, en un atac, les connexions mig obertes creades pel client maliciós uneixen recursos al servidor i poden eventualment superar els recursos disponibles al servidor. En aquest moment, el servidor no pot connectar-se a cap client, sigui legítim o no. Això nega efectivament el servei als clients legítims. Alguns sistemes també poden funcionar malament o fallar quan altres funcions del sistema operatiu es queden sense recursos d'aquesta manera.[4]

Contramesures

Hi ha una sèrie de contramesures conegudes enumerades a la RFC 4987, com ara:

  1. Filtrat
  2. Augment de l'endarreriment
  3. Reducció del temporitzador SYN-RECEIVED
  4. Reciclant el TCP mig obert més antic
  5. memòria cau SYN
  6. Cookies SYN
  7. Enfocaments híbrids
  8. Tallafocs i servidors intermediaris

Referències

  1. «CERT Advisory CA-1996-21 TCP SYN Flooding and IP Spoofing Attacks» (en anglès). Carnegie Mellon University Software Engineering Institute. Arxivat de l'original el 2000-12-14. [Consulta: 18 setembre 2019].
  2. «What is a DDoS Attack?» (en anglès). Cloudflare.com. Cloudflare. [Consulta: 4 maig 2020].
  3. «SYN flood attack» (en anglès). [Consulta: 20 novembre 2023].
  4. «What is a SYN flood attack and how to prevent it? | NETSCOUT» (en anglès). [Consulta: 20 novembre 2023].