Memcached усилитель трафика для DDoS-атак

Компания Cloudflare сообщила о выявлении массивных DDoS-атак, интенсивность трафика в которых доходит до 500 Гбит/с, проводимых с использованием усилителя из общедоступных серверов Memcached. Предоставляемый Memcached протокол позволяет запросить через UDP-порт статистику, размер пакетов с которой во много тысяч раз может превышать размер исходного запроса.

Метод атаки с использованием усилителя трафика основа на том, что запросы с участвующих в DDoS-атаке компьютеров направляются не напрямую на систему жертвы, а через промежуточный усилитель трафика, путем отправки UDP-пакетов с подставным обратным адресом жертвы (спуфинг). В случае Memecached, размер запроса составляет 15 байт, а ответ может включать сотни килобайт данных. В одной из атак в среднем фиксировался размер ответа в 1400 байт (усиление в 93 раза), но в другой атаке средний ответ составлял уже 150 КБ (усиление в 9000-10000 раз).

Наибольший зафиксированный в атаках размер ответа составил 750 КБ. В зависимости от сервера коэффициент усиления трафика может достигать 10-50 тысяч, что является абсолютным рекордом среди методов усиления атак. Для сравнения коэффициент усиления трафика для NTP составляет 556 раз, DNS — 28-54, RIPv2 — 21, SSDP — 20, SNMPv2 — 6.
Опасность представляют некорректно настроенные серверы, в которых Memcached прикреплён к внешнему сетевому порту и может принимать запросы извне. Memcached не поддерживает аутентификацию и расчитан на прикрепление к внутреннему сетевому порту или ограничение досутупа на уровне межсетевого экрана. Некорректная настройка позволяет любому обратиться к незащищённому хранилищу Memcached, а поддержка протокола UDP даёт возможность подделать обратный адрес, на который будет отправлен ответ.

Всплеск DDoS-атак с привлечением memcached зафиксирован 24 февраля и продолжает нарастать. Если первые дни в атаке было задействовано около 400 серверов, то к 28 февраля их число удвоилось. Всего по предварительной оценке в сети насчитывается 93 тысячи общедоступных серверов Memcached, которые потенциально могут быть вовлечены в атаки.


При запуске по умолчанию memcached прикрепляется ко всем сетевым портам и принимает соединения по UDP (для привязки к localhost и отключения UDP следует запускать memcached с опциями "--listen 127.0.0.1 -U 0"). При установке из пакетов в Ubuntu 16.04 по умолчанию memcached привязывается к localhost, но при установке из пакета в CentOS 7.4 осуществляется привязка ко всем имеющимся сетевым интерфейсам.
Всем администраторам рекомендуется проверить свои системы на предмет наличия открытого доступа к сетевому порту 11211 и заблокировать возможность обращения к нему из внешних сетей пакетным фильтром. Разработчики Memcached оперативно выпустили обновление 1.5.6, в котором по умолчанию отключили привязку к UDP-порту (для обращения к memcached всеми современными клиентами обычно используется TCP). Для проверки своего сервера на возможность доступа по UDP можно при помощи команд:
$ echo -en "\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n" | nc -q1 -u 192.168.1.1 11211
   STAT pid 21357
   STAT uptime 41557034
   STAT time 1519734962
или
nmap 192.168.1.1 -p 11211 -sU -sS --script memcached-info
   PORT      STATE         SERVICE
   11211/tcp open          memcache
Поделиться:

Нет комментариев