DDoS-атака - это попытка злоумышленником нарушить нормальный трафик целевого сервера, сети или конкретного сайта путем перегрузки цели или окружающей ее инфраструктуры потоком интернет-трафика.
DDoS-атаки достигают эффективности за счет использования множества скомпрометированных компьютерных систем в качестве источников атакующего трафика. Эксплуатируемые удаленные машины могут включать компьютеры и другие сетевые ресурсы, например устройства Интернета вещей.
Если немного абстрагироваться, то DDoS-атака подобна неожиданной пробке, закупоривающей дорогу и препятствующей нормальному потоку движения прибыть в нужный пункт назначения.
Как работает DDoS-атака?
DDoS-атаки осуществляются с использованием зараженных компьютеров/устройств, которые подключены к Сети Интернет. Компьютеры или устройства, заражаются вредоносным программным обеспечением, что позволяет злоумышленнику получить удаленный контроль над ними. Эти отдельные зараженные устройства называются ботами (или иногда их называют зомби), а группа ботов называется ботнетом. Как только ботнет создан, злоумышленник может направить атаку, отправив нужные инструкции каждому боту. Когда сервер или сайт, становятся мишенью ботнета, каждый бот отправляет запросы на IP-адрес цели, что потенциально может вызвать перегрузку сервера или сети, что в дальнейшем приведет к отказу в обслуживании обычного трафика(целевых клиентов). Для клиентов которые, хотят зайти на сайт, это будет выглядеть как 503 ошибка (Service Unavailable) в браузере. Поскольку каждый бот является обычным интернет-устройством или компьютером, отделить атакующий трафик от обычного может быть сложно.
Как понять, что на сайт или сервер ведется DDoS-атака ?
Наиболее очевидным симптомом DDoS-атаки является то, что сайт стал работать с видимыми временными задержками или вовсе становится недоступным (Service Unavailable). Но в целом эти симптомы еще конкретно ничего не значат, так как возможно на сайт действительно стали приходить целевые примеры и ваш сервер просто не справляется или ему не хватает производительности. В этом случае нужно провести дальнейшую диагностику. Для этого вам необходимо провести анализ логов доступа к сайту/серверу или воспользоваться специальной утилитой для исследования логов GoAccess. На что нужно обратить внимание:
- Подозрительные объемы трафика, исходящего с одного IP-адреса или диапазона IP-адресов
- Поток трафика от пользователей, которые используют один поведенческий профиль, такой как тип устройства, геолокация или версия веб-браузера
- Необъяснимый всплеск запросов к одной странице сайта
- Странные схемы движения трафика, такие как всплески в нечетное время суток или схемы, которые кажутся неестественными (например, всплеск каждые 10 минут)
Существуют также и другие, более специфические признаки DDoS-атаки, которые могут изменяться в зависимости от типа атаки.
Самые распространенные типы DDoS-атак?
Разные типы DDoS-атак нацелены на определенные компоненты сетевого подключения. Для того чтобы понять, как работают различные DDoS-атаки, необходимо понимать, как осуществляется сетевое подключение. Сетевое соединение в сети Интернет состоит из множества различных компонентов или “слоев”. Подобно строительству дома с нуля, каждый слой в модели имеет свое назначение. Модель OSI, показанная ниже, представляет собой концептуальную основу, используемую для описания сетевого подключения на 7 различных уровнях.
Хотя почти все DDoS-атаки связаны с перегрузкой целевого устройства или сети, атаки можно разделить на три категории.
Злоумышленник может использовать один или несколько различных векторов атаки или циклически изменять векторы атаки в ответ на контрмеры, принятые целью.
Атака на прикладном уровне.
Иногда называемые DDoS-атакой 7-го уровня (со ссылкой на 7-й уровень модели OSI), целью этих атак является полная загрузка ресурсов цели для того, чтобы вызвать отказ в обслуживании.
Данный тип атаки генерирует страницы на сервере в ответ на HTTP-запросы. Выполнение одного HTTP-запроса со стороны клиента обходится дешево с точки зрения вычислений, но ответ на него может быть дорогостоящим для целевого сервера, поскольку сервер часто загружает несколько файлов и выполняет запросы к базе данных для создания веб-страницы.
От атак уровня 7 трудно защититься, поскольку бывает трудно отличить вредоносный трафик от легитимного.
HTTP флуд.
Эта атака похожа на многократное нажатие кнопки обновить в веб–браузере на множестве разных компьютеров одновременно. Большое количество HTTP-запросов заставляют сервер отдавать все больше ресурсов, что приводит к отказу в обслуживании сервера. Этот тип атаки варьируется от простого до сложного. Более простые реализации могут обращаться к одному URL-адресу с тем же диапазоном атакующих IP-адресов, рефереров и пользовательских агентов. Сложные версии данного вида атак могут использовать большое количество атакующих IP-адресов и нацеливаться на разные URL-адреса с использованием случайных рефереров и пользовательских агентов.
Протокольные атаки.
Протокольные атаки, также известные как атаки с исчерпанием состояния, приводят к сбою в обслуживании из-за чрезмерного потребления ресурсов сервера и/или ресурсов сетевого оборудования, такого как брандмауэры и балансировщики нагрузки. Протокольные атаки используют слабые места в уровне 3 и уровне 4 стека протоколов, чтобы сделать цель недоступной.
SYN флуд.
SYN флуд аналогичен работнику на складе магазина, получающему запросы от менеджеров магазина из торгового зала. Работник получает запрос на подготовку товара для передачи его клиенту и ждет подтверждения по оплате товара, прежде чем вынести товар в торговый зал. Далее работник склада начинает получать все больше и больше запросов на подготовку товаров, пока в один момент он падает без сознания и не сможет больше переносить товары и запросы из зала начинают оставаться без ответа. Эта атака использует TCP—рукопожатие — последовательность сообщений, посредством которых два компьютера инициируют сетевое соединение, - отправляя цели большое количество TCP-пакетов SYN “Initial Connection Request” с поддельными IP-адресами источника. Целевая машина отвечает на каждый запрос на подключение, а затем ожидает заключительного шага в рукопожатии, которое никогда не происходит, загружая все ресурсы цели в процессе.
Объемные атаки.
Эта категория атак пытается создать перегрузку, потребляя всю доступную ширину канала между целью и внешним Интернетом. Большие объемы данных отправляются целевому объекту с использованием средств создания массового трафика, такого как запросы из ботнета.
Что нужно делать, чтобы снизить влияние DDos-атаки.
Ключевой задачей для снижения последствий DDoS-атаки является разграничение трафика атаки и обычного трафика.
Например, если из-за компания выпустила новый продукт и клиенты в срочном порядке ринулись его покупать, то веб-сайт компании будет переполнен запросами от нетерпеливых клиентов и отключение всего трафика является большой ошибкой. Если у этой компании внезапно наблюдается всплеск трафика без видимых причин, то вероятнее всего он идет от злоумышленников и необходимы усилия по смягчению последствий атаки. Основная трудность заключается в том, чтобы отличить реальных клиентов от атакующего трафика. В современном Интернете DDoS-трафик проявляется во различных вариация. Структура трафика может варьироваться от атак из одного источника до сложных и адаптивных многовекторных атак.
Для того чтобы подавить цель, многовекторная DDoS-атака использует несколько векторов, делая усилия по смягчению последствий в некоторых случаях бесполезными.
Атака, нацеленная на несколько сетевых уровней одновременно, например объемная атака (нацеленная на уровни 3/4) в сочетании с HTTP флудом (нацеленная на уровень 7), является примером многовекторной DDoS-атаки.
В общем говоря, чем сложнее атака, тем больше вероятность того, что атакующий трафик будет трудно отделить от обычного трафика. И цель злоумышленника состоит именно в том, чтобы максимально смешаться с ним, тем самым сводя все усилия по смягчению последствий на нет. Попытки смягчения последствий, которые включают в себя удаление или ограничение трафика без разбора, могут отбросить нужный трафик на сайт вместе с плохим.
Отправка трафика в Blackhole.
Одним из решений, которые часто используют администраторы, является создание маршрута blackhole и отправка всего трафика по этому маршруту. В этом случае, весь трафик нужный и ненужный будет уходить в никуда. Это не идеальное решение, поскольку оно позволяет злоумышленнику добиться его основной цели, сделать сеть недоступной.
Ограничение скорости.
Ограничение количества запросов, которые сервер будет принимать в течение определенного интервала времени, также является способом смягчения атак типа "отказ в обслуживании". Одной этой меры, скорее всего, будет недостаточно для эффективной борьбы со сложной DDoS-атакой. Тем не менее, ограничение скорости является в сочетании с другими мерами, считается эффективной стратегии смягчения последствий DDoS.
Брандмауэр веб-приложений.
Брандмауэр веб-приложений (WAF) - это инструмент, который может помочь в смягчении DDoS-атаки уровня 7. Его устанавливают между Интернетом и исходным сервером. WAF может действовать как обратный прокси-сервер, защищая целевой сервер от определенных типов вредоносного трафика. Фильтруя запросы на основе ряда правил, используемых для идентификации инструментов DDoS, можно предотвратить атаки уровня 7. Одной из главных ценностей хорошего WAF является способность быстро внедрять пользовательские правила в ответ на атаку.
Также можно использовать готовые варианты защиты, которые уже имеются на рынки. О них мы поговорим в следующей статье.