SlideShare a Scribd company logo
Тандемные 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 – на всех
                                                             VPN
        Web-сервер
                                          Телеметрия

                           MMS-гейт
                                                      Комплекс ПВО
    BitTorrent
                                                  



             Электронное голосование
                                                 Марсоход
         
                                             
Но у нас не марсоход!
1. ОС с параллельными SYN Cookies
2. Параметры автомата TCP
  Linux: net.ipv4.tcp_fin_timeout=5
  Windows: HKLMSystemCurrentControlSet
           ServicesTcpipParameters
           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-соединения по
  спецификации
   Сложно, но перспективнее
Что же делать?
 Мы научились бороться с тандемной
  атакой. Уже хорошо
 Ждём новостей о новых проблемах
Встретимся через год
Спасибо за внимание!
Вопросы?

More Related Content

PDF
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
PDF
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
PDF
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
PPT
Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
PDF
стриминг видео на ок
PDF
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
PDF
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
PDF
Обратная разработка бинарных форматов с помощью Kaitai Struct
Тандемные DDoS-атаки. Проблематика уязвимостей в спецификации TCP IP (фундаме...
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Пишем свой протокол поверх UDP или платформа потокового видео с нуля на милли...
Positive Hack Days. Павлов. Мастер-класс: Анализ защищенности сетевой инфраст...
стриминг видео на ок
Борьба с DDoS в хостинге - по обе стороны баррикад / Константин Новаковский (...
Cautious: IPv6 is here / Александр Азимов (Qrator Labs)
Обратная разработка бинарных форматов с помощью Kaitai Struct

What's hot (15)

PPTX
Linkmeup #73
PDF
Spblug. Борьба с DDoS в хостинге - по обе стороны баррикад
PPTX
QoS и приоритезация трафика внутри VPN-туннелей
PDF
Networking technology in modern Virtual Private Clouds (RUS, RootConf++ 2018)
PDF
Networks in the cloud on OpenStask: problems we face and their solution
PPTX
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
PDF
Антон Карпов - Обзорная лекция по безопасности
PPTX
Тестирование Сетевой Безопасности
PPTX
Lyamin hl2014
PDF
linux and freebsd monitoring
PPTX
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
PPTX
iRidium для AV & Custom Systems и Global Caché
PDF
SDN и защищенные квантовые коммуникации
PPTX
3G/4G модемы и Mikrotik: подключаем беспроводной Интернет
ODP
ногинов Aoe Stripped
Linkmeup #73
Spblug. Борьба с DDoS в хостинге - по обе стороны баррикад
QoS и приоритезация трафика внутри VPN-туннелей
Networking technology in modern Virtual Private Clouds (RUS, RootConf++ 2018)
Networks in the cloud on OpenStask: problems we face and their solution
Фильтрация соцсетей и лишнего трафика: использование L7 возможностей в Mikrotik
Антон Карпов - Обзорная лекция по безопасности
Тестирование Сетевой Безопасности
Lyamin hl2014
linux and freebsd monitoring
Осознанный выбор. Python 3 для реализации сервисного шлюза клиента World of T...
iRidium для AV & Custom Systems и Global Caché
SDN и защищенные квантовые коммуникации
3G/4G модемы и Mikrotik: подключаем беспроводной Интернет
ногинов Aoe Stripped
Ad

Viewers also liked (9)

PDF
Виды DDoS-атаки, от кого и как они происходят и как от них защититься
PPT
как объяснить заказчику, что он не прав. денис тучин. зал 3
PDF
классификация Ddos. александр лямин, артем гавриченков. зал 2
PDF
DDoS как актуальная проблема безопасности
PPTX
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
PDF
Адаптивная оптимизация запросов в реляционных СУБД / Олег Иванов (Postgres Pr...
PPTX
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
PDF
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
PDF
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Виды DDoS-атаки, от кого и как они происходят и как от них защититься
как объяснить заказчику, что он не прав. денис тучин. зал 3
классификация Ddos. александр лямин, артем гавриченков. зал 2
DDoS как актуальная проблема безопасности
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Адаптивная оптимизация запросов в реляционных СУБД / Олег Иванов (Postgres Pr...
Artisto: опыт запуска нейросетей в production / Эдуард Тянтов (Mail.ru Group)
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)
Ad

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

PDF
Оптимизация мобильного трафика с Cisco ASR 5000.
PDF
Владимир Илибман - Межсетевые экраны следующего поколения. Определение и мето...
PDF
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
PDF
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
 
PDF
Алексей Лапаев - Протоколы межкомпонентного взаимодействия
PPTX
Сети и системы телекоммуникаций. Протокол TCP
PDF
Сети и протоколы
PPTX
Как получить максимум от сетевого экрана Cisco ASA?
PDF
Нюансы функционирования и эксплуатации Cisco SOC
PDF
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
PPTX
компьютерные сети. архитектура и построение современных сетей
PPTX
Сети и системы телекоммуникаций. Транспортный уровень
PPTX
20201021 Технополис: Сетевой стек
PDF
Rabovoluk presentation yaroslav-2
PPT
Антон Шумихин - Архитектура сетей
PPTX
PPTX
PPTX
PPTX
Ftp1989235
PDF
От SS7 к IP — эволюция безопасности сетей связи
Оптимизация мобильного трафика с Cisco ASR 5000.
Владимир Илибман - Межсетевые экраны следующего поколения. Определение и мето...
Как не надо писать приложения, основанные на протоколе TCP (Артём Гавриченков)
Порядок преодоления болота на маршруте: как не надо писать приложения, основа...
 
Алексей Лапаев - Протоколы межкомпонентного взаимодействия
Сети и системы телекоммуникаций. Протокол TCP
Сети и протоколы
Как получить максимум от сетевого экрана Cisco ASA?
Нюансы функционирования и эксплуатации Cisco SOC
Основные уязвимости и методы защиты оборудования и ПО видеоконференцсвязи
компьютерные сети. архитектура и построение современных сетей
Сети и системы телекоммуникаций. Транспортный уровень
20201021 Технополис: Сетевой стек
Rabovoluk presentation yaroslav-2
Антон Шумихин - Архитектура сетей
Ftp1989235
От SS7 к IP — эволюция безопасности сетей связи

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

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

  • 1. Тандемные DDoS-атаки Артём Гавриченков <ag@highloadlab.com>
  • 2. Проблема марсохода Создавая Web-приложение, 90% разработчиков* программируют марсоход. Как это происходит? * – по данным сайта http://lurkmore.ru
  • 3. Устройство Интернета Прикладной уровень HTTP, HTTPS, FTP, ... Транспортный уровень TCP, UDP, ... Сетевой уровень IP, ... Канальный уровень Ethernet, ...
  • 4. Протокол TCP  Придуман DARPA  Используется для всего  От задач Минобороны и NASA  До гражданских приложений  TCP – основа протокола HTTP
  • 5. Протокол TCP  Задачи:  Целостность данных  Устранение дубликатов  Порядок  Гарантия доставки  Борьба с перегрузкой сети
  • 7. Протокол TCP  TCP – это соединение  Автомат TCP-соединения
  • 8. Пример 1: установление соединения «Без TCP» TCP send(); recv();
  • 9. Проблема! Много SYN-запросов => много занятых ресурсов => ресурсы заканчиваются Такая атака называется SYN Flood
  • 10. Решение  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
  • 11. Пример 2: закрытие соединения «Без TCP» TCP nop;
  • 12. Проблема! После получения ACK атакующий может не высылать FIN => соединение не закрывается => ресурсы не освобождаются Так называемая «FIN-WAIT-2 атака»
  • 13. Sockstress  2008 г.  Стресс-тестирование сетевого приложения  Обнаружили FIN-WAIT-2 атаку
  • 14. Решение  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
  • 16. Атакуем! 1. SYN Flood на машину  Устанавливаем много соединений  Переполняем stateful firewall
  • 17. Атакуем! 1. SYN Flood на машину  Устанавливаем много соединений  Переполняем stateful firewall 2. Когда отслеживание соединений отключается – FIN-WAIT-2
  • 18. Атакуем! 1. SYN Flood на машину  Устанавливаем много соединений  Переполняем stateful firewall 2. Когда отслеживание соединений отключается – FIN-WAIT-2 3. PROFIT!
  • 19. Как же так?  Как они могут ошибаться?
  • 20. Как же так?  Как они могут ошибаться?  А они и не ошибаются.
  • 21. Протокол TCP  Придуман DARPA  Используется для всего  От задач Минобороны и NASA  До гражданских приложений  TCP – основа протокола HTTP
  • 22. Протокол TCP  Придуман DARPA  Используется для всего  От задач Минобороны и NASA  До гражданских приложений  TCP – основа протокола HTTP
  • 23. TCP – швейцарский нож  Делать можно всё  Но не одновременно
  • 24. Параметры TCP  У автомата TCP есть мно-о-о-го параметров  Не путать с TCP options!  Таймауты  Размеры временных окон  Фрагментация  ...
  • 25. Параметры TCP  Вендоры используют стандартные значения параметров TCP  Стандартные значения одинаково [не] работают для всех приложений
  • 26. Один TCP – на всех  VPN  Web-сервер  Телеметрия  MMS-гейт Комплекс ПВО BitTorrent   Электронное голосование Марсоход  
  • 27. Но у нас не марсоход! 1. ОС с параллельными SYN Cookies 2. Параметры автомата TCP Linux: net.ipv4.tcp_fin_timeout=5 Windows: HKLMSystemCurrentControlSet ServicesTcpipParameters TcpFinWait2Delay [?]
  • 28. Now it works!  «Кончил, не кончил – 3 минуты!» – М. С. Горбачев  Отключаем connection tracking  Боремся с SYN Flood, как привыкли
  • 31. Sockstress  2009 г.  Фундаментальная уязвимость в автомате TCP
  • 32. Sockstress  Тёмная лошадка  Можем делать предположения  Имитация SYN Cookies в ботнете  Атака на механизмы борьбы с перегрузкой сети
  • 33. Выводы?  Протокол TCP был создан в 1970-х годах  Автомат TCP-соединения описан недостаточно подробно  Исследуя автомат TCP, можно находить актуальные уязвимости
  • 34. Прогноз  Анализ автомата TCP-соединения даст информацию о новых атаках  Чтобы быть готовым к будущему, необходимо проводить такой анализ
  • 35. Сейчас?  Outpost24 тестирует протокол TCP  Это даёт результаты  Highload Lab занимается моделированием автомата TCP-соединения по спецификации  Сложно, но перспективнее
  • 36. Что же делать?  Мы научились бороться с тандемной атакой. Уже хорошо  Ждём новостей о новых проблемах