DDoS-атака: что это такое и в чем опасность для сервера?

DDoS-атака: что это такое и в чем опасность для сервера?
Безопасность
19 Mar 2021

В последнее время все чаще появляются сообщения о действиях хакеров и взломе программного обеспечения. Часто упоминаются DDoS-атаки без каких-либо разъяснений, что это такое и какую опасность они представляют для серверов. Мы расскажем вам, что это за явление, рассмотрим его признаки и основные разновидности, а также методы противодействия.

Термин DDoS-атака произошел от сокращения «Distributed Denial of Service», что означает распределенная атака типа «отказ в обслуживании». Цель DDoS-атаки – нарушение нормальной работы сервера, службы или локальной сети, доведение до отказа или затруднение доступа к ним добросовестных пользователей. Задача достигается путем создания такого интернет-трафика, для обработки которого вычислительная система не имеет достаточных ресурсов.

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

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

Как осуществляется распределенная атака типа «отказ в обслуживании»?

Подвергнуться DDoS-атаке могут только те вычислительные системы, которые имеют подключение к Интернету. Глобальная сеть состоит из множества компьютеров и иных устройств, имеющих подключение к Интернету, и на некоторые из них разными методами внедряется вредоносное (вирусное) ПО. Последние в среде специалистов называются ботами (на сленге – «зомби»), а их группы – соответственно ботнетом.

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

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

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

Основные признаки DDoS-атаки на сервер

Внезапное замедление работы сервера, отсутствие доступа к сервису или отдельному сайту может указывать на неправомерные действия хакеров. При этом сложности могут возникать и в результате естественных причин, например, резкий рост нормального трафика. Общедоступные сервисы аналитики позволяют выявить DDoS-атаку по ряду характерных признаков:

  • Значительные объемы трафика от одного или нескольких IP-адресов, принадлежащих к одному диапазону.
  • Одинаковые поведенческие профили (геолокация, версия браузера или тип устройства) у большого количества пользователей, от которых поступают запросы доступа к анализируемым веб-страницам.
  • Резкое возрастание трафика через определенные промежутки времени, например, через каждые два-три часа или по другому расписанию.
  • Взрывное увеличение количества запросов к одному из интернет-сервисов или веб-страниц.

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

Классификация DDoS-атак: наиболее распространенные типы

Арсенал средств, применяемых хакерами для взлома сайтов, отличается разнообразием. DDoS-атаки определенного типа нацелены на те или иные компоненты интернет-ресурса, сервера или компьютера. Для того чтобы разобраться в алгоритмах их работы, необходимо понимать как осуществляется конкретное сетевое соединение.

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

Для описания структуры сетевого подключения применяется семиуровневая модель OSI:

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

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

  • единственный;
  • множественные;
  • циклические.

Последние преимущественно используются в ответ на контрдействия, применяемые с целью защиты интернет-ресурса.

DDoS-атаки, проводимые на уровне приложений

Применительно к приведенной выше модели такие попытки взлома интернет-ресурса называют DDoS-атакой седьмого уровня. Целью ее является перегрузка сайта и создание условий, когда обслуживание нормального трафика становится невозможным.

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

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

HTTP-флуд

Хакерские атаки данного типа имитируют многократное обновление веб-браузера, которое осуществляется на нескольких компьютерах одновременно. Словно множество пользователей постоянно нажимают кнопку перезагрузки, что приводит к формированию большого количества HTTP-запросов. В результате сервер перегружается, что приводит к отказам в обслуживании.

Уровень DDoS-атак типа HTTP-флуд определяется в зависимости от сложности:

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

Для осуществления сложных DDoS-атак требуются компьютеры с соответствующими характеристиками и ресурсоемкое программное обеспечение.

Атака протокола

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

В процессе реализации атаки протоколов используются уязвимые места на третьем и четвертом уровне (стек протоколов) для того чтобы сделать целевую веб-страницу недоступной.

SYN-флуд

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

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

DDoS-атаки объемного типа

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

Усиление DNS

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

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

Методы предотвращения DDoS-атак

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

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

В качестве примера такого многовекторного воздействия можно привести комбинированную DDoS-атаку сразу на нескольких уровнях: усиление DNS в сочетании с большим количеством HTTP-запросов. Для предотвращения таких нападений нужно использовать сразу несколько стратегий противодействия.

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

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

Маршрутизация Blackhole

Одним из самых доступных методов защиты для сетевых администраторов является создание «черной дыры» для подозрительного трафика. В простейшем виде маршрутизация Blackhole предусматривает перенаправление всех запросов без разделения на нормальные и вредоносные на нулевой маршрут с последующим удалением из сети.

В случае выявления DDoS-атаки на определенный сайт провайдер имеет возможность аннулировать весь трафик в качестве защиты. Такое решение не самое лучшее, поскольку злоумышленник достигает своей цели и делает ресурс недоступным.

Ограничение скорости DDoS-атаки

Каждый сервер может принимать и обрабатывать определенное количество запросов в течение заданного промежутка времени. Ограничение скорости DDoS-атаки позволяется существенно снизить ее эффективности.

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

Особенности использования брандмауэров веб-приложений

Применение специальных программных продуктов позволяет существенно смягчить DDoS-атаки седьмого уровня. Между Интернетом и защищаемым сервером имеется брандмауэр (WAF), работающий как обратный прокси. С его помощью блокируется вредоносный трафик определенных типов.

Входящие запросы фильтруются по установленным правилам, что позволяет идентифицировать инструменты DDoS и предотвратить атаки седьмого уровня. Одним из основных преимуществ этого метода является возможность устанавливать свои правила для противодействия нападению.

Принципы распространения Anycast по сети

Данный метод обеспечивает сокращение вредных последствий от DDoS-атак путем перераспределения трафика по сети серверов.

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

Лучшая аналогия метода распространения Anycast по сети – это разделение потока крупной реки с сильным течением по отдельным рукавам. В результате перераспределения трафика от DDoS-атаки его разрушительная способность уменьшается до минимума и он становится полностью управляемым.