Атака на протоколы на основе UDP, приводящая к зацикливанию обмена пакетами
Координационный центр CERT (компьютерная группа реагирования на чрезвычайные ситуации), опубликовал предупреждение о серии уязвимостей в реализациях различных прикладных протоколов, использующих в качестве транспорта протокол UDP. Уязвимости могут использоваться для организации отказа в обслуживании из-за возможности зацикливания обмена пакетами между двумя хостами. Например, атакующие могут добиться исчерпания доступной пропускной способности сети, блокирования работы сетевых сервисов (например, через создание высокой нагрузки и превышение ограничения интенсивности запросов) и реализации усилителей трафика для DDoS-атак.Из протоколов, некоторые реализации которых подвержены уязвимости, упоминаются DNS, NTP, TFTP, Echo (RFC862), Chargen (RFC864) и QOTD (RFC865). Наличие уязвимости (CVE-2024-2169) подтверждено в отдельных продуктах компаний Cisco, Microsoft, Broadcom, Brother, Honeywell (CVE-2024-1309) и MikroTik. В качестве обходных мер для блокирования уязвимостей рекомендуется включить на межсетевом экране блокировку спуфинга (uRPF), ограничить доступ к лишним UDP-сервисам и настроить ограничение интенсивности трафика (rate-limit и QoS).
Уязвимости обусловлены незащищённостью протокола UDP от спуфинга адресов - при отсутствии на транзитных маршрутизаторах защиты от спуфинга атакующий может указать в UDP-пакете IP-адрес произвольного сервера и отправить этот пакет на другой сервер, который вернёт ответ на указанный поддельный адрес. Метод атаки сводится к созданию ситуации с зацикливанием обмена пакетами между серверами, использующими уязвимые реализации протокола. Например, в ответ на поступивший пакет целевой сервер может отправить ответ с кодом ошибки, а сервер, адрес которого подставил атакующий, вернёт свой ответ, который, в свою очередь опять приведёт к возврату пакета с кодом ошибки. Таким образом, серверы до бесконечности начнут играть между собой пакетами в "пинг-понг".
Примечательно, что подобный метод атаки не нов и в сервере синхронизации времени ntpd один из вариантов атаки был устранён ещё в 2009 году (CVE-2009-3563) в версиях 4.2.4p8 и 4.2.5. Атака сводилась к отправке NTP-пакета с подставным адресом и выставленным флагом MODE_PRIVATE, при обработке которого целевой сервер возвращал ответ о невозможности использования приватного режима, оставляя в ответе выставленным флаг MODE_PRIVATE. Соответственно другой сервер также не мог обработать данный флаг и возвращал свой ответ, что приводило к зацикливанию обмена пакетами между двумя NTP-серверами. Для протокола DNS предупреждение о возможности совершения подобной атаки опубликовано ещё в 1996 году.
Глобальное сканирование адресов в интернете показало, что в настоящее время в сети присутствует как минимум 23 тысячи уязвимых TFTP-серверов, 63 тысячи DNS-серверов, 89 тысяч NTP-серверов, 56 тысяч сервисов Echo/RFC862, 22 тысячи сервисов Chargen/RFC864 и 21 тысяча сервисов QOTD/RFC865. Предполагается, что в случае NTP-серверов наличие неисправленной уязвимости связано с использованием очень старых версий ntpd, выпущенных до 2010 года. Сервисы Echo, Chargen и QOTD уязвимы изначально в силу своей архитектуры. Ситуация с серверами TFTP и DNS требует разбирательства с их администраторами. Серверы atftpd и tftpd проблеме не подвержены, так как используют случайный номер исходного сетевого порта при отправке ответа. Из уязвимых DNS-серверов упоминается dproxy-nexgen. В продуктах Microsoft проблема проявляется в WDS (Windows Deployment Services), а в продуктах Cisco проблема присутствует в маршрутизаторах серий 2800 и 2970.
Источник: https://www.opennet.ru/opennews/art.shtml?num=60814