Сетевая атака SYN-flooding



Этот вид атаки является раздновидностью атак типа отказа от обслуживания (DOS и DDOS). Принцип основывается на создании полуоткрытых или недооткрытых (half-open) соединений. Этой атаке подвержены стэки любой операционной системы и маршрутизаторов, если они так или иначе предоставляют какой-нибудь TCP-сервис, например echo.



Основываясь на знаниях трехэтапного TCP-рукопожатия (инициализации соединения) клиента с сервером мы можем расписать это таким образом:



Для примера возьмем сервисы прикладного уровня, такие как http, telnet, ftp или ssh. Разберем как происходит инициализация:



1. Клиент отправляет TCP SYN пакет серверу для установления с ним соединения

2. Сервер принимает его и отправляет TCP SYN и ACK (с порядковой очередью) пакеты клиенту

3. Клиент отправляет контрольный TCP ACK пакет серверу, уведомляя его о том, что он получил его пакеты и готов к инициализации. И в этот момент создает канал между клиентом и сервером для обмена данными



И вот принцип DOS и DDOS атак заключается в прерывании соединения на 2 этапе, тем самым сервер не получает от клиента ACK пакет и ожидает от него ответа, если проходит время (timeout), сервер автоматически сбрасывает соединение. И чем больше запросов приходит - тем больше переполнения, и сервер, в лучшем случае, лишает возможности открывать новые соединения, а в худшем - идет спать (выходит из строя)



#ddos #syn-flooding