Что такое DDoS на самом деле и почему это не «взлом сайта»
В мире наблюдается ежегодный рост количества DDoS-атак и увеличение их продолжительности и максимальных значений скорости / объёма генерируемого трафика. Этому способствует развитие IT-инфраструктуры и переход DDoS в разряд востребованных услуг на чёрном рынке (DDoS as a Service). Знание особенностей её «работы» и внешних признаков проявления поможет лучше подготовиться и уменьшить уровень потенциальных потерь для своего веб-сайта в случае проведения атаки.
Что такое DoS и DDoS
DoS (Denial of Service) – это атака на компьютерную систему с целью довести её до состояния, когда работа в штатном режиме становится невозможной из-за создавшейся перегрузки на одном или нескольких уровнях её функционирования.
Это достигается путём генерирования с одного источника избыточного количества трафика и / или поддельных запросов к атакуемой системе, например, VPS-серверу на котором развёрнут веб-сайт. В результате, сайт становится полностью или частично неработоспособным из-за перегруза сервера, что полностью отвечает названию такого вида атаки – «отказ в обслуживании».
DDoS (Distributed Denial of Service) – это та же DoS-атака, но производимая с множества источников, то есть, распределённая DoS. На Рисунке 1 представлена схема взаимодействия элементов распределённой системы во время «штурма».
Рассмотрим назначение основных элементов, изображённых на схеме.
Attacker machine – компьютер злоумышленника или спамера, на котором установлена управляющая программа.
Compromised – скомпрометированные цифровые устройства или «зомби» с установленным ПО, которым управляет спамер. В состав такого ПО обычно входят «трояны», программные инструменты для удалённого управления ПК, маскировщики от ОС. Такие стёки ПО принято называть ботами. Совокупность ботов образует сеть под названием ботнет, которая используется для увеличения количества посылаемых запросов. Чем больше размер ботнет, тем больший масштаб атаки. Кроме того, использование ботов позволяет скрыть IP-адрес компьютера спамера, что усложняет остановку уже начавшейся атаки.
Targeted Server – целевой компьютер, который подвергается нападению.

Рисунок 1. Схема взаимодействия элементов распределённой системы во время DDoS-атаки.
Управление ботами осуществляется с помощью команд, отправляемых спамером через центральный C&C сервер или децентрализованную P2P сеть.
Головний принцип: виснаження ресурсів
Особенностью DDoS-атак является использование ими стандартных средств доступа к веб-ресурсу, например, обычных http-запросов к серверу, которые сливаются с пользовательским трафиком. Однако количество таких запросов в единицу времени может зашкаливать, заставляя сервер отдавать всю свою производственную мощность на их обработку. В результате, перегружается канал связи, RAM-память, истощаются ресурсы CPU, после чего сервер переходит в режим «отказ в обслуживании».
Таким образом, главная цель проведения атаки – истощить ресурсы сервера и вывести его из штатного режима работы.
Почему сервер может работать, а сайт — нет
Действия DDoS-атаки «вписываются» в стандартный цикл обработки поступающих запросов, не вызывая при этом «подозрений» со стороны антивируса и / или брандмауэра. То есть, сервер будет продолжать работать и дальше, но в очень медленном темпе. Настолько медленном, что загрузка веб-страниц, размещённых на нём сайтов может выполняться часами (!), что на практике делает невозможным их просмотр и полноценное использование.
Почему «выдерживает 10 тысяч пользователей» ≠ «выдержит атаку»
Возникает резонный вопрос – какой из серверов сможет «выдержать» DDoS-штурм, не выходя из штатного режима обработки запросов, а какой нет. Всё зависит от количества серверных ресурсов и интенсивности атаки, которая может измеряться в удельных единицах объёма генерируемого трафика или количества поступающих TCP-пакетов (определяется типом атаки). Именно соотношение этих показателей определяет, как долго сервер сможет «продержаться».
В случае, если «нападению» подвергся VPS-сервер с минимальным тарифным планом – он «упадёт» в первые же секунды.
Для «выделенного» сервера с максимальными значениями основных технических характеристик (RAM, CPU) ситуация может быть иной. В случае атаки с минимальной интенсивностью он может какое-то время продержаться и даже не «упасть». Но если интенсивность DDoS-штурма значительная, он, скорее всего, «упадёт».
Сервер может «выдерживать» несколько тысяч хостов, однако DDoS-штурм критического уровня интенсивности «сломит» его в одну минуту.
Это неоднократно подтверждалось практикой. Например, в 2012 году DDoS-штурм интенсивностью в 65 Гбит/с «положил» сервера хорошо известной облачной платформы CloudFlare. Однако производимые перед этим атаки с меньшим значением интенсивности не могли принести вреда той же компании.
Где именно происходит «падение»
DDoS-штурм может быть произведён на одном или нескольких уровнях – сети, балансировщика нагрузки, приложений. Чем больше уровней задействовано, тем более губительными могут быть последствия атаки.
Например, для атак уровня сети характерны перегрузка канала связи и переполнение IO-портов. Поэтому задержки в работе системы возникнут именно на этих участках.
Атаки уровня приложений или, как говорят, «медленные атаки» характеризуются небольшой интенсивностью и имеют скрытый характер, что препятствует их быстрому обнаружению. Задержки могут появиться на уровне RAM и CPU, замедляя работу цикла обработки запросов.
Вывод: DDoS — это вопрос масштаба, а не уязвимости
Как уже подчёркивалось, DDoS-штурм, как правило, идёт в одном потоке со стандартными запросами к серверу, не нарушая при этом периметр безопасности сайта, защищаемый средствами CMS и файрвола. То есть, сайт может быть отлично защищён, но это не поможет ему избежать последствий штурма, если его интенсивность достаточно велика.
Иными словами, можно констатировать, что DDoS «побеждает» массовостью, масштабируя количество запросов до неимоверных масштабов. Именно в этом его «сила».