Можно ли определить координаты устройства с работающим WiFi, пользуясь исключительно штатными особенностями беспроводного стандарта? И если можно, что потом делать с этой полезной информацией? Ответы на оба вопроса попробовали дать исследователи из университетов США и Канады в работе, опубликованной в октябре и недавно выложенной в общий доступ.



То, что обнаружили авторы исследования, можно назвать уязвимостью в протоколе WiFi, актуальной для всех его итераций, от 802.11a до 11ax. Точнее, речь идет сразу о двух штатных фичах протокола. Одна позволяет за короткие сроки собрать MAC-адреса большинства устройств, подключенных к определенной точке доступа. Другая вынуждает отдельные устройства отвечать на запросы «левого» устройства. А для более-менее точной геолокации потребуется погонять вокруг исследуемого объекта квадрокоптер.

Собрать MAC-адреса вещающих поблизости устройств можно и более медленным способом — просто прослушивая эфир в течение длительного времени (несколько часов). Исследователи смогли ускорить этот процесс, задействовав стандартную технологию энергосбережения. Для экономии энергии WiFi-модуль, например в смартфоне, может на некоторое время отключаться. Если у точки доступа в этот период появляются данные для «спящего» адресата, она отправляет об этом сообщение и ждет ответного сигнала «готов принимать информацию».

Исследователи предложили способ отправки поддельного сигнала «есть данные» всем подключенным устройствам, от имени настоящей точки доступа. В ответ устройства отвечают, а анализ этих ответов позволяет собрать MAC-адреса. Далее устройство атакующих взаимодействует уже напрямую с отдельными WiFi-модулями. Здесь используется метод, который в 2020 году был предложен в другой исследовательской работе и назван WiFi Polite.

Суть WiFi Polite заключается в том, что беспроводное устройство обязано ответить на адресованный ему пакет данных. Даже если отправитель не подключен к общей точке доступа, не использует шифрование или вовсе отправляет мусор. Ответ — это простое подтверждение приема (ACK), но его в целом достаточно. Важно, что стандарты 802.11 регламентируют фиксированное время, в течение которого устройство должно подтвердить прием данных, — 10 микросекунд. Остается сложить все элементы атаки. С помощью «энергосберегающего» трюка мы оперативно собираем список всех беспроводных устройств, подключенных к конкретной WiFi-сети. Далее начинаем рассылать на устройства по отдельности «неправильные» пакеты, измеряем время между отправкой данных и получением ответа, вычитаем те самые 10 микросекунд. Получаем время, за которое радиосигнал добирается от исследуемого устройства, а из него можно очень приблизительно вычислить расстояние. Если устройство атакующих перемещается и мы знаем его координаты, множество замеров расстояния позволяют вычислить координаты исследуемого WiFi-модуля.

Вот здесь в исследовании и появляется квадрокоптер. Запускаем дрон, делаем несколько кругов вокруг исследуемого здания, получаем карту с локацией всех беспроводных модулей в нем. Как обычно, значительная часть работы посвящена преодолению возникающих при использовании такого метода трудностей. Во-первых, заданные стандартом 10 микросекунд на ответ точно не соблюдаются: реальная пауза между получением данных и отправкой ACK составляет от 8 до 16 микросекунд. Во-вторых, радиосигнал отражается от препятствий, в некоторых случаях более сильным оказывается именно отраженный сигнал, что вносит еще больше погрешности в измерение расстояния. Но при этом ничто не мешает отправлять данные в сторону исследуемого устройства в огромном количестве: десятки тысяч раз. Усреднение результатов позволяет добиться более высокой точности, чем если просто измерять мощность сигнала от исследуемого устройства.

