Мой сайт заддосили: рассказываем, какие бывают DDoS-атаки
DDoS — зло. Достаточно дешевое и простое в организации зло, от которого никто не застрахован. В 2024 году многие осознают, что DDoS-атаки критически опасны. Чувствительней всего к ним ресурсы банков, операторов, систем бронирования и, в целом, бизнеса, где сайт — генератор выручки.
В данном тексте мы не будем объяснять, что такое DDoS-атаки и почему они так опасны. Узнать об этом можно в нашей прошлой статье «Сайт упал: почему DDoS-атаки опасны для вашего бизнеса».
Сегодня мы расскажем, какими бывают DDoS-атаки:
➡️ прикладными — на уровне приложений;
➡️ протокольными — на уровне сети;
➡️ волюметрическими — на уровне сети.
А также приведем примеры конкретных атак внутри каждой группы.
Основные виды DDoS-атак
Сложность и вид DDoS-атак зависит от того, на какой уровень сети злоумышленник нападает и какие цели он преследует. Классифицировать атаки можно разными способами, в том числе, с помощью сетевой модели OSI, которая состоит из 7 уровней.
Чаще всего, злоумышленники атакуют L7 (уровень приложений), L4 (транспортный уровень) и L3 (сетевой уровень). DDoS-атаки бывают прикладными, протокольными и волюметрическими. Каждый вид нацелен на разные уровни модели OSI.
Давайте вместе разберемся, какие цели преследуют атаки разного вида и чем они опасны.
Прикладные атаки — на уровне приложений (L7)
Цель — перегрузить веб-сервер и вывести веб-приложение из строя. Такие атаки выявить сложно, потому что они очень часто имитируют легитимный трафик.
➡️ HTTP Flood — злоумышленник забивает канал «сервер-клиент» множеством HTTP-запросов и возвращающихся обратно HTTP-ответов. Запросы при этом выбирает такие, чтобы ответ имел наибольший размер. Также большим количеством тяжелых POST-запросов злоумышленник может перегружать сервер, чтобы веб-приложение стало недоступным.
➡️ Slowloris (сессионная атака) — злоумышленник одновременно открывает большое количество HTTP-сессий и держит каждую из них в таком состоянии максимально долго. Это замедляет работу серверов или выводит их из строя — при этом легитимные запросы пользователей остаются без ответа.
➡️ SSL/TLS Flood — злоумышленник посылает на целевой сервер, защищенный с помощью SSL/TLS, большое количество нелегитимных запросов. В ответ веб-сервер тратит ресурсы на установление TLS-сессии, все это исчерпывает ресурсы сервера и он отказывает в обслуживании легитимным пользователям. Проверка шифрованных SSL/TLS-пакетов занимает много времени, что дополнительно перегружает сервер.
Протокольные атаки — на уровне сети (L3/L4)
Цель — израсходовать ресурсы сетевого оборудования, участвующего в обработке пакетов данных. Хакер отправляет на сервер вредоносные пакеты и не дает обрабатывать пакеты легитимных пользователей.
➡️ TCP SYN Flood — злоумышленник отправляет множество фальшивых SYN-пакетов (начальный шаг для установления TCP-соединения) на целевой сервер. Происходит перегрузка сервера — все его ресурсы обрабатывают полуоткрытые нелегитимные соединения, а легитимные пользователи не могут установить соединение с сервером.
➡️ IP Flood (фрагментированный) — злоумышленник посылает на сервер жертвы фрагментированные пакеты с данными, в которых передаются по частям большие файлы. Серверу при получении нужно собрать несколько пакетов в один файл. Однако злоумышленник делает так, чтобы пакеты некорректно сместились и сервер не мог разобраться, в какой последовательности их нужно соединить. Сервер тратит много ресурсов, пытаясь пересобрать файл, и теряет возможность обслуживать легитимную нагрузку.
➡️ Smurf Attack — злоумышленник, меняя IP-адрес отправителя на адрес жертвы, посылает запросы множеству устройств сети. Получая такой запрос, устройства отвечают поддельному отправителю и создают большой входящий трафик на IP-адрес жертвы.
Волюметрические (объемные) атаки — на уровне сети (L3/L4)
Цель — истощить пропускную способность канала связи нелегитимными запросами.
➡️ UDP Flood — злоумышленник с разных IP-адресов перегружает канал передачи данных вредоносными UDP-пакетами. Сервер не успевает обрабатывать легитимные запросы из-за большого количества атакующих пакетов и становится недоступным для пользователей.
➡️ ICMP Flood — злоумышленник перегружает сервер поддельными ICMP-пакетами, которые чаще всего, используются не для передачи данных, а для передачи сообщений об ошибках. Когда сервер получает запрос в виде ICMP-пакета, он обязан дать эхо-ответ на запрос, показав, что с ним всё в порядке — это забивает канал связи.
➡️ DNS Amplification — злоумышленник отправляет на DNS-сервер жертвы большое количество DNS-запросов, используя публичные DNS-резолверы с некорректной настройкой. Такие запросы требуют объемных ответов, которые направляются на IP-адрес жертвы — это перегружает сервер жертвы и делает его недоступным.
Это далеко не все распределенные атаки типа отказ в обслуживании, но одни из самых опасных и известных. Понимание того, как работают такие атаки, поможет грамотно защититься от DDoS на разных уровнях сети: уровне приложений (L7), транспортном уровне (L4) и сетевом уровне (L3).
Однако важно понимать, что DDoS-атаки эволюционируют, так как все больше компаний находит эффективные методы защиты от DDoS. О том, как изменяются DDoS-атаки, что нужно знать о них в 2024 году и как выстроить защиту от DDoS, даже если у вас в штате нет ИБ-специалистов, читайте здесь.