Введение

DDoS-атака в 40 Гбит/с? Редкий ботнет способен сгенерировать такой объем трафика. Однако мощность атаки может быть увеличена в десятки раз за счет сетевых аномалий. И при таком раскладе подобные цифры уже не кажутся фантастикой. Сегодня мы попробуем разобрать несколько примеров сетевых аномалий и рассмотрим их влияние на доступность конечных ресурсов.

 

Азы

Начнем с вводной для тех, кто незнаком с проблемами сетевых аномалий и вопросами междоменной маршрутизации. Главными действующими лицами на междоменном сетевом уровне являются автономные системы (АС) — системы IP-сетей и маршрутизаторов, управляемых одним или несколькими операторами, имеющими единую политику маршрутизации с интернетом. АС — это прежде всего административная единица. Она должна быть зарегистрирована в одном из региональных интернет-регистраторов, и ей должен быть присвоен номер АС (в Европе интернет-регистратор — RIPE). Существует три основных типа АС:

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

Между АС действует де-факто стандартный протокол внешней маршрутизации BGP. Это дистанционно-векторный протокол, то есть выбор маршрута определяется метрикой пути (в данном случае это количество АС, через которые должен пройти пакет). Последовательность номеров АС хранится в атрибуте AS_PATH.

Для деприоритизации маршрута на междоменном сетевом уровне используется prepend policy, основанная на вставке нескольких номеров АС подряд:

anomal1

В этом примере АС333 деприоритизирует маршрут, отсылаемый АС222. С использованием атрибута AS_PATH в BGP реализована защита от циклов маршрутизации: если АС получает анонс, в AS_PATH которого входит номер данной АС, то этот анонс сбрасывается. Это позволяет исключить теоретическую возможность возникновения статических циклов маршрутизации на уровне АС.

В протоколе BGP была также заложена возможность отражения экономических отношений между АС. Данная функциональность реализуется с использованием атрибута LOCAL_PREF, который позволяет явно указывать приоритетный канал, вне зависимости от значений атрибута AS_APATH. Процесс маршрутизации BGP в чем-то похож на размахивание флагом: АС сообщает, что имеет маршрут к заданной сети, то есть она анонсирует эту сеть во внешний мир. Рис. 1 описывает пример того, как это происходит.

Рис. 1
Рис. 1

Здесь многоинтерфейсная АС222 имеет префикс, который она анонсирует своим поставщикам услуг (которые тоже являются АС). Далее уже поставщики услуг АС222 будут анонсировать заданную сеть своим соседям и так далее. Информацию о маршрутах к внешним сетям АС222 получает от своих соседей. Однако зачастую АС столько информации не нужно, и тогда она может использовать default route, то eсть при отсутствии маршрута в таблице маршрутизации пакет отправлять в заданную соседнюю АС.

 

Ближе к делу: ошибки в настройке маршрутизаторов

Мы выделили три основных класса сетевых аномалий:

  1. ошибки в настройке маршрутизаторов;
  2. циклы маршрутизации BGP;
  3. проблемы на уровне среды передачи данных (СПД).

Далее будут рассмотрены первые два класса. Начнем с наиболее частой сетевой ошибки, возникающей при настройке default route. Ошибка возникает в случае, если, с одной стороны, анонсируется префикс без его установки на loopback-интерфейсе и одновременно с этим на том же канале настроен default route. Что получается в результате? Если мы отправим пакет на любой неиспользуемый IP-адрес из этого префикса, то он попадет в цикл на стыке АС и АС-поставщика. Пакет будет оставаться в этом цикле, пока не истечет значение TTL. Чем это плохо? Такая настройка делает сеть уязвимой к атаке на исчерпание канала. И даже если канал не будет исчерпан, АС все равно придется отдуваться за увеличенный объем трафика. Наша система мониторинга обнаружила более 14 тысяч уязвимых префиксов. Второй ошибкой в настройке маршрутизаторов являются непосредственно усилители DDoS-атак. Один из вариантов усилителя выглядит следующим образом: вы отправляете один echo request, в народе известный по утилите ping, и получаете на него десяток echo reply. Атакующему достаточно проставить в source IP-адреса атакуемой сети для получения усиления DDoS-атаки в десять раз. Более того, в результате атакованными оказываются несколько АС:]

  1. АС, в которой находится уязвимость;
  2. АС, чье адресное пространство используется для атаки;
  3. транзитные АС, которые через себя весь этот мусор и пропускают.