На квадрокоптер была установлена простейшая сборка из микрокомпьютера на базе SoC ESP32 и соответствующего WiFi-модуля. Вес и энергопотребление этой аппаратуры минимальные, равно как и цена — меньше 20 долларов. На стороне атакующих тоже пришлось решить несколько проблем: например, запись данных на карту памяти серьезно замедляла собственно их сбор. Кроме того, и так зашумленные данные еще больше искажались из-за ошибки определения позиции самого квадрокоптера в пространстве при помощи GPS. Получался дополнительный разброс плюс-минус 75 сантиметров.

В итоге точность получилась, мягко говоря, не идеальная. Медианная ошибка в локализации беспроводных модулей составила 1,26 метра, максимальная — 2,3 метра. Это в горизонтальной плоскости. В вертикальной (кто-то из исследователей испытывал метод на собственном трехэтажном доме) в 91% случаев удавалось правильно определить только этаж. Осталось понять, что делать с полученными данными. Исследователи предлагают несколько потенциальных сценариев. Например, отслеживание перемещающихся по помещению охранников, если у каждого из них в кармане лежит смартфон.

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

В любом случае получается достаточно сложная атака с довольно низкой точностью, применимая в ограниченном числе сценариев. Если предположить возможность слежки за каким-то особо ценным объектом, то наверняка найдутся и более практичные методы «разведки». Вместе с тем у метода, названного авторами Wi-Peep («беспроводное подглядывание»), есть преимущества. Атаку теоретически можно отследить по резко усилившемуся радиообмену. Но ее практически невозможно остановить, так как используются совершенно стандартные особенности протокола беспроводной передачи данных. Если называть обнаруженные исследователями особенности WiFi-уязвимостями, то вряд ли стоит ожидать для них патча. Скорее всего, как отмечают сами авторы, их работа будет полезна при разработке новых беспроводных стандартов в будущем.

Что еще произошло:

Вышли новые публикации от экспертов «Лаборатории Касперского» в рамках ежегодного отчета об эволюции киберугроз. Доступны прогнозы по атакам на обычных пользователей и в сфере конфиденциальности. Отдельная статья посвящена тенденциям в регулировании киберпространства, где основное внимание уделено фрагментации сетевых сервисов. Еще один отчет предлагает интересную статистику по сетевым трекерам. Приведенные данные помогают оценить, какое влияние имеют гиганты рынка в разных регионах.

В браузере Google Chrome закрыта восьмая за этот год уязвимость zero-day.

В свободный доступ попали данные более чем пяти миллионов пользователей Twitter. Утечка произошла в январе 2022 года: из-за ошибки в работе Twitter API злоумышленникам удалось собрать в основном публично доступную информацию, но для некоторых учеток в базе также присутствует связанный с аккаунтом телефон и e-mail.

Сервис Nordpass опубликовал очередную статистику наиболее часто используемых паролей. Лидером и в этом случае является пароль password, на втором месте — 123456.

Bleeping Computer сообщает о распространении поддельной геймерской утилиты MSI Afterburner. Вредоносное ПО крадет пароли пользователей и майнит криптовалюты.

Комментарии (5)


  1. JPEGEC
    29.11.2022 06:34
    +2

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

    Обмануть, понятно, несложно, но все же какая может быть цель кроме шпионской?


    1. Pinkbyte
      30.11.2022 08:42
      +1

      В случае WiFi scanner это идея гугла - для получения списка точек доступа вокруг в новых версиях API нужно иметь разрешение на геолокацию. Звучит логично, но почему не сделать для этого отдельное разрешение, а не подвязываться к существующему, да еще такому, от которого у параноиков типа меня свербит(геолокацию включаю только когда это нужно для работы самих приложений типа Organic Maps)?


  1. Ig_B
    29.11.2022 09:18
    +1

    Интересно, ESP8266 с базовым скетчем отвечает на эти запросы?


    1. shadrap
      29.11.2022 11:12
      +2

      если вы про default firmware , то там по умолчанию залито Rtos sdk от Espressif. Конечно она по команде поднимет точку доступа и будет отвечать мас-ом, но только после как ей дадут команду поднять .


  1. mrkaban
    01.12.2022 13:07

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