DDoS-атака на сервер - боль нынешнего времени

DDoS-атака на сервер - боль нынешнего времени 14 Июля 2022

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

В 4 квартале 2021 года был достигнут своеобразный рекорд по росту количества DDoS-атак - «Лаборатория Касперского» отметила их увеличение по сравнению с предыдущим кварталом на 52% и в 4,5 раза - по сравнению с прошлым годом. Особенно пострадали новостная сфера, бизнес и финансовые услуги. Такой бурный всплеск рынка DDoS был обусловлен изменениями в глобальной экономике, вызванной пандемией коронавируса.

Что такое «атака на сервер» и DDoS-атака. Кому она нужна?

Само название термина DDoS происходит от аббревиатуры DoS (Denial of Service) - «отказ в обслуживании», к которому добавлено слово Distributed - «распределенный».

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

Схема DDoS-атаки

Схема DDoS-атаки

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

Согласно исследованиям Qrator Labs, в 2021 году злоумышленниками были атакованы компании с целью сбора информации, а самыми частыми жертвами становились розничные сети и организации сферы e-commerce.

Классификация DDoS-атак

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

Уровень OSI Тип данных Описание уровня, протоколы Характер DDoS-атаки Результат Способ решения проблемы
7-й (Прикладной) Данные Начало создания пакетов данных. Присоединение и доступ к данным. Пользовательские протоколы FTP, SMTP, Telnet, RAS PDF GET запросы, HTTP GET, HTTP POST (формы веб-сайтов: логин, загрузка фото/видео, подтверждение обратной связи) Исчерпание ресурсов на атакованном сервере из-за их чрезмерного потребления Систематический мониторинг ПО приложения для выявления 0day-уязвимостей приложений. На 7 уровне выявлять и устранять атаки проще всего
6-й (Представительский) Данные Трансляция данных от источника получателю. Протоколы сжатия и кодирования данных (ASCII, EBCDIC) Фальсифицированные SSL запросы: проверка шифрованных SSL пакетов требует много ресурсов, злоумышленники используют SSL для HTTP-атак на сервер жертвы Атакуемые системы перестают принимать SSL соединения или автоматически перегружаются Необходимость использовать распределение шифрующей SSL- инфраструктуры (размещая SSL на обособленном сервере, по возможности) и проверять трафик приложений на предмет атак или нарушение политик на платформе приложений.
5-й (Сеансовый) Данные Управление установкой и завершением соединения, синхронизацией сеансов связи в рамках операционной системы через сеть (при выполнении входа/выхода). Протоколы входа/выхода (RPC, PAP) Атака на протокол Telnet использует слабые места программного обеспечения Telnet-сервера на свитче, делая сервер недоступным Администратор не может управлять свитчем Поддержка прошивки аппаратного обеспечения в актуализированном состоянии, чтобы минимизировать риски атаки
4-й (Транспортный) Сегменты Обеспечение передачи информации между узлами без ошибок, управление передачей сообщений с 1 по 3 уровень. Протоколы TCP, UDP SYN-флуд, Smurf-атака (атака ICMP-запросами с измененными адресами) Превышение пороговых значений по ширине канала или по количеству допустимых подключений сбои в работе сетевого оборудования Использование системы фильтрации DDoS-трафика по технологии blackholing
3-й (Сетевой) Пакеты Маршрутизация и передача информации между различными сетями. Протоколы IP, ICMP, ARP, RIP и роутеры, которые их используют ICMP-флуд - DDos-атаки, которые перегружают ICMP-сообщениями целевые сети и снижают их пропускную способность Перегрузка брандмауэра Ограничение числа запросов, обрабатываемых по ICMP-протоколу и уменьшение влияния этого трафика на скорость работы фаервола
2-й (канальный) Кадры Установка и сопровождение передачи сообщений на физическом уровне. Протоколы 802.3, 802.5, а также контроллеры, точки доступа и мосты, которые их используют MAC-флуд - перенасыщение пакетами данных сетевых коммутаторов Блокировка всех портов потоками данных Установка настроек свитчей на фильтрацию
1-й (физический) Биты Передача двоичных данных. Протоколы 100BaseT, 1000 Base-X, а также концентраторы, розетки и патч-панели, которые их используют Создание физических препятствий и нарушений в работе сетевых активов Приход сетевого оборудования в полную непригодность вплоть до ремонта и замены Систематический мониторинг технической части сетевого оборудования

