Зафиксировано использование Memcached в качестве усилителя трафика для DDoS-атак

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

Предоставляемый Memcached протокол позволяет взаимодействовать с сервером через протокол UDP. Один из вариантов усилителя заключается в отправке запроса вывода статистики (команда STAT), размер пакетов с которой во много раз может превышать размер исходного запроса. Второй вариант заключается в загрузке в кэш Memcached большого блока данных с последующей отправкой с поддельного адреса жертвы запросов на загрузку этих данных (команда GET).

В случае Memecached, размер запроса составляет 15 байт, а ответ может включать сотни килобайт данных. В одной из изученных атак средний размер ответа составил 134 КБ (усиление в 9000 раз). Наибольший зафиксированный в атаках размер ответа составил 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 "x00x00x00x00x00x01x00x00statsrn" | 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.