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

Активный перевод рабочих сервисов и хранилищ данных в онлайн-среду стал неотъемлемой частью современного бизнеса и ведения стартапов. При этом работа онлайн-продуктов, использование ЦОД и ведение бизнеса в целом зачастую подвергается DDoS-атакам, которые делают системы недоступными для пользователей, владельцев ресурсов и управленцев.
В 4 квартале 2021 года был достигнут своеобразный рекорд по росту количества DDoS-атак - «Лаборатория Касперского» отметила их увеличение по сравнению с предыдущим кварталом на 52% и в 4,5 раза - по сравнению с прошлым годом. Особенно пострадали новостная сфера, бизнес и финансовые услуги. Такой бурный всплеск рынка DDoS был обусловлен изменениями в глобальной экономике, вызванной пандемией коронавируса.
Что такое «атака на сервер» и DDoS-атака. Кому она нужна?
Само название термина DDoS происходит от аббревиатуры DoS (Denial of Service) - «отказ в обслуживании», к которому добавлено слово Distributed - «распределенный».
DoS-атака представляет собой искусственно сгенерированное существенное увеличение нагрузки на серверы или сайты за счет наращивания потока запросов с какого-либо устройства. Такая атака приводит к частичному или полному "параличу" глобальных инфраструктур или отдельных интернет-сервисов, вызванному уменьшением ограниченных ресурсов сервиса - количества единовременно проводимых пользовательских сессий, ширины каналов подключения, оперативной памяти сервера.

Схема 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-атаки - это сильный инструмент в руках злоумышленников, который может нанести существенный урон владельцам серверов и сайтов. И важно ответственно относиться к защите собственных ресурсов, принимать меры по предотвращению атак, а в случае атаки - оперативно выявить проблему и решить ее.