Основные виды DDoS-атак:
Переполнение канала (Flood) — отправка множества запросов к компьютерной системе, чтобы переполнить её каналы связи. Основные разновидности:
- SYN Flood — атака, при которой злоумышленник отправляет большое количество SYN-пакетов на целевой сервер, пытаясь создать множество полуоткрытых соединений. Это может привести к перегрузке сервера и его недоступности для легитимных пользователей.
- HTTP Flood — это атака на веб-сервер, при которой злоумышленник отправляет большое количество HTTP-запросов, чтобы вызвать перегрузку сервера и отказ в обслуживании. Для защиты собственной анонимности злоумышленник может подменять свой IP-адрес.
- ICMP Flood — атака, основанная на отправке большого количества ICMP-пакетов (например, ping) на целевой сервер. Например, smurf-атака, когда злоумышленник меняет свой адрес на адрес жертвы. В результате компьютеры сети начинают отвечать на эти запросы, что приводит к переполнению трафиком компьютера жертвы и может вызвать перегрузку сервера и его отказ в обслуживании.
- UDP Flood — атака с использованием UDP-пакетов, отправляемых на различные порты целевого сервера. Цель атаки — перегрузить сервер обработкой этих пакетов и сделать его недоступным.
Маршрутизация и атаки DNS — злоумышленник атакует DNS-сервер жертвы. Основные разновидности:
- DoS-атака на уязвимости DNS-сервера — атакующий подменяет IP-адрес DNS-сервера атакуемого, после чего тот либо не может получить нужную HTML-страницу, либо попадает на узел к преступнику, где его данные могут захватить.
- DDoS-атака на DNS-сервер — злоумышленник при помощи компьютеров-зомби (заражённых вредоносным кодом, позволяющим использовать их ресурсы) перенасыщает полосу пропускания DNS-сервера жертвы. Это приводит к перегрузке сервера и затрудняет или делает невозможным его нормальное функционирование для законных пользователей.
- DNS Amplification — это атака, при которой злоумышленник отправляет специально сформированные запросы на DNS-серверы, которые в ответ отправляют большое количество данных на целевой сервер или в сеть. Здесь основной механизм — это усиление исходного запроса, что позволяет перегрузить цель, используя относительно небольшие начальные запросы.
Slowloris — атака, направленная на веб-серверы, использующие CGI. Злоумышленник отправляет множество запросов на сервер. Особенность этих запросов в том, что они занимают лишь немного ресурсов сервера, но при этом не завершаются, «зависая» на сервере. Из-за этого сервер не может обработать новые запросы от других пользователей, и сайт становится недоступным для них.
DDoS на уровне приложений — атака, нацеленная на конкретное приложение или сервис, а не на весь сервер. Например, атака может быть направлена на базу данных или систему аутентификации.
Атака на основе протокола BGP — использует уязвимости в протоколе BGP (Border Gateway Protocol), который используется для маршрутизации трафика в интернете. При атаке на BGP злоумышленники могут изменить маршрутную информацию, чтобы данные шли не туда, куда нужно, или чтобы вызвать заторы в сети.
Атака йо-йо — особый вид атак на облачные приложения с автоматическим масштабированием. Злоумышленник атакует систему до того момента, когда она вынуждена будет расшириться. Затем трафик прекращается, оставляя службы перегруженными. Когда масштабирование пойдёт в обратном направлении, трафик возобновится.
Атака ботнета Mirai — злоумышленник использует множество зараженных устройств интернета вещей, таких как часы с поддержкой Wi-Fi, стиральные машины, камеры слежения и прочих. Подобные устройства слабо защищены, поэтому их легко заразить и заставить отправлять запросы жертве. При достаточном количестве подконтрольных устройств атакующий может навредить даже самым мощным серверам.
Ошибки программирования — выявление уязвимостей архитектуры системы жертвы и написание программ, которые смогут их эксплуатировать. Среди них:
- Обработка исключений — атакующий ищет ошибки в коде системы, которые она не умеет обрабатывать, и провоцирует их. Это может вызвать критическую ошибку, которая приведет к отказу системы.
- Переполнение буфера — злоумышленник эксплуатирует уязвимость системы, входные данные которой недостаточно проверяются. Он отправляет ей пакеты большего объема, чем она готова обрабатывать, в результате чего переполняется буфер и ядро дает сбой.
По уровню модели OSI DDoS-атаки делятся на три вида:
- Атака на прикладном уровне (Layer 7) — хакер отправляет HTTP-запросы на генерацию веб-страниц. Например, HTTP-флуд, Slowloris (попытка открыть множество подключений и не прекращать их).
- Атака на транспортном уровне (Layer 4) — злоумышленник пытается переполнить каналы доставки данных. Например, Smurf-атака, SYN-флуд (поток TCP или SYN-пакетов) и другие.
- Атака на сетевом уровне (Layer 3) — атакуются сетевые протоколы и оборудование. Например, IP-флуд и ICMP-флуд, ставящие целью перегрузить пропускную способность целевой сети.