Уязвимость в CUPS оказалась пригодна для усиления трафика при DDoS-атаках

Группа, отвечающая за безопасность сети доставки контента Akamai, выявила дополнительный вектор атаки на процесс cups-browsed, помимо его использования в качестве одного из звеньев в эксплоите, приводящем к выполнению кода в системе. Через отправку запросов к процессу cups-browsed, без ограничений принимающему соединения на 631 порту, можно добиться отправки данных на другой хост, размер которых будет превышать исходный запрос до 600 раз. Для сравнения коэффициент усиления для memcached может достигать 10-50 тысяч раз, NTP - 556 раз, DNS - 28-54, RIPv2 - 21, SNMPv2 - 6.

Подобная особенность позволяет использовать системы с cups-browsed в качестве усилителя трафика при осуществлении DDoS-атак. Метод атаки с использованием усилителя трафика основан на том, что запросы с участвующих в DDoS-атаке компьютеров направляются не напрямую на систему жертвы, а через промежуточный усилитель трафика. В ходе сканирования сети было выявлено более 198 тысяч уязвимых систем с CUPS, из которых 34% (58 тысяч систем) оказались пригодны для усиления трафика в DDoS-атаке.

В отличии от методов усиления трафика, требующих отправки UDP-пакетов с подставным обратным адресом жертвы, использование cups-browsed позволяет обойтись без спуфинга. Cервис cups-browsed имеет штатную возможность загрузки PPD-файла с произвольного сервера в ответ на неавторизированный внешний запрос, в ходе которого клиент передаёт URL, а cups-browsed пытается загрузить PPD-файл с указанного сервера.

При отправке запроса на загрузку PPD-файла в cups-browsed можно добиться прикрепление к значению "IPP URI" добавочного заполнения, которое может достигать 989 байт. При этом в инициируемом cups-browsed обращении значение "IPP URI" дублируется - один раз в HTTP-заголовке, а второй раз внутри тела POST-запроса, а запросы циклично повторяются после неудачных попыток загрузки и возвращения сервером 404 кода ошибки.

На 62% (35900) проверенных системах cups-browsed отправил как минимум 10 TCP/IPP/HTTP-запросов к атакуемой системе в ответ на один исходный UDP-запрос. В среднем для 58000 подверженных проблеме систем число повторных обращений составило 45. При оптимальном сценарии отправка одного 30-байтового исходного запроса при 45 повторных попытках загрузки приведёт к отправке на целевую систему 18000 байт данных, т.е. будет наблюдаться усиление трафика в 600 раз. В наихудшем сценарии усиление составляет 108 раз.

Дополнительно можно отметить об отражении компанией Cloudflare рекордной DDoS-атаки, в результате которой на систему жертвы был направлен поток в 3.8 терабит в секунду (2.14 миллиардов пакетов в секунду). Отмечается, что атака была организована с использованием большого числа скомпрометированных домашних маршрутизаторов Asus и Mikrotik, а также DVR-устройств и web-серверов, взломанных среди прочего с использованием относительно свежих уязвимостей.