Тандемные DDoS-атаки (Артём Гавриченков)

Preview:

Citation preview

Тандемные DDoS-атаки

Артём Гавриченков<ag@highloadlab.com>

Проблема марсоходаСоздавая Web-приложение,90% разработчиков* программируют марсоход.

Как это происходит?

* – по данным сайта http://lurkmore.ru

Устройство ИнтернетаПрикладной уровень

HTTP, HTTPS, FTP, ...

Транспортный уровень TCP, UDP, ...

Сетевой уровень IP, ...

Канальный уровень Ethernet, ...

Протокол TCP Придуман DARPA Используется для всего

От задач Минобороны и NASA До гражданских приложений

TCP – основа протокола HTTP

Задачи: Целостность данных

Устранение дубликатов Порядок Гарантия доставки

Борьба с перегрузкой сети

Протокол TCP

Накладные расходы!

TCP – это соединение Автомат TCP-соединения

Протокол TCP

Пример 1: установление соединения

«Без TCP» TCP

send(); recv();

Много SYN-запросов

=> много занятых ресурсов

=> ресурсы заканчиваются

Такая атака называется SYN Flood

Проблема!

Решение SYN Cookies, SYN Cache, TCPMaxHalfOpen

http://www.symantec.com/connect/articles/hardening-tcpip-stack-syn-attacks

http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-4/syn_flooding_attacks.html

http://people.redhat.com/sgrubb/files/hardening-rhel5.pdf

http://support.microsoft.com/kb/324270

Пример 2: закрытие соединения

«Без TCP» TCP

nop;

Проблема! После получения ACK атакующий может не высылать FIN

=> соединение не закрывается

=> ресурсы не освобождаются

Так называемая «FIN-WAIT-2 атака»

Sockstress

2008 г. Стресс-тестирование сетевого приложения Обнаружили FIN-WAIT-2 атаку

Решение Stateful firewall

Помним уже установленные соединения Ограничиваем количество новых

Ссылки: http://www.microsoft.com/technet/security/Bulletin/MS09-048.mspx

http://kbase.redhat.com/faq/docs/DOC-18730

http://www.cisco.com/warp/public/707/cisco-sa-20090908-tcp24.shtml

Следите за руками.

Атакуем!1. SYN Flood на машину

Устанавливаем много соединений Переполняем stateful firewall

Атакуем!1. SYN Flood на машину

Устанавливаем много соединений Переполняем stateful firewall

2. Когда отслеживание соединений отключается – FIN-WAIT-2

Атакуем!1. SYN Flood на машину

Устанавливаем много соединений Переполняем stateful firewall

2. Когда отслеживание соединений отключается – FIN-WAIT-2

3. PROFIT!

Как же так?

Как они могут ошибаться?

Как же так?

Как они могут ошибаться? А они и не ошибаются.

Протокол TCP Придуман DARPA Используется для всего

От задач Минобороны и NASA До гражданских приложений

TCP – основа протокола HTTP

Протокол TCP Придуман DARPA Используется для всего

От задач Минобороны и NASA До гражданских приложений

TCP – основа протокола HTTP

TCP – швейцарский нож

Делать можно всё Но не одновременно

Параметры TCP У автомата TCP есть мно-о-о-го параметров

Не путать с TCP options! Таймауты Размеры временных окон Фрагментация ...

Параметры TCP Вендоры используют стандартные значения параметров TCP Стандартные значения одинаково [не] работают для всех приложений

Один TCP – на всех

Web-сервер Телеметрия

Марсоход

BitTorrent MMS-гейт

VPN

Электронное голосование

Комплекс ПВО

Но у нас не марсоход!1. ОС с параллельными SYN Cookies

2. Параметры автомата TCP Linux: net.ipv4.tcp_fin_timeout=5

Windows: HKLM\System\CurrentControlSet\ Services\Tcpip\Parameters\ TcpFinWait2Delay [?]

Now it works! «Кончил, не кончил – 3 минуты!» – М. С. Горбачев Отключаем connection tracking Боремся с SYN Flood, как привыкли

Счастье!

...ага, щас.

Sockstress

2009 г. Фундаментальная уязвимость в автомате TCP

Sockstress Тёмная лошадка Можем делать предположения

Имитация SYN Cookies в ботнете Атака на механизмы борьбы с

перегрузкой сети

Выводы? Протокол TCP был создан в 1970-х годах Автомат TCP-соединения описан недостаточно подробно Исследуя автомат TCP, можно находить актуальные уязвимости

Прогноз Анализ автомата TCP-соединения даст информацию о новых атаках Чтобы быть готовым к будущему, необходимо проводить такой анализ

Сейчас? Outpost24 тестирует протокол TCP

Это даёт результаты Highload Lab занимается моделированием автомата TCP-соединения по спецификации

Сложно, но перспективнее

Что же делать? Мы научились бороться с тандемной атакой. Уже хорошо Ждём новостей о новых проблемах

Встретимся через год

Спасибо за внимание! Вопросы?

Recommended