Исчерпание ресурсов и атаки типа DoS
Одним из ключевых преимуществ использования облачных сервисов является распределенная и устойчивая архитектура, которую предлагают ведущие провайдеры. Эта архитектура помогает минимизировать последствия атак типа «отказ в обслуживании» (DoS) или распределенного отказа в обслуживании (DDoS) по сравнению с размещением приложения в собственном локальном дата-центре (on-premises).
Однако в последние годы объемы атак значительно выросли. Злоумышленники измеряют мощность атак в битах в секунду (bps), пакетах в секунду (pps) и HTTP(s)-запросах в секунду (rps). Часто для проведения таких атак используются ботнеты, состоящие из множества скомпрометированных ноутбуков, настольных ПК, мобильных устройств, IoT-гаджетов и даже облачных систем.
Метрики объемных атак
На рисунке ниже (аналог Figure 7-3) представлены ключевые метрики, используемые для идентификации объемных DDoS-атак. Понимание этих показателей критически важно для настройки систем мониторинга.
| Метрика | Описание | Цель атаки |
|---|---|---|
| bps (Bits per second) | Объем сетевого трафика | Переполнение канала связи (Bandwidth saturation) |
| pps (Packets per second) | Количество обрабатываемых пакетов | Исчерпание ресурсов процессора сетевого оборудования |
| rps (Requests per second) | Количество прикладных запросов | Перегрузка веб-сервера или базы данных (Layer 7) |
Стратегические атаки и исчерпание ресурсов
Помимо грубой силы, злоумышленники могут запускать более стратегические атаки DoS против приложений в облаке, что приводит к исчерпанию ресурсов (resource exhaustion). В отличие от объемных атак, здесь целью является не «затопить» канал, а найти уязвимость в логике работы системы.
Например, атакующий может использовать уязвимость single-packet DoS в сетевом оборудовании облачной среды или использовать инструменты для генерации специально сформированных пакетов (crafted packets), вызывающих сбой приложения.
В базе данных эксплойтов Exploit Database (exploit-db.com) можно найти множество примеров уязвимостей «отказ в обслуживании», где злоумышленнику достаточно отправить всего несколько пакетов, чтобы «уронить» приложение или всю операциенную систему.
Пример использования Searchsploit
В примере 7-8 показано, как использовать инструмент searchsploit для поиска эксплойтов, связанных с отказами в обслуживании для ядра Linux.
Пример 7-8 — Использование searchsploit для поиска эксплойтов
|--[omar@websploit]--[~]
|--- $ searchsploit "Denial of Service" | grep "Linux Kernel" | awk '{print $(NF)}'
linux/dos/19250.txt
linux/dos/19272.txt
linux/dos/22105.c
linux/dos/19818.c
linux/dos/21122.sh
linux/dos/21598.c
linux/dos/68.c
linux/dos/686.c
linux/dos/685.c
linux/dos/691.c
linux/dos/306.c
linux/dos/33635.c
linux/dos/33148.c
linux/dos/32682.c
linux/dos/33015.c
<output omitted for brevity>Команда фильтрует результаты поиска по запросу «Denial of Service», оставляет только строки с «Linux Kernel» и выводит путь к файлу эксплойта.
Атака Direct-to-Origin (D2O)
Еще одним примером атаки DoS, влияющей на облачные среды, является атака Direct-to-Origin (D2O) или «прямая атака на источник».
В сценарии D2O злоумышленникам удается раскрыть реальный IP-адрес или сеть источника (origin), скрытую за сетью доставки контента (CDN) или крупным прокси-сервером, размещенным перед веб-сервисами облачного провайдера.
Успешная атака D2O позволяет злоумышленникам обойти различные механизмы защиты от DDoS, настроенные на уровне CDN, и атаковать сервер напрямую, используя его ограниченные ресурсы.
ПРИМЕЧАНИЕ: CDN (Content Delivery Network), это географически распределенная сеть прокси-серверов в дата-центрах по всему миру. Она обеспечивает высокую доступность и производительность, распределяя веб-сервисы и кэшируя контент ближе к конечным пользователям.