Как взломать сервер, просто слушая его

Как взломать сервер, просто слушая его

Исследование раскрывает атаки по времени, которые действительно работают.

image

В новом исследовании, представленном на конференции DEF CON, раскрываются передовые методы атак на веб-серверы, использующие тайминг-зависимости. Атаки позволяют обнаруживать скрытые уязвимости, обходить защиты и получать доступ к закрытым областям серверов без необходимости сложных настроек.

Основные техники тайминг-атак

Исследование фокусируется на трёх ключевых техниках:

Обнаружение скрытых поверхностей атак: в ходе исследования была разработана методика, позволяющая находить скрытые параметры, HTTP-заголовки и другие элементы, которые могут быть использованы для дальнейших атак. Это достигается с помощью измерения времени ответа сервера на различные запросы, где небольшие изменения в задержке могут указывать на наличие скрытых параметров или даже на уязвимости.

В частности, автор использовал инструмент Param Miner, который проводит массовое сканирование параметров на основе времени отклика. Например, сервер, который обрабатывает заголовок commonconfig, может отвечать с задержкой в 5 мс, если значение заголовка не является корректным JSON. Это указывает на возможность дальнейшей эксплуатации данной особенности.

Инъекции на стороне сервера: тайминг-анализ оказался эффективным для обнаружения различных видов инъекций, таких как SQL-инъекции, JSON-инъекции и загрязнения параметров на стороне сервера. Например, был представлен пример слепой SQL-инъекции, где использование классических полезных нагрузок позволило выявить уязвимость на основе изменения времени ответа.

Также была продемонстрирована атака, связанная с JSON-инъекцией. Когда запрос с неправильной JSON-структурой возвращал ответ с небольшой задержкой, это позволило исследователю сделать вывод о возможной уязвимости в системе обработки ошибок на сервере.

Обнаружение неправильных конфигураций обратных прокси: одним из самых значимых открытий в исследовании стало использование тайминг-анализа для обнаружения SSRF (Server-Side Request Forgery) через неправильно настроенные обратные прокси. Например, было обнаружено, что серверы, которые маршрутизируют запросы на основе заголовка Host, могут быть уязвимы к SSRF. Исследователь продемонстрировал, как с помощью заголовка Host можно обойти ограничения и получить доступ к внутренним системам компании.

Был предложен новый подход под названием Scoped SSRF, когда прокси-серверы разрешают перенаправление только на определённые поддомены, что делает уязвимость менее очевидной и сложной для обнаружения. Однако использование тайминг-анализа позволило выявить такие уязвимости, определяя, отправлял ли сервер DNS-запросы к указанным доменам.

Технические детали реализации

Для достижения таких результатов были применены следующие технические приёмы:

Синхронизация двух пакетов: одной из ключевых инноваций стало использование метода синхронизации двух пакетов для устранения сетевых шумов. В HTTP/2 можно отправить два запроса в одном TCP-пакете, гарантируя их одновременное прибытие на сервер. Время ответа сравнивается по порядку возвращения ответов, что позволяет определить, какой запрос обрабатывался дольше.

Однако, такая методика имеет свой «подводный камень» - так называемая проблема «липкого порядка запросов». Из-за особенностей TLS, один запрос всё же будет расшифрован первым, что может исказить результаты анализа. Для борьбы с таким эффектом использовался дополнительный фрейм ping, позволяющий выровнять время обработки запросов на сервере.

Задержка между обработкой запросов

Преодоление серверного шума: несмотря на устранение сетевых шумов, остаётся проблема шума на стороне сервера, которая может возникать из-за нагрузки, взаимодействия с другими системами и других факторов. Для минимизации шумов исследователь рекомендовал использовать максимально короткие пути кода и избегать кэширования. Более того, в некоторых случаях DoS-атаки (например, CPDoS) могут помочь уменьшить шум от других пользователей.

Масштабное сканирование и автоматизация: чтобы провести сканирование 30 000 сайтов, использовались различные подходы для автоматизации. Например, был создан список поддоменов на основе известных данных и проверка на возможность обхода защиты через альтернативные маршруты. Процесс включал в себя двойное обращение к каждому хосту, чтобы выявить различия в ответах.

Исследование демонстрирует, что тайминг-атаки могут быть применены к широкому спектру реальных систем, и их потенциал ещё далеко не исчерпан. В планах исследователя — дальнейшее улучшение инструментов Param Miner и Turbo Intruder, чтобы сделать атаки ещё более быстрыми и эффективными. Также рассматриваются новые направления исследований, включая усиление сигналов задержек и снижение шумов, что может открыть новые возможности для эксплуатации уязвимостей.

Наш канал горячее, чем поверхность Солнца!

5778 К? Пф! У нас градус знаний зашкаливает!

Подпишитесь и воспламените свой разум