Здесь нужно сделать два замечания. Во-первых, это не теория, такой вид атаки был уже несколько раз детектирован сетью фильтрации трафика Qrator. Во-вторых, в случае защиты от DDoS-атак на операторском уровне данный вид уязвимости позволяет проводить атаки в обход защищаемого периметра. Это связано с тем, что фильтрующее оборудование обычно стоит на стыках с АС-поставщиками, а данная сетевая уязвимость позволяет добиться эффекта, когда клиентские сети атакуют друг друга. Мы обнаружили более 700 префиксов c этой уязвимостью.

 

Второй пункт программы: циклы маршрутизации BGP

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

За последние полтора месяца нашей системой мониторинга было обнаружено более 2 тысяч циклов маршрутизации. Причина циклов маршрутизации BGP может варьироваться, но их результат аналогичен DoS-атаке: целевая сеть становится частично или полностью недоступна для части интернета. Дополнительно циклы создают ощутимый шум BGP-сообщений, что осложняет работу всей сети BGP-маршрутизации. И главное: данную сетевую нестабильность невозможно обнаружить со стороны АС-источника маршрута.

Как возникают динамические циклы BGP? По сути, они возникают в трех случаях.

  1. Вне зависимости от АС-источника, транзитные АС могут образовать цикл приоритетов по атрибуту LOCAL_PREF. То есть каждая из этих сетей указывает на соседнюю АС, что там трафик выгоднее. В итоге если анонс попадет в это кольцо, то процесс распространения маршрута BGP никогда не закончится. Начнется гонка BGP-сообщений, при которой конкурирующие анонсы не смогут догнать один другого, периодически выстраиваясь в полностью построенный цикл, откуда пакеты уже не могут выйти. Время жизни этого цикла обычно кратно 30 секундам. Но главная проблема в том, что этот цикл воссоздается — после разрушения цикла снова повторяется гонка анонсов, которая заканчивается возникновением нового цикла. И так по кругу.
  2. Удаление анонса префикса у одного из АС-поставщиков тоже может привести к возникновению циклов на стыках АС, опять же из-за default route. Время жизни данной сетевой аномалии будет прямо пропорционально длине последовательности АС с отношениями «поставщик — покупатель» (обычно именно в таких случаях устанавливается default route).
  3. Рассмотренный механизм управления BGP-анонсами prepend policy также может стать причиной возникновения цикла. Данный эффект возникает из-за того, что маршрутная информация распространяется не сразу и не обязательно по оптимальным путям, а согласно политике маршрутизации, отчего опять же возможно появление относительно стабильного кольца маршрутизации.
 

Статистика: прав ли календарь майя?

Поговорим немного о статистике. В таблице на рис. 2 перечислены крупнейшие АС, в которых были обнаружены проблемы. В этот список попали несколько Tier-1 АС, которые являются, по сути, «сердцем» интернета. Существует более четырех тысяч АС, не вошедших в эту таблицу, что соответствует 10% всех АС в мире. Однако аномалии зачастую могут оказывать опосредованное влияние не только на АС-источник, но и на соседние АС, то есть более чем на 80% АС.

Рис. 2
Рис. 2

Беда часто не приходит одна. На рис. 3 рассмотрены два Tier-1 провайдера из предыдущей таблицы. В случае Level3 было обнаружено несколько усилителей DDoS-атак, один из которых позволяет увеличить плечо в 17 раз, и 25 префиксов с неправильной настройкой default route. В сети Cogent картина выглядит похожей, c той разницей, что также были зарегистрированы BGP-циклы.

Рис. 3
Рис. 3

