Хабрахабр

Wrong, wrong, WRONG! methods of DDoS mitigation

Его название мы не смогли перевести на русский с сохранением смысла, а потому решили посодействовать Хабру в выходе на англоязычный рынок и оставили все, как есть Хабр, это транскрипция выступления CTO Qrator Labs Тёмы ximaera Гавриченкова на RIPE77 в Амстердаме.

Дэйв Гаан из Depeche Mode — живое доказательство того, что можно произнести слово “wrong” 65 раз за 5 минут и все равно оставаться рок-звездой. Это цитата одной из моих любимых групп. Давайте посмотрим, получится ли у меня.

Знаете ли вы, что люди просто обожают географию?

Все эти, знаете, модные карты и архитектурные планы.

Пожалуй, это и есть основная причина, по которой, читая security-раздел StackExchange, я постоянно натыкаюсь на один и тот же подход к предотвращению кибератак.

Почему бы нам просто не ограничить доступ с их IP-адресов? Допустим мы, как компания, не ожидаем Испанскую Инквизицию, тьфу, китайских пользователей. Да и, собственно, Facebook тоже недоступен в Китае, нам-то чего волноваться? Мы не Facebook в конце концов, да и услуги наши доступны лишь в ограниченном количестве регионов.

Суть данного явления состоит в следующем. За пределами мира информационных технологий, подобная техника иногда называется redlining.

Вы накопили определённую статистику, что в некоторых районах города могут ограбить вашего курьера, или же высока вероятность, что вашу машину поцарапают. Допустим, вы — директор таксопарка или пиццерии. (Ввиду особенностей строения большинства американских городов это, кстати, практически эквивалентно отказу в услугах по этническому принципу и считается большой проблемой.) Что ж, вы собираете все сотрудников, при них рисуете на карте города жирную красную линию и объявляете, что за пределами красной границы вы больше услуги не предоставляете.

Любой IP-адрес принадлежит какой-то стране, стало быть, существует официальная база данных, поддерживаемая IETF и RIPE, подтверждающая аллокацию каждого IP-адреса. Мы ведь можем сделать то же самое с IP-адресами, так?

Неверно!

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

IP-адрес — это не телефонный номер, региональный регистратор не передаёт их в собственность, что в явном виде написано в его политиках. Понятия «принадлежности» IP-адреса вообще не существует. Если и есть в мире сущность, которой IP-адреса «принадлежат», то это IANA, а не страна и не компания.

В качестве стороннего замечания — процесс защиты (ваших) авторских прав только что усложнился в разы.

Тем не менее, сейчас мы говорим о DDoS-атаках; эра настоящего IPv6 DDoS еще не пришла и, пока мы набираемся опыта, могут возникать абсолютно разные ситуации. Конечно, что-то из этого (хотя далеко не всё) может стать лучше с приходом IPv6. В общем и целом сейчас еще рано об этом думать.

Но, возвращаясь к DDoS: а если мы знаем наверняка, что удаленная сторона делает что-то явно злонамеренное?

Наш сетап: 40G трафика, скорее всего DNS-трафика, раз он идет с порта 53.

Атаки с амплификацией используют уязвимый сервер для того чтобы, ну вы знаете… увеличивать трафик, и IP-адрес источника в них будет того самого уязвимого сервера. Как мы знаем, такое поведение типично для атак типа DNS amplification DDoS.

Пусть уже наконец пропатчат все эти DNS-рефлекторы, чтобы они перестали быть угрозой, так? Что если мы задействуем какую угодно технологию из тех, что у нас есть, для того, чтобы ограничить доступ к этим уязвимым серверам?

Нет, не так!

Описываемые события произошли в штате Миннесота в 1987 году. Это реальная история. Из уважения к погибшим, остальные события были отображены именно так, как они происходили. По просьбам выживших все имена были изменены.

Компания получила по лицу гигабайтами DNS трафика и решила справиться с ними при помощи чёрных списков IP-адресов.

Их способность проводить amplification-атаки до этого основывалась на их же способности генерировать пакетов с поддельными IP-адресами источника, так что это они и продолжили делать, но чуть по-другому. Через два часа атакующие это каким-то образом заметили и незамедлительно изменили паттерн атаки.

Скрипт NetFlow, использовавшийся компанией, решил, что amplification-атака продолжается, и принялся банить источники. Они начали заливать жертву напрямую, UDP-трафиком с портом источника 53 и фальшивыми IP-адресами из всего адресного пула IPv4.

Так как все адресное пространство IPv4 можно перебрать за считанные часы, как вы уже догадались, потребовалось совсем немного времени для того, чтобы у сетевого оборудования закончилась память и оно выключилось окончательно.

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

Особенно, имея дело с атаками типа амплификации/отражения (reflection). Отсюда следует урок: не плодите чёрные списки автоматически, если вы не верифицировали IP-адрес источника атаки. Они могут казаться не тем, чем являются на самом деле.

После сказанного, остается вопрос.

Давайте просканируем интернет и соберем IP-адреса со всеми потенциальными амплификаторами. Что если мы подтвердим как минимум тот факт, что на удаленном ресурсе действительно находится зловредный амплификатор? Потом, если мы увидим любой из них в поле источника пакета, мы просто заблокируем их — они ж все равно амплификаторы, так?

Не так! Угадайте, что?

Существуют миллионы потенциальных амплификаторов по всему интернету, и вас крайне легко можно будет обмануть, заставив в очередной раз заблокировать избыточное число IP-адресов. Существует ряд причин, каждая из которых утверждает, что так никогда нельзя делать. IPv6-интернет вообще так просто не просканировать.

Благодаря чему? Но что здесь действительно забавно, так это то, что в такой ситуации увеличивается потенциал не только ложноположительных, но и ложноотрицательных срабатываний.

Redlining’у в других сетях!

Они блокируют их, так как их гламурное IDS-оборудование маркирует сканеры как прямую угрозу. Люди ненавидят сетевые сканеры. Никто не спросит заранее, насколько мягкий и пушистый ваш сканер. Они блокируют сканеры миллионом разных способов, и у атакующего может быть доступ к амплификаторам, с которыми вы не сможете ничего поделать. У IDS вообще нет такой концепции, как «хороший внешний сканер».

Вот ключевые выводы:

  • Не пытайтесь использовать чёрные списки, не будучи уверенными, что удаленная сторона — не фальшивка;
  • Не применяйте чёрные списки там, где это нельзя делать или там, где есть решение лучше;
  • Наконец, перестаньте уже ломать Интернет способами, на которые он не рассчитан!

И помните: сложное решение обычно лучше простого, ведь у простых решений, как правило, бывают сложные последствия.

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть