Вводный курс о проблематике DDoS-атак, современных тенденциях и угрозах, а также о методах борьбы с атаками и том, как они, по всей видимости, будут развиваться в дальнейшем.
Традиционное значение: распределённая атака организуется с нескольких источников (больше одного. Или двух?..). • А что такое источник? Это IP-адрес или устройство? • Если это устройство, виртуальная машина считается? А если это несколько VM в одном гипервизоре? А если VM мигрируют между физическими серверами? И если я жертва, как мне это понять и какая для меня разница? • Если это IP, то, что, spoofed-трафик нераспределённый?!
Политическая позиция • Месть • Конкуренция • Отвлечение внимания (скажем, от кражи данных) • Ограничение доступа к нежелательной информации Тяжело оценить и управлять Поддаётся оценке и контролю!
• Сетевой ресурс недоступен пользователям, если хотя бы один уровень сети не справляется с работой • Таким образом, DDoS-атака может быть ассоциирована с тем уровнем сети, который она выводит из строя
• NetBIOS • RIPv1 • PORTMAP • CHARGEN • Quake • Steam • … Уязвимые протоколы Их много. • В основном, это устаревшие протоколы (RIPv1!) • Но не всегда: например, гейминг
attacker can inject arbitrary data into memory” •2017, Power of Community: “An attacker can send data from memory to a third party via spoofing victim’s IP address”
interfaces • both TCP and UDP transports are enabled • no authentication is required to access Memcached • the service has to be manually enabled or started • the default firewall configuration does not allow remote access to Memcached •См. тж. Zimbra и пр.
Quake LDAP Source: https://www.us-cert.gov/ncas/alerts/TA14-017A • Типичный КА – порядка нескольких сотен • В случае memcached, миллионы • Amplification-атаки часто недооценивают, а зря
вычислительными ресурсами, достаточными для анализа любого возможного входящего трафика • Карта сети, чтобы отбрасывать трафик в направлении несуществующих/закрытых адресов, протоколов и портов (например, UDP-датаграммы в направлении HTTP-сервера) • Rate-limit для трафика, не являющегося ключевым • Активные проверки (см. далее)
вычислительными ресурсами, достаточными для анализа любого возможного входящего трафика • Карта сети, чтобы отбрасывать трафик в направлении несуществующих/закрытых адресов, протоколов и портов (например, UDP-датаграммы в направлении HTTP-сервера) • Rate-limit для трафика, не являющегося ключевым • Активные проверки (см. далее) С точки зрения провайдера: • Эвристики для распространённых простых атак • RTBH (и переложить проблему на пользователя)
так далее (не так важно, что именно) • Атаки на инфраструктуру • L4-6 • SYN-флуд, флуд TCP-соединениями, Sockstress, и так далее • Атаки на TLS Из-за атаки может деградировать сразу несколько уровней
Прочий пакетный флуд вне сессий: соответствующие рукопожатия и проверки • Остальное: анализ сессий, статистика, эвристики и чёрные списки IP-адресов • Чрезвычайно опасно использовать чёрные и/или белые списки IP-адресов (ACL) до проверки IP-адреса источника! • Карта сети по-прежнему важна!
но и на клиентское оборудование • Наиболее распространённые случаи: • Гейминг и влияние на результат игр • Вмешательство в ход электронных экзаменов • Борьба с конкурентами в ходе торгов • https://www.v3.co.uk/v3-uk/news/2478411/ec-offices-taken-offline-by- large-scale-ddos-attack • Принцип защиты по сути тот же (карта сети и приоритизация) • Проблема – в масштабировании
TCP (хотя UDP сам по себе можно не рассматривать) • Появляются новые транспортные протоколы • Протоколы вендоров • Встроенный транспорт приложений • Спецификации IETF • Серверы конечных пользователей? • Бэк-офис? • Операторы и провайдеры?
каждому атому на лице Земли • Невозможно: хранить в памяти большое число адресов • Около 10 лет назад бан подсетями уже считался плохой практикой • С приходом IPv6 этот метод переживает второе рождение
так далее (не так важно, что именно) • Атаки на инфраструктуру • L4-6 • SYN-флуд, флуд TCP-соединениями, Sockstress, и так далее • Атаки на TLS • L7 • Атаки на особенности приложения
обычного Wordpress-сервера • Продвинутые ботнеты могут использовать headless browser: браузер, не создающий окон на рабочем столе (IE/Edge или Chrome) => “full browser stack” (FBS)-ботнеты • FBS-бот может обходить даже сложные проверки, такие, как Javascript-вызовы • Последним бастионом остаётся CAPTCHA, но она также небезупречна (приходите завтра)
pingback, FBS-атаки (как и большинство L7-атак на HTTP/HTTPS) не провоцируют деградацию нижних уровней сети. • Поэтому оператор связи (справедливо) не рассматривает такие атаки в своей зоне ответственности.
в один пакет • Структура DNS-запроса очень проста • Атакующий, способный генерировать запросы с поддельных IP-адресов, заставит жертву обрабатывать их внутри прикладного DNS-сервера, исчерпывая его ресурсы.
заставит жертву обрабатывать их внутри прикладного DNS-сервера, исчерпывая его ресурсы. • К счастью, DNS может работать поверх TCP • Однако, требуется полоса пропускания и вычислительные мощности для анализа
100% гарантии • False positive (ошибка I рода): ложное срабатывание • False negative (ошибка II рода): пропуск события • Любой алгоритм можно настроить на 0% FP или 0% FN • Истина – посредине • Баланс определяется задачами бизнеса
так далее (не так важно, что именно) • Атаки на инфраструктуру • L4-6 • SYN-флуд, флуд TCP-соединениями, Sockstress, и так далее • Атаки на TLS • L7 • Атаки на особенности приложения Классификация: • Mutually exclusive * • Collectively exhaustive
Открытие сокета • Deep packet inspection • TLS-рукопожатие • CRL/OCSP • HTTP • Load balancer • HTTP Server Request Handle • CDN • Пример Dyn показывает: сервер может не быть прямой целью атаки • Каждый шаг может быть атакован • Inventory management • Мониторинг инфраструктуры
Возможность защиты от DDoS закладывается в дизайн протоколов и приложений • Защищающийся должен следовать политикам: • Обновления • Управление рисками • Реагирование на инциденты
куплете: февраль 2018 •Три месяца – это очень мало. • В следующий раз может быть и того меньше •Meltdown/Spectre: подход «эмбарго» для большой группы не работает