SYN-флуд
Что такое SYN-флуд?
SYN-флудTCP-атака отказа в обслуживании: множество SYN-пакетов без завершения трёхстороннего рукопожатия исчерпывает ресурсы под состояния соединений на сервере.
При SYN-флуде атакующий инициирует — но никогда не доводит до конца — огромное число TCP-соединений. Каждый поддельный или неотвечаемый SYN заставляет сервер выделить полуоткрытое соединение в очереди backlog и ответить SYN/ACK, ожидая финальный ACK, который никогда не приходит. Когда очередь backlog переполняется, сервер отказывает в новых легитимных соединениях. Источником SYN-флуда может быть один хост или, что встречается чаще, ботнет, причём IP-адреса источника подменяются, чтобы затруднить фильтрацию.
flowchart TD A[Атакующий] -->|"1. SYN (поддельный src IP)"| S[Целевой сервер] S -->|"2. SYN/ACK на поддельный IP"| V[Несуществующий / молчащий хост] S -.->|3. выделяет полуоткрытую запись| Q[(Очередь backlog)] V -.->|финальный ACK не приходит| S A -->|повтор с высокой частотой| S Q -->|очередь переполнена| R[Новым легитимным клиентам отказано]
Атака была впервые предана огласке в 1996 году через эксплойт-код в журнале Phrack; в сентябре 1996 года флуд на несколько дней вывел из строя почтовые серверы нью-йоркского провайдера Panix, что привело к выпуску рекомендации CERT advisory CA-1996-21. Определяющий справочный документ — RFC 4987 (2007), «TCP SYN Flooding Attacks and Common Mitigations», в котором рассматриваются меры противодействия и их компромиссы. Самая эффективная защита на стороне хоста — SYN cookies, придуманные Daniel J. Bernstein: вместо хранения состояния сервер кодирует параметры соединения в начальном порядковом номере SYN/ACK и восстанавливает их из ACK клиента, поэтому запись в backlog не расходуется, пока рукопожатие не завершится. Прочие меры включают увеличенные или динамически масштабируемые очереди SYN, ограничение скорости подключений на межсетевых экранах и балансировщиках нагрузки, бесстатусную фильтрацию на границе сети и DDoS-scrubbing у вышестоящего провайдера.
● Примеры
- 01
Ботнет отправляет миллионы поддельных SYN-пакетов в секунду к веб-серверу и переполняет его TCP-backlog.
- 02
Небольшой атакующий пользуется отсутствием SYN cookies в старом устройстве и обрушивает его таблицу соединений.
● Частые вопросы
Что такое SYN-флуд?
TCP-атака отказа в обслуживании: множество SYN-пакетов без завершения трёхстороннего рукопожатия исчерпывает ресурсы под состояния соединений на сервере. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает SYN-флуд?
TCP-атака отказа в обслуживании: множество SYN-пакетов без завершения трёхстороннего рукопожатия исчерпывает ресурсы под состояния соединений на сервере.
Как защититься от SYN-флуд?
Защита от SYN-флуд обычно сочетает технические меры и операционные практики, как описано в определении выше.