Удар из прошлого: DdoS-атака RIPv1, или чем опасны старые роутеры

Атаки, использующие устаревший протокол маршрутизации RIPv1, снова были замечены с 16 мая 2015 года, после более чем годичного забвения. Их зафиксировала компания Akamai и DDoS-GUARD. Самые поздние из них использовали небольшое число устройств (маршрутизаторов, роутеров), которые поддерживают RIPv1.

RIPv1 впервые был представлен в «историческом» RFC1045 (оригинальная спецификация больше не поддерживается). Протокол поддерживает только классовую маршрутизацию. Таким образом, если сеть, анонсируемая по RIPv1, относится к классу «A» (например, 10.1.2.0/24), то реально отправляемый анонс будет выглядеть, как 10.0.0.0/8. Это, среди прочего, значительно ограничивает применение RIPv1 внутренними сетями, он малопригоден для Интернета.

Основные характеристики рассматриваемой в материале Akamai атаки
  • объем трафика: до 12,8 Гбит
  • пакетов в секунду: до 3,2 млн
  • вектор атаки: амплификация RIPv1
  • исходящий порт: UDP:520
  • входящий порт: случайный
Протокол RIPv1 (Routing Information Protocol, версия 1) существует уже много лет и считается быстрым и легким способом обмена информацией о маршрутах в небольшой сети с несколькими маршрутизаторами.

Маршрутизатор, поддерживающий RIP, отправляет запрос при первоначальной настройке либо при включении питания. Любое другое устройство, принимающее такие запросы, ответит списком маршрутов. Обновления таблицы маршрутов периодически рассылаются широковещательно (broadcast).

Чтобы изменить поведение RIPv1 для проведения DdoS-атаки, злоумышленник может отправить такой же запрос, подменив исходящий IP адресом объекта атаки. Адресаты выбираются по заранее подготовленному списку маршрутизаторов с поддержкой RIPv1, которые имеют подозрительно большое количество маршрутов в таблицах.

В результате одиночного запроса генерируется большое количество пакетов с 504-байтовой нагрузкой, отправляемых на атакуемый адрес. На один запрос может отправляться несколько ответов по причине ограничения в 25 маршрутов на один RIP-пакет.

На нижеприведенном листинге RIP-ответы взяты из реальной атаки. Со стороны атакуемого видны только ответы на запросы RIPv1, которые он, разумеется, не делал.

Типичный запрос RIPv1 содержит 24 байта. Приведенный ответ содержит 504 байта. Данный конкретный маршрутизатор отвечает десятью ответами по 504 байта и одним в 164 байта.

При вычислении коэффициента усиления по вышеприведенным запросам, учитывая заголовки Ipv4 [IP(IP (10)UDP10) UDP(8)], окончательное усиление для одиночного запроса RIPv1 составляет 131,24 (более 13 000%). Коэффициент будет меняться в зависимости от количества маршрутов в таблице роутера. Во время первой атаки, большая часть роутеров отвечала множественными 504-байтовыми ответами на каждый запрос.

Поверхностное сканирование источников атаки позволяет предположить, что жертвы, использованные для создания шторма RIP-ответов, пользовались примитивными маршрутизаторами (класса SOHO). Реализованный на них RIPv1 работает в соответствии со спецификацией, злоумышленники просто используют его особенности в своих целях.

«Отравление» RIPv1
Может ли злоумышленник дополнительно повысить коэффициент усиления, заставив маршрутизатор узнать новые маршруты? Идея кажется реализуемой. НО есть три основных фактора, мешающих эффективному использованию такого сценария в DdoS-атаках.

Первый фактор — «расщепление горизонта», используемое по умолчанию на некоторых устройствах, поддерживающих RIPv1. Попросту говоря, маршрутизатор, получающий обновление маршрутов, не отправит его обратно через тот же интерфейс, через который получил. Это означает, что устройство, подключенное к интернету, не будет отправлять объекту атаки ложные маршруты. Однако, он будет обновлять эти маршруты, когда они устареют до 16-й метрики.

Отсюда вытекает другой подавляющий фактор. Таблицы маршрутов часто очищаются, и слишком старые маршруты не будут сохраняться долго. С их устареванием будет требоваться очередное обновление, чтобы маршрутизатор их сохранил. К примеру, в устройствах Cisco, маршруты, поступившие с инъекцией, не покажутся, пока не станут неиспользуемыми (метрика 16) и сохранятся лишь 1 минуту после того, как будут помечены неиспользуемыми, после чего будут стерты из таблицы маршрутов.

Таким образом, потребуются непрерывные регулярные обновления, чтоб поддерживать «отравление» таблиц. Потребность в повторяющихся инъекциях приводит к падению коэффициента усиления, поскольку вместо одиночного 24-байтового запроса придется отправлять множественные анонсы до 504 байт каждый (в зависимости от числа маршрутов в инъекции), чтобы поддерживать таблицы маршрутов в нужном злоумышленнику состоянии.

Третья проблема заключается в том, что ответы RIPv1, приходящие из сетей, не связанных с маршрутизатором напрямую, будут проигнорированы. Значит, адрес источника обновлений должен быть подделан так, чтобы попадать в сеть, непосредственно связанную с «отравляемым» маршрутизатором, чтобы обновление было хотя бы просто принято.

