Виды DDoS-атак и способы защиты от них
10:11, 07.07.2021
DDoS-атака – это распространенная угроза кибербезопасности, от которой не защищен ни один сайт без применения специальных мер. Хотя DDoS-атаки обычно обозначаются одним термином, на самом деле они включают в себя множество типов и десятки вариаций, каждая из которых требует особого подхода. Хотя грамотная DDoS-защита призвана распознать и обезвредить все распространенные типы DDoS-атак, что мы гарантируем и со своей стороны, не будет лишним иметь представление о том, с чем нам приходится иметь дело. Давайте рассмотрим некоторые распространенные DDoS-атаки, а также методы, применяемые для защиты от них.
Какие бывают разновидности DDoS-атак
Наиболее общая классификация DDoS-атак зависит от того, какая часть серверной инфраструктуры вашего сайта является объектом атаки. К ним относятся: объемные (название предполагает использование чистого объема трафика для перегрузки системы), протокольные (название предполагает злоупотребление IT-протоколами) и прикладные атаки, когда злоумышленники используют уязвимости в ваших приложениях. Давайте рассмотрим каждый тип, а также его подтипы.
Объемные атаки
Объемные DDoS-атаки направлены на переполнение вашего сервера трафиком по любому каналу. Эти атаки поглощают максимальное количество пропускной способности и доступных ресурсов, вызывая резкое снижение производительности вплоть до простоя.
UDP-флуд
Атаки типа UPD flood – это атаки, злоупотребляющие принципом работы протокола User Datagram Protocol. Особенность этого протокола в том, что он не требует рукопожатия, как в случае с TCP (протокол управления передачей). Сервер, получивший UPD-пакет, должен проверить наличие соответствующего приложения, которое в случае подлинного UPD-трафика должно последовать за многочисленными автоматическими процессами внутри сервера. UPD-флуды – это огромные потоки UPD-пакетов, которые не имеют никакого отношения к приложениям на сервере и заставляют сервер обрабатывать их, тем самым расходуя его ресурсы.
Для выполнения UPD-флуда злоумышленники используют IP-адрес сервера и любой открытый номер порта.
Подтипом UDP-флуда является UDP-фрагментационный флуд, когда отправляются более крупные и фрагментированные пакеты, заставляя сервер тщетно пытаться собрать их.
Специфические атаки с усилением UDP отправляют UDP-запрос на несколько серверов, заставляя их отвечать на IP жертвы и, таким образом, потребляя ее пропускную способность и сетевые ресурсы.
CharGEN флуд
CharGEN (Character Generator) Flood – это тип UDP-флуда, использующий протокол Character Generator Protocol (CharGEN), который работает на UDP-порту 19. Первоначальной целью службы CharGEN была генерация символов, в основном ASCII, для ответов на запросы различных клиентов в целях тестирования, отладки и измерения.
Злоумышленники используют IP-адрес жертвы для отправки запросов на многочисленные устройства, подключенные к Интернету. Затем эти устройства отвечают на запросы целевого сервера, перегружая его.
ICMP (Ping) Flood
ICMP (Internet Control Message Protocol) – это протокол, используемый для диагностики и управления в IP-сетях. С его помощью сетевые устройства обмениваются специальными сообщениями об ошибках и информационными командами.
Сначала злоумышленники генерируют и отправляют в сеть жертвы большое количество пакетов ICMP echo request, что приводит к перегрузке сети.
Поскольку протокол ICMP является stateless, нет необходимости устанавливать соединение между отправителем и получателем, поэтому значительный объем ICMP-пакетов может быть сгенерирован без необходимости использования значительных ресурсов.
ICMP-фрагментация
ICMP-фрагментация – это подтип ICMP-флуда, в котором используются фрагментированные ICMP-пакеты, что также заставляет целевой сервер пытаться "разобраться" в них.
Атаки на основе протоколов
Протокольные DDoS-атаки направлены на конкретные протоколы сетевого или транспортного уровня, а не на использование простого объема, что позволяет атаковать очень специфические ресурсы.
Эксплуатация протокола IP Null
При атаке по протоколу IP Null злоумышленники используют уязвимость в стеке интернет-протокола (IP) целевой системы, отправляя IP-пакеты с полем IP-протокола, установленным на 0, что в большинстве случаев является недействительным или неиспользуемым номером протокола. Таким образом, сервер пытается понять, что делать со всеми этими пакетами, и оказывается перегруженным.
Наводнения протокола TCP
Протокол управления передачей регулирует обмен данными между различными устройствами в сети. Существует несколько разновидностей флуда по протоколу TCP:
- SYN-флуд: При атаке SYN-флуд злоумышленник использует пакеты TCP SYN (синхронизация), отправляя их на сервер жертвы и делая вид, что инициирует соединение. Атакующий не отправляет последний ACK-пакет, тем самым препятствуя завершению процесса рукопожатия, поэтому ожидающие пакеты накапливаются и в конечном итоге переполняют сервер.
- ACK-флуд: В отличие от предыдущего подхода, при ACK-флуде злоумышленники отправляют чрезмерное количество поддельных ACK-пакетов (подтверждение), которые сервер пытается сопоставить с несуществующими SYN-ACK-пакетами.
- SYN-ACK-флуд: На шаг назад, злоумышленник использует пакеты SYN-ACK, заставляя сервер пытаться сопоставить их с несуществующими SYN-пакетами.
- ACK Fragmentation флуд: Подтип ACK-флуда – злоумышленник посылает фрагментированные ACK-пакеты, переполняя память сервера, который пытается их восстановить.
- RST/FIN флуд: Аналогичным образом злоумышленники используют пакеты RST или FIN, заставляя сервер беспомощно пытаться сопоставить их с TCP-сессиями.
- Multiple ACK Spoofed Session флуд: В случае этого типа атаки злоумышленник комбинирует пакеты ACK с пакетами RST или FIN, чтобы имитировать настоящий трафик и обойти защитные механизмы. Тот же принцип применяется в Multiple SYN-ACK Spoofed Session Flood, где злоумышленник использует как ACK, так и SYN-пакеты.
- Синонимичная IP-атака: Подтип SYN-атаки, при которой злоумышленник назначает один и тот же IP для источника и назначения SYN-пакета, создавая путаницу, так что сервер либо пытается ответить сам себе, либо понять, что не так.
Сеансовые атаки
Сеансовые DDoS-атаки – это атаки, которые превышают возможности сервера или приложения по обработке сеансов. Злоумышленники бомбардируют конкретное веб-приложение вредоносными HTTP-запросами, каждый из которых направлен на создание новой сессии или потребление ресурсов сервера, связанных с управлением сессиями, что в конечном итоге приводит к истощению возможностей системы по обработке задач, связанных с сессиями.
Скрытое истощение соединений или Slowloris
Атаки Slowloris – это тип DDoS-атак, направленных на веб-серверы и использующих слабые места в способе обработки веб-серверами входящих соединений. Атакующие устанавливают как можно больше соединений с целевым сервером, при этом часто используются HTTP GET-запросы. После установления соединения злоумышленники избегают отправки полного HTTP-запроса в одном пакете. Вместо этого они отправляют пакеты, разделенные на небольшие фрагменты, с минимальной скоростью, чтобы цель не могла разорвать соединения из-за их неактивности, а они продолжали занимать ее и потреблять доступные ресурсы.
Smurf Attack
Smurf Attack - это тип DDoS-атаки, использующий протокол управляющих сообщений Интернета (ICMP). Это атака с усилением отражения. Злоумышленник отправляет поддельные пакеты эхо-запросов ICMP на несколько компьютеров в сети, при этом поддельным IP-адресом является IP-адрес сети жертвы.
Фрагментарная атака
Фрагментарные атаки – это другой тип атаки Smurf, где вместо ICMP-трафика используется UPD-трафик.
Атака Ping of Death
Еще одна атака на основе протокола, направленная на переполнение доступной памяти, – атака Ping of Death – использует максимальную длину IP-пакета в 65 535 байт. Хотя типичный максимальный размер пакета данных, передаваемого по сети Ethernet, составляет около 1500 байт, злоумышленники отправляют фрагментированные пакеты, которые в сумме превышают размер 65 535 байт и переполняют память.
Низкоорбитальная ионная пушка (LOIC)
Low Orbit Ion Cannon – это программное обеспечение с открытым исходным кодом, которое изначально было разработано для проверки устойчивости устройства к нагрузкам путем отправки большого количества пакетов. К сожалению, злоумышленники научились использовать его для проведения DDoS-атак, внедряя его в ботнеты.
Высокоорбитальная ионная пушка (HOIC)
Более продвинутый вариант LOIC, High Orbit Ion Cannon, – это инструмент, специально разработанный для проведения DDoS-атак, с большим количеством функций и возможностей, позволяющих проводить аналогичные LOIC, но более разрушительные и опасные DDoS-атаки.
Нападения на прикладном уровне: Нацеливание на сервисы
DDoS-атаки на уровне приложений используют уязвимости в программном обеспечении, приводя в первую очередь к отказу в работе приложения, но также потенциально затрагивая другие приложения и все устройство в целом, перегружая пропускную способность, процессор и память.
HTTP-флуд: Перегрузка веб-сервисов
Атаки HTTP-флуд – это атаки на уровне приложения, злоупотребляющие командами HTTP. К распространенным типам относятся:
GET-атаки: Злоумышленники создают огромное количество параллельных GET-запросов для получения ресурсов с сервера. Они особенно опасны для веб-серверов.
POST-флуд: POST-атаки состоят из многочисленных HTTP POST-запросов, которые изначально предназначены для отправки данных. Эти атаки могут быть даже более опасными, поскольку отправка данных зачастую требует больше ресурсов.
Low-and-Slow POST-атаки – это подтип POST-флуда, когда за запросом на отправку большого объема данных следуют данные, отправляемые маленькими порциями и с крайне низкой скоростью. С одной стороны, это блокирует ресурсы сервера, а с другой – обходит механизмы защиты от DDoS, которые ожидают больших объемов данных.
Атака на один сеанс или один запрос: Еще один способ обойти обычные механизмы защиты от DDoS, которые предназначены для обнаружения большого количества пакетов, – этот тип атаки объединяет несколько различных запросов в один HTTP-пакет.
Фрагментированный HTTP-флуд: Тот же принцип фрагментации применяется к атакам типа HTTP flood. Пакеты фрагментируются и отправляются с крайне низкой скоростью, чтобы заблокировать ресурсы сервера.
Рекурсивный GET-флуд: Тип GET-флуда, при котором один и тот же ресурс запрашивается многократно, пока сервер не будет перегружен.
Случайный рекурсивный GET-флуд: Подтип предыдущего типа, теперь страницы запрашиваются рекурсивно в случайном порядке, чтобы избежать обнаружения механизмами защиты.
ReDoS: Угроза истощения ресурсов
Регулярные выражения (regex) – это шаблоны, используемые для сопоставления комбинаций символов в строках, широко применяемые в языках программирования, веб-приложениях и системах сетевой безопасности для таких задач, как проверка ввода, синтаксический анализ и сопоставление шаблонов.
Атаки типа "отказ в обслуживании с помощью регулярных выражений" (ReDoS) используют уязвимые шаблоны regex, которые демонстрируют экспоненциальную или суперлинейную временную сложность при обработке определенных входных данных. Злоумышленник отправляет в целевую систему специально созданные входные строки, чтобы задействовать уязвимый шаблон регулярных выражений и заставить механизм регулярных выражений войти в состояние чрезмерного обратного хода или рекурсии.
Изучение дополнительных тактик DDoS
Помимо трех основных типов, а именно объемных, протокольных и прикладных атак, существует несколько менее распространенных типов атак, которые не вписываются в общую классификацию.
Усовершенствованный постоянный DoS (APDoS)
Advanced Persistent DoS (APDoS) – это скорее подход к DDoS-атакам, чем их конкретный тип. APDoS предполагает атаку, которая проводится многократно и непрерывно в течение длительного периода времени, сочетая и чередуя различные подходы, описанные выше. Обычно они организуются крупными организациями хакеров с целью серьезно нарушить инфраструктуру определенной организации.
Многовекторные DDoS-атаки
Многовекторные атаки предполагают одновременное применение различных типов DDoS-атак. Иногда они проводятся с синергией одной атаки с другой и направлены на нанесение большего ущерба или на повышение шансов на успех в случае, если одна из атак будет заблокирована защитой.
DDoS-атаки нулевого дня
Термин Zero-Day DDoS-атаки относится к DDoS-атакам, использующим еще не известные уязвимости в программном обеспечении, протоколах или системах, которые даже не успели залатать.
Заключение
Как видите, типы DDoS-атак чрезвычайно разнообразны и способны поразить ваш сервер на разных уровнях, поэтому квалифицированная DDoS-защита – единственный способ не беспокоиться об этом типе киберугроз.