Атака отказа в обслуживании (DoS)
Что такое Атака отказа в обслуживании (DoS)?
Атака отказа в обслуживании (DoS)Атака, истощающая полосу пропускания, вычислительные ресурсы, память или ресурсы приложения, из-за чего легитимные пользователи теряют доступ к сервису.
DoS-атака перегружает единичную цель — сервер, приложение, канал или устройство — с одного или нескольких источников, стремясь снизить качество обслуживания или полностью его остановить. Она отличается от DDoS, который задействует множество распределённых узлов; простой DoS опирается на асимметрию: малое усилие атакующего вынуждает жертву выполнять огромную работу.
Методы охватывают весь стек. Объёмные флуды насыщают канал. Злоупотребление протоколом истощает конечное состояние: SYN-флуд заполняет очередь соединений полуоткрытыми рукопожатиями — именно поэтому изобрели SYN cookies. Медленные атаки берут терпением, а не объёмом: Slowloris (Robert Hansen, 2009) по капле шлёт неполные HTTP-заголовки, чтобы занять каждый поток многопоточного сервера вроде Apache почти без трафика. Истощение ресурсов на уровне приложения превращает один запрос в непропорциональную нагрузку: дорогие запросы, распаковка zip/XML-бомбы или ReDoS, где регулярное выражение с катастрофическим откатом на подконтрольном атакующему вводе тратит секунды CPU на запрос. Атаки алгоритмической сложности, такие как раскрытие hash-flooding в 2011 году (28C3), заставляли хеш-таблицы многих веб-фреймворков работать в худшем случае за O(n²). Классические крахи от некорректных пакетов — Ping of Death, Teardrop, LAND — и локальные fork-бомбы дополняют семейство.
Защита строится слоями: ограничение запросов и таймауты соединений, SYN cookies, лимиты размера и времени запроса, планирование ёмкости и автомасштабирование, фильтрация upstream/anycast, правила WAF, рандомизация seed хеша и упрочнение кода против ввода, вызывающего сверхлинейную работу.
flowchart TD
A[Атакующий: 1 или несколько хостов] --> B{Какой ресурс истощить?}
B -->|Полоса| C[Объёмный флуд]
B -->|Состояние соединений| D[SYN-флуд - полуоткрытые сокеты]
B -->|Рабочие потоки| E[Slowloris - медленные частичные запросы]
B -->|CPU / память| F[ReDoS, zip-бомба,<br/>hash-flooding, дорогой запрос]
B -->|Баг с крахом| G[Ping of Death / Teardrop / LAND]
C --> H[Сервис недоступен<br/>легитимным пользователям]
D --> H
E --> H
F --> H
G --> H
H --> I[Защита: rate limiting, SYN cookies,<br/>таймауты, WAF, автоскейл, упрочнение кода]● Примеры
- 01
Атакующий с одной машины поддерживает Slowloris-соединения, занимая рабочие потоки веб-сервера до тех пор, пока он не перестаёт принимать клиентов.
- 02
Уязвимость позволяет одному HTTP-запросу занять гигабайты памяти и обрушить сервис.
● Частые вопросы
Что такое Атака отказа в обслуживании (DoS)?
Атака, истощающая полосу пропускания, вычислительные ресурсы, память или ресурсы приложения, из-за чего легитимные пользователи теряют доступ к сервису. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает Атака отказа в обслуживании (DoS)?
Атака, истощающая полосу пропускания, вычислительные ресурсы, память или ресурсы приложения, из-за чего легитимные пользователи теряют доступ к сервису.
Как защититься от Атака отказа в обслуживании (DoS)?
Защита от Атака отказа в обслуживании (DoS) обычно сочетает технические меры и операционные практики, как описано в определении выше.