Защита от DoS
Categories:
Защита от DDoS
Два способа атаки DoS:
- Вывести сервис из строя
- Заблокировать сеть
Типы атак
| Тип атаки | Способ атаки | Способ защиты |
|---|---|---|
| Распределенная DoS | Несколько независимых IP-адресов одновременно атакуют | 1. Понижение сервиса 2. Черный список 3. Отключение сетевого оборудования |
| Атака Yo-yo (атака-йо-йо) | Для сервисов с возможностью автоматического расширения ресурсов, атакуют в промежутках уменьшения ресурсов | Черный список |
| Атаки на прикладном уровне (Application layer attacks) | Атакуют на определенные функции или особенности, атака LAND относится к этому типу | Черный список |
| LANS | Этот метод атаки использует специально сформированные TCP SYN-пакеты (обычно используемые для установления нового соединения), заставляя целевую машину открывать пустое соединение с одинаковыми исходными и целевыми IP-адресами, постоянно отвечая сама себе, что приводит к исчерпанию ресурсов системы до сбоя. Этот метод атаки не совпадает с атакой SYN-флуд. | Черный список |
| Продвинутая постоянная DoS (Advanced persistent DoS) | Противоразведка/целенаправленные/избегание контрмер/длительные атаки/большая вычислительная мощность/многопоточные атаки | Понижение сервиса |
| Атака медленного POST HTTP (HTTP slow POST DoS attack) | Создание легитимного соединения, затем очень медленная отправка большого количества данных, что приводит к исчерпанию ресурсов сервера | Понижение сервиса |
| Атака Challenge Collapsar (CC) (Challenge Collapsar (CC) attack) | Частая отправка стандартных легитимных запросов, которые занимают много ресурсов, например, поисковые системы занимают много памяти | Понижение сервиса, распознавание контента |
| ICMP flood (Internet Control Message Protocol) (ICMP flood) | Большое количество ping/ошибочных ping-пакетов /Ping of death (поврежденный ping-пакет) | Понижение сервиса |
| Постоянная атака отказа в обслуживании (Permanent denial-of-service attacks) | Атака на оборудование | Распознавание контента |
| Отраженная атака (Reflected attack) | Отправка запросов третьим сторонам, подделка адресов для перенаправления ответов на настоящих жертв | Сфера DDoS |
| Усиление (Amplification) | Использование некоторых сервисов в качестве отражателей для усиления трафика | Сфера DDoS |
| Ботнет Mirai | Использование контролируемых IoT-устройств | Сфера DDoS |
| Паника SACK (SACK Panic) | Использование максимального размера сегмента и избирательного подтверждения, приводящее к повторной передаче | Распознавание контента |
| Атака Shrew (Shrew attack) | Использование уязвимостей механизма повторной передачи TCP для прерывания TCP-соединений на той же линии с помощью кратковременных всплесков синхронного трафика | Отбрасывание по тайм-ауту |
| Атака медленного чтения (Slow Read attack) | Аналогично медленному POST, отправка легитимного запроса, но очень медленное чтение, чтобы исчерпать пул соединений, уведомляя очень маленькое число для размера TCP Receive Window | Отключение по тайм-ауту, понижение сервиса, черный список |
| SYN flood (SYN洪水) | Отправка большого количества TCP/SYN-пакетов, приводящее к полуоткрытым соединениям на сервере | Механизм тайм-аута |
| Атака TearDrop (TearDrop attacks) | Отправка поврежденных IP-фрагментов с перекрывающимися, сверхбольшими полезными нагрузками на целевую машину | Распознавание контента |
| Атака TTL истекла (TTL expired attack) | Когда маршрутизаторы отбрасывают пакеты из-за истечения TTL, процессор маршрутизатора должен генерировать и отправлять ICMP-ответы о превышении времени. Создание многих таких ответов может перегрузить процессор маршрутизатора | Отбрасывание трафика |
| UPnP атака | Основана на технологии усиления DNS, но механизм атаки - это маршрутизатор UPnP, который пересылает запросы с одного внешнего источника на другой, игнорируя правила поведения UPnP | Понижение сервиса |
| Отраженная атака SSDP | Многие устройства, включая некоторые домашние маршрутизаторы, имеют уязвимости в программном обеспечении UPnP, которые злоумышленники могут использовать для получения ответов на выбранный ими целевой адрес с порта 1900. | Понижение сервиса, блокировка порта |
| ARP подмена | Связывание MAC-адреса с IP-адресом другого компьютера или шлюза (например, маршрутизатора), что приводит к перенаправлению трафика, предназначенного для оригинального реального IP, на атакующего, что приводит к отказу в обслуживании. | Сфера DDoS |
Меры защиты
- Идентификация атакующего трафика
- Разрушение сервиса
- Идентификация содержимого трафика
- Заблокирование сервиса
- Запись времени доступа
- Разрушение сервиса
- Обработка атакующего трафика
- Отбрасывание атакующего трафика
- Блокировка атакующего IP
- IPv4 IP количество ограничено, легко создать черный список
- IPv6 количество больше, трудно создать черный список. Можно использовать сегменты адресов IPv6, но есть риск ложной блокировки
- Контроль частоты доступа
Открытые инструменты
Инструменты для атак
https://github.com/palahsu/DDoS-Ripper- 162 форка, 755 звезд
- https://github.com/MHProDev/MHDDoS
- 539 форков, 2.2k звезд
- MHDDoS - Скрипт атаки DDoS с 40 методами
- https://github.com/NewEraCracker/LOIC
- 539 форков, 1.9k звезд
- C#
- Средство стресс-тестирования сети
- https://github.com/PraneethKarnena/DDoS-Scripts
- 165 форков, 192 звезды
- C, Python
- https://github.com/theodorecooper/awesome-ddos-tools
- 46 звезд
- коллекция инструментов DDoS
Инструменты защиты
- https://github.com/AltraMayor/gatekeeper
- GPL-3.0 лицензия
- 159 форков, 737 звезд
- C, Lua
- Gatekeeper - первая открытая система защиты от DoS.
https://github.com/Exa-Networks/exabgp- Лицензия Apache
- 415 форков, 1.8k звезд
- Python
- Швейцарский армейский нож для сетей BGP
- https://github.com/curiefense/curiefense
- Apache 2.0 лицензия
- 60 форков, 386 звезд
- Защита на прикладном уровне
- защищает сайты, сервисы и API
- https://github.com/qssec/Hades-lite
- GPL-3.0 лицензия
- 24 форка, 72 звезды
- C
- Драйвер уровня ядра для Anti-ddos
- https://github.com/snort3/snort3
- GPL-2.0 лицензия
- 372 форка, 1.4k звезд
- Следующее поколение Snort IPS (система предотвращения вторжений)
- C++
Мониторинг трафика
- https://github.com/netdata/netdata
- GPL-3.0 лицензия
- 5.2k форков, 58.3k звезд
- C
- https://github.com/giampaolo/psutil
- BSD-3-Clause лицензия
- 1.2 форка, 8.2k звезд
- Python, C
- Кроссплатформенная библиотека для мониторинга процессов и систем в Python, также мониторинг сети
- https://github.com/iptraf-ng/iptraf-ng
- GPL-2.0 лицензия
- 22 форка, 119 звезд
- C
- IPTraf-ng - консольная программа для мониторинга сетевого трафика в Linux, отображающая информацию о IP-трафике.