SYN flooding este o formă de atac de tip denial of service care poate fi lansată pe un server de computer pentru a copleși serverul și a nu permite altor utilizatori să-l acceseze. Aceasta este o formă de atac oarecum mai veche și a fost destul de populară pentru o vreme datorită resurselor relativ scăzute necesare pentru a o lansa. Procesul de bază pentru atac utilizează metoda prin care utilizatorii se conectează la un server printr-un protocol de control al transmisiei (TCP) pentru a utiliza toate resursele sistemului. Inundarea SYN a fost odată o formă populară de atac, deși au fost concepute o serie de soluții diferite pentru a reduce sau elimina eficiența sa pe serverele moderne.
Ideea de bază din spatele inundațiilor SYN utilizează modul în care utilizatorii se conectează la servere prin conexiuni TCP. TCP utilizează un sistem numit strângere de mână în trei căi care începe cu un utilizator care trimite un mesaj „sincronizare” sau SYN către server. Serverul primește apoi mesajul și trimite înapoi utilizatorului un mesaj „synchronize acknowledged” sau SYN-ACK. Odată ce sistemul utilizatorului primește acest mesaj, utilizatorul trimite un mesaj final de „acknowledge” sau ACK către server pentru a stabili conexiunea. Acest proces de bază are loc destul de rapid și asigură sincronizarea ambelor capete ale conexiunii.
Un atac de inundații SYN, totuși, folosește această strângere de mână în trei căi pentru a lega resursele din server, împiedicând astfel pe alții să acceseze sistemul. Atacul de inundare SYN începe cu un mesaj SYN trimis către server, care răspunde cu răspunsul standard SYN-ACK. Acest mesaj rămâne fără răspuns, totuși, printr-una dintre mai multe metode care duc la trimiterea unui mesaj ACK final către server. În acest moment, serverul lasă resursele angajate să aștepte mesajul ACK, în cazul în care congestia rețelei este cauza lipsei de răspuns.
Cu toate acestea, serverele au resurse limitate pentru gestionarea strângerilor de mână în trei căi și multe servere sunt proiectate să gestioneze doar opt astfel de procese simultan. Inundarea SYN constă în opt sau mai multe mesaje SYN trimise ulterior fără mesajul ACK corespunzător, lăsând toate resursele serverului angajate să aștepte un răspuns care nu va veni niciodată. Atâta timp cât așteaptă aceste mesaje, niciun alt utilizator nu se poate conecta la server. În timp ce multe servere au fost concepute pentru a goli coada de răspunsuri după trei minute, cineva care lansează un atac SYN putea pur și simplu să retrimite opt mesaje SYN la fiecare trei minute pentru a menține sistemul blocat pe termen nelimitat.
Au fost găsite o serie de soluții diferite pentru aceste tipuri de atacuri, astfel încât inundațiile SYN sunt adesea mai puțin reușite decât a fost în trecut. O soluție comună folosește „cookie-uri SYN” pentru a permite unui sistem să-și epureze coada atunci când au fost atinse opt solicitări, permițând noilor utilizatori să trimită cereri de conectare la server. Dacă în sfârșit apare una dintre cererile mai vechi eliminate, modulele cookie asigură că este recunoscută în mod corespunzător ca mesaj ACK și permit utilizatorului să se conecteze la server.