Что такое атака SYN флуд

Mutt

Professional
Messages
1,058
Reputation
7
Reaction score
565
Points
83
Содержание статьи
  • Что такое атака SYN флуд
  • Описание атаки
  • Методы смягчения

Что такое атака SYN флуд
TCP SYN флуд (также известный как SYN flood) - это тип атаки распределенного отказа в обслуживании (DDoS), который использует часть обычного трехстороннего подтверждения TCP для потребления ресурсов на целевом сервере и прекращения его ответа.

По сути, с DDoS-атакой с SYN-потоком злоумышленник отправляет запросы на TCP-соединение быстрее, чем целевая машина может их обработать, что приводит к насыщению сети.

Описание атаки
Когда клиент и сервер устанавливают обычное «трехстороннее рукопожатие» TCP, обмен выглядит следующим образом:
  1. Клиент запрашивает соединение, отправляя на сервер сообщение SYN (синхронизация).
  2. Сервер подтверждает, отправляя сообщение SYN-ACK (подтверждение-синхронизация) обратно клиенту.
  3. Клиент отвечает сообщением ACK (подтверждение), и соединение устанавливается.
При атаке SYN-флуда злоумышленник отправляет повторяющиеся SYN-пакеты на каждый порт целевого сервера, часто используя поддельный IP-адрес. Сервер, не подозревая об атаке, получает несколько, по-видимому, законных запросов на установление связи. Он отвечает на каждую попытку пакетом SYN-ACK от каждого открытого порта.

Злонамеренный клиент либо не посылает ожидаемый ACK, или если IP-адрес фальсифицирован - никогда не получает SYN-ACK в первую очередь. В любом случае атакованный сервер будет некоторое время ждать подтверждения своего пакета SYN-ACK.

syn-flood.jpg.webp

Развитие SYN-флуда.

В это время сервер не может закрыть соединение, отправив пакет RST, и соединение остается открытым. Прежде чем время ожидания соединения истечет, придет другой пакет SYN. Это оставляет все большее количество соединений полуоткрытыми - и действительно, атаки SYN-флуда также называются «полуоткрытыми» атаками. В конце концов, по мере заполнения таблиц переполнения соединений сервера, обслуживание законных клиентов будет отказано, и сервер может даже выйти из строя или дать сбой.

В то время как «классический» SYN-поток, описанный выше, пытается исчерпать сетевые порты, SYN-пакеты также могут использоваться в DDoS-атаках, которые пытаются засорить ваши каналы поддельными пакетами для достижения насыщения сети. Тип пакета не важен. Тем не менее, пакеты SYN часто используются, потому что по умолчанию они с наименьшей вероятностью будут отклонены.

Методы смягчения
Хотя современные операционные системы лучше оснащены для управления ресурсами, что затрудняет переполнение таблиц соединений, серверы по-прежнему уязвимы для атак SYN-флуда.

Существует ряд распространенных методов защиты от атак SYN-флуда, в том числе:

Микро блоки - администраторы могут выделить микро-запись (всего лишь 16 байт) в памяти сервера для каждого запроса входящего SYN вместо полного объекта соединения.

SYN куки - используя криптографическое хеширование, сервер отправляет свой ответ SYN-ACK с порядковым номером (seqno), который состоит из IP-адреса клиента, номера порта и, возможно, другой уникальной идентифицирующей информации. Когда клиент отвечает, этот хэш включается в пакет ACK. Сервер проверяет ACK и только после этого выделяет память для подключения.

Файлы куки RST - для первого запроса от данного клиента сервер намеренно отправляет недопустимый SYN-ACK. Это должно привести к тому, что клиент сгенерирует пакет RST, который сообщает серверу, что что-то не так. Если это получено, сервер знает, что запрос является законным, регистрирует клиента и принимает от него последующие входящие соединения.

Настройка стека - администраторы могут настраивать стеки TCP, чтобы уменьшить влияние SYN-лавин. Это может включать сокращение тайм-аута до тех пор, пока стек не освободит память, выделенную для соединения, или выборочное отбрасывание входящих соединений.

Очевидно, что все вышеупомянутые методы зависят от способности целевой сети обрабатывать крупномасштабные объемные DDoS-атаки с объемами трафика, измеряемыми десятками гигабит (и даже сотнями гигабит) в секунду.

syn-flood-ddos-attack.png.webp

Imperva предотвращает 38-дневные SYN-флуд и многовекторные DDoS-атаки DNS-флуд.

Защита от DDoS-атак использует технологию Anycast для балансировки входящих DDoS-запросов в своей глобальной сети мощных центров очистки. Благодаря объединенной мощности своей глобальной сети Incapsula может с минимальными затратами превышать ресурсы злоумышленника, делая DDoS-атаку неэффективной. Услуга масштабируется по запросу, предлагая достаточно ресурсов для борьбы даже с крупнейшими объемными DDoS-атаками.

Чтобы обеспечить непрерывность бизнеса, алгоритм фильтрации непрерывно анализирует входящие запросы SYN, используя файлы cookie SYN для выборочного выделения ресурсов законным посетителям. Это обеспечивает прозрачное предотвращение DDoS-атак без простоев и задержек, связанных с любыми другими сбоями в работе бизнеса.
 
Top