Види DDoS-атак: від UDP-флуду до атак на застосунки
Види DDoS-атак: об'ємні, протокольні та атаки на застосунки. Пояснюємо, чим відрізняються UDP-флуд, SYN-флуд і HTTP-флуд та на що вони націлені.
DDoS — це не одна технологія, а ціле сімейство методів. Різні атаки DDoS б'ють по різних «вузьких місцях»: одна забиває канал, друга вичерпує з'єднання, третя тихо перевантажує базу даних. Саме тому універсальної кнопки «захиститися» не існує — контрзахід підбирають під тип удару. Базову механіку розібрано в матеріалі DDoS-атака: що це і як працює, а тут розкладемо класифікацію.
Три групи DDoS-атак за рівнем удару
1. Об'ємні (volumetric). Мета — забити пропускну здатність каналу. У хід ідуть UDP-флуд, ICMP-флуд і підсилення трафіку через сторонні сервери. Потужність вимірюють у бітах за секунду (bps): якщо канал розрахований на гігабіт, а в нього «ллють» десятки гігабіт, сайт недоступний ще до того, як сервер узагалі щось обробить.
2. Протокольні. Б'ють не по товщині каналу, а по ресурсах серверів і мережевого обладнання, експлуатуючи особливості самих протоколів. Класика — SYN-флуд, що вичерпує таблицю напіввідкритих з'єднань. Вимірюють у пакетах за секунду (pps).
3. На рівні застосунку (L7). Найпідступніші: звернення зовні виглядають як дії живої людини — пошук по каталогу, важка сторінка, форма. Але їх стільки, що не витримує застосунок або база даних. Вимірюють у запитах за секунду (rps). Тут не потрібні гігабіти: іноді достатньо кількох тисяч «розумних» звернень.
Поширені типи: коротка шпаргалка
| Тип | Рівень | По чому б'є | Чим гасять |
|---|---|---|---|
| UDP-флуд | об'ємний | пропускна здатність каналу | фільтрація в хмарі / у провайдера |
| ICMP-флуд | об'ємний | канал і мережеве обладнання | обмеження ICMP, фільтр на межі мережі |
| Підсилення (DNS, NTP) | об'ємний | канал жертви | фільтрація в провайдера, захист відкритих сервісів |
| SYN-флуд | протокольний | таблиця з'єднань сервера | SYN cookies, налаштування стека |
| HTTP-флуд | застосунок (L7) | застосунок, база даних | WAF, обмеження частоти, поведінковий аналіз |
| Повільні з'єднання | застосунок (L7) | ліміт одночасних з'єднань | тайм-аути, зворотний проксі |
Кілька пояснень до таблиці:
- Підсилення (amplification) і відбиття (reflection) — це пара. Зловмисник підміняє адресу відправника на адресу жертви й звертається до сторонніх серверів, а ті шлють відповіді вже їй. Відповідь буває в десятки й сотні разів більша за запит — так невеликий потік перетворюється на лавину.
- Повільні атаки (low and slow) — протилежність лавині: з'єднань небагато, вони відкриваються й навмисно не завершуються. Сервер чемно чекає, поки клієнт «домовить», а вільні слоти закінчуються. Потужного каналу тут не потрібно взагалі.
Мультивекторні атаки
На практиці чисті типи трапляються дедалі рідше. Реальний сценарій — комбінація: спершу об'ємний потік, щоб відвернути увагу й завантажити канал, слідом — удар по застосунку, поки команда розбирається з першим. Часто це ще й хвилі: пауза створює оманливе відчуття, що все скінчилося, а потім навантаження повертається. Тому захист будують багаторівневим — одного фільтра замало.
Чим це відрізняється від DoS
DoS- і DDoS-атаки розрізняють не за технікою, а за кількістю джерел: перша йде з одного вузла, друга — з тисяч. Типи ударів при цьому ті самі: і SYN-флуд, і HTTP-флуд можна виконати з однієї машини, просто ефект буде значно скромнішим, а джерело — очевидним. Порівняння двох сценаріїв наведено в матеріалі DoS і DDoS: у чому різниця. Як зловмисник збирає ботнет для розподіленого варіанта, описано у статті Як відбувається DDoS-атака.
Навіщо розрізняти види DDoS-атак
Бо від типу залежить, хто і чим вас рятує:
- об'ємні потоки гасять до вашого сервера — у хмарному фільтрі або в провайдера, бо ваш канал уже забитий;
- протокольні відбивають налаштуванням мережевого стека й обладнання;
- удари по застосунку відсікає WAF і поведінковий аналіз, який відрізняє живого відвідувача від скрипта.
Спроба закрити все одним інструментом закінчується передбачувано: або пропускаєш атаку, або разом із нею відсікаєш реальних клієнтів. Комплексний підхід описано у статті Захист від DDoS. Коли удар спрямований не на сайт, а на мережеву адресу чи весь вузол, працює окрема логіка — про це у DDoS по IP і на сервер.