Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DDoS-атаки: тектонические изменения в 2016-2017 году / Артём Гавриченков (Qrator Labs)

238 views

Published on

РИТ++ 2017, HighLoad Junior
Зал Сингапур, 5 июня, 18:00

Тезисы:
http://ritfest.ru/2017/abstracts/2646.html

Осенью 2016 года DDoS-атаки, уже, казалось бы, ставшие досадной обыденностью, вновь выплыли на первые полосы журналов и онлайн-изданий. Атаки с использованием ботнета Mirai и подключенных к Интернету камер сумели создать серьёзные проблемы с доступностью целого ряда сайтов, включая Twitter, Spotify и Reddit.
...

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

DDoS-атаки: тектонические изменения в 2016-2017 году / Артём Гавриченков (Qrator Labs)

  1. 1. DDoS-атаки Тектонические изменения в 2016-2017 году Артём Гавриченков <ximaera@qrator.net>
  2. 2. <video />
  3. 3. The Red Queen's race • На открытом рынке выживает самый эффективный • Скорость разработки постоянно растёт
  4. 4. The Red Queen's race • На открытом рынке выживает самый эффективный • Скорость разработки постоянно растёт • Страдает качество продукта • Страдает безопасность
  5. 5. The Red Queen's race • Проблема имеет глобальный характер, на всех уровнях инфраструктуры Интернета • Хорошо направленная атака на инфраструктуру => косвенный урон всем связанным сервисам
  6. 6. What happens when…? • https://github.com/alex/what-happens-when
  7. 7. What happens when…? • https://github.com/alex/what-happens-when • DNS lookup • IPv4/IPv6 selection • Opening of a socket • Deep packet inspection • TLS handshake • CRL/OCSP • HTTP protocol • Load balancer • HTTP Server Request Handle
  8. 8. What happens when…? • https://github.com/alex/what-happens-when • DNS lookup • IPv4/IPv6 selection • Opening of a socket • Deep packet inspection • TLS handshake • CRL/OCSP • HTTP protocol • Load balancer • HTTP Server Request Handle • CDN
  9. 9. DNS lookup
  10. 10. DNS lookup
  11. 11. DNS lookup ximaera@nostromo:~$ sudo tcpdump -qni any tcp > /dev/null tcpdump: verbose output suppressed, use -v or -vv for full protoc listening on any, link-type LINUX_SLL (Linux cooked), capture siz ^C 792 packets captured 794 packets received by filter 0 packets dropped by kernel ximaera@nostromo:~$ sudo tcpdump -qni any port 53 > /dev/null tcpdump: verbose output suppressed, use -v or -vv for full protoc listening on any, link-type LINUX_SLL (Linux cooked), capture siz ^C 104 packets captured 156 packets received by filter 0 packets dropped by kernel ximaera@nostromo:~$
  12. 12. TCP
  13. 13. TCP • Handshake
  14. 14. TCP • Handshake • TLS
  15. 15. TCP • Handshake • TLS • Connection state
  16. 16. TCP • Handshake • TLS • Connection state • DATA
  17. 17. DNS
  18. 18. DNS 10:00:34.510826 IP (proto UDP (17), length 56) 192.168.1.5.63097 > 8.8.8.8.53: 9508+ A? ritfest.ru. (28) 10:00:34.588632 IP (proto UDP (17), length 72) 8.8.8.8.53 > 192.168.1.5.63097: 9508 1/0/0 ritfest.ru. A 62.152.56.18 (44)
  19. 19. DNS Amplification
  20. 20. DNS • Легитимная нагрузка – мизерная • Паразитная нагрузка – колоссальная
  21. 21. DNS • Легитимная нагрузка – мизерная • Паразитная нагрузка – колоссальная • HTTP: Apache -> Nginx DNS: BIND -> ?
  22. 22. Dyn.com, октябрь 2016
  23. 23. Dyn.com, октябрь 2016
  24. 24. What happens when…? • https://github.com/alex/what-happens-when üDNS lookup • IPv4/IPv6 selection • Opening of a socket • Deep packet inspection • TLS handshake • CRL/OCSP • HTTP protocol • Load balancer • HTTP Server Request Handle • CDN
  25. 25. IPv6 • 128-битовые адреса
  26. 26. IPv6 • 128-битовые адреса • Возможно адресовать каждый атом на поверхности Земли
  27. 27. IPv6 • 128-битовые адреса • Возможно адресовать каждый атом на поверхности Земли • Невозможно хранить таблицы блокировок до уровня адреса! • Возвращаются блокировки подсетями
  28. 28. IPv6 • 128-битовые адреса • Возможно адресовать каждый атом на поверхности Земли • Невозможно хранить таблицы блокировок до уровня адреса! • Возвращаются блокировки подсетями • Однако проблема сканирования не решается!
  29. 29. IPv6 vs IPv4 • Два разных протокола в одной глобальной сети?
  30. 30. IPv6 vs IPv4 • Два разных протокола в одной глобальной сети? Нет, • Две разные глобальные сети!
  31. 31. What happens when…? • https://github.com/alex/what-happens-when üDNS lookup üIPv4/IPv6 selection • Opening of a socket • Deep packet inspection • TLS handshake • CRL/OCSP • HTTP protocol • Load balancer • HTTP Server Request Handle • CDN
  32. 32. Opening of a socket • На всём пути до сервера и на нём самом должны функционировать: • L2 Amplification • L3 Аномалии маршрутизации • L4 Автомат TCP-соединения
  33. 33. Opening of a socket • На всём пути до сервера и на нём самом должны функционировать: • L2 Amplification, • L3 Аномалии маршрутизации • L4 Автомат TCP-соединения
  34. 34. Динамика амплификации
  35. 35. Динамика амплификации
  36. 36. • NTP: 557 • DNS: 54 • SNMP: 6 • SSDP: 31 • ICMP: … • NetBIOS: 4 • LDAP: 55 • RIPv1: 131 • PORTMAP: 28 • CHARGEN: 359 • QOTD: 140 • Quake: 64 • Steam: 6 • … Фактор амплификации* * – по данным US-CERT: https://www.us-cert.gov/ncas/alerts/TA14-017A
  37. 37. Opening of a socket • На всём пути до сервера и на нём самом должны функционировать: • L2 Amplification, IoT, • L3 Аномалии маршрутизации • L4 Автомат TCP-соединения
  38. 38. 21:30:01.226868 IP 94.251.116.51 > 178.248.233.141: GREv0, length 544: IP 184.224.242.144.65323 > 167.42.221.164.80: UDP, length 512 21:30:01.226873 IP 46.227.212.111 > 178.248.233.141: GREv0, length 544: IP 90.185.119.106.50021 > 179.57.238.88.80: UDP, length 512 21:30:01.226881 IP 46.39.29.150 > 178.248.233.141: GREv0, length 544: IP 31.173.79.118.42580 > 115.108.7.79.80: UDP, length 512 Mirai
  39. 39. Mirai
  40. 40. Mirai
  41. 41. Mirai • Persirai • Hajime • ...
  42. 42. Mirai • Persirai • Hajime • ... • BrickerBot
  43. 43. Opening of a socket • На всём пути до сервера и на нём самом должны функционировать: • L2 Amplification, IoT, …? • L3 Аномалии маршрутизации • L4 Автомат TCP-соединения • L5-L7 Сложные вычисления
  44. 44. © Geoff Huston, APNIC, 2017
  45. 45. Opening of a socket • На всём пути до сервера и на нём самом должны функционировать: • L2 Amplification, IoT, …? • L3 Аномалии маршрутизации • L4 Автомат TCP-соединения • L5-L7 Сложные вычисления
  46. 46. Аномалии маршрутизации • DPI
  47. 47. Аномалии маршрутизации • DPI • BGP
  48. 48. Аномалии маршрутизации • DPI • BGP
  49. 49. Аномалии маршрутизации • DPI • BGP
  50. 50. • DPI • BGP
  51. 51. Аномалии маршрутизации • DPI • BGP
  52. 52. What happens when…? • https://github.com/alex/what-happens-when üDNS lookup üIPv4/IPv6 selection üOpening of a socket üDeep packet inspection üTLS handshake • CRL/OCSP üHTTP protocol üLoad balancer üHTTP Server Request Handle • CDN
  53. 53. Разное • CRL/OCSP – пока опциональны • Поэтому бессмысленны • Но хотя бы ничего не ломают • Устойчивый к атакам CDN может построить не каждый • Тем более – закрыть от атак клиентов CDN
  54. 54. Самое главное.
  55. 55. Joomla RCE: CVE-2016-8870 • 28.10.2016: вышел патч • Первые попытки эксплуатации: в течение 24 часов • Через 36 часов: автоматическое сканирование Source: Wallarm honeypots, https://wallarm.com/
  56. 56. Joomla RCE: CVE-2016-8870
  57. 57. Старые технологии больше не работают
  58. 58. Самое главное. • Прошло время, когда можно было использовать • Теперь требуется эксплуатировать • Начать лучше прямо сейчас
  59. 59. Q&A Artyom Gavrichenkov mailto: ximaera@qrator.net fb: ximaera tg: xima_era

×