Все это вместе делает попытки отравления таблиц маршрутов RIPv1 невыгодными и непривлекательными для злоумышленника.

При наличии локального доступа к устройству (маршрутизатору), маршрутами можно манипулировать. Такой сценарий возможен в случае, когда управление марштуризатором доступно с учетными данными по умолчанию либо вообще без удостоверения пользователя. Такие недочеты в конфигурировании маршрутизаторов встречаются чаще, чем хотелось бы.

Результаты сканирования RIPv1 в интернете
По данным Akamai, в общей сложности на запросы RIPv1 в интернете откликнулось 53 693 устройства. Хотя многие из них непригодны в качестве усилителей DdoS, они все равно уязвимы для отражения и других атак, по причине низкой защищенности протокола. Вообще, было идентифицировано около 500 уникальных источников, посылавших 504-байтовые ответы.

Большинство из 53 693 возможных источников отвечают единственным маршрутом — что делает их обычными «отражателями», без дополнительного усиления.

Рассматривая размеры ответов RIPv1, полученных в интернете, видно достаточно большое количество устройств, обеспечивающих хотя бы небольшой коэффициент усиления. Удалось идентифицировать 24 212 устройств, обеспечивающих усиление не менее 83%. В таблице ниже приведены 5 наиболее распространенных длин пакетов, полученных при тестировании…

Другая интересная находка — в том, что обнаруженные реализации RIPv1 при получении неправильно структурированного запроса отвечают сообщением, в котором не содержится реальная информация об их таблицах маршрутизации. Хотя это и нивелирует усиление, низводя атаку до простого отражения, такой эффект можно использовать для маскировки подлинного источника вредоносного трафика.

Выявленные адреса были рассортированы для определения моделей устройств. Из 53 693 устройств, откликнувшихся на запрос, более 20 000 так же слушали порт TCP:80 (зачастую используемый веб-интерфейсом администратора). Была предпринята попытка извлечь и записать результаты запросов в поисках утечки информации о моделях (запросы аутентификации, заголовки HTTP, номера моделей на начальных страницах и т. п.). Ниже представлены три наиболее распространенных устройства (среди обнаруженных), поддерживающих RIPv1. Устройства Netopia, вероятно, старое оборудование, получившее распространение во времена бума ADSL.

Следующий рисунок показывает распределение по провайдерам (на основе ответов whois) адресов обнаруженных устройств Netopia. Большинство из них используется клиентами AT&T.

Большинство из устройств географически находятся в США, как показано на следующем рисунке. Как упоминалось выше, источники вредоносного трафика, зафиксированные при недавних атаках, в основном находились в Европе. Это означает, что существует значительный потенциальный (пока незадействованный) ресурс, который может быть использован для атак с усилением и отражением.

Распределение источников трафика по странам показано на следующем рисунке. Объединяет их то, что каждый из них в ответ на запрос сообщает необычно большое количество маршрутов.

Рекомендуемые меры защиты
Для жертв таких атак, например, источников «отраженного» трафика, существует несколько путей защиты от данного метода:
  • Переход на RIPv2 или более поздний, с использованием аутентификации.
  • Если необходим RIPv1, пересмотреть необходимость в поддержке RIPv1 на внешних интерфейсах. Если там он не нужен, пометить внешние интерфейсы как пассивные для RIPv1 (где такая функция поддерживается).
  • Доступ к RIP можно так же ограничить при помощи ACL, разрешив доступ только известным маршрутизаторам.

Объекты атаки отраженным трафиком RIPv1 могут использовать ACL для запрета трафика с исходящего порта UDP:520 в интернете. Если атака слишком мощная, то могут потребоваться услуги провайдера защиты от DdoS.
Выводы
Список возможных векторов атаки немал, и некоторые контролировать сложнее прочих в виду их повсеместного распространения (например, DNS, SSDP). Как уже было сказано, у RIPv1 есть определенные возможности оставаться привлекательным ресурсом для организации DDoS-атак. Большинство источников этого ресурса — устаревшие маршрутизаторы, годами работающие в жилых домах или домашних офисах.

Большое количество устройств Netopia хорошо это иллюстрирует. Провайдеры не будут заменять ранее установленное оборудование, если оно исправно выполняет свои функции. Если не возникает проблем — зачем что-то менять?

Таким образом, в строю остаются устройства, поддерживающие устаревшие протоколы и содержащие известные уязвимости в программном обеспечении. На эту ситуацию наибольшее влияние будут оказывать провайдеры. Прежде всего, следует закрывать порт UDP:520 со стороны интернет. Это значительно уменьшит возможность реализации описанных DDoS-атак. Другой вариант, более дорогостоящий, заключается в организации апгрейда клиентского оборудования, его замены на новые маршрутизаторы (с корректными конфигурациями); это будет особенно актуально для устройств, которые больше не поддерживаются производителями.

Адаптированный перевод подготовлен техническими специалистами компании DDoS-GUARD.
Выделенные серверы OVH
Выделенные серверы Hetzner

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

Оставить комментарий