Ein SYN-Flood ist ein Denial-of-Service (DoS)-Angriff, der auf dem Missbrauch der Standardmethode für den Aufbau einer TCP-Verbindung beruht. Typischerweise sendet ein Client ein SYN-Paket an einen offenen Port des Servers, um die TCP-Verbindung herzustellen. Der Server bestätigt dann die Verbindung, indem er ein SYN-ACK-Paket an den Client zurücksendet und die Clientinformationen in seine TCB-Tabelle (Transmission Control Block) aufnimmt. Der Client antwortet dann dem Server mit einem ACK-Paket, um die Verbindung herzustellen. Dieser Vorgang wird allgemein als „Drei-Wege-Handschlag“ bezeichnet.
Ein SYN-Flood überwältigt den Zielcomputer, indem Tausende von Verbindungsanfragen mit gefälschten IP-Adressen versendet werden. Dies führt dazu, dass der Zielcomputer bei jeder böswilligen Anfrage versucht, eine Verbindung zu öffnen und anschließend auf ein ACK-Paket wartet, das nie kommt. Der einem SYN-Flood-Angriff ausgesetzte Server wird jedoch weiterhin für jede Verbindungsanfrage auf ein SYN-ACK-Paket warten, denn die Verzögerung könnten ja auch normal sein und mit einer Netzüberlastung zusammenhängen. Da jedoch für keine der Verbindungsanfragen je ein SYN-ACK-Paket eintrifft, füllt die große Anzahl halboffener Verbindungen schnell die TCB-Tabelle des Servers und führ zu einem Timeout der Verbindungen. Dieser Prozess dauert so lange an, wie der Flood-Angriff andauert.
Angreifer fügen ihren Anfragen manchmal auch legitime Informationen hinzu, wie z. B. Sequenznummer oder Quellport 0, da dies die CPU-Auslastung des Zielservers weiter erhöht und zu einer Netzüberlastung führt, wodurch der Denial-of-Service-Zustand noch effektiver wird.