Кроме того, выделяют следующие разновидности DDoS-атак:

  • HTTP и POST-флуд - трафик имитирует HTTP и POST-запросы. На сервер загружаются или с сервера отправляются «пустые» данные, Каналы передачи переполняются и расходуются ресурсы серверов на обработку этих запросов;
  • «Пинг смерти» (Ping of Death) - тип атаки на протокол с использованием пакетов, разработанных для сбоя системы со стороны сервера. Представляет собой отправку пакета данных объемом более 65 535 байт. Атаки распространяются на ICMP и другие протоколы. В результате сервер зависает и сбоит;
  • DNS-флуд - версия UDP-флуда для конкретного приложения. На DNS-сервер для его перегрузки отправляется огромное количество фальшивых DNS-запросов. DNS-сервер «падает» из-за перегрузок, и веб-сайт становится недоступным;
  • атаки с усилением DNS - отправка на сервер пустых, типовых запросов (пакетов данных). Злоумышленник отправляет запросы на поиск DNS, заменяя IP-адрес источника на IP жертвы;
  • амплификации атак, когда небольшим количеством ботов инициируется отправка значительного количества поддельных пакетов или запросов;
  • Fraggle Attack, в которой используются большие объемы трафика UDP на вещательной сети маршрутизатора. Эта атака работает аналогично Smurf-атаке, но вместо протокола ICMP использует вещательный протокол UDP;
  • Pulse Wave с периодическими всплесками трафика. Обычная DDoS-атака выглядит как постепенно нарастающий поток вредоносного трафика. Pulse wave представляет собой серию коротких периодических импульсов, происходящих с большой мощностью;
  • APDoS, нацеленная на причинение наиболее серьезного вреда атакованному серверу. В APDoS используются механизмы HTTP-флуда, SYN-флуда и других видов атак. При этом посылаются миллионы запросов в секунду.
  • атаки Slowloris направлены на веб-серверы. Атакующие серверы подключаются к целевым серверам и держат это подключение полуоткрытым максимально долго, а затем размножают эти полуоткрытые соединения. Такие соединения закрываются атакуемым сервером по таймауту медленнее, чем устанавливаются новые. Противодействовать этой атаке довольно сложно, поскольку источники атак практически неотслеживаемые.
  • атака NTP-усиление задействует серверы протокола сетевого времени NTP (Network Time Protocol), отвечающего за синхронизацию компьютерных часов в сети. Цель атаки – перегрузка трафиком UDP. В этих случаях атакуемый сервер отвечает, посылая UDP-трафик на подмененный злоумышленником IP-адрес. «Усиление» означает, что объем ответного UDP-трафика много больше запроса. Поэтому сеть быстро перегружается паразитным трафиком, а ее узлы прекращают работу.

Как остановить DDoS-атаку

Если DDoS-атака произошла, следует:

  • оперативно идентифицировать факт атаки и ее источник. Это поможет остановить атаку и снизить возможный ущерб. Определить, откуда происходит атака, можно через профиль входящего трафика с показателями объема и каналов поступления. Отклонения от этого профиля часто становятся сигналом начала DDoS-атаки;
  • однократно выделить запас полосы пропускания для сервера до 500 %. Такой запас даст время, чтобы распознать источник и тип атаки и принять меры по защите от DDoS, прежде чем сервер полностью «ляжет»;
  • защитить периметр сети, ограничив скорости маршрутизатора, установить систему фильтров для сброса пакетов от распознанных источников атаки, настроить таймаут на полуоткрытые соединения (для которых в течение таймаута не пришло подтверждение от источника запроса), снизить пороги сброса для SYN-, ICMP-, и UDP-флуда.

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

Советы как предотвратить DDoS-атаку

Чтобы избежать «отказа в обслуживании», стоит воспользоваться несколькими способами предотвращения DDoS-атаки, такими, как:

  • устанавливать “контрольные точки”, чтобы в случае атаки “смягчить” последствия и откатить систему;
  • подготовка инфраструктуры - создание системы мониторинга для выявления первых признаков атаки, системы перенаправки и устранения DDoS-трафика, установка устойчивых сетевых компонентов, адаптивных под сценарии атак с повышением нагрузки трафика;
  • создание рабочей группы и плана работ для устранения DDoS-атак;
  • использование CDN для сбалансированного распределения трафика между серверами;
  • применение облачных и гибридных серверов для увеличения пропускной способности и повышения кибербезопасности;
  • использование услуг веб-хостинговых компаний и специалистов по DDoS-атакам;
  • применение аппаратных, программных и специализированных анти-DDoS средств - сетевых фаерволов, фаерволов для веб-приложений, защиты для контроллеров пограничных сессий;
  • обеспечение защиты DNS-серверов при помощи их резервирования и распределения в различных дата-центрах.

Такие мероприятия помогут обеспечить работоспособность сервера даже под DDoS-атакой.

DDoS-атака во благо - как самому организовать атаку на свой сервер для проверки отказоустойчивости

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

Стресс-тестирование системы на отказоустойчивость чаще всего проводится:

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

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

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

Для мониторинга при тестировании ИС могут применяться следующие утилиты:

  • LOIC или Low Orbit Ion Cannon -программа с открытым исходным кодом, которая отлично подходит для тестирования DDoS-атак. Основная цель программы протестировать сеть за счет большого количества запросов TCP, UDP и HTTPS;
  • DDOSIM уровень 7 имитирует DDoS-атаку с несколькими случайными IP-адресами. Тем самым можно реально оценить возможность вашего сервера противостоять таким атакам, как «отказ в обслуживании»;
  • RadView подходит при проверках производительности мобильных, облачных, серверных и веб-приложений;
  • Apache JMeter - при оценке стабильности ИС при разных уровнях нагрузки;

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

Немного о других сетевых атаках

Помимо DDoS-атак, существуют и другие сетевые атаки:

  • Mailbombing - атака на почтовый ящик, приводящая к его переполнению и даже к отказу почтового сервера;
  • переполнение буфера (buffer overflows) - поиск программных или системных уязвимых мест, который может привести к аварийному завершению работы приложений или к выполнению произвольных бинарных кодов от имени пользователя (вплоть до полного контроля над компьютером);
  • Rootkit, снифферы пакетов и специализированные программы, которые заражают все компьютеры в ИС, работают на перехват имен и паролей, на сокрытие файлов, системных служб, папок и драйверов от пользователя;
  • SQL-инъекция – атака, приводящая к изменению параметров SQL-запросов к базе данных. В результате искажается смысл запроса, и в случае неполной фильтрации входных данных может не только пропасть конфиденциальная информация, но и изменяются или удаляются данные;
  • XSS - атака для кражи Cookies, в которых сохраняется информация о личных данных пользователя сайта и зашифрованные пароли для входа на сайты;
  • Phishing (фишинг) - кража через спам или боты конфиденциальных сведений или идентификационных данных клиентов организаций для дальнейших преступных целей.

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