SYN flood je jeden z typů síťových útoků typu denial of service , který spočívá v odeslání velkého množství požadavků SYN (požadavek na připojení přes protokol TCP ) v poměrně krátkém čase ( RFC 4987 ).
Podle procesu "triple handshake" TCP klient odešle paket s nastaveným příznakem SYN ( synchronizace ). Jako odpověď musí server odpovědět kombinací příznaků SYN+ACK ( kvituje ). Poté musí klient odpovědět paketem s příznakem ACK, po kterém je spojení považováno za navázané.
Princip útoku spočívá v tom, že útočník odesláním SYN požadavků přeteče frontu na spojení na serveru (cíl útoku). Přitom ignoruje pakety SYN+ACK cíle, aniž by odeslal pakety s odpovědí, nebo zfalšuje hlavičku paketu, takže odpověď SYN+ACK je odeslána na neexistující adresu. Ve frontě připojení se objevují tzv. napůl otevřená připojení , která čekají na potvrzení od klienta . Po určitém časovém limitu jsou tato připojení zrušena. Úkolem útočníka je udržovat frontu plnou takovým způsobem, aby zabránil novým připojením. Z tohoto důvodu klienti, kteří nejsou vetřelci, nemohou navázat spojení nebo je navázat se značným zpožděním.
Útok je založen na zranitelnosti omezení zdrojů operačního systému pro polootevřená připojení, popsané v roce 1996 skupinou CERT [ 1] , podle níž byla fronta na taková připojení velmi krátká (například nebylo povoleno více než osm připojení v Solarisu ) a časový limit připojení byl dostatečně dlouhý (podle RFC 1122 - 3 minuty).
Navrhovaným řešením bylo použít SYN cookie nebo omezit požadavky na nová připojení z určitého zdroje v určitém čase. Síťový protokol transportní vrstvy SCTP , který je modernější než TCP , používá SYN cookie a není náchylný k SYN flood útokům.