Une attaque SYN flood est une attaque par déni de service (DoS) qui exploite la manière standard d'établir une connexion TCP. En général, un client envoie un paquet SYN à un port ouvert du serveur afin de demander une connexion TCP. Le serveur reconnaît ensuite la connexion en renvoyant un paquet SYN-ACK au client et en remplissant les données du client dans son tableau des blocs TCB. Le client répond alors au serveur avec un paquet ACK qui établit la connexion. Ce processus est couramment appelé le « three-way handshake ».
L'attaque SYN flood surcharge la machine ciblée en lui envoyant des milliers de demandes de connexion via des adresses IP usurpées. La machine visée tente alors d'établir une connexion pour chaque requête malveillante et attend ensuite pour un paquet ACK qui n'arrivera jamais. Un serveur visé par une attaque SYN flood continue d'attendre un paquet SYN-ACK pour chaque demande de connexion car un tel retard peut être normal et associé à un encombrement du réseau. Cependant, comme aucune demande de connexion ne renvoie un paquet SYN-ACK, l'énorme quantité de connexions semi-ouvertes remplit rapidement le tableau TCB du serveur avant d'atteindre le délai d'attente de connexion. Ce processus se poursuit tant que l'attaque continue.
Les agresseurs ajoutent parfois des données réelles à leurs requêtes, comme des séquences de nombres ou port source 0, afin d'augmenter l'utilisation du processeur du serveur visé en plus d'entraîner un encombrement réseau, et ainsi causer une condition de déni de service de manière plus efficace.