38
Тандемные DDoS-атаки Артём Гавриченков <[email protected]>

Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Артём Гавриченков<[email protected]>

Page 2: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 3: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

HTTP, HTTPS, FTP, ...

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

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

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

Page 4: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 5: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Протокол TCP

Page 6: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 7: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Протокол TCP

Page 8: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

«Без TCP» TCP

send(); recv();

Page 9: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

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

Проблема!

Page 10: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Решение 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

Page 11: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

«Без TCP» TCP

nop;

Page 12: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

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

Page 13: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Sockstress

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

Page 14: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Решение 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

Page 15: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 16: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

Page 17: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 18: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

3. PROFIT!

Page 19: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Как же так?

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

Page 20: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Как же так?

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

Page 21: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 22: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 23: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

Page 24: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

Page 25: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 26: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

Марсоход

BitTorrent MMS-гейт

VPN

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

Комплекс ПВО

Page 27: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 28: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 29: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Счастье!

Page 30: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

...ага, щас.

Page 31: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

Sockstress

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

Page 32: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 33: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 34: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 35: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

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

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

Page 36: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 37: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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

Page 38: Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаментальные уязвимости), Артём

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