[Перевод] Организация эффективных атак по времени с помощью HTTP/2 и WPA3

Новая методика взлома преодолевает проблему «джиттера сети», которая может влиять на успешность атак по сторонним каналам

qd4xtjtjqjibg60_gm3vrqmlm7i.jpeg

Новая методика, разработанная исследователями Левенского университета (Бельгия) и Нью-Йоркского университета в Абу-Даби, показала, что злоумышленники могут использовать особенности сетевых протоколов для организации утечек конфиденциальной информации.

Эта методика под названием Timeless Timing Attacks, продемонстрированная в этом году на конференции Usenix, использует особенности обработки сетевыми протоколами одновременно выполняемых запросов для устранения одной из проблем удалённых атак по времени по сторонним каналам.

Проблемы удалённых атак по времени


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

Но для успешной реализации атак по времени атакующему необходимо точное знание времени, которое требуется подвергающемуся атаке приложению для обработки запроса.

Это становится проблемой при атаке таких удалённых систем, как веб-серверы, потому что задержка в сети (джиттер) приводит к разбросу времени отклика, что усложняет вычисление времени обработки.

В процессе удалённых атак по времени нападающие обычно отправляют каждую команду несколько раз и выполняют статистический анализ времени отклика, чтобы снизить влияние джиттера сети. Но этот способ полезен только в определённой степени.

«Чем меньше разница времени, тем больше требуется запросов, и на определённом этапе вычисление становится невозможным», — рассказывает нам исследователь систем защиты данных и главный автор статьи о новом виде атак Том Ван Гётем.

«Вневременная» атака по времени


Разработанная Гётемом и его коллегами методика выполняет удалённые атаки по времени таким образом, что они сводят на нет влияние джиттера сети.

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

Одновременность гарантирует, что все запросы находятся в одинаковых условиях сети, и что на их обработку не повлияет путь между атакующим и сервером. Порядок получения откликов даст атакующему всю информацию, необходимую для сравнения времени выполнения.

«Основное преимущество вневременных атак по времени заключается в том, что они гораздо точнее, поэтому требуется меньше запросов. Это позволяет атакующему распознавать различия во времени выполнения вплоть до 100 нс», — говорит Ван Гётем.

Минимальная разность времени, наблюдавшаяся исследователями при традиционной атаке по времени через Интернет, составляла 10 мкс, то есть в 100 раз больше, чем при атаке одновременными запросами.

Как обеспечивается одновременность


«Одновременность мы обеспечиваем, помещая оба запроса в один сетевой пакет», — объясняет Ван Гётем. «На практике реализация в основном зависит от сетевого протокола».

Для отправки одновременных запросов исследователи используют возможности разных сетевых протоколов.

Например, HTTP/2, который быстро становится для веб-серверов стандартом де-факто, поддерживает «мультиплексирование запросов» — функцию, позволяющую клиенту отправлять по одному TCP-соединению несколько запросов параллельно.

«В случае HTTP/2 нам нужно просто сделать так, чтобы оба запроса были помещены в один пакет (например, записав оба в сокет одновременно)». Однако у такой методики есть свои тонкости. Например, в большинстве сетей доставки контента типа Cloudflare, обеспечивающем контентом большую часть веба, соединение между пограничными серверами и сайтом выполняется по протоколу HTTP/1.1, который не поддерживает мультиплексирование запросов.

Хоть это и снижает эффективность вневременной атаки, они всё равно остаются более точными, чем классические удалённые атаки по времени, потому что устраняют джиттер между атакующим и пограничным CDN-сервером.

В случае протоколов, не поддерживающих мультиплексирование запросов, атакующие могут использовать промежуточный сетевой протокол, который инкапсулирует запросы.

Исследователи показали, как вневременная атака по времени работает в сети Tor. В этом случае атакующий инкапсулирует множественные запросы в ячейке Tor — зашифрованном пакете, передаваемом между узлами сети Tor в единых TCP-пакетах.

«Так как цепь Tor для onion-сервисов проделывает весь путь до сервера, мы можем гарантировать, что запросы прибудут одновременно», — говорит Ван Гётем.

Вневременные атаки на практике


В своей статье исследователи изучили вневременные атаки в трёх различных ситуациях.

При прямых атаках по времени злоумышленник напрямую подключается к серверу и пытается организовать утечку секретной информации, связанной с приложением.

«Так как при создании большинства веб-приложений не учитывается то, что атаки по времени могут быть очень практичными и точными, мы считаем, что многие веб-сайты уязвимы к таким атакам», — рассказывает Ван Гётен.

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

Атакующие использовали эту схему для эксплуатации уязвимости программы выплаты премий за баги HackerOne и извлекли такую информацию, как ключевые слова, использованные в конфиденциальных отчётах о неустранённых уязвимостях.

«Я искал случаи, когда атака по времени ранее была зафиксирована, но не считалась эффективной. О баге HackerOne уже сообщалось по крайней мере три раза (идентификаторы багов: 350432, 348168 и 4701), но его не устранили, потому что считалось, что эту атаку невозможно использовать. Тогда я создал простой внутренний исследовательский проект с вневременными атаками по времени.

В то время она всё ещё оставалась очень неоптимизированной, потому что мы продолжали разбираться с подробностями атаки, но, тем не менее, она оказалась довольно точной (на моём домашнем WiFi-подключении мне удалось добиться очень точных результатов)».

Исследователи также попробовали провести вневременные атаки на WiFi-протокол WPA3.

Один из соавторов статьи Мати Ванхоф ранее уже обнаружил потенциальную утечку по времени в протоколе подтверждения соединения WPA3. Но время или было слишком маленьким для использования на высокопроизводительных устройствах, или его нельзя было использовать против серверов.

«При помощи нового вида вневременных атак по времени мы продемонстрировали, что на самом деле можно использовать authentication handshake (EAP-pwd) против серверов, даже если на них работает мощное оборудование», — объясняет Ван Гётем.

Идеальный момент


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

«Мы полагаем, что эта область исследований находится на очень ранних этапах развития и требует гораздо более глубокого изучения», — говорит Ван Гётем.

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

Название «вневременная» было выбрано, «потому что при этих атаках мы не использовали никакой (абсолютной) информации о времени», — объясняет Ван Гётем.

«Кроме того, «вневременными» их можно считать и потому, что (удалённые) атаки по времени используются уже давно, и, судя по нашим исследованиям, ситуация будет становиться только хуже».


Полный текст доклада с Usenix находится здесь.

На правах рекламы


Мощные VDS с защитой от DDoS-атак и новейшим железом. Всё это про наши эпичные серверы. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.

8p3vz47nluspfyc0axlkx88gdua.png

© Habrahabr.ru