Россия по сетевым аномалиям не идет впереди планеты всей. Ошибок в настройке default route у нас чуть больше, чем в среднем по миру, усилителей DDoS-атак чуть меньше. При этом среди них есть усилители, которые позволяют увеличить плечо атаки более чем в десять раз. Стоит заметить, что ошибки на уровне настройки маршрутизаторов могут длиться месяцами, а возможно, и годами (наш мониторинг начал работу только весной). BGP-циклы (рис. 4) куда более нестабильны, многие из них завершаются в течение нескольких часов, но в статистике мы рассматриваем только те циклы, которые длились больше получаса, уже оказав значительное влияние на доступность конечных ресурсов. При этом стоит заметить, что мы видели циклы маршрутизации BGP, которые были стабильны в течение нескольких недель.

Рис. 4
Рис. 4

С момента запуска нашего мониторинга общее количество (рис. 5) обнаруженных сетевых аномалий возросло почти на 50%. Однако само число сетевых аномалий в каждый момент времени оказалось величиной куда более стабильной: за восемь недель ее рост составил около 10%.

Рис. 5
Рис. 5
 

Новые приключения Робин Гуда

Мы попытались сделать свою легенду. Мы решили, что будем Робин Гудами, только для этого мы не будем грабить богатых. И попытались оповещать АС о наличии проблем. Но, к сожалению, эффективность этого мероприятия оказалась куда ниже, чем мы рассчитывали. Сетевые администраторы отказывались что-либо исправлять, даже если они анонсируют уязвимый префикс. В ответ на наши сообщения мы получали отписки из разряда «Да, мы анонсируем эту сеть. Проблема в сети нашего клиента, но мы ничего сделать не можем. Но если он нарушает правила пользования, то, конечно, напишите нам еще один abuse request». К чему это приводит? Во-первых, если кто-то раньше думал, что атака на сетевом уровне выглядит как Звезда Смерти со злым гением внутри, то на самом деле она выглядит куда прозаичней.

Создается впечатление, что, пока гром не грянет, большинство латать сетевые уязвимости не будет. В качестве примера я рассмотрел одну из таких АС c очень «любезной» техподдержкой (рис. 6).

Рис. 6
Рис. 6

Понятно, фамилии, имена изменены, но могу сказать, что дело происходит на уровне ядра сети АС. У них все хорошо, кроме одного. На стыке между ними есть ошибка в настройке default route, причем стык трансконтинентальный, а это приводит к тому, что пакет живет в этом цикле до четырех секунд. Тем самым если отправить в данный цикл некоторый поток трафика, то реально занимаемая им полоса увеличится в четыре раза. И к сожалению, это не единственная проблема этих магистральных операторов. В клиентских сетях ASX2 более 50 усилителей DDoS-атак, один из которых настолько щедр, что увеличивает плечо атаки более чем в 350 раз. В среднем мы получаем десятикратное увеличение. И если атакующий проставит в destination IP эти клиентские сети с уязвимостями, а в качестве source IP-адреса из блока 2.2.2.0/24, то он получит увеличение плеча атаки в 40 раз. Ну а ботнетом, способным сгенерировать пару гигабит в секунду, сегодня никого не удивишь — что уж говорить о серверах. Что будет в итоге? Скорее всего, произойдет исчерпание канала, BGP-сессия порвется, что создаст волну перестроений BGP-маршрутизации, которая, в свою очередь, вызовет динамические циклы BGP, а это приведет к частичной недоступности абсолютно всех клиентских сетей. Видимо, только в этот момент техподдержка начнет разбираться, что к чему.

 

Какие выводы можно сделать?

Выводы очень простые. Проблемы клиентских сетей — это проблемы владельца АС. Проблемы сетей его поставщиков — это тоже проблемы владельца АС. Учитывайте, что сетевые аномалии зачастую не видны со стороны АС-источника. Отсюда огромное пожелание для операторов — проверяйте свою сеть. Дважды.

P.S. Мы изучаем вопросы сетевых аномалий для прогнозирования будущих угроз и векторов развития DDoS-атак. У нас есть готовая система мониторинга, и мы готовы предоставлять информацию о сетевых аномалиях бесплатно. Мы не можем просто публиковать эту информацию, поскольку данные могут быть использованы злоумышленниками, но мы будем отвечать на запросы технических и административных контактов АС, зарегистрированных в RIPE.

